diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index eca889232c..77bcd5c305 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -17,17 +17,18 @@ Closes # (if applicable). ## Checklist -- [ ] Security scan(s) show no high-severity bugs, critical vulnerabilities, or exposed secrets. -- [ ] I tested my contribution locally and it works as intended. -- [ ] Code and workflow changes are sufficiently documented. -- [ ] Changed dependencies are added to `pixi.toml` (using `pixi add `). -- [ ] Changes in configuration options are added in `config/config.default.yaml`. -- [ ] Changes in configuration options are documented in `doc/configtables/*.csv`. -- [ ] Changes in configuration options are added in `config/test/*.yaml`. -- [ ] The multiple weather/climate years test is passing locally (using `pixi run -e open-tyndp tyndp-cyears-test`). -- [ ] Open-TYNDP SPDX license header added to all touched files. +**Required:** +- [ ] Security scans show no high-severity bugs, critical vulnerabilities, or exposed secrets. +- [ ] Changes are tested locally and behave as expected. +- [ ] Code and workflow changes are documented. +- [ ] A release note entry is added to `doc/release_notes.md`. + +**If applicable:** +- [ ] Changes in configuration options are reflected in `scripts/lib/validation`. +- [ ] Changes in configuration options are added to `config/test/*.yaml`. +- [ ] Multiple climate years test passes locally (`pixi run -e open-tyndp tyndp-cyears-test`). - [ ] For new data sources or versions, [these instructions](https://open-tyndp.readthedocs.io/en/latest/data_sources.html) have been followed. -- [ ] New rules are documented in the appropriate `doc/*.rst` files. -- [ ] A release note `doc/release_notes.rst` is added. -- [ ] Major features are documented with up-to-date information in `doc/index.rst`. -- [ ] Module docstrings added to new Python scripts. +- [ ] Open-TYNDP SPDX license header is added to all touched files. +- [ ] Module docstrings are added to new Python scripts. +- [ ] New rules are documented in the appropriate `doc/*.md` files. +- [ ] Major features are documented in `doc/index.md`. \ No newline at end of file diff --git a/.github/pypsa-bot.yml b/.github/pypsa-bot.yml new file mode 100644 index 0000000000..a835ee0fc0 --- /dev/null +++ b/.github/pypsa-bot.yml @@ -0,0 +1,30 @@ +tasks: + sync-locks: + triggers: + - "pixi.toml" + - "pixi.lock" + stage: + - "pixi.lock" + - "envs/" + + generate-config: + triggers: + - "scripts/lib/validation/config/**" + stage: + - "config/" + - "doc/" + - "*.yaml" + - "*.yml" + +app: + trusted_users: + - daniel-rdt + runs: + - name: "config.validator.yaml" + configfile: "config/test/config.validator.yaml" + triggers: [main, pr] + cache: + key: "validator-{YYYY}-{MM}" + dirs: ["data"] + import_networks: + - "results/validation/networks/base_s_50___2050.nc" diff --git a/.github/workflows/push-images.yaml b/.github/workflows/push-images.yaml index 84a53d1c04..3c078130d3 100644 --- a/.github/workflows/push-images.yaml +++ b/.github/workflows/push-images.yaml @@ -18,9 +18,9 @@ jobs: with: fetch-depth: 0 - - name: 'Get last commit that changed pixi env' + - name: 'Get last commit that changed pixi env or Dockerfile' run: | - hash_last_changed=$(git log -1 --pretty=format:%H -- pixi.toml pixi.lock) + hash_last_changed=$(git log -1 --pretty=format:%H -- pixi.toml pixi.lock docker/dev-env/Dockerfile) echo "hash_last_changed=$hash_last_changed" >> $GITHUB_ENV - name: 'Login to GitHub Container Registry' diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7ccce48f42..56e62e522e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -65,7 +65,7 @@ jobs: - name: Setup Pixi uses: prefix-dev/setup-pixi@v0.10.0 with: - pixi-version: v0.59.0 + pixi-version: v0.68.1 cache: true # Do not cache in branches cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} diff --git a/.github/workflows/security-scan.yaml b/.github/workflows/security-scan.yaml new file mode 100644 index 0000000000..910eb8eb7e --- /dev/null +++ b/.github/workflows/security-scan.yaml @@ -0,0 +1,99 @@ +name: Security scan +on: + push: + branches: [master] + paths: [pixi.lock] + pull_request: + branches: [master] + paths: [pixi.lock] + schedule: + - cron: "0 6 * * *" + workflow_dispatch: + +jobs: + scan: + name: SBOM and vulnerability scan + runs-on: ubuntu-latest + permissions: + security-events: write + contents: write # required by anchore/sbom-action dependency-snapshot upload + actions: read # required by dawidd6/action-download-artifact on fork PRs + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v6 + - uses: prefix-dev/setup-pixi@v0.9.6 + with: + pixi-version: v0.68.1 + + - name: Generate SBOM # (master only) + if: github.ref == 'refs/heads/master' + uses: anchore/sbom-action@v0.24.0 + with: + path: ".pixi/envs/default" + output-file: sbom.spdx.json + dependency-snapshot: true + + - name: Vulnerability Scan + id: scan + uses: anchore/scan-action@v7.4.0 + with: + path: ".pixi/envs/default" + fail-build: false + severity-cutoff: high + add-cpes-if-none: true + output-format: sarif + + # Point alerts to pixi.lock so githubs path scoped PR check registers it + - name: Rewrite SARIF locations to pixi.lock + run: | + jq '.runs[].results[].locations[].physicalLocation.artifactLocation.uri = "pixi.lock"' \ + "${{ steps.scan.outputs.sarif }}" > rewritten.sarif + mv rewritten.sarif "${{ steps.scan.outputs.sarif }}" + + - name: Upload SARIF + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository + uses: github/codeql-action/upload-sarif@v4 + with: + sarif_file: ${{ steps.scan.outputs.sarif }} + category: pixi-vuln-scan + + # Fork PRs cant upload SARIF (no access to token), so code scannings native diff + # does not apply. This builds our own diff from a master-uploaded SARIF artifact instead. + - name: Upload SARIF as artifact + if: github.ref == 'refs/heads/master' + uses: actions/upload-artifact@v7 + with: + name: master-sarif + path: ${{ steps.scan.outputs.sarif }} + retention-days: 30 + + # Fork PRs cant upload SARIF to code scanning (no token write access), so + # diff against the master baseline artifact here instead + - name: Download master baseline (fork PRs only) + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository + uses: dawidd6/action-download-artifact@v21 + with: + workflow: security-scan.yaml + name: master-sarif + branch: master + if_no_artifact_found: fail + path: master-baseline + + - name: Fail on new CVEs (fork PRs only) + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository + env: + SARIF_PATH: ${{ steps.scan.outputs.sarif }} + run: | + [ -s master-baseline/output ] || { echo "::error::baseline SARIF missing"; exit 2; } + [ -s "$SARIF_PATH" ] || { echo "::error::PR SARIF missing"; exit 2; } + new=$(comm -23 \ + <(jq -r '.runs[].results[] | select(.level == "error") | .ruleId' "$SARIF_PATH" | sort -u) \ + <(jq -r '.runs[].results[] | select(.level == "error") | .ruleId' master-baseline/output | sort -u)) + if [ -n "$new" ]; then + echo "::error::New high+ CVEs vs master:" + printf '%s\n' "$new" + exit 1 + fi + echo "No new high+ CVEs vs master." diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index aec99e3e22..a88f9c6a1e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -53,7 +53,7 @@ jobs: - name: Setup Pixi uses: prefix-dev/setup-pixi@v0.10.0 with: - pixi-version: v0.59.0 + pixi-version: v0.68.1 cache: true cache-write: ${{ github.event_name == 'push' && github.ref_name == 'master' }} @@ -103,39 +103,39 @@ jobs: df -h - name: Skip - no source changes - if: steps.filter.outputs.src != 'true' && github.event_name != 'schedule' + if: steps.filter.outputs.src != 'true' && github.event_name != 'schedule' && github.event_name != 'workflow_dispatch' run: echo "Skipping tests because no source code changes detected" - name: Setup Pixi - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' uses: prefix-dev/setup-pixi@v0.10.0 with: - pixi-version: v0.59.0 + pixi-version: v0.68.1 cache: true cache-write: ${{ github.event_name == 'push' && github.ref_name == 'master' }} environments: open-tyndp - name: Setup cache keys - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' run: | echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV # data echo "MONTH=$(date +'%Y%m')" >> $GITHUB_ENV # cutouts echo "VERSIONS_HASH=${{ hashFiles('data/versions.csv') }}" >> $GITHUB_ENV - uses: actions/cache@v6 - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' with: path: data key: data-${{ env.WEEK }}-${{ env.VERSIONS_HASH }} - uses: actions/cache@v6 - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' with: path: cutouts key: cutouts-${{ env.MONTH }} - name: Restore git-tracked files in data/ - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' run: git checkout HEAD -- data/ - name: Restore git-tracked files in data/ @@ -146,10 +146,10 @@ jobs: if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' # check for undefined variables to reuse functions across scripts run: | - pixi run pylint --disable=all --enable=E0601,E0606 --output-format=parseable scripts/add_* scripts/prepare_* scripts/solve_* + pixi run -e dev pylint --disable=all --enable=E0601,E0606 --output-format=parseable scripts/add_* scripts/prepare_* scripts/solve_* - name: Run snakemake test workflows (sb) - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' env: SNAKEMAKE_STORAGE_CACHED_HTTP_CACHE: "" SNAKEMAKE_STORAGE_CACHED_HTTP_SKIP_REMOTE_CHECKS: "1" @@ -157,7 +157,7 @@ jobs: pixi run -e open-tyndp tyndp-sb-test - name: Run snakemake test workflows (cba) - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' env: SNAKEMAKE_STORAGE_CACHED_HTTP_CACHE: "" SNAKEMAKE_STORAGE_CACHED_HTTP_SKIP_REMOTE_CHECKS: "1" @@ -165,7 +165,7 @@ jobs: pixi run -e open-tyndp tyndp-cba-test - name: Run snakemake test workflows (upstream) - if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' + if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' env: SNAKEMAKE_STORAGE_CACHED_HTTP_CACHE: "" SNAKEMAKE_STORAGE_CACHED_HTTP_SKIP_REMOTE_CHECKS: "1" diff --git a/.github/workflows/update-lockfile.yaml b/.github/workflows/update-lockfile.yaml index f580d2d24a..9072a87ce6 100644 --- a/.github/workflows/update-lockfile.yaml +++ b/.github/workflows/update-lockfile.yaml @@ -8,10 +8,6 @@ on: - cron: "0 8 1,16 * *" # Bi-weekly workflow_dispatch: -permissions: - contents: write - pull-requests: write - jobs: check-diff: runs-on: ubuntu-latest @@ -39,17 +35,17 @@ jobs: echo "has_diff=false" >> $GITHUB_OUTPUT echo "No differences found compared to master - will skip update of lockfiles." fi - env: - GH_TOKEN: ${{ github.token }} - - update-locked-environment: + update-lockfiles: + needs: check-diff if: | needs.check-diff.outputs.has_diff == 'true' && - (github.event_name == 'schedule' && github.ref == 'refs/heads/master' || - github.event_name != 'schedule' && github.ref != 'refs/heads/master') - needs: check-diff + ((github.event_name == 'schedule' && github.ref == 'refs/heads/master') || + (github.event_name != 'schedule' && github.ref != 'refs/heads/master')) name: Update lockfiles runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write defaults: run: shell: bash -l {0} @@ -59,65 +55,26 @@ jobs: - name: Setup Pixi uses: prefix-dev/setup-pixi@v0.10.0 with: - pixi-version: v0.59.0 - run-install: false + pixi-version: v0.68.1 - - name: Full resolve (exclude packages newer than 7 days) - # Exclude recently published packages to avoid pulling in broken or - # yanked releases before upstream has had time to react + - name: Full resolve run: | - EXCLUDE_DATE=$(date -u -d '7 days ago' +%Y-%m-%dT00:00:00Z) - sed -i "/^\[workspace\]/a exclude-newer = \"$EXCLUDE_DATE\"" pixi.toml rm pixi.lock pixi install --all git checkout pixi.toml - - name: Create new conda lock files - run: | - pixi workspace export conda-explicit-spec -e default envs - for f in envs/*_conda_spec*; do mv "$f" "${f/_conda_spec/.pin}"; done - - - name: Create new conda environment file - run: | - pixi workspace export conda-environment -e default envs/environment.yaml -n pypsa-eur - - - name: Upload artifacts - uses: actions/upload-artifact@v7 - with: - name: lockfiles - path: | - pixi.lock - envs/ - - create-commit: - if: ${{ github.ref != 'refs/heads/master' }} - needs: update-locked-environment - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v7 - - - name: Download all artifacts - uses: actions/download-artifact@v8 - with: - name: lockfiles + - name: Export conda environment files + if: ${{ !vars.PYPSA_BOT_ID }} + run: pixi run sync-locks - name: Create Commit + if: ${{ github.ref != 'refs/heads/master' }} uses: stefanzweifel/git-auto-commit-action@v7 with: commit_message: "[github-actions.ci] Update locked envs" - create-pull-request: - if: ${{ github.ref == 'refs/heads/master' }} - needs: update-locked-environment - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v7 - - name: Download all artifacts - uses: actions/download-artifact@v8 - with: - name: lockfiles - - name: Create Pull Request + if: ${{ github.ref == 'refs/heads/master' }} uses: peter-evans/create-pull-request@v8 with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml index c3c29dca9a..f0af6216e2 100644 --- a/.github/workflows/validate.yaml +++ b/.github/workflows/validate.yaml @@ -52,11 +52,11 @@ jobs: # /.png plots: > " - graphs/energy.svg - graphs/costs.svg - graphs/balances-energy.svg - graphs/balances-urban_central_heat.svg - graphs/balances-urban_decentral_heat.svg - graphs/balances-rural_heat.svg + graphs/energy.pdf + graphs/costs.pdf + graphs/balances-energy.pdf + graphs/balances-urban_central_heat.pdf + graphs/balances-urban_decentral_heat.pdf + graphs/balances-rural_heat.pdf " validator_key: ${{ secrets.VALIDATOR_KEY }} diff --git a/.gitignore b/.gitignore index ce9a49a1d4..6a1aaaddfe 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ gurobi.log /tmp doc/_build _build +site /scripts/old @@ -119,6 +120,11 @@ CLAUDE.md .claude/ .github/copilot-instructions.md CLAUDE.local.md +# generated DAGs for docs +doc/img/dag_*.svg +doc/img/workflow.svg +doc/img/intro-workflow.svg + # pixi environments .pixi/* !.pixi/config.toml diff --git a/.pixi/config.toml b/.pixi/config.toml index b5f21c1620..addb66df43 100644 --- a/.pixi/config.toml +++ b/.pixi/config.toml @@ -3,4 +3,7 @@ # SPDX-License-Identifier: CC0-1.0 pinning-strategy = "latest-up" -run-post-link-scripts = "false" # set to "insecure" to allow running post-link scripts + +# This aligns with default `conda` behaviour. +# Set to "false" to stop post-link scripts from running. +run-post-link-scripts = "insecure" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3d64ede4bd..b8a401ad92 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Contributors to PyPSA-Eur # # SPDX-License-Identifier: CC0-1.0 -exclude: "^LICENSES|^config/schema\\.json$|^config/config\\.default\\.yaml$" +exclude: "^LICENSES|^config/schema\\.default[\\.]*.*\\.json$|^config/config\\.default[\\.]*.*\\.yaml$" ci: autoupdate_schedule: quarterly @@ -18,7 +18,7 @@ repos: # Run ruff to lint and format - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.10 + rev: v0.15.9 hooks: # Run the linter. - id: ruff @@ -28,10 +28,10 @@ repos: # Find common spelling mistakes in comments and docstrings - repo: https://github.com/codespell-project/codespell - rev: v2.4.1 + rev: v2.4.2 hooks: - id: codespell - args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom,appartment,bage,ore,setis,tabacco,berfore,vor,pris,bund,userA'] # Ignore capital case words, e.g. country codes + args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom,appartment,bage,ore,setis,tabacco,berfore,vor,pris,bund,userA,ons'] # Ignore capital case words, e.g. country codes types_or: [python, rst, markdown] files: ^(scripts|doc)/ @@ -45,7 +45,7 @@ repos: # YAML formatting - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks - rev: v2.15.0 + rev: v2.16.0 hooks: - id: pretty-format-yaml exclude: (\.lock\.yaml)$ @@ -56,7 +56,6 @@ repos: rev: v1.0.0 hooks: - id: snakefmt - args: [--no-sort] # Check for FSFE REUSE compliance (licensing) - repo: https://github.com/fsfe/reuse-tool diff --git a/.readthedocs.yml b/.readthedocs.yml index baceeecd30..275dddcf26 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -4,21 +4,23 @@ version: 2 -sphinx: - configuration: doc/conf.py - +mkdocs: + configuration: mkdocs.yml build: os: ubuntu-24.04 tools: python: "3.12" + apt_packages: + - graphviz jobs: create_environment: - asdf plugin add pixi - asdf install pixi latest - asdf global pixi latest install: - - pixi install -e doc --frozen + - pixi install -e default -e doc --frozen build: html: - - pixi run build-docs $READTHEDOCS_OUTPUT html + - pixi run update-dags + - pixi run build-docs $READTHEDOCS_OUTPUT diff --git a/CITATION.cff b/CITATION.cff index 5c6f598520..356188a48f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -3,11 +3,11 @@ # SPDX-License-Identifier: CC0-1.0 cff-version: 1.2.0 -title: >- - Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP -message: >- - If you use this package, please cite it in the following - way. +message: 'If you use this package, please cite it in the following way.' +title: 'Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP' +repository-code: 'https://github.com/open-energy-transition/open-tyndp' +version: v0.7.1 +license: MIT type: software authors: - name: Open Energy Transition @@ -54,15 +54,14 @@ identifiers: - type: doi value: 10.5281/zenodo.19372053 description: 'Zenodo record archiving released versions of Open-TYNDP starting with v0.6. Versions v0.5 and v0.5.1 are archived at 10.5281/zenodo.18494362.' -repository-code: 'https://github.com/open-energy-transition/open-tyndp' -license: MIT -version: v0.7.1 # Preferred citation and references preferred-citation: type: software - title: >- - Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP + title: 'Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP' + repository-code: 'https://github.com/open-energy-transition/open-tyndp' + version: v0.7.1 + license: MIT authors: - name: Open Energy Transition - family-names: Gilon @@ -99,9 +98,6 @@ preferred-citation: given-names: Maximilian orcid: https://orcid.org/0000-0002-4390-0063 doi: 10.5281/zenodo.19372053 - repository-code: 'https://github.com/open-energy-transition/open-tyndp' - version: v0.7.1 - license: MIT # Reference the original work references: @@ -129,8 +125,8 @@ references: - type: software title: 'PyPSA-Eur: An open sector-coupled optimisation model of the European energy system' repository-code: 'https://github.com/pypsa/pypsa-eur' - doi: 10.5281/zenodo.15864616 - version: v2025.07.0 + doi: 10.5281/zenodo.18693292 + version: v2026.02.0 license: MIT authors: - family-names: Brown diff --git a/Snakefile b/Snakefile index d0a41d093f..3d78a2373a 100644 --- a/Snakefile +++ b/Snakefile @@ -5,7 +5,6 @@ # SPDX-License-Identifier: MIT import copy -from itertools import chain from pathlib import Path import pandas as pd import yaml @@ -208,9 +207,10 @@ def input_all_tyndp(w): rule all: + default_target: True input: input_all_tyndp, - expand(RESULTS + "graphs/costs.svg", run=config["run"]["name"]), + expand(RESULTS + "graphs/costs.pdf", run=config["run"]["name"]), expand(resources("maps/power-network.pdf"), run=config["run"]["name"]), expand( resources("maps/power-network-s-{clusters}.pdf"), @@ -339,7 +339,6 @@ rule all: ), lambda w: balance_map_paths("static", w), lambda w: balance_map_paths("interactive", w), - default_target: True rule create_scenarios: @@ -390,8 +389,6 @@ rule dump_graph_config: rule rulegraph: """Generates Rule DAG in DOT, PDF, PNG, and SVG formats using the final configuration.""" - message: - "Creating RULEGRAPH dag in multiple formats using the final configuration." input: config_file=rules.dump_graph_config.output.config_file, output: @@ -399,6 +396,8 @@ rule rulegraph: pdf=resources("dag_rulegraph.pdf"), png=resources("dag_rulegraph.png"), svg=resources("dag_rulegraph.svg"), + message: + "Creating RULEGRAPH dag in multiple formats using the final configuration." shell: r""" # Generate DOT file using nested snakemake with the dumped final config @@ -407,7 +406,6 @@ rule rulegraph: # Generate visualizations from the DOT file if [ -s {output.dot} ]; then - dot -c echo "[Rule rulegraph] Generating PDF from DOT" dot -Tpdf -o {output.pdf} {output.dot} || {{ echo "Error: Failed to generate PDF. Is graphviz installed?" >&2; exit 1; }} @@ -428,8 +426,6 @@ rule rulegraph: rule filegraph: """Generates File DAG in DOT, PDF, PNG, and SVG formats using the final configuration.""" - message: - "Creating FILEGRAPH dag in multiple formats using the final configuration." input: config_file=rules.dump_graph_config.output.config_file, output: @@ -437,6 +433,8 @@ rule filegraph: pdf=resources("dag_filegraph.pdf"), png=resources("dag_filegraph.png"), svg=resources("dag_filegraph.svg"), + message: + "Creating FILEGRAPH dag in multiple formats using the final configuration." shell: r""" # Generate DOT file using nested snakemake with the dumped final config @@ -463,10 +461,10 @@ rule filegraph: rule doc: - message: - "Build documentation." output: directory("doc/_build"), + message: + "Build documentation." shell: "pixi run build-docs {output} html" diff --git a/config/config.default.yaml b/config/config.default.yaml index 3ef15b3843..b616b54f8c 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -244,6 +244,7 @@ electricity: Offshore: "offwind-ac" Onshore: onwind PV: solar + estimate_battery_capacities: false autarky: enable: false by_country: false @@ -253,8 +254,9 @@ electricity: # docs in https://open-tyndp.readthedocs.io/en/latest/configuration.html#atlite atlite: default_cutout: "europe-2013-sarah3-era5" - nprocesses: 16 + nprocesses: 1 show_progress: false + plot_availability_matrix: false cutouts: "europe-1940-2024-era5": module: era5 @@ -336,9 +338,7 @@ renewable: resource_classes: 1 capacity_per_sqkm: 2 correction_factor: 0.8855 - corine: - - 44 - - 255 + corine: false luisa: false natura: true ship_threshold: 400 @@ -359,9 +359,7 @@ renewable: resource_classes: 1 capacity_per_sqkm: 2 correction_factor: 0.8855 - corine: - - 44 - - 255 + corine: false luisa: false natura: true ship_threshold: 400 @@ -382,9 +380,7 @@ renewable: resource_classes: 1 capacity_per_sqkm: 2 correction_factor: 0.8855 - corine: - - 44 - - 255 + corine: false luisa: false natura: true ship_threshold: 400 @@ -580,6 +576,7 @@ load: scaling_factor: 1.0 fixed_year: false supplement_synthetic: true + substation_only: true distribution_key: gdp: 0.6 population: 0.4 @@ -694,6 +691,7 @@ existing_capacities: - 2019 threshold_capacity: 10 default_heating_lifetime: 20 + solar_rooftop_ratio: 0.5 conventional_carriers: - lignite - coal @@ -992,6 +990,7 @@ sector: enable: - DC - H2 pipeline + - H2 pipeline retrofitted - gas pipeline - electricity distribution grid DC: @@ -1000,6 +999,9 @@ sector: H2 pipeline: efficiency_per_1000km: 1 compression_per_1000km: 0.018 + H2 pipeline retrofitted: + efficiency_per_1000km: 1 + compression_per_1000km: 0.018 gas pipeline: efficiency_per_1000km: 1 compression_per_1000km: 0.01 @@ -1161,7 +1163,7 @@ industry: MWh_CH4_per_tMeOH: 10.25 MWh_MeOH_per_tMeOH: 5.528 hotmaps_locate_missing: false - reference_year: 2019 + reference_year: 2023 oil_refining_emissions: 0.013 # docs in https://open-tyndp.readthedocs.io/en/latest/configuration.html#costs @@ -1201,11 +1203,11 @@ clustering: aggregate_to_tyndp: false simplify_network: to_substations: false - exclude_carriers: [] remove_stubs: true remove_stubs_across_borders: false cluster_network: algorithm: kmeans + allow_ac_dc_mixing_in_bus_clusters: false hac_features: - wnd100m - influx_direct @@ -1237,13 +1239,13 @@ solving: clip_p_max_pu: 0.01 load_shedding: enable: false - default_price: 100000 - apply_to_all_carriers: true + default_cost: 100000 + all_carriers: true carriers: {} load_sinks: enable: false - default_price: 100000 - apply_to_all_carriers: false + default_cost: 100000 + all_carriers: false carriers: {} curtailment_mode: false noisy_costs: true @@ -1260,6 +1262,7 @@ solving: transmission_losses: 2 linearized_unit_commitment: true horizon: 365 + overlap: 0 post_discretization: enable: false line_unit_size: 1700 @@ -1317,6 +1320,7 @@ solving: AggFill: 0 PreDual: 0 GURO_PAR_BARDENSETHRESH: 200 + IISMethod: 1 "gurobi-simplex": threads: 32 method: 1 @@ -1552,6 +1556,15 @@ data: jrc_ardeco: source: archive version: latest + jrc_energy_atlas: + source: archive + version: latest + desnz_electricity_consumption: + source: archive + version: latest + ons_lad: + source: archive + version: latest bidding_zones_electricitymaps: source: archive version: latest diff --git a/config/config.tyndp.yaml b/config/config.tyndp.yaml index 4f0b59a88c..f6e1351f45 100644 --- a/config/config.tyndp.yaml +++ b/config/config.tyndp.yaml @@ -373,7 +373,7 @@ solving: options: load_shedding: enable: true - apply_to_all_carriers: false + all_carriers: false carriers: H2: 3000 AC: 3000 @@ -472,7 +472,7 @@ cba: noisy_costs: false load_shedding: enable: true - apply_to_all_carriers: true + all_carriers: true io_api: direct # 20% faster than default lp mode for rolling horizon solver: diff --git a/config/schema.default.json b/config/schema.default.json index 82119850e0..fd78387fa1 100644 --- a/config/schema.default.json +++ b/config/schema.default.json @@ -175,7 +175,7 @@ "description": "Defines a default cutout. Can refer to a single cutout or a list of cutouts." }, "nprocesses": { - "default": 16, + "default": 1, "description": "Number of parallel processes in cutout preparation.", "type": "integer" }, @@ -184,6 +184,11 @@ "description": "Whether progressbar for atlite conversion processes should be shown. False saves time.", "type": "boolean" }, + "plot_availability_matrix": { + "default": false, + "description": "Whether to plot the landuse availability matrix. Warning: This requires a significant amount of memory and time and may crash for larger workflows. Use with caution.", + "type": "boolean" + }, "cutouts": { "additionalProperties": { "description": "Configuration for a single cutout in `atlite.cutouts`.", @@ -730,13 +735,6 @@ "description": "Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones.", "type": "boolean" }, - "exclude_carriers": { - "description": "List of carriers which will not be aggregated. If empty, all carriers will be aggregated.", - "items": { - "type": "string" - }, - "type": "array" - }, "remove_stubs": { "default": true, "description": "Controls whether radial parts of the network should be recursively aggregated. Defaults to true.", @@ -761,6 +759,11 @@ ], "type": "string" }, + "allow_ac_dc_mixing_in_bus_clusters": { + "default": false, + "description": "Controls whether clustering is allowed to mix AC and DC buses within a bus cluster. If true, mixed clusters are coerced to AC before aggregation. If false, mixed clusters are kept separate.", + "type": "boolean" + }, "hac_features": { "description": "List of meteorological variables contained in the weather data cutout that should be considered for hierarchical clustering.", "items": { @@ -778,9 +781,19 @@ "type": "array" }, "consider_efficiency_classes": { + "anyOf": [ + { + "type": "boolean" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": false, - "description": "Aggregated each carriers into the top 10-quantile (high), the bottom 90-quantile (low), and everything in between (medium).", - "type": "boolean" + "description": "Aggregate each carrier into efficiency classes defined by quantile boundaries. If True, uses [0.1, 0.9] as default quantiles (labels: Q0, Q10, Q90). If a list of floats, defines custom quantile boundaries, e.g. [0.1, 0.5, 0.9]." }, "aggregation_strategies": { "description": "Configuration for `clustering.aggregation_strategies` settings.", @@ -2189,6 +2202,69 @@ } } }, + "jrc_energy_atlas": { + "description": "Configuration for a single data source.", + "properties": { + "source": { + "default": "archive", + "description": "Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source.", + "enum": [ + "archive", + "tyndp-archive", + "primary", + "build" + ], + "type": "string" + }, + "version": { + "default": "latest", + "description": "Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source.", + "type": "string" + } + } + }, + "desnz_electricity_consumption": { + "description": "Configuration for a single data source.", + "properties": { + "source": { + "default": "archive", + "description": "Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source.", + "enum": [ + "archive", + "tyndp-archive", + "primary", + "build" + ], + "type": "string" + }, + "version": { + "default": "latest", + "description": "Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source.", + "type": "string" + } + } + }, + "ons_lad": { + "description": "Configuration for a single data source.", + "properties": { + "source": { + "default": "archive", + "description": "Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source.", + "enum": [ + "archive", + "tyndp-archive", + "primary", + "build" + ], + "type": "string" + }, + "version": { + "default": "latest", + "description": "Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source.", + "type": "string" + } + } + }, "bidding_zones_electricitymaps": { "description": "Configuration for a single data source.", "properties": { @@ -2832,6 +2908,11 @@ } } }, + "estimate_battery_capacities": { + "default": false, + "description": "Enable estimation of existing battery storage capacities.", + "type": "boolean" + }, "autarky": { "description": "Configuration for `electricity.autarky` settings.", "properties": { @@ -2917,6 +2998,11 @@ "description": "Default lifetime for heating technologies (years).", "type": "integer" }, + "solar_rooftop_ratio": { + "default": 0.5, + "description": "Ratio of existing solar capacity to assign to rooftop vs utility-scale (between 0 and 1).", + "type": "number" + }, "conventional_carriers": { "description": "List of conventional power plants to include in the sectoral network.", "items": { @@ -3134,7 +3220,7 @@ "type": "boolean" }, "reference_year": { - "default": 2019, + "default": 2023, "description": "The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 `_.", "markdownDescription": "The year used as the baseline for industrial energy demand and production. Data extracted from [JRC-IDEES 2015 ](https://data.jrc.ec.europa.eu/dataset/jrc-10110-10001).", "type": "integer" @@ -3356,6 +3442,11 @@ "markdownDescription": "Whether to supplement missing data for selected time period should be supplemented by synthetic data from [Zenodo ](https://zenodo.org/records/10820928).", "type": "boolean" }, + "substation_only": { + "default": true, + "description": "Whether to only consider substations for the spatial disaggregation of the per-country electricity demand data.", + "type": "boolean" + }, "distribution_key": { "description": "Configuration for `load.distribution_key` settings.", "properties": { @@ -3728,6 +3819,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -3910,6 +4002,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -4092,6 +4185,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -5440,6 +5534,13 @@ "description": "H2 pipeline transmission efficiency.", "type": "object" }, + "H2 pipeline retrofitted": { + "additionalProperties": { + "type": "number" + }, + "description": "H2 pipeline retrofitted transmission efficiency.", + "type": "object" + }, "gas pipeline": { "additionalProperties": { "type": "number" @@ -5863,16 +5964,16 @@ "properties": { "enable": { "default": false, - "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": true, "description": "Switch to apply load shedding to all carriers. Otherwise, load shedding will be applied to listed carriers only.", "type": "boolean" @@ -5883,7 +5984,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load shedding price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load shedding cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -5893,16 +5994,16 @@ "properties": { "enable": { "default": false, - "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": false, "description": "Switch to add load sinks for all carriers. Otherwise, load sinks will be added for listed carriers only.", "type": "boolean" @@ -5913,7 +6014,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load sink price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load sink cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -6007,6 +6108,11 @@ "description": "Number of snapshots to consider in each iteration. Defaults to 100.", "type": "integer" }, + "overlap": { + "default": 0, + "description": "Number of overlapping snapshots between consecutive iterations in rolling horizon optimization. Defaults to 0, which means no overlap.", + "type": "integer" + }, "post_discretization": { "description": "Configuration for `solving.options.post_discretization` settings.", "properties": { @@ -6782,6 +6888,11 @@ ], "type": "string" }, + "allow_ac_dc_mixing_in_bus_clusters": { + "default": false, + "description": "Controls whether clustering is allowed to mix AC and DC buses within a bus cluster. If true, mixed clusters are coerced to AC before aggregation. If false, mixed clusters are kept separate.", + "type": "boolean" + }, "hac_features": { "description": "List of meteorological variables contained in the weather data cutout that should be considered for hierarchical clustering.", "items": { @@ -7609,16 +7720,16 @@ "properties": { "enable": { "default": false, - "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": true, "description": "Switch to apply load shedding to all carriers. Otherwise, load shedding will be applied to listed carriers only.", "type": "boolean" @@ -7629,7 +7740,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load shedding price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load shedding cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -7639,16 +7750,16 @@ "properties": { "enable": { "default": false, - "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": false, "description": "Switch to add load sinks for all carriers. Otherwise, load sinks will be added for listed carriers only.", "type": "boolean" @@ -7659,7 +7770,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load sink price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load sink cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -7913,6 +8024,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -8583,13 +8695,6 @@ "description": "Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones.", "type": "boolean" }, - "exclude_carriers": { - "description": "List of carriers which will not be aggregated. If empty, all carriers will be aggregated.", - "items": { - "type": "string" - }, - "type": "array" - }, "remove_stubs": { "default": true, "description": "Controls whether radial parts of the network should be recursively aggregated. Defaults to true.", @@ -8823,16 +8928,16 @@ "properties": { "enable": { "default": false, - "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": true, "description": "Switch to apply load shedding to all carriers. Otherwise, load shedding will be applied to listed carriers only.", "type": "boolean" @@ -8843,7 +8948,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load shedding price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load shedding cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -8853,16 +8958,16 @@ "properties": { "enable": { "default": false, - "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": false, "description": "Switch to add load sinks for all carriers. Otherwise, load sinks will be added for listed carriers only.", "type": "boolean" @@ -8873,7 +8978,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load sink price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load sink cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -8967,6 +9072,11 @@ "description": "Number of snapshots to consider in each iteration. Defaults to 100.", "type": "integer" }, + "overlap": { + "default": 0, + "description": "Number of overlapping snapshots between consecutive iterations in rolling horizon optimization. Defaults to 0, which means no overlap.", + "type": "integer" + }, "post_discretization": { "description": "Configuration for `solving.options.post_discretization` settings.", "properties": { @@ -9101,6 +9211,13 @@ "description": "H2 pipeline transmission efficiency.", "type": "object" }, + "H2 pipeline retrofitted": { + "additionalProperties": { + "type": "number" + }, + "description": "H2 pipeline retrofitted transmission efficiency.", + "type": "object" + }, "gas pipeline": { "additionalProperties": { "type": "number" @@ -9966,6 +10083,11 @@ } } }, + "estimate_battery_capacities": { + "default": false, + "description": "Enable estimation of existing battery storage capacities.", + "type": "boolean" + }, "autarky": { "description": "Configuration for `electricity.autarky` settings.", "properties": { @@ -10012,7 +10134,7 @@ "description": "Defines a default cutout. Can refer to a single cutout or a list of cutouts." }, "nprocesses": { - "default": 16, + "default": 1, "description": "Number of parallel processes in cutout preparation.", "type": "integer" }, @@ -10021,6 +10143,11 @@ "description": "Whether progressbar for atlite conversion processes should be shown. False saves time.", "type": "boolean" }, + "plot_availability_matrix": { + "default": false, + "description": "Whether to plot the landuse availability matrix. Warning: This requires a significant amount of memory and time and may crash for larger workflows. Use with caution.", + "type": "boolean" + }, "cutouts": { "additionalProperties": { "description": "Configuration for a single cutout in `atlite.cutouts`.", @@ -10438,6 +10565,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -10620,6 +10748,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -10802,6 +10931,7 @@ "type": "array" } ], + "default": false, "description": "Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement." }, "luisa": { @@ -11602,6 +11732,11 @@ "markdownDescription": "Whether to supplement missing data for selected time period should be supplemented by synthetic data from [Zenodo ](https://zenodo.org/records/10820928).", "type": "boolean" }, + "substation_only": { + "default": true, + "description": "Whether to only consider substations for the spatial disaggregation of the per-country electricity demand data.", + "type": "boolean" + }, "distribution_key": { "description": "Configuration for `load.distribution_key` settings.", "properties": { @@ -11827,6 +11962,11 @@ "description": "Default lifetime for heating technologies (years).", "type": "integer" }, + "solar_rooftop_ratio": { + "default": 0.5, + "description": "Ratio of existing solar capacity to assign to rooftop vs utility-scale (between 0 and 1).", + "type": "number" + }, "conventional_carriers": { "description": "List of conventional power plants to include in the sectoral network.", "items": { @@ -12625,6 +12765,13 @@ "description": "H2 pipeline transmission efficiency.", "type": "object" }, + "H2 pipeline retrofitted": { + "additionalProperties": { + "type": "number" + }, + "description": "H2 pipeline retrofitted transmission efficiency.", + "type": "object" + }, "gas pipeline": { "additionalProperties": { "type": "number" @@ -13139,7 +13286,7 @@ "type": "boolean" }, "reference_year": { - "default": 2019, + "default": 2023, "description": "The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 `_.", "markdownDescription": "The year used as the baseline for industrial energy demand and production. Data extracted from [JRC-IDEES 2015 ](https://data.jrc.ec.europa.eu/dataset/jrc-10110-10001).", "type": "integer" @@ -13365,13 +13512,6 @@ "description": "Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones.", "type": "boolean" }, - "exclude_carriers": { - "description": "List of carriers which will not be aggregated. If empty, all carriers will be aggregated.", - "items": { - "type": "string" - }, - "type": "array" - }, "remove_stubs": { "default": true, "description": "Controls whether radial parts of the network should be recursively aggregated. Defaults to true.", @@ -13396,6 +13536,11 @@ ], "type": "string" }, + "allow_ac_dc_mixing_in_bus_clusters": { + "default": false, + "description": "Controls whether clustering is allowed to mix AC and DC buses within a bus cluster. If true, mixed clusters are coerced to AC before aggregation. If false, mixed clusters are kept separate.", + "type": "boolean" + }, "hac_features": { "description": "List of meteorological variables contained in the weather data cutout that should be considered for hierarchical clustering.", "items": { @@ -13413,9 +13558,19 @@ "type": "array" }, "consider_efficiency_classes": { + "anyOf": [ + { + "type": "boolean" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": false, - "description": "Aggregated each carriers into the top 10-quantile (high), the bottom 90-quantile (low), and everything in between (medium).", - "type": "boolean" + "description": "Aggregate each carrier into efficiency classes defined by quantile boundaries. If True, uses [0.1, 0.9] as default quantiles (labels: Q0, Q10, Q90). If a list of floats, defines custom quantile boundaries, e.g. [0.1, 0.5, 0.9]." }, "aggregation_strategies": { "description": "Configuration for `clustering.aggregation_strategies` settings.", @@ -13639,16 +13794,16 @@ "properties": { "enable": { "default": false, - "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": true, "description": "Switch to apply load shedding to all carriers. Otherwise, load shedding will be applied to listed carriers only.", "type": "boolean" @@ -13659,7 +13814,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load shedding price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load shedding cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -13669,16 +13824,16 @@ "properties": { "enable": { "default": false, - "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + "description": "Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either all_carriers: true or at least one entry in carriers.", "type": "boolean" }, - "default_price": { + "default_cost": { "default": 100000, - "description": "The default price for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + "description": "The default cost for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", "exclusiveMinimum": 0, "type": "number" }, - "apply_to_all_carriers": { + "all_carriers": { "default": false, "description": "Switch to add load sinks for all carriers. Otherwise, load sinks will be added for listed carriers only.", "type": "boolean" @@ -13689,7 +13844,7 @@ "type": "number" }, "default": {}, - "description": "Dictionary of carriers and their specific load sink price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default price is assumed for non-listed carriers.", + "description": "Dictionary of carriers and their specific load sink cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default cost is assumed for non-listed carriers.", "type": "object" } } @@ -13783,6 +13938,11 @@ "description": "Number of snapshots to consider in each iteration. Defaults to 100.", "type": "integer" }, + "overlap": { + "default": 0, + "description": "Number of overlapping snapshots between consecutive iterations in rolling horizon optimization. Defaults to 0, which means no overlap.", + "type": "integer" + }, "post_discretization": { "description": "Configuration for `solving.options.post_discretization` settings.", "properties": { @@ -15154,6 +15314,69 @@ } } }, + "jrc_energy_atlas": { + "description": "Configuration for a single data source.", + "properties": { + "source": { + "default": "archive", + "description": "Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source.", + "enum": [ + "archive", + "tyndp-archive", + "primary", + "build" + ], + "type": "string" + }, + "version": { + "default": "latest", + "description": "Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source.", + "type": "string" + } + } + }, + "desnz_electricity_consumption": { + "description": "Configuration for a single data source.", + "properties": { + "source": { + "default": "archive", + "description": "Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source.", + "enum": [ + "archive", + "tyndp-archive", + "primary", + "build" + ], + "type": "string" + }, + "version": { + "default": "latest", + "description": "Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source.", + "type": "string" + } + } + }, + "ons_lad": { + "description": "Configuration for a single data source.", + "properties": { + "source": { + "default": "archive", + "description": "Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source.", + "enum": [ + "archive", + "tyndp-archive", + "primary", + "build" + ], + "type": "string" + }, + "version": { + "default": "latest", + "description": "Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source.", + "type": "string" + } + } + }, "bidding_zones_electricitymaps": { "description": "Configuration for a single data source.", "properties": { diff --git a/config/test/config.clusters.yaml b/config/test/config.clusters.yaml index efc9cab92a..79e9c3dc6d 100644 --- a/config/test/config.clusters.yaml +++ b/config/test/config.clusters.yaml @@ -29,7 +29,7 @@ clustering: temporal: resolution_elec: 24h simplify_network: - remove_stubs: true + remove_stubs: false remove_stubs_across_borders: false solving: diff --git a/config/test/config.cyears.yaml b/config/test/config.cyears.yaml index 25d80bd3ed..2981f59e1e 100644 --- a/config/test/config.cyears.yaml +++ b/config/test/config.cyears.yaml @@ -382,7 +382,7 @@ solving: options: load_shedding: enable: true - apply_to_all_carriers: false + all_carriers: false carriers: H2: 3000 AC: 3000 @@ -482,7 +482,7 @@ cba: noisy_costs: false load_shedding: enable: true - apply_to_all_carriers: true + all_carriers: true io_api: direct # 20% faster than default lp mode for rolling horizon solver: diff --git a/config/test/config.myopic.yaml b/config/test/config.myopic.yaml index 86887bec6b..e76df5a395 100644 --- a/config/test/config.myopic.yaml +++ b/config/test/config.myopic.yaml @@ -68,7 +68,7 @@ sector: electricity: extendable_carriers: - Generator: [OCGT, solar, onwind, OCGT, CCGT, nuclear] + Generator: [solar, onwind, OCGT, CCGT, nuclear] StorageUnit: [battery] Store: [H2] Link: [H2 pipeline] diff --git a/config/test/config.overnight.yaml b/config/test/config.overnight.yaml index af763f070f..f2ba5209e5 100644 --- a/config/test/config.overnight.yaml +++ b/config/test/config.overnight.yaml @@ -29,7 +29,7 @@ snapshots: electricity: extendable_carriers: - Generator: [OCGT, solar, onwind, OCGT, CCGT, nuclear] + Generator: [solar, onwind, OCGT, CCGT, nuclear] StorageUnit: [battery] Store: [H2] Link: [H2 pipeline] diff --git a/config/test/config.tyndp.yaml b/config/test/config.tyndp.yaml index bbd7f94531..55d6383728 100644 --- a/config/test/config.tyndp.yaml +++ b/config/test/config.tyndp.yaml @@ -380,7 +380,7 @@ solving: options: load_shedding: enable: true - apply_to_all_carriers: false + all_carriers: false carriers: H2: 3000 AC: 3000 @@ -480,7 +480,7 @@ cba: noisy_costs: false load_shedding: enable: true - apply_to_all_carriers: true + all_carriers: true io_api: direct # 20% faster than default lp mode for rolling horizon solver: diff --git a/config/test/config.validator.yaml b/config/test/config.validator.yaml index 87dfe63774..48c1fc88c0 100644 --- a/config/test/config.validator.yaml +++ b/config/test/config.validator.yaml @@ -12,5 +12,4 @@ run: clustering: temporal: - resolution_elec: 365H resolution_sector: 365H diff --git a/data/nuclear_p_max_pu.csv b/data/nuclear_p_max_pu.csv index 5a8d1d131e..663bab3e75 100644 --- a/data/nuclear_p_max_pu.csv +++ b/data/nuclear_p_max_pu.csv @@ -1,17 +1,18 @@ -country,factor -BE,0.883 -BG,0.876 -CZ,0.839 -FI,0.924 -FR,0.616 -DE,0.926 -HU,0.891 -NL,0.901 -RO,0.906 -SK,0.908 -SI,0.884 -ES,0.883 -SE,0.817 -CH,0.834 -GB,0.684 -UA,0.701 +country,2009,2010,2011,2012,2013,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024 +BE,0.873,0.875,0.887,0.741,0.781,0.544,0.796,0.775,0.522,0.796,0.626,0.920,0.840,0.888,0.864 +BG,0.867,0.843,0.900,0.885,0.867,0.865,0.883,0.868,0.886,0.894,0.890,0.885,0.877,0.867,0.848 +CZ,0.796,0.816,0.818,0.860,0.864,0.736,0.656,0.775,0.818,0.827,0.819,0.844,0.844,0.828,0.806 +FI,0.952,0.919,0.928,0.910,0.935,0.923,0.918,0.887,0.901,0.936,0.911,0.924,0.912,0.932,0.835 +FR,0.729,0.764,0.793,0.760,0.760,0.785,0.715,0.704,0.730,0.710,0.647,0.688,0.536,0.622,0.715 +DE,0.736,0.767,0.820,0.905,0.886,0.897,0.863,0.784,0.881,0.871,0.880,0.944,0.940,0.714, +HU,0.876,0.886,0.889,0.890,0.865,0.891,0.905,0.909,0.886,0.913,0.899,0.895,0.885,0.894,0.899 +NL,0.951,0.889,0.921,0.869,0.637,0.905,0.878,0.756,0.783,0.868,0.917,0.864,0.941,0.898,0.796 +RO,0.948,0.935,0.946,0.926,0.935,0.938,0.910,0.928,0.919,0.909,0.922,0.913,0.897,0.909,0.880 +SK,0.867,0.870,0.906,0.904,0.920,0.897,0.870,0.890,0.875,0.900,0.897,0.899,0.906,0.920,0.862 +SI,0.908,0.893,0.986,0.865,0.830,0.885,0.892,0.985,0.906,0.913,0.993,0.896,0.878,0.878,0.906 +ES,0.775,0.901,0.832,0.887,0.845,0.876,0.898,0.890,0.855,0.897,0.906,0.873,0.900,0.877,0.872 +SE,0.634,0.682,0.713,0.745,0.766,0.649,0.712,0.810,0.869,0.851,0.724,0.846,0.827,0.779,0.812 +CH,0.922,0.886,0.895,0.848,0.860,0.760,0.694,0.671,0.838,0.870,0.885,0.714,0.890,0.899,0.882 +GB,0.708,0.634,0.712,0.771,0.788,0.771,0.826,0.815,0.757,0.656,0.588,0.585,0.774,0.724,0.722 +UA,0.745,0.760,0.756,0.752,0.765,0.740,0.679,0.708,0.679,0.674,0.680,0.701,,, +LT,0.938,,,,,,,,,,,,,, \ No newline at end of file diff --git a/data/unit_commitment.csv b/data/unit_commitment.csv index e93b1a903c..804bc3598c 100644 --- a/data/unit_commitment.csv +++ b/data/unit_commitment.csv @@ -1,8 +1,9 @@ attribute,OCGT,CCGT,coal,lignite,nuclear -ramp_limit_up,1,1,1,1,0.3 -ramp_limit_start_up,0.2,0.45,0.38,0.4,0.5 -ramp_limit_shut_down,0.2,0.45,0.38,0.4,0.5 -p_min_pu,0.2,0.45,0.325,0.4,0.5 -min_up_time,,3,5,7,6 -min_down_time,,2,6,6,10 -start_up_cost,9.6,34.2,35.64,19.14,16.5 +ramp_limit_up,1,1,0.9,0.6,0.3 +ramp_limit_down,1,1,0.9,0.6,0.3 +ramp_limit_start_up,0.8,0.5,0.4,0.4,0.2 +ramp_limit_shut_down,0.8,0.5,0.4,0.4,0.2 +p_min_pu,0.2,0.45,0.38,0.5,0.5 +min_up_time,0,4,8,8,10 +min_down_time,0,2,8,8,10 +start_up_cost,24,60,49,49,250 diff --git a/data/versions.csv b/data/versions.csv index 99e1b92950..44b4c716b7 100644 --- a/data/versions.csv +++ b/data/versions.csv @@ -47,6 +47,8 @@ country_runoff,2025-08-13,archive,latest supported,2026-01-13,,https://data.pyps country_runoff,2025-08-13,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/country_runoff/2025-08-13/era5-runoff-per-country.csv cutout,v1.0,archive,latest supported,2026-01-13,Pre-build cutouts for PyPSA-Eur,https://data.pypsa.org/workflows/cutout/v1.0 cutout,unknown,build,latest supported,2025-12-02,Build latest cutouts using ERA5/SARAH3 data., +desnz_electricity_consumption,unknown,primary,latest supported,2026-02-02,,https://assets.publishing.service.gov.uk/media/6762951abe7b2c675de30705/Subnational_electricity_consumption_statistics_2005-2024.xlsx +desnz_electricity_consumption,2026-02-16,archive,latest supported,2026-02-16,,https://data.pypsa.org/workflows/eur/desnz_electricity_consumption/2026-02-16/Subnational_electricity_consumption_statistics_2005-2024.xlsx dh_areas,341.5,primary,latest supported,2025-12-02,,https://fordatis.fraunhofer.de/bitstream/fordatis/341.5/2/dh_areas.gpkg dh_areas,341.5,archive,latest supported,2026-01-13,,https://data.pypsa.org/workflows/eur/dh_areas/341.5/dh_areas.gpkg dh_areas,341.5,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/dh_areas/341.5/dh_areas.gpkg @@ -109,6 +111,8 @@ instrat_co2_prices,unknown,primary,latest supported,2026-02-03,API endpoint prov jrc_ardeco,2021,primary,latest supported,2025-12-02,,https://territorial.ec.europa.eu/ardeco-api-v2/rest/export/ jrc_ardeco,2021,archive,latest supported,2026-01-13,,https://data.pypsa.org/workflows/eur/jrc_ardeco/2021 jrc_ardeco,2021,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/jrc_ardeco/2021 +jrc_energy_atlas,unknown,primary,latest supported,2026-02-02,,https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/EIGL-Data/RASTER/electricity_tot_demand_2019.tif +jrc_energy_atlas,2026-02-16,archive,latest supported,2026-02-16,,https://data.pypsa.org/workflows/eur/jrc_energy_atlas/2026-02-16/electricity_tot_demand_2019.tif jrc_idees,2023-v1,primary,latest supported,2026-02-04,,https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/JRC-IDEES/JRC-IDEES-2023_v1/JRC-IDEES-2023.zip jrc_idees,2023-v1,archive,latest supported,2026-02-09,,https://data.pypsa.org/workflows/eur/jrc_idees/2023-v1/JRC-IDEES-2023.zip jrc_idees,2023-v1,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/jrc_idees/2023-v1/JRC-IDEES-2023.zip @@ -135,13 +139,16 @@ natura,2025-08-15,tyndp-archive,latest supported,2026-05-08,,https://storage.goo neso_electricity_demand,unknown,build,latest supported,2026-02-02,,https://www.neso.energy/data-portal/historic-demand-data neso_electricity_demand,2026-02-02,archive,latest supported,2026-02-03,,https://data.pypsa.org/workflows/eur/neso_electricity_demand/2026-02-02/electricity_demand_neso_raw.csv neso_electricity_demand,2026-02-02,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/neso_electricity_demand/2026-02-02/electricity_demand_neso_raw.csv -nitrogen_statistics,2023,primary,not-tested,2025-12-02,,https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/media/files/myb1-2023-nitro-ERT.xlsx -nitrogen_statistics,2022,primary,latest supported,2025-12-02,,https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/media/files/myb1-2022-nitro-ert.xlsx -nitrogen_statistics,2022,archive,latest supported,2026-01-13,,https://data.pypsa.org/workflows/eur/nitrogen_statistics/2022/nitro-ert.xlsx -nitrogen_statistics,2022,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/nitrogen_statistics/2022/nitro-ert.xlsx +nitrogen_statistics,2023,primary,latest supported,2025-12-02,,https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/media/files/myb1-2023-nitro-ERT.xlsx +nitrogen_statistics,2023,archive,latest supported,2026-02-26,,https://data.pypsa.org/workflows/eur/nitrogen_statistics/2023/myb1-2023-nitro-ERT.xlsx +nitrogen_statistics,2022,primary,supported,2025-12-02,,https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/media/files/myb1-2022-nitro-ert.xlsx +nitrogen_statistics,2022,archive,supported,2026-01-13,,https://data.pypsa.org/workflows/eur/nitrogen_statistics/2022/nitro-ert.xlsx +nitrogen_statistics,2022,tyndp-archive,supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/nitrogen_statistics/2022/nitro-ert.xlsx nuts3_population,13-03-2025,primary,latest supported,2025-12-02,,https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/nama_10r_3popgdp?format=TSV&compressed=true nuts3_population,13-03-2025,archive,latest supported,2026-01-13,earlier part of zenodo bundle,https://data.pypsa.org/workflows/eur/nuts3_population/13-03-2025/nama_10r_3popgdp.tsv.gz nuts3_population,13-03-2025,tyndp-archive,latest supported,2026-05-08,earlier part of zenodo bundle,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/nuts3_population/13-03-2025/nama_10r_3popgdp.tsv.gz +ons_lad,may-2024,primary,latest supported,2026-02-02,API request used,https://services1.arcgis.com/ESMARspQHYMw9BZ9/arcgis/rest/services/Local_Authority_Districts_May_2024_Boundaries__UK_BSC/FeatureServer/0/query +ons_lad,may-2024,archive,latest supported,2026-02-17,API request used,https://data.pypsa.org/workflows/eur/ons_lad/may-2024/ons_lad.geojson open_tyndp_prelim,0.7.1,primary,not-supported,2026-06-02,Open-TYNDP preliminary outcomes,https://zenodo.org/records/20303009 open_tyndp_prelim,0.7.1,archive,latest supported,2026-06-02,Open-TYNDP preliminary outcomes (results-0.7.1.zip),https://zenodo.org/records/20303009/files/results-0.7.1.zip open_tyndp_prelim,0.7.1,tyndp-archive,latest supported,2026-06-02,Open-TYNDP preliminary outcomes (results-0.7.1.zip),https://storage.googleapis.com/open-tyndp-data-store/outcomes/0.7.1/results-0.7.1.zip @@ -200,8 +207,9 @@ ship_raster,v5,primary,latest supported,2025-12-02,,https://datacatalogfiles.wor ship_raster,v5,archive,latest supported,2026-01-13,,https://data.pypsa.org/workflows/eur/ship_raster/v5/shipdensity_global.zip ship_raster,v5,tyndp-archive,latest supported,2026-05-08,,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/ship_raster/v5/shipdensity_global.zip swiss_energy_balances,2025-10-01,primary,latest supported,2026-02-12,,https://pubdb.bfe.admin.ch/de/publication/download/12361 +swiss_energy_balances,2025-10-01,archive,latest supported,2026-02-16,,https://web.archive.org/web/20260216/https%3A//pubdb.bfe.admin.ch/de/publication/download/12361 synthetic_electricity_demand,v2,primary,latest supported,2025-12-02,the primary is already from Zenodo published by original authors,https://zenodo.org/records/10820928/files/demand_hourly.csv -synthetic_electricity_demand,v2,archive,latest supported,2026-01-20,the primary is already from Zenodo published by original authors,https://data.pypsa.org/workflows/eur/synthetic_electricity_demand/v2 +synthetic_electricity_demand,v2,archive,latest supported,2026-01-20,the primary is already from Zenodo published by original authors,https://data.pypsa.org/workflows/eur/synthetic_electricity_demand/v2/demand_hourly.csv synthetic_electricity_demand,v2,tyndp-archive,latest supported,2026-05-08,the primary is already from Zenodo published by original authors,https://storage.googleapis.com/open-tyndp-data-store/archive/eur/synthetic_electricity_demand/v2 synthetic_electricity_demand,0.1.0,archive,deprecated might-work,2026-01-13,,https://data.pypsa.org/workflows/eur/synthetic_electricity_demand/0.1.0/demand_hourly.csv tyndp,2024,primary,latest supported,2026-02-05,,https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 3937548fb6..0000000000 --- a/doc/Makefile +++ /dev/null @@ -1,196 +0,0 @@ -# SPDX-FileCopyrightText: Contributors to PyPSA-Eur -# -# SPDX-License-Identifier: MIT - -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" - -clean: - rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PyPSA.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyPSA.qhc" - -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/PyPSA" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PyPSA" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/assets/stylesheets/extra.css b/doc/assets/stylesheets/extra.css new file mode 100644 index 0000000000..6d773abde9 --- /dev/null +++ b/doc/assets/stylesheets/extra.css @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: Contributors to PyPSA-Eur + * + * SPDX-License-Identifier: MIT + */ +:root > * { + --md-primary-fg-color: #4b73d7; + --md-primary-fg-color--light: #749bfb; + --md-primary-fg-color--dark: #3d5696; + --md-primary-bg-color: white; + --md-accent-fg-color: rgb(75, 115, 215, 0.5); + --md-typeset-a-color: #4b73d7; +} \ No newline at end of file diff --git a/doc/benchmarking.md b/doc/benchmarking.md new file mode 100644 index 0000000000..ca228016ef --- /dev/null +++ b/doc/benchmarking.md @@ -0,0 +1,260 @@ + + + +# Benchmarking + +Open-TYNDP includes a structured benchmarking framework that runs automatically with every +workflow execution. It provides systematic, reproducible comparisons of Open-TYNDP model +outcomes against official TYNDP 2024 reference data for both the Scenario Building (SB) +and Cost-Benefit Analysis (CBA) phases. + +* **Scenario Building** outcomes are compared against the [TYNDP 2024 Market Model Output Files](https://2024.entsos-tyndp-scenarios.eu/download/) and the [TYNDP 2024 Final Scenario Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Report_FInal_Version_250128_web.pdf). +* **Cost-Benefit Analysis** indicators are benchmarked for all calculated indicators and + all projects against the official [TYNDP 2024 CBA results](https://tyndp2024.entsoe.eu/projects-map/transmission). + +Benchmarking results continue to be published with every release on [Zenodo](https://doi.org/10.5281/zenodo.18608105) (currently only Scenario Building results). View the [project website](https://open-tyndp.openenergytransition.org) for a detailed explanation of the results. + +!!! warning + Open-TYNDP is under active development and is not yet feature-complete. The current + [development status](index.md#development-status) + and the general [Limitations](limitations.md) + are important to understand before using the model. The following outputs are presented + for illustrative purposes and do not reflect the quality of the results. + +## Benchmarking Methodology + +The benchmarking is based on the methodology proposed by [Wen et al. (2022)](https://www.sciencedirect.com/science/article/pii/S0306261922011667). This methodology +provides a multi-criteria approach to ensure: + +- the **diversity** (each indicator has its own added value), +- the **effectiveness** (each indicator provides essential and correct information), +- the **robustness** (against diverse units and orders of magnitude), and +- the **compatibility** (can be used to compare across countries) of the selected set of + indicators. + +This methodology defines the following accuracy indicators: + +- **Missing**: Count of carriers / sectors dropped due to missing values. +- **sMPE** (Symmetric Mean Percentage Error): Indicates the direction of the deviation, + showing if outputs are overall overestimated or underestimated. +- **sMAPE** (Symmetric Mean Absolute Percentage Error): Indicates the absolute magnitude + of the deviations, avoiding the cancellation of negative and positive errors. +- **sMdAPE** (Symmetric Median Absolute Percentage Error): Provides skewness information + to complement sMAPE. +- **RMSLE** (Root Mean Square Logarithmic Error): Complements the percentage errors by + showing logarithmic deviation values. +- **Growth error**: Shows the error on the temporal scale. This indicator is not applied + to dynamic time series (i.e. hourly generation profiles). + +## Scenario Building Benchmarking + +### Metrics + +The following metrics from the [TYNDP 2024 Scenarios Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Report_FInal_Version_250128_web.pdf) +are considered relevant for Scenario Building benchmarking: + +* Exogenous inputs: + + * Final energy demand by fuel, EU27 (TWh), (Fig 5, p24 and Fig 51, p63) + * Electricity demand per sector, EU27 (TWh), (Fig 6, p25 and Fig 52, p63) + * Methane demand by sector, EU27 (TWh), (Fig 8, p27 and Fig 53, p64) + * Hydrogen demand by sector, EU27 (TWh), (Fig 10, p28 and Fig 54, p64) + +* Investment and dispatch modelling outputs: + + * Net installed capacity for electricity generation, EU27 (GW), (Fig 25, p39 and Fig 55, p65) + * Electricity generation, EU27 (TWh), (Fig 26, p39 and Fig 56, p65) + * Methane supply, EU27 (TWh), (Fig 32, p45 and Fig 57, p66) + * Hydrogen supply, EU27 (TWh), (Fig 33, p46 and Fig 58, p67) + * Biomass supply, EU27 (TWh), (Fig 59, p67) + * Energy imports, EU27 (TWh), (Fig 40, p51 and Fig 60, p68) + * Hourly generation profile of power generation, (Fig 30, p35) + +The data is published in the [Scenarios package](https://2024-data.entsos-tyndp-scenarios.eu/files/reports/TYNDP-2024-Scenarios-Package-20250128.zip). +In addition to the Scenarios Report data, data from the [Market Model Outputs](https://2024.entsos-tyndp-scenarios.eu/download/) and the [Visualisation Platform](https://2024.entsos-tyndp-scenarios.eu/visualisation-platform/) are also processed and +included in the relevant figures. + +Hourly time series from TYNDP 2024 are aggregated to match the temporal resolution of +Open-TYNDP. Summary tables are computed for both overall and per-carrier results. Spatially +resolved benchmarking at bus and country level is available via the +`benchmarking.spatial.by_bus` and `benchmarking.spatial.by_country` configuration keys. + +### Workflow + +The SB benchmarking workflow is controlled by `config/benchmarking.default.yaml`. + +1. `retrieve_tyndp`: Retrieve the TYNDP 2024 Scenarios Report Data Figures package. +2. `clean_tyndp_report_benchmark`: Read and process the raw Scenarios Report data into + a long-format table. +3. `clean_tyndp_vp_data`: Read and process the Visualisation Platform data into a + long-format table. +4. `clean_tyndp_output_benchmark`: Read and process the Market Model Outputs, including + cross-border flows, prices, and country and EU27 level values. +5. `build_statistics`: Compute benchmarking statistics from the optimised network for + every planning horizon. +6. `make_benchmark`: Compute accuracy indicators comparing model outcomes against the + Market Model Outputs, Scenarios Report, and Visualisation Platform. +7. `make_benchmarks`: Collect outputs from all `make_benchmark` runs. +8. `plot_benchmark`: Generate visualisation outputs. +9. `plot_benchmarks`: Collect outputs from all `plot_benchmark` runs. + +The full set of benchmarking output files is stored under `results/benchmarks/tyndp-2024/`: + +* `resources/` — processed benchmarking inputs from both Open-TYNDP and TYNDP 2024. +* `csvs_s_{clusters}_{opts}_{sector_opts}_all_years/` — quantitative tables. +* `graphics_s_{clusters}_{opts}_{sector_opts}_all_years/` — figures. +* `kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_bus.csv` — summary table aggregated from bus level KPIs. +* `kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_country.csv` — summary table aggregated from country level KPIs. +* `kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_bus.pdf` — summary figure aggregated from bus level KPIs. +* `kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_country.pdf` — summary figure aggregated from country level KPIs. + +The structure of these outputs can be validated in the published preliminary benchmarking results on [Zenodo](https://doi.org/10.5281/zenodo.18608105). + +![](img/tyndp/benchmarking_workflow.png) + +### Outputs + +Example of indicators extracted from `power_generation_cy2009_s_all___all_years.csv` by countries +for the NT scenario with hourly resolution: + +| Carrier | sMPE | sMAPE | sMdAPE | RMSLE | Growth Error | Missing countries | reference | version | +|---|---|---|---|---|---|---|---|---| +| **Coal + other fossil (incl. biofuels)** | 0.3 | 0.76 | 0.25 | 8.92 | -1.87 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Hydro (exc. pump storage)** | 0.01 | 0.03 | 0.0 | 0.06 | 0.02 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Hydrogen** | -0.93 | 1.19 | 1.21 | 6.0 | -0.51 | 1 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Methane (incl. biofuels)** | -0.21 | 0.34 | 0.17 | 0.65 | 0.16 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Nuclear** | 0.08 | 0.08 | 0.07 | 0.08 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Oil (incl. biofuels)** | 0.83 | 1.18 | 0.95 | 10.68 | 0.12 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Other non-res** | -0.23 | 0.31 | 0.06 | 1.16 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Other res** | 0 | 0 | 0 | 0 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Solar** | 0 | 0.01 | 0 | 0.02 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Wind offshore** | -0.1 | 0.11 | 0 | 6.23 | 0.01 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Wind onshore** | 0 | 0 | 0 | 0 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Demand shedding** | 1.63 | 1.8 | 2.0 | 13.51 | 0.03 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| **Solar thermal** | — | — | — | — | — | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | + +Example of figure created for the final energy demand for the NT scenario in 2030 with +hourly resolution: + +![](img/tyndp/benchmarking_fed_NT_2030.png) + +Example of figure including Visualisation Platform data created for the power capacity for +the NT scenario in 2030 with hourly resolution: + +![](img/tyndp/benchmarking_power_capacity_NT_2030.png) + +Example of figure created for the cross-border flows between countries (focusing on incorrect net direction) for the NT scenario in 2030 with +hourly resolution: + +![](img/tyndp/benchmarking_elec_crossborder_NT_2030.png) + +Example of figure created for the electricity prices by country for the NT scenario in 2030 with +hourly resolution: + +![](img/tyndp/benchmarking_elec_price_NT_2030.png) + +Example of figure created for the generation profiles for the DE scenario in 2040 with 45SEG: + +![](img/tyndp/benchmarking_gen_profiles_DE_2040.png) + +Example of summary indicators extracted from `kpis_s_all__all_years_by_country.csv` for the NT +scenario with hourly resolution: + +| Metric | sMPE | sMAPE | sMdAPE | RMSLE | Growth Error | Missing carriers | Missing countries | reference | version | +|---|---|---|---|---|---|---|---|---|---| +| biomass_supply | 0.14 | 0.14 | 0.11 | 0.2 | 0 | 2 | 0 | TYNDP 2024 Scenarios Report | v0.7.1 | +| crossborder_electricity | -0.03 | 0.56 | 0.3 | 2.29 | 0 | 0 | 27 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| crossborder_hydrogen | -0.02 | 0.31 | 0.13 | 0.47 | 0.05 | 0 | 1 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| electricity_demand | 0 | 0 | 0 | 0 | 0 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| electricity_demand_shedding_hours | 0.41 | 0.52 | 0 | 6.54 | 0.21 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| electricity_price | 0.11 | 0.19 | 0.07 | 0.3 | 0.05 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| electricity_price_excl_shed | -0.04 | 0.12 | 0.07 | 0.19 | -0.02 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| energy_imports | 0.52 | 0.52 | 0.3 | 1.15 | 0.01 | 1 | 0 | TYNDP 2024 Scenarios Report | v0.7.1 | +| final_energy_demand | 0.11 | 0.11 | 0.09 | 0.15 | 0.01 | 0 | 0 | TYNDP 2024 Scenarios Report | v0.7.1 | +| generation_profiles | — | — | — | — | — | NA | NA | — | v0.7.1 | +| hydrogen_demand | -0.22 | 0.28 | 0 | 2.96 | 0 | 0 | 1 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| hydrogen_demand_shedding_hours | 0.38 | 0.38 | 0 | 5.64 | 0 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| hydrogen_price | 0.11 | 0.16 | 0.03 | 0.27 | 0 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| hydrogen_price_excl_shed | 0.01 | 0.06 | 0.02 | 0.11 | 0 | 0 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| hydrogen_supply | -0.15 | 0.38 | 0.13 | 2.05 | 0.06 | 1 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| methane_demand | -0.1 | 0.17 | 0.16 | 0.21 | 0 | 0 | 0 | TYNDP 2024 Scenarios Report | v0.7.1 | +| methane_supply | 0.1 | 0.1 | 0.1 | 0.1 | 0 | 4 | 0 | TYNDP 2024 Scenarios Report | v0.7.1 | +| power_capacity | 0 | 0 | 0 | 0.01 | 0 | 1 | 0 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| power_generation | 0.28 | 0.51 | 0.05 | 6.99 | 0 | 1 | 1 | TYNDP 2024 Market Model Outputs | v0.7.1 | +| Total (excl. time series) | 0.14 | 0.31 | 0.03 | 1.48 | 0 | 13 | — | — | v0.7.1 | + +Example of summary figure created for the NT scenario with hourly resolution: + +![](img/tyndp/benchmarking_overview_NT.png) + +### Naming conventions + +To align naming conventions across data sources, Open-TYNDP uses a mapping table defined in [tyndp_technology_map.csv](https://github.com/open-energy-transition/open-tyndp/blob/master/data/tyndp_technology_map.csv). This table maps the different naming conventions between the Open-TYNDP, various input data sources and benchmarking tables. It contains the following columns: + +* **pemmdb_carrier**: Higher level carrier names as listed in the PEMMDB v2.4 dataset. +* **pemmdb_type**: Specific carrier technology type as listed in the PEMMDB v2.4 dataset. +* **pemmdb_hydro_inflows**: Carrier names as listed in the PEMMDB v2.4 hydro inflows dataset. +* **pecd_carrier**: Carrier names as listed in the PECD v3.1 dataset. +* **investment_dataset_carrier**: Carrier names as listed in the TYNDP 2024 investment dataset. +* **tyndp_output_carrier**: Carrier names as listed in the TYNDP 2024 Market Model output files. +* **tyndp_report_carrier**: Carrier names as listed in the TYNDP 2024 Scenarios Report. +* **tyndp_vp_carrier**: Carrier names as listed on the TYNDP 2024 Visualization Platform. +* **open_tyndp_carrier**: Open-TYNDP carrier naming convention representing either an energy carrier or a technology, depending on the context. +* **open_tyndp_index**: Open-TYNDP technology naming convention found in the component index. +* **open_tyndp_nice_names**: Open-TYNDP nice names for better readability and aggregation of technologies for reporting purposes. +* **benchmarking_capacity**: Naming convention for the benchmarking framework's `power_capacity` table. +* **benchmarking_generation**: Naming convention for the benchmarking framework's `power_generation` table. +* **benchmarking_generation_profiles**: Naming convention for the benchmarking framework's `generation_profiles` table. +* **benchmarking_fed**: Naming convention for the benchmarking framework's `final_energy_demand` table. +* **benchmarking_elec_demand**: Naming convention for the benchmarking framework's `electricity_demand` table. +* **benchmarking_ch4_demand**: Naming convention for the benchmarking framework's `methane_demand` table. +* **benchmarking_h2_demand**: Naming convention for the benchmarking framework's `hydrogen_demand` table. +* **benchmarking_ch4_supply**: Naming convention for the benchmarking framework's `methane_supply` table. +* **benchmarking_h2_supply**: Naming convention for the benchmarking framework's `hydrogen_supply` table. +* **benchmarking_biomass_supply**: Naming convention for the benchmarking framework's `biomass_supply` table. +* **benchmarking_energy_imports**: Naming convention for the benchmarking framework's `energy_imports` table. +* **benchmarking_prices**: Naming convention for the benchmarking framework's different `price` tables. +* **benchmarking_shed_hours**: Naming convention for the benchmarking framework's `electricity_demand_shedding_hours` and `hydrogen_demand_shedding_hours` tables. +* **open_tyndp_type**: Open-TYNDP technology type for grouping together detailed technologies if `electricity:group_tyndp_conventionals` is enabled in the configuration. +* **pypsa_eur_carrier**: Corresponding PyPSA-Eur carrier/technology if applicable. +* **comment**: Any additional comments. + +## Cost-Benefit Analysis Benchmarking + +CBA indicators computed by Open-TYNDP are benchmarked against the official [TYNDP 2024 CBA results](https://tyndp2024.entsoe.eu/projects-map/transmission) for all calculated +indicators (B1-B4) and all transmission projects. The comparison covers both individual climate year +runs and multi-climate year averages. + +### Metrics + +The following CBA indicators are benchmarked: + +* **B1: Social Economic Welfare (SEW):** Quantifies the change in operational system costs (socio-economic welfare). +* **B2: Social costs of CO2 emissions:** Calculates the impact using societal cost assumptions (low, central, high). +* **B3: RES integration costs:** Tracks changes in renewable capacity, generation, and avoided curtailment. +* **B4: Non-direct greenhouse emissions:** Quantifies pollutants (NOx, SO2, PM, etc.) using fuel consumption multipliers. + +### Per Climate Year + +Indicators are first benchmarked for each individual climate year run (e.g. CY2009, CY2008, +CY1995). This allows deviations to be traced to specific weather conditions and isolates +the effect of inter-annual climate variability on project benefits. For each climate year, +all four indicators (B1–B4) are compared against the TYNDP 2024 reference values for every +transmission project. + +### Averaged Indicators + +Following the TYNDP 2024 methodology, indicators are also compared after averaging across +the three climate years. A weighted average is calculated using weights for each climate year provided by the [TYNDP 2024 CBA Implementation Guidelines](https://tyndp.entsoe.eu/resources/tyndp-2024-methodology-cba-implementation-guidelines-for-consultation-1n): 0.233 for 1995, 0.367 for 2008 and 0.4 for 2009. + +This averaged comparison is the primary benchmarking target, as it +reflects the same aggregation approach used in the official TYNDP 2024 CBA. Deviations in +the averaged indicators provide the most direct measure of how closely Open-TYNDP reproduces +the official CBA outcomes at the project level. + +### Workflow + +The CBA benchmarking workflow runs automatically after the CBA solve steps and produces +per-indicator, per-project comparison figures and summary tables for both the individual +climate year and averaged results. Output files follow the same structure as the SB +benchmarking and are stored under `results/[run]/cba/`. diff --git a/doc/benchmarking.rst b/doc/benchmarking.rst deleted file mode 100644 index e77b8c4282..0000000000 --- a/doc/benchmarking.rst +++ /dev/null @@ -1,291 +0,0 @@ -.. - SPDX-FileCopyrightText: Contributors to Open-TYNDP - - SPDX-License-Identifier: CC-BY-4.0 - -############ -Benchmarking -############ - -Open-TYNDP includes a structured benchmarking framework that runs automatically with every -workflow execution. It provides systematic, reproducible comparisons of Open-TYNDP model -outcomes against official TYNDP 2024 reference data for both the Scenario Building (SB) -and Cost-Benefit Analysis (CBA) phases. - -* **Scenario Building** outcomes are compared against the `TYNDP 2024 Market Model Output - Files `_ and the `TYNDP 2024 Final - Scenario Report `_. -* **Cost-Benefit Analysis** indicators are benchmarked for all calculated indicators and - all projects against the official `TYNDP 2024 CBA results - `_. - -Benchmarking results are published with every release on `Zenodo -`_ (currently only Scenario Building results). - -.. warning:: - Open-TYNDP is under active development and is not yet feature-complete. The current - `development status `__ - and the general `Limitations `__ - are important to understand before using the model. The following outputs are presented - for illustrative purposes and do not reflect the quality of the results. - -Benchmarking Methodology -======================== - -The benchmarking is based on the methodology proposed by `Wen et al. (2022) -`_. This methodology -provides a multi-criteria approach to ensure: - -- the **diversity** (each indicator has its own added value), -- the **effectiveness** (each indicator provides essential and correct information), -- the **robustness** (against diverse units and orders of magnitude), and -- the **compatibility** (can be used to compare across countries) of the selected set of - indicators. - -This methodology defines the following accuracy indicators: - -- **Missing**: Count of carriers / sectors dropped due to missing values. -- **sMPE** (Symmetric Mean Percentage Error): Indicates the direction of the deviation, - showing if outputs are overall overestimated or underestimated. -- **sMAPE** (Symmetric Mean Absolute Percentage Error): Indicates the absolute magnitude - of the deviations, avoiding the cancellation of negative and positive errors. -- **sMdAPE** (Symmetric Median Absolute Percentage Error): Provides skewness information - to complement sMAPE. -- **RMSLE** (Root Mean Square Logarithmic Error): Complements the percentage errors by - showing logarithmic deviation values. -- **Growth error**: Shows the error on the temporal scale. This indicator is not applied - to dynamic time series (i.e. hourly generation profiles). - -Scenario Building Benchmarking -=============================== - -Metrics -------- - -The following metrics from the `TYNDP 2024 Scenarios Report -`_ -are considered relevant for Scenario Building benchmarking: - -* Exogenous inputs: - - * Final energy demand by fuel, EU27 (TWh), (Fig 5, p24 and Fig 51, p63) - * Electricity demand per sector, EU27 (TWh), (Fig 6, p25 and Fig 52, p63) - * Methane demand by sector, EU27 (TWh), (Fig 8, p27 and Fig 53, p64) - * Hydrogen demand by sector, EU27 (TWh), (Fig 10, p28 and Fig 54, p64) - -* Investment and dispatch modelling outputs: - - * Net installed capacity for electricity generation, EU27 (GW), (Fig 25, p39 and Fig 55, p65) - * Electricity generation, EU27 (TWh), (Fig 26, p39 and Fig 56, p65) - * Methane supply, EU27 (TWh), (Fig 32, p45 and Fig 57, p66) - * Hydrogen supply, EU27 (TWh), (Fig 33, p46 and Fig 58, p67) - * Biomass supply, EU27 (TWh), (Fig 59, p67) - * Energy imports, EU27 (TWh), (Fig 40, p51 and Fig 60, p68) - * Hourly generation profile of power generation, (Fig 30, p35) - -The data is published in the `Scenarios package -`_. -In addition to the Scenarios Report data, data from the `Market Model -Outputs `_ and the `Visualisation Platform -`_ are also processed and -included in the relevant figures. - -Hourly time series from TYNDP 2024 are aggregated to match the temporal resolution of -Open-TYNDP. Summary tables are computed for both overall and per-carrier results. Spatially -resolved benchmarking at bus and country level is available via the -``benchmarking.spatial.by_bus`` and ``benchmarking.spatial.by_country`` configuration keys. - -Workflow --------- - -The SB benchmarking workflow is controlled by ``config/benchmarking.default.yaml``. - -#. ``retrieve_tyndp``: Retrieve the TYNDP 2024 Scenarios Report Data Figures package. -#. ``clean_tyndp_report_benchmark``: Read and process the raw Scenarios Report data into - a long-format table. -#. ``clean_tyndp_vp_data``: Read and process the Visualisation Platform data into a - long-format table. -#. ``clean_tyndp_output_benchmark``: Read and process the Market Model Outputs, including - cross-border flows, prices, and country and EU27 level values. -#. ``build_statistics``: Compute benchmarking statistics from the optimised network for - every planning horizon. -#. ``make_benchmark``: Compute accuracy indicators comparing model outcomes against the - Market Model Outputs, Scenarios Report, and Visualisation Platform. -#. ``make_benchmarks``: Collect outputs from all ``make_benchmark`` runs. -#. ``plot_benchmark``: Generate visualisation outputs. -#. ``plot_benchmarks``: Collect outputs from all ``plot_benchmark`` runs. - -The full set of benchmarking output files is stored under ``results/benchmarks/tyndp-2024/``: - -* ``resources/`` — processed benchmarking inputs from both Open-TYNDP and TYNDP 2024. -* ``csvs_s_{clusters}_{opts}_{sector_opts}_all_years/`` — quantitative tables. -* ``graphics_s_{clusters}_{opts}_{sector_opts}_all_years/`` — figures. -* ``kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_bus.csv`` — summary table aggregated from bus level KPIs. -* ``kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_country.csv`` — summary table aggregated from country level KPIs. -* ``kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_bus.pdf`` — summary figure aggregated from bus level KPIs. -* ``kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_country.pdf`` — summary figure aggregated from country level KPIs. - -The structure of these outputs can be validated in the published preliminary benchmarking results on `Zenodo -`_ - -.. image:: img/tyndp/benchmarking_workflow.png - -Outputs -------- - -Example of indicators extracted from ``power_generation_cy2009_s_all___all_years.csv`` by countries -for the NT scenario with hourly resolution: - -======================================== ===== ====== ======== ===== ============ ================= =============================== ======= -Carrier sMPE sMAPE sMdAPE RMSLE Growth Error Missing countries reference version -======================================== ===== ====== ======== ===== ============ ================= =============================== ======= -**Coal + other fossil (incl. biofuels)** 0.3 0.76 0.25 8.92 -1.87 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Hydro (exc. pump storage)** 0.01 0.03 0.0 0.06 0.02 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Hydrogen** -0.93 1.19 1.21 6.0 -0.51 1 TYNDP 2024 Market Model Outputs v0.7.1 -**Methane (incl. biofuels)** -0.21 0.34 0.17 0.65 0.16 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Nuclear** 0.08 0.08 0.07 0.08 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Oil (incl. biofuels)** 0.83 1.18 0.95 10.68 0.12 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Other non-res** -0.23 0.31 0.06 1.16 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Other res** 0 0 0 0 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Solar** 0 0.01 0 0.02 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Wind offshore** -0.1 0.11 0 6.23 0.01 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Wind onshore** 0 0 0 0 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Demand shedding** 1.63 1.8 2.0 13.51 0.03 0 TYNDP 2024 Market Model Outputs v0.7.1 -**Solar thermal** — — — — — 0 TYNDP 2024 Market Model Outputs v0.7.1 -======================================== ===== ====== ======== ===== ============ ================= =============================== ======= - -Example of figure created for the final energy demand for the NT scenario in 2030 with -hourly resolution: - -.. image:: img/tyndp/benchmarking_fed_NT_2030.png - -Example of figure including Visualisation Platform data created for the power capacity for -the NT scenario in 2030 with hourly resolution: - -.. image:: img/tyndp/benchmarking_power_capacity_NT_2030.png - -Example of figure created for the cross-border flows between countries (focusing on incorrect net direction) for the NT scenario in 2030 with -hourly resolution: - -.. image:: img/tyndp/benchmarking_elec_crossborder_NT_2030.png - -Example of figure created for the electricity prices by country for the NT scenario in 2030 with -hourly resolution: - -.. image:: img/tyndp/benchmarking_elec_price_NT_2030.png - -Example of figure created for the generation profiles for the DE scenario in 2040 with 45SEG: - -.. image:: img/tyndp/benchmarking_gen_profiles_DE_2040.png - -Example of summary indicators extracted from ``kpis_s_all__all_years_by_country.csv`` for the NT -scenario with hourly resolution: - -================================= ===== ===== ====== ===== ============ ================ ================= =============================== ======= -Metric sMPE sMAPE sMdAPE RMSLE Growth Error Missing carriers Missing countries reference version -================================= ===== ===== ====== ===== ============ ================ ================= =============================== ======= -biomass_supply 0.14 0.14 0.11 0.2 0 2 0 TYNDP 2024 Scenarios Report v0.7.1 -crossborder_electricity -0.03 0.56 0.3 2.29 0 0 27 TYNDP 2024 Market Model Outputs v0.7.1 -crossborder_hydrogen -0.02 0.31 0.13 0.47 0.05 0 1 TYNDP 2024 Market Model Outputs v0.7.1 -electricity_demand 0 0 0 0 0 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -electricity_demand_shedding_hours 0.41 0.52 0 6.54 0.21 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -electricity_price 0.11 0.19 0.07 0.3 0.05 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -electricity_price_excl_shed -0.04 0.12 0.07 0.19 -0.02 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -energy_imports 0.52 0.52 0.3 1.15 0.01 1 0 TYNDP 2024 Scenarios Report v0.7.1 -final_energy_demand 0.11 0.11 0.09 0.15 0.01 0 0 TYNDP 2024 Scenarios Report v0.7.1 -generation_profiles — — — — — NA NA — v0.7.1 -hydrogen_demand -0.22 0.28 0 2.96 0 0 1 TYNDP 2024 Market Model Outputs v0.7.1 -hydrogen_demand_shedding_hours 0.38 0.38 0 5.64 0 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -hydrogen_price 0.11 0.16 0.03 0.27 0 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -hydrogen_price_excl_shed 0.01 0.06 0.02 0.11 0 0 0 TYNDP 2024 Market Model Outputs v0.7.1 -hydrogen_supply -0.15 0.38 0.13 2.05 0.06 1 0 TYNDP 2024 Market Model Outputs v0.7.1 -methane_demand -0.1 0.17 0.16 0.21 0 0 0 TYNDP 2024 Scenarios Report v0.7.1 -methane_supply 0.1 0.1 0.1 0.1 0 4 0 TYNDP 2024 Scenarios Report v0.7.1 -power_capacity 0 0 0 0.01 0 1 0 TYNDP 2024 Market Model Outputs v0.7.1 -power_generation 0.28 0.51 0.05 6.99 0 1 1 TYNDP 2024 Market Model Outputs v0.7.1 -Total (excl. time series) 0.14 0.31 0.03 1.48 0 13 — — v0.7.1 -================================= ===== ===== ====== ===== ============ ================ ================= =============================== ======= - -Example of summary figure created for the NT scenario with hourly resolution: - -.. image:: img/tyndp/benchmarking_overview_NT.png - -Naming conventions ------------- - -To align naming conventions across data sources, Open-TYNDP uses a mapping table defined in `tyndp_technology_map.csv `_. This table maps the different naming conventions between the Open-TYNDP, various input data sources and benchmarking tables. It contains the following columns: - -* **pemmdb_carrier**: Higher level carrier names as listed in the PEMMDB v2.4 dataset. -* **pemmdb_type**: Specific carrier technology type as listed in the PEMMDB v2.4 dataset. -* **pemmdb_hydro_inflows**: Carrier names as listed in the PEMMDB v2.4 hydro inflows dataset. -* **pecd_carrier**: Carrier names as listed in the PECD v3.1 dataset. -* **investment_dataset_carrier**: Carrier names as listed in the TYNDP 2024 investment dataset. -* **tyndp_output_carrier**: Carrier names as listed in the TYNDP 2024 Market Model output files. -* **tyndp_report_carrier**: Carrier names as listed in the TYNDP 2024 Scenarios Report. -* **tyndp_vp_carrier**: Carrier names as listed on the TYNDP 2024 Visualization Platform. -* **open_tyndp_carrier**: Open-TYNDP carrier naming convention representing either an energy carrier or a technology, depending on the context. -* **open_tyndp_index**: Open-TYNDP technology naming convention found in the component index. -* **open_tyndp_nice_names**: Open-TYNDP nice names for better readability and aggregation of technologies for reporting purposes. -* **benchmarking_capacity**: Naming convention for the benchmarking framework's ``power_capacity`` table. -* **benchmarking_generation**: Naming convention for the benchmarking framework's ``power_generation`` table. -* **benchmarking_generation_profiles**: Naming convention for the benchmarking framework's ``generation_profiles`` table. -* **benchmarking_fed**: Naming convention for the benchmarking framework's ``final_energy_demand`` table. -* **benchmarking_elec_demand**: Naming convention for the benchmarking framework's ``electricity_demand`` table. -* **benchmarking_ch4_demand**: Naming convention for the benchmarking framework's ``methane_demand`` table. -* **benchmarking_h2_demand**: Naming convention for the benchmarking framework's ``hydrogen_demand`` table. -* **benchmarking_ch4_supply**: Naming convention for the benchmarking framework's ``methane_supply`` table. -* **benchmarking_h2_supply**: Naming convention for the benchmarking framework's ``hydrogen_supply`` table. -* **benchmarking_biomass_supply**: Naming convention for the benchmarking framework's ``biomass_supply`` table. -* **benchmarking_energy_imports**: Naming convention for the benchmarking framework's ``energy_imports`` table. -* **benchmarking_prices**: Naming convention for the benchmarking framework's different ``price`` tables. -* **benchmarking_shed_hours**: Naming convention for the benchmarking framework's ``electricity_demand_shedding_hours`` and ``hydrogen_demand_shedding_hours`` tables. -* **open_tyndp_type**: Open-TYNDP technology type for grouping together detailed technologies if ``electricity:group_tyndp_conventionals`` is enabled in the configuration. -* **pypsa_eur_carrier**: Corresponding PyPSA-Eur carrier/technology if applicable. -* **comment**: Any additional comments. - -Cost-Benefit Analysis Benchmarking -==================================== - -CBA indicators computed by Open-TYNDP are benchmarked against the official `TYNDP 2024 CBA -results `_ for all calculated -indicators (B1-B4) and all transmission projects. The comparison covers both individual climate year -runs and multi-climate year averages. - -Metrics -------- - -The following CBA indicators are benchmarked: - -* **B1: Social Economic Welfare (SEW):** Quantifies the change in operational system costs (socio-economic welfare). -* **B2: Social costs of CO2 emissions:** Calculates the impact using societal cost assumptions (low, central, high). -* **B3: RES integration costs:** Tracks changes in renewable capacity, generation, and avoided curtailment. -* **B4: Non-direct greenhouse emissions:** Quantifies pollutants (NOx, SO2, PM, etc.) using fuel consumption multipliers. - - -Per Climate Year ----------------- - -Indicators are first benchmarked for each individual climate year run (e.g. CY2009, CY2008, -CY1995). This allows deviations to be traced to specific weather conditions and isolates -the effect of inter-annual climate variability on project benefits. For each climate year, -all four indicators (B1–B4) are compared against the TYNDP 2024 reference values for every -transmission project. - -Averaged Indicators -------------------- - -Following the TYNDP 2024 methodology, indicators are also compared after averaging across -the three climate years. A weighted average is calculated using weights for each climate year provided by the `TYNDP 2024 CBA Implementation Guidelines `_: 0.233 for 1995, 0.367 for 2008 and 0.4 for 2009. - -This averaged comparison is the primary benchmarking target, as it -reflects the same aggregation approach used in the official TYNDP 2024 CBA. Deviations in -the averaged indicators provide the most direct measure of how closely Open-TYNDP reproduces -the official CBA outcomes at the project level. - -Workflow --------- - -The CBA benchmarking workflow runs automatically after the CBA solve steps and produces -per-indicator, per-project comparison figures and summary tables for both the individual -climate year and averaged results. Output files follow the same structure as the SB -benchmarking and are stored under ``results/[run]/cba/``. diff --git a/doc/cba.md b/doc/cba.md new file mode 100644 index 0000000000..a96ed0a1e5 --- /dev/null +++ b/doc/cba.md @@ -0,0 +1,175 @@ + + + +# Cost-Benefit Analysis (CBA) + +The Cost-Benefit Analysis (CBA) evaluates transmission and storage projects by comparing two dispatch-only simulations: a **reference network** (the baseline grid) and a **project network** (the grid with a specific project added or removed). Unlike the Scenario Building (SB) phase, the CBA does not re-optimize capacities; it reuses the SB's solved network, fixes capacities, and runs dispatch-only optimizations. + +![Workflow between Scenario Building and CBA](img/tyndp/SB-CBA-workflow-subsequent-h.png) + +## CBA Workflow Methodology + +The workflow evaluates projects using a **rolling horizon** approach where the full year is divided into sequential weekly windows (168 hourly snapshots each, with an overlap of 1 snapshot). + +To resolve **myopia**—where the optimizer cannot see beyond the current week and makes suboptimal decisions for seasonal storage (H2, gas, large hydro)—the workflow uses Marginal Storage Values (MSV) derived from a full-year optimization. + +![CBA rolling horizon pipeline diagram](img/tyndp/cba-rolling-horizon-pipeline.jpeg) + +### Network Simplification + +The SB network is transformed into a dispatch-ready CBA network: + +* **Fixed Capacities:** Capacities are fixed via `n.optimize.fix_optimal_capacities()`. +* **Hurdle Costs:** A cost of 0.01 €/MWh is applied to all DC links. +* **Fuel Capacities:** Primary fuel generator capacities (coal, gas, oil, nuclear) are set to infinity to prevent dispatch from being artificially restricted by fuel-supply limits during peak hours. + +### Reference Network + +The simplified network is extended to form the CBA reference baseline by adding all TOOT project capacities. This ensures the reference and MSV extraction operate on the same topology. + +### MSV Extraction + +The reference network is solved with **perfect foresight** (entire year, single LP). This exposes the shadow prices (`mu_energy_balance`) of energy balance constraints, representing the **Marginal Storage Value (MSV)**—the opportunity cost of stored energy at that moment. + +### Rolling Horizon Preparation + +The reference network and MSV results are combined through five transformations: + +* **(a) Initial storage state:** Seasonal components have their initial state set to the perfect foresight solution's last-snapshot value. +* **(b) Disable cyclicity:** Short-term storage (battery) keeps cyclicity, while seasonal units (H2, gas, hydro) have it disabled, guided instead by MSVs. +* **(c) Remove global constraints:** Annual CO2 and biomass limits are removed as they cannot be enforced consistently in weekly windows. +* **(d) Disable annual volume limits:** Annual budgets for biomass/biogas are distributed proportionally to the perfect foresight dispatch. +* **(e) Apply MSV:** The `mu_energy_balance` time series is written into the `marginal_cost` of storage components. +* **(f) Hydro Pinning:** Large hydro reservoirs are pinned to their perfect-foresight state-of-charge values at window boundaries to guide dispatch where duals are near-zero. + +### Solve + +The prepared network is solved for the **Reference** baseline and then for each **Project**. Projects are evaluated using either **TOOT** (Take Out One at a Time) or **PINT** (Put IN at a Time) methods. + +## CBA Indicators + +Indicators are computed as the difference in system costs and emissions between the reference and project dispatch solutions. + +* **B1: Social Economic Welfare (SEW):** Quantifies the change in operational system costs (socio-economic welfare). +* **B2: Social costs of CO2 emissions:** Calculates the impact using societal cost assumptions (low, central, high). +* **B3: RES integration costs:** Tracks changes in renewable capacity, generation, and avoided curtailment. +* **B4: Non-direct greenhouse emissions:** Quantifies pollutants (NOx, SO2, PM, etc.) using fuel consumption multipliers. + +## Configuration + +CBA settings are defined in the `cba` section of the configuration file. You can refer to +the [configuration](configuration.md) page for a more comprehensive list of available PyPSA-Eur +and Open-TYNDP configuration options. + +### Project Selection + +* `planning_horizons`: Selects horizons (e.g., 2030, 2040). +* `projects`: Defines project identifiers (e.g., `t1-t35`). +* `cba_scenario_input`: If `use_presolved` is true, the workflow retrieves pre-solved SB networks from an archive. + +### Rolling Horizon Settings + +* `storage.cyclic_carriers`: Carriers that remain cyclic within each weekly window. +* `storage.soc_boundary_carriers`: Carriers pinned at window boundaries. +* `msv_extraction.resolution`: Controls temporal resolution for the MSV solve (e.g., `24H`). + +## Running Single vs Multiple Climate Years + +Climate-year collections allow project benefits to be assessed across multiple weather years, consistent with the 2024 TYNDP implementation. + +The CBA entry point `pixi run tyndp-cba` can run a **single scenario** that is one single climate year or a **collection scenario** that defines a list of child (climate years) scenarios under `cba.scenarios`. + +Example Collection (`config/scenarios.tyndp.yaml`): + +```yaml +NT-cy1995: +# <<: *cba-common +snapshots: + start: "1995-01-01" + end: "1996-01-01" + +atlite: + default_cutout: europe-1995-sarah3-era5 + +cba: + sb_scenario: NT + + +NT-cy2008: +# <<: *cba-common +snapshots: + start: "2008-01-01" + end: "2009-01-01" + +atlite: + default_cutout: europe-2008-sarah3-era5 + +cba: + sb_scenario: NT + + +NT-cy2009: +# <<: *cba-common +snapshots: + start: "2009-01-01" + end: "2010-01-01" + +atlite: + default_cutout: europe-2009-sarah3-era5 + +cba: + sb_scenario: NT + +NT-cyears: + cba: + scenarios: [NT-cy2009, NT-cy2008, NT-cy1995] +``` + +Individual child scenarios (e.g., `NT-cy2009`) must define their specific `snapshots`, `atlite.default_cutout`, and the `cba.sb_scenario` used as input. + +!!! tip + + If too many parallel jobs cause out-of-memory issues, you can specify your machine's + physical RAM limit in `profiles/default/config.yaml` for Snakemake to use + when scheduling jobs: + + ```yaml + resources: + mem_mb: 16000 + ``` + +### Running Multiple Years + +To run a collection like `NT-cyears`, modify `run.name` in `config/config.tyndp.yaml` or override it via command line: + +```console +$ pixi run tyndp-cba --config run='{"name":"NT-cyears"}' +``` + +### Running a Single Climate Year + +Similarly, a single climate year can be run by modifying `run.name` in `config/config.tyndp.yaml` to the desired scenario (e.g., `NT-cy2009`) or overriding it via command line: + +```console +$ pixi run tyndp-cba --config run='{"name":"NT-cy2009"}' +``` + +## Checkpoint + +If you run the CBA workflow for the first time, you might not see a full DAG and instead only see a small number of steps listed in your DAG (including a step called `clean_projects`). + +This rule represents a checkpoint in the workflow that first checks how many projects are being asked to run before building out the full DAG. +Specifically, the checkpoint tells the workflow which CBA projects exist, which project IDs to run, and which method applies (TOOT/PINT). + +Thus, if you see only a few steps in your DAG, it is because Snakemake has not yet reached the checkpoint to determine the full list of projects to evaluate. +This short DAG is therefore not reflective of the actual number of steps that will run once the checkpoint is passed. + +After `clean_projects` finishes and the checkpoint passes, Snakemake can read the cleaned CSV and expand the DAG into concrete jobs, at which point you will see the full set of steps. + +To run the workflow only up to the checkpoint, one can use the `pixi run tyndp-checkpoint` command, which executes all steps up to and including the checkpoint. + +```console +$ pixi run tyndp-checkpoint +``` + +After this, you can run the full workflow with `pixi run tyndp-cba` to execute all remaining steps, including those that follow the checkpoint. diff --git a/doc/cba.rst b/doc/cba.rst deleted file mode 100644 index 2eba77f8c2..0000000000 --- a/doc/cba.rst +++ /dev/null @@ -1,188 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################### -Cost-Benefit Analysis (CBA) -########################### - -The Cost-Benefit Analysis (CBA) evaluates transmission and storage projects by comparing two dispatch-only simulations: a **reference network** (the baseline grid) and a **project network** (the grid with a specific project added or removed). Unlike the Scenario Building (SB) phase, the CBA does not re-optimize capacities; it reuses the SB's solved network, fixes capacities, and runs dispatch-only optimizations. - -.. image:: img/tyndp/SB-CBA-workflow-subsequent-h.png - :align: center - :alt: Workflow between Scenario Building and CBA - -CBA Workflow Methodology -======================== - -The workflow evaluates projects using a **rolling horizon** approach where the full year is divided into sequential weekly windows (168 hourly snapshots each, with an overlap of 1 snapshot). - -To resolve **myopia**—where the optimizer cannot see beyond the current week and makes suboptimal decisions for seasonal storage (H2, gas, large hydro)—the workflow uses Marginal Storage Values (MSV) derived from a full-year optimization. - -.. image:: img/tyndp/cba-rolling-horizon-pipeline.jpeg - :width: 60% - :align: center - :alt: CBA rolling horizon pipeline diagram - -Network Simplification ----------------------- -The SB network is transformed into a dispatch-ready CBA network: - -* **Fixed Capacities:** Capacities are fixed via ``n.optimize.fix_optimal_capacities()``. -* **Hurdle Costs:** A cost of 0.01 €/MWh is applied to all DC links. -* **Fuel Capacities:** Primary fuel generator capacities (coal, gas, oil, nuclear) are set to infinity to prevent dispatch from being artificially restricted by fuel-supply limits during peak hours. - -Reference Network ------------------ -The simplified network is extended to form the CBA reference baseline by adding all TOOT project capacities. This ensures the reference and MSV extraction operate on the same topology. - -MSV Extraction --------------- -The reference network is solved with **perfect foresight** (entire year, single LP). This exposes the shadow prices (``mu_energy_balance``) of energy balance constraints, representing the **Marginal Storage Value (MSV)**—the opportunity cost of stored energy at that moment. - -Rolling Horizon Preparation ---------------------------- -The reference network and MSV results are combined through five transformations: -* **(a) Initial storage state:** Seasonal components have their initial state set to the perfect foresight solution's last-snapshot value. -* **(b) Disable cyclicity:** Short-term storage (battery) keeps cyclicity, while seasonal units (H2, gas, hydro) have it disabled, guided instead by MSVs. -* **(c) Remove global constraints:** Annual CO2 and biomass limits are removed as they cannot be enforced consistently in weekly windows. -* **(d) Disable annual volume limits:** Annual budgets for biomass/biogas are distributed proportionally to the perfect foresight dispatch. -* **(e) Apply MSV:** The ``mu_energy_balance`` time series is written into the ``marginal_cost`` of storage components. -* **(f) Hydro Pinning:** Large hydro reservoirs are pinned to their perfect-foresight state-of-charge values at window boundaries to guide dispatch where duals are near-zero. - -Solve ------ -The prepared network is solved for the **Reference** baseline and then for each **Project**. Projects are evaluated using either **TOOT** (Take Out One at a Time) or **PINT** (Put IN at a Time) methods. - -CBA Indicators -============== - -Indicators are computed as the difference in system costs and emissions between the reference and project dispatch solutions. - -* **B1: Social Economic Welfare (SEW):** Quantifies the change in operational system costs (socio-economic welfare). -* **B2: Social costs of CO2 emissions:** Calculates the impact using societal cost assumptions (low, central, high). -* **B3: RES integration costs:** Tracks changes in renewable capacity, generation, and avoided curtailment. -* **B4: Non-direct greenhouse emissions:** Quantifies pollutants (NOx, SO2, PM, etc.) using fuel consumption multipliers. - -Configuration -============= - -CBA settings are defined in the ``cba`` section of the configuration file. You can refer to -the `configuration `_ page for a more comprehensive list of available PyPSA-Eur -and Open-TYNDP configuration options. - -Project Selection ------------------ -* ``planning_horizons``: Selects horizons (e.g., 2030, 2040). -* ``projects``: Defines project identifiers (e.g., ``t1-t35``). -* ``cba_scenario_input``: If ``use_presolved`` is true, the workflow retrieves pre-solved SB networks from an archive. - -Rolling Horizon Settings ------------------------- -* ``storage.cyclic_carriers``: Carriers that remain cyclic within each weekly window. -* ``storage.soc_boundary_carriers``: Carriers pinned at window boundaries. -* ``msv_extraction.resolution``: Controls temporal resolution for the MSV solve (e.g., ``24H``). - -Running Single vs Multiple Climate Years -======================================== - -Climate-year collections allow project benefits to be assessed across multiple weather years, consistent with the 2024 TYNDP implementation. - -The CBA entry point ``pixi run tyndp-cba`` can run a **single scenario** that is one single climeate year or a **collection scenario** that defines a list of child (climate years) scenarios under ``cba.scenarios``. - -Example Collection (``config/scenarios.tyndp.yaml``): - -.. code-block:: yaml - - NT-cy1995: - # <<: *cba-common - snapshots: - start: "1995-01-01" - end: "1996-01-01" - - atlite: - default_cutout: europe-1995-sarah3-era5 - - cba: - sb_scenario: NT - - - NT-cy2008: - # <<: *cba-common - snapshots: - start: "2008-01-01" - end: "2009-01-01" - - atlite: - default_cutout: europe-2008-sarah3-era5 - - cba: - sb_scenario: NT - - - NT-cy2009: - # <<: *cba-common - snapshots: - start: "2009-01-01" - end: "2010-01-01" - - atlite: - default_cutout: europe-2009-sarah3-era5 - - cba: - sb_scenario: NT - - NT-cyears: - cba: - scenarios: [NT-cy2009, NT-cy2008, NT-cy1995] - -Individual child scenarios (e.g., ``NT-cy2009``) must define their specific ``snapshots``, ``atlite.default_cutout``, and the ``cba.sb_scenario`` used as input. - -.. hint:: - - If too many parallel jobs cause out-of-memory issues, you can specify your machine's - physical RAM limit in ``profiles/default/config.yaml`` for Snakemake to use - when scheduling jobs: - - .. code-block:: yaml - - resources: - mem_mb: 16000 - -Running Multiple Years ----------------------- -To run a collection like ``NT-cyears``, modify ``run.name`` in ``config/config.tyndp.yaml`` or override it via command line: - -.. code-block:: console - - $ pixi run tyndp-cba --config run='{"name":"NT-cyears"}' - -Running a Single Climate Year ------------------------------ -Similarly, a single climate year can be run by modifying ``run.name`` in ``config/config.tyndp.yaml`` to the desired scenario (e.g., ``NT-cy2009``) or overriding it via command line: - -.. code-block:: console - - $ pixi run tyndp-cba --config run='{"name":"NT-cy2009"}' - - -Checkpoint -========== - -If you run the CBA workflow for the first time, you might not see a full DAG and instead only see a small number of steps listed in your DAG (including a step called ``clean_projects``). - -This rule represents a checkpoint in the workflow that first checks how many projects are being asked to run before building out the full DAG. -Specifically, the checkpoint tells the workflow which CBA projects exist, which project IDs to run, and which method applies (TOOT/PINT). - -Thus, if you see only a few steps in your DAG, it is because Snakemake has not yet reached the checkpoint to determine the full list of projects to evaluate. -This short DAG is therefore not reflective of the actual number of steps that will run once the checkpoint is passed. - -After ``clean_projects`` finishes and the checkpoint passes, Snakemake can read the cleaned CSV and expand the DAG into concrete jobs, at which point you will see the full set of steps. - -To run the workflow only up to the checkpoint, one can use the ``pixi run tyndp-checkpoint`` command, which executes all steps up to and including the checkpoint. - -.. code-block:: console - - $ pixi run tyndp-checkpoint - -After this, you can run the full workflow with ``pixi run tyndp-cba`` to execute all remaining steps, including those that follow the checkpoint. \ No newline at end of file diff --git a/doc/conf.py b/doc/conf.py deleted file mode 100644 index ef4d9d1b0e..0000000000 --- a/doc/conf.py +++ /dev/null @@ -1,367 +0,0 @@ -# SPDX-FileCopyrightText: Contributors to Open-TYNDP -# SPDX-FileCopyrightText: Contributors to PyPSA-Eur -# -# SPDX-License-Identifier: MIT - -# -*- coding: utf-8 -*- -# -# PyPSA documentation build configuration file, created by -# sphinx-quickstart on Tue Jan 5 10:04:42 2016. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -import sys - -import requests - - -def get_basemap(app): - url = "https://zenodo.org/records/14144752/files/map.html?download=1" - response = requests.get(url) - - build_path = os.path.join(app.builder.outdir, "base-network-raw.html") - with open(build_path, "w") as f: - f.write(response.text) - - -def setup(app): - app.connect("builder-inited", get_basemap) - - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath("../scripts")) -sys.path.insert(0, os.path.abspath("..")) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - "sphinx.ext.autodoc", - #'sphinx.ext.autosummary', - "myst_parser", - # "sphinx.ext.autosectionlabel", - "sphinx.ext.intersphinx", - "sphinx.ext.todo", - "sphinx.ext.mathjax", - "sphinx.ext.napoleon", - "sphinx.ext.graphviz", - "sphinxcontrib.bibtex", - #'sphinx.ext.pngmath', - #'sphinxcontrib.tikz', - #'rinoh.frontend.sphinx', - "sphinx.ext.imgconverter", # for SVG conversion - "sphinx-jsonschema", - "sphinx_design", -] - -autodoc_mock_imports = [ - "atlite", - "snakemake", - "rioxarray", - "country_converter", - "tabula", - "memory_profiler", - "powerplantmatching", - "rasterio", - "dask.distributed", - "pydantic", - "ruamel", - "git", -] - -autodoc_default_flags = ["members"] -autosummary_generate = True - -bibtex_bibfiles = ["publications.bib"] -bibtex_default_style = "unsrt" - -# Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# source_suffix = ['.rst', '.md'] -source_suffix = ".rst" - -# The encoding of source files. -# source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = "index" - -# General information about the project. -project = "Open-TYNDP" -copyright = "PyPSA-Eur and Open-TYNDP Contributors" -author = "PyPSA-Eur and Open-TYNDP Contributors" - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = "v0.7.1" -# The full version, including alpha/beta/rc tags. -release = version + "" - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = "en" - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -# today = '' -# Else, today_fmt is used as the format for a strftime call. -# today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ["_build"] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -# default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -# add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -# add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -# show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = "sphinx" - -# A list of ignored prefixes for module index sorting. -# modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -# keep_warnings = False - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = True - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = "sphinx_book_theme" - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -html_theme_options = { - "repository_url": "https://github.com/open-energy-transition/open-tyndp", - "use_repository_button": True, - "show_navbar_depth": 1, -} - - -# Add any paths that contain custom themes here, relative to this directory. -# html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -html_title = "Open-TYNDP" - -# A shorter title for the navigation bar. Default is the same as html_title. -html_short_title = "Open-TYNDP" - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -html_logo = "img/logo.svg" - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -# html_favicon = None - -# These folders are copied to the documentation's HTML output -# html_static_path = ["_static"] - -# These paths are either relative to html_static_path -# or fully qualified paths (eg. https://...) -# html_css_files = ["theme_overrides.css"] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -# html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -# html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -# html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -# html_additional_pages = {} - -# If false, no module index is generated. -# html_domain_indices = True - -# If false, no index is generated. -# html_use_index = True - -# If true, the index is split into individual pages for each letter. -# html_split_index = False - -# If true, links to the reST sources are added to the pages. -# html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -# html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -# html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -# html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -# html_file_suffix = None - -# Language to be used for generating the HTML full-text search index. -# Sphinx supports the following languages: -# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' -# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -# html_search_language = 'en' - -# A dictionary with options for the search language support, empty by default. -# Now only 'ja' uses this config value -# html_search_options = {'type': 'default'} - -# The name of a javascript file (relative to the configuration directory) that -# implements a search results scorer. If empty, the default will be used. -# html_search_scorer = 'scorer.js' - -# Output file base name for HTML help builder. -htmlhelp_basename = "PyPSAEurdoc" - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - #'papersize': 'letterpaper', - # The font size ('10pt', '11pt' or '12pt'). - #'pointsize': '10pt', - # Additional stuff for the LaTeX preamble. - #'preamble': '', - # Latex figure (float) alignment - #'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, "PyPSA-Eur.tex", "PyPSA-Eur Documentation", "author", "manual"), -] - - -# Added for rinoh http://www.mos6581.org/rinohtype/quickstart.html -rinoh_documents = [ - ( - master_doc, # top-level file (index.rst) - "PyPSA-Eur", # output (target.pdf) - "PyPSA-Eur Documentation", # document title - "author", - ) -] # document author - - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -# latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -# latex_use_parts = False - -# If true, show page references after internal links. -# latex_show_pagerefs = False - -# If true, show URL addresses after external links. -# latex_show_urls = False - -# Documents to append as an appendix to all manuals. -# latex_appendices = [] - -# If false, no module index is generated. -# latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [(master_doc, "pypsa-eur", "PyPSA-Eur Documentation", [author], 1)] - -# If true, show URL addresses after external links. -# man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ( - master_doc, - "PyPSA-Eur", - "PyPSA-Eur Documentation", - author, - "PyPSA-Eur", - "One line description of project.", - "Miscellaneous", - ), -] - -# Documents to append as an appendix to all manuals. -# texinfo_appendices = [] - -# If false, no module index is generated. -# texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -# texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -# texinfo_no_detailmenu = False - - -# Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = { - "https://docs.python.org/": ("https://docs.python.org/3", None), -} diff --git a/doc/configuration.md b/doc/configuration.md new file mode 100644 index 0000000000..e14bbf4143 --- /dev/null +++ b/doc/configuration.md @@ -0,0 +1,1127 @@ + + + + + + + +# +# Configuration + +PyPSA-Eur has several configuration options which are documented in this section. + + + + +## Configuration Files + +As for PyPSA-Eur, any Open-TYNDP configuration can be set in a `.yaml` file. The default configurations +`config/config.default.yaml`, `config/plotting.default.yaml` and `config/benchmarking.default.yaml` +are maintained in the repository and cover all the options that are used/ can be set. + +To pass your own configuration, you can create a new file, e.g. `my_config.yaml`, +and specify the options you want to change. They will override the default settings and +options which are not set, will be inherited from the defaults above. + +Another way is to use the `config/config.yaml` file, which does not exist in the +repository and is also not tracked by git. But snakemake will always use this file if +it exists. This way you can run snakemake with a custom config without having to +specify the config file each time. + +Configuration order of precedence is as follows: +1. Command line options specified with `--config` (optional) +2. Custom configuration file specified with `--configfile` (optional) +3. The `config/config.yaml` file (optional) +4. The default configuration files `config/config.default.yaml` and `config/plotting.default.yaml` + +To use your custom configuration file, you need to pass it to the `snakemake` command +using the `--configfile` option: + +```console +$ snakemake -call --configfile my_config.yaml +``` + + +!!! warning + In a previous version of PyPSA-Eur (`<=2025.04.0`), a full copy of the created config + was stored in the `config/config.yaml` file. This is no longer the case. If the + file exists, snakemake will use it, but no new copy will be created. + + +## `version` {#version_cf} + +Version of PyPSA-Eur. Descriptive only. + +- **Type:** string +- **Default:** `v2026.02.0` + +**YAML Syntax** + +```yaml +{{ yaml_section("version") }} +``` + + +## `tutorial` {#tutorial_cf} + +Switch to retrieve the tutorial data set instead of the full data set. + +- **Type:** boolean +- **Default:** `false` + +**YAML Syntax** + +```yaml +{{ yaml_section("tutorial") }} +``` + + +## `logging` {#logging_cf} + +Configuration for top level `logging` settings. + +{{ schema_table("logging") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("logging") }} +``` + + +## `remote` {#remote_cf} + +"Remote" indicates the address of a server used for data exchange, often for clusters and data pushing/pulling. + +Configuration for top level `remote` settings. + +{{ schema_table("remote") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("remote") }} +``` + + +## `run` {#run_cf} + +It is common conduct to analyse energy system optimisation models for **multiple scenarios** for a variety of reasons, +e.g. assessing their sensitivity towards changing the temporal and/or geographical resolution or investigating how +investment changes as more ambitious greenhouse-gas emission reduction targets are applied. + +The `run` section is used for running and storing scenarios with different configurations which are not covered by [wildcards](#wildcards). +It determines the path at which resources, networks and results are stored. +Therefore the user can run different configurations within the same directory. + +Configuration for top level `run` settings. + +{{ schema_table("run") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("run") }} +``` + + +## `foresight` {#foresight_cf} + +[planning_horizons](#planning_horizons) in scenario has to be set. + +Configuration for `foresight` settings. + +- **Type:** enum (`overnight`, `myopic`, `perfect`) +- **Default:** `overnight` + +**YAML Syntax** + +```yaml +{{ yaml_section("foresight") }} +``` + +!!! note + If you use myopic or perfect foresight, the planning horizon in + [planning_horizons](#planning_horizons) in scenario has to be set. + + +## `tyndp_scenario` {#tyndp_scenario_cf} + +Configuration for `tyndp_scenario` settings. + +- **Type:** enum (`NT`, `DE`, `GA`, `false`) +- **Default:** `false` + +Scenario configuration of the TYNDP data, which is one of `NT`, `DE` or `GA`. `false` disables the TYNDP-specific rules. + +**YAML Syntax** + +```yaml +{{ yaml_section("tyndp_scenario") }} +``` + +## `scenario` {#scenario} + +The `scenario` section is an extraordinary section of the config file +that is strongly connected to the [wildcards](#wildcards) and is designed to +facilitate running multiple scenarios through a single command + + +```console +# for electricity-only studies + $ snakemake -call solve_elec_networks + + # for sector-coupling studies + $ snakemake -call solve_sector_networks + +For each wildcard, a **list of values** is provided. The rule +``` + +`solve_all_elec_networks` will trigger the rules for creating +`results/networks/base_s_{clusters}_elec_{opts}.nc` for **all +combinations** of the provided wildcard values as defined by Python's +[itertools.product(...) +](https://docs.python.org/2/library/itertools.html#itertools.product) function +that snakemake's [expand(...) function +](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#targets) +uses. + +An exemplary dependency graph (starting from the simplification rules) then looks like this: + +Configuration for top level `scenario` settings. + +{{ schema_table("scenario") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("scenario") }} +``` + + +## `countries` {#countries} + +Configuration for `countries` settings. + +- **Type:** list of string +- **Default:** `[...]` + +**YAML Syntax** + +```yaml +{{ yaml_section("countries") }} +``` + + +## `snapshots` {#snapshots_cf} + +Specifies the temporal range to build an energy system model for as arguments to [pandas.date_range ](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html) + +Configuration for `snapshots` settings. + +{{ schema_table("snapshots") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("snapshots") }} +``` + + +## `enable` {#enable_cf} + +Switches for some rules and optional features. + +Configuration for `enable` settings. + +{{ schema_table("enable") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("enable") }} +``` + + +## `co2_budget` {#CO2_budget_cf} + +sector_opts. + +Configuration for `co2_budget` settings. + +- **Type:** dict (str -> number) + +**YAML Syntax** + +```yaml +{{ yaml_section("co2_budget") }} +``` + +!!! note + this parameter is over-ridden if `Co2Lx` or `cb` is set in + sector_opts. + + +## `electricity` {#electricity_cf} + +Configuration for `electricity` settings. + +{{ schema_table("electricity") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("electricity") }} +``` + + +## `atlite` {#atlite_cf} + +Define and specify the `atlite.Cutout` used for calculating renewable potentials and time-series. All options except for `features` are directly used as [cutout parameters ](https://atlite.readthedocs.io/en/latest/ref_api.html#cutout). + +Configuration for `atlite` settings. + +{{ schema_table("atlite") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("atlite") }} +``` + + +## `renewable` {#renewable_cf} + +### `onwind` + +Configuration for onshore wind. + +{{ schema_table("renewable.onwind") }} + +Configuration for offshore wind. + +{{ schema_table("renewable.offwind-ac") }} + +Configuration for offshore wind. + +{{ schema_table("renewable.offwind-dc") }} + +Configuration for offshore wind. + +{{ schema_table("renewable.offwind-float") }} + +Configuration for solar PV. + +{{ schema_table("renewable.solar") }} + +Configuration for hydropower. + +{{ schema_table("renewable.hydro") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("renewable") }} +``` + +**YAML Syntax** + +```yaml +{{ yaml_section("renewable.offwind-ac") }} +``` + +**YAML Syntax** + +```yaml +{{ yaml_section("renewable.solar") }} +``` + +**YAML Syntax** + +```yaml +{{ yaml_section("renewable.hydro") }} +``` + +!!! note + Notes on `capacity_per_sqkm`. ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 30% fraction of the already restricted + area is available for installation of wind generators due to competing land use and likely public + acceptance issues. + +!!! note + The default choice for corine `grid_codes` was based on Scholz, Y. (2012). Renewable energy based electricity supply at low costs + development of the REMix model and application for Europe. ( p.42 / p.28) + + +!!! note + Notes on `capacity_per_sqkm`. ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 20% fraction of the already restricted + area is available for installation of wind generators due to competing land use and likely public + acceptance issues. + +!!! note + Notes on `correction_factor`. Correction due to proxy for wake losses + from 10.1016/j.energy.2018.08.153 + until done more rigorously in #153 + + +!!! note + Notes on `capacity_per_sqkm`. ScholzPhd Tab 4.3.1: 170 MW/km^2 and assuming 1% of the area can be used for solar PV panels. + Correction factor determined by comparing uncorrected area-weighted full-load hours to those + published in Supplementary Data to Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power + sector -- The economic potential of photovoltaics and concentrating solar + power." Applied Energy 135 (2014): 704-720. + This correction factor of 0.854337 may be in order if using reanalysis data. + for discussion refer to this https://github.com/PyPSA/pypsa-eur/issues/285 + + +## `conventional` {#conventional_cf} + +Define additional generator attribute for conventional carrier types. If a +scalar value is given it is applied to all generators. However if a string +starting with "data/" is given, the value is interpreted as a path to a csv file +with country specific values. Then, the values are read in and applied to all +generators of the given carrier in the given country. Note that the value(s) +overwrite the existing values. + +Configuration for `conventional` settings. + +{{ schema_table("conventional") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("conventional") }} +``` + + +## `lines` {#lines_cf} + +Configuration for `lines` settings. + +{{ schema_table("lines") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("lines") }} +``` + + +## `links` {#links_cf} + +Configuration for `links` settings. + +{{ schema_table("links") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("links") }} +``` + + +## `transmission_projects` {#transmission_projects_cf} + +Allows to define additional transmission projects that will be added to the base network, e.g., from the TYNDP 2020 dataset. The projects are read in from the CSV files in the subfolder of `data/transmission_projects/`. New transmission projects can be added in a new subfolder of transmission projects while extending the list of `transmission_projects` in the `config.yaml`. The CSV files in the project folder should have the same columns as the CSV files in the template folder `data/transmission_projects/template`. + +Configuration for `transmission_projects` settings. + +{{ schema_table("transmission_projects") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("transmission_projects") }} +``` + + +## `tyndp_investment_candidates` {#tyndp_investment_candidates_cf} + +Defines which investment candidates to include in the network. Currently supports TYNDP 2024 investment candidates. This configuration applies to the TYNDP base networks and should not be used with `transmission_projects` enabled (see [`transmission_projects`](#transmission_projects_cf)). + +{{ schema_table("tyndp_investment_candidates") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("tyndp_investment_candidates") }} +``` + + +## `transformers` {#transformers_cf} + +Configuration for `transformers` settings. + +{{ schema_table("transformers") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("transformers") }} +``` + + +## `load` {#load_cf} + +Configuration for `load` settings. + +{{ schema_table("load") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("load") }} +``` + + +## `energy` {#energy_cf} + +Only used for sector-coupling studies. + +Configuration for `energy` settings. + +{{ schema_table("energy") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("energy") }} +``` + +!!! note + Only used for sector-coupling studies. + + +## `biomass` {#biomass_cf} + +- Manure solid, liquid +- Residues from landscape care +- Bioethanol barley, wheat, grain maize, oats, other cereals and rye +- Sugar from sugar beet +- Miscanthus, switchgrass, RCG +- Willow +- Poplar +- Sunflower, soya seed +- Rape seed +- Fuelwood residues +- FuelwoodRW +- C&P_RW +- Secondary Forestry residues - woodchips +- Sawdust +- Municipal waste +- Sludge + +Configuration for `biomass` settings. + +{{ schema_table("biomass") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("biomass") }} +``` + +!!! note + Only used for sector-coupling studies. + + The list of available biomass is given by the category in [ENSPRESO_BIOMASS](https://cidportal.jrc.ec.europa.eu/ftp/jrc-opendata/ENSPRESO/ENSPRESO_BIOMASS.xlsx), namely: + + - Agricultural waste + + +## `solar_thermal` {#solar_thermal_cf} + +Only used for sector-coupling studies. + +Configuration for `solar_thermal` settings. + +{{ schema_table("solar_thermal") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("solar_thermal") }} +``` + +!!! note + Only used for sector-coupling studies. + + +## `existing_capacities` {#existing_capacities_cf} + +Only used for sector-coupling studies. The value for grouping years are only used in myopic or perfect foresight scenarios. + +Configuration for `existing_capacities` settings. + +{{ schema_table("existing_capacities") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("existing_capacities") }} +``` + +!!! note + Only used for sector-coupling studies. The value for grouping years are only used in myopic or perfect foresight scenarios. + + +## `sector` {#sector_cf} + +Only used for sector-coupling studies. + +??? note "Details" + + Configuration for `sector` settings. + + | Property | Type | Default | Description | + |----------|------|---------|-------------| + | `transport` | boolean | `true` | Flag to include transport sector. | + | `heating` | boolean | `true` | Flag to include heating sector. | + | `biomass` | boolean | `true` | Flag to include biomass sector. | + | `industry` | boolean | `true` | Flag to include industry sector. | + | `shipping` | boolean | `true` | Flag to include shipping sector. | + | `aviation` | boolean | `true` | Flag to include aviation sector. | + | `agriculture` | boolean | `true` | Flag to include agriculture sector. | + | `fossil_fuels` | boolean | `true` | Flag to include imports of fossil fuels. | + | `district_heating` | any | | Configuration for `sector.district_heating` settings. | + | `potential` | number \| dict (str -> number) | `0.6` | Maximum fraction of urban demand which can be supplied by district heating. If given as dictionary, specify one value per country modeled or provide a default value with key `default` to fill values for all unspecified countries. | + | `progress` | dict (str -> number) | | Increase of today's district heating demand to potential maximum district heating share. Progress = 0 means today's district heating share. Progress = 1 means maximum fraction of urban demand is supplied by district heating. | + | `district_heating_loss` | number | `0.15` | Share increase in district heat demand in urban central due to heat losses. | + | `supply_temperature_approximation` | object | | Supply temperature approximation settings. | + | `ptes` | object | | Pit thermal energy storage settings. | + | `ates` | object | | Aquifer thermal energy storage settings. | + | `heat_source_cooling` | number | `6` | Cooling of heat source for heat pumps. | + | `heat_pump_cop_approximation` | object | | Heat pump COP approximation settings. | + | `limited_heat_sources` | object | | Dictionary with names of limited heat sources (not air). Must be `river_water` / `geothermal` or another heat source in [Manz et al. 2024 ](https://www.sciencedirect.com/science/article/pii/S0960148124001769). | + | `direct_utilisation_heat_sources` | list of string | | List of heat sources for direct heat utilisation in district heating. Must be in the keys of `heat_utilisation_potentials` (e.g. `geothermal`). | + | `temperature_limited_stores` | list of string | | List of names for stores used as limited heat sources. | + | `dh_areas` | object | | District heating areas settings. | + | `heat_pump_sources` | dict (str -> list of string) | | Heat pump sources by area. | + | `residential_heat` | any | | Configuration for `sector.residential_heat` settings. | + | `dsm` | any | | Configuration for `sector.residential_heat.dsm` settings. | + | `enable` | boolean | `false` | Enable residential heat demand-side management that allows heating systems to provide flexibility by shifting demand within configurable time periods. Models building thermal mass as energy storage. | + | `direction` | list of string | | 'overheat-undercool' means both pre-heating and delayed heating are allowed. 'overheat' allows only pre-heating where buildings are heated up above target temperature and then allowed to cool down, while 'undercool' allows only delayed heating where buildings can cool below target temperature and then be heated up again. | + | `restriction_value` | dict (str -> number) | | Maximum state of charge (as fraction) for heat flexibility storage representing available thermal buffer capacity in buildings. Set to 0 for no flexibility or to 1.0 to assume that the entire heating demand can contribute to flexibility. | + | `restriction_time` | list of integer | | Checkpoint hours (0-23) at which heat flexibility storage must return to baseline state of charge, i.e. the residence surplus or missing heat be balanced. Time is the local time for each country and bus. Default: [10, 22] creates 12-hour periods with checkpoints at 10am and 10pm. | + | `cluster_heat_buses` | boolean | `true` | Cluster residential and service heat buses in [prepare_sector_network.py ](https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py) to one to save memory. | + | `heat_demand_cutout` | string | `default` | Heat demand cutout. | + | `bev_dsm_restriction_value` | number | `0.8` | Adds a lower state of charge (SOC) limit for battery electric vehicles (BEV) to manage its own energy demand (DSM). Located in [build_transport_demand.py ](https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_transport_demand.py). Set to 0 for no restriction on BEV DSM. | + | `bev_dsm_restriction_time` | number | `7` | Time at which SOC of BEV has to be dsm_restriction_value. | + | `transport_heating_deadband_upper` | number | `20.0` | The maximum temperature in the vehicle. At higher temperatures, the energy required for cooling in the vehicle increases. | + | `transport_heating_deadband_lower` | number | `15.0` | The minimum temperature in the vehicle. At lower temperatures, the energy required for heating in the vehicle increases. | + | `ICE_lower_degree_factor` | number | `0.375` | Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the cold environment and the minimum temperature. | + | `ICE_upper_degree_factor` | number | `1.6` | Share increase in energy demand in internal combustion engine (ICE) for each degree difference between the hot environment and the maximum temperature. | + | `EV_lower_degree_factor` | number | `0.98` | Share increase in energy demand in electric vehicles (EV) for each degree difference between the cold environment and the minimum temperature. | + | `EV_upper_degree_factor` | number | `0.63` | Share increase in energy demand in electric vehicles (EV) for each degree difference between the hot environment and the maximum temperature. | + | `bev_dsm` | boolean | `true` | Add the option for battery electric vehicles (BEV) to participate in demand-side management (DSM). | + | `bev_dsm_availability` | number | `0.5` | The share for battery electric vehicles (BEV) that are able to do demand side management (DSM). | + | `bev_energy` | number | `0.05` | The average size of battery electric vehicles (BEV) in MWh. | + | `bev_charge_efficiency` | number | `0.9` | Battery electric vehicles (BEV) charge and discharge efficiency. | + | `bev_charge_rate` | number | `0.011` | The power consumption for one electric vehicle (EV) in MWh. Value derived from 3-phase charger with 11 kW. | + | `bev_avail_max` | number | `0.95` | The maximum share plugged-in availability for passenger electric vehicles. | + | `bev_avail_mean` | number | `0.8` | The average share plugged-in availability for passenger electric vehicles. | + | `v2g` | boolean | `true` | Allows feed-in to grid from EV battery. This is only enabled if BEV demand-side management is enabled, and the share of vehicles participating is V2G is given by `bev_dsm_availability`. | + | `land_transport_fuel_cell_share` | dict (str -> number) | | The share of vehicles that uses fuel cells in a given year. | + | `land_transport_electric_share` | dict (str -> number) | | The share of vehicles that uses electric vehicles (EV) in a given year. | + | `land_transport_ice_share` | dict (str -> number) | | The share of vehicles that uses internal combustion engines (ICE) in a given year. What is not EV or FCEV is oil-fuelled ICE. | + | `transport_electric_efficiency` | number | `53.19` | The conversion efficiencies of electric vehicles in transport. | + | `transport_fuel_cell_efficiency` | number | `30.003` | The H2 conversion efficiencies of fuel cells in transport. | + | `transport_ice_efficiency` | number | `16.0712` | The oil conversion efficiencies of internal combustion engine (ICE) in transport. | + | `agriculture_machinery_electric_share` | number | `0.5` | The share for agricultural machinery that uses electricity. | + | `agriculture_machinery_oil_share` | number | `0.5` | The share for agricultural machinery that uses oil. | + | `agriculture_machinery_fuel_efficiency` | number | `0.7` | The efficiency of electric-powered machinery in the conversion of electricity to meet agricultural needs. | + | `agriculture_machinery_electric_efficiency` | number | `0.3` | The efficiency of oil-powered machinery in the conversion of oil to meet agricultural needs. | + | `shipping_hydrogen_liquefaction` | boolean | `false` | Whether to include liquefaction costs for hydrogen demand in shipping. | + | `shipping_hydrogen_share` | dict (str -> number) | | The share of ships powered by hydrogen in a given year. | + | `shipping_methanol_share` | dict (str -> number) | | The share of ships powered by methanol in a given year. | + | `shipping_oil_share` | dict (str -> number) | | The share of ships powered by oil in a given year. | + | `shipping_methanol_efficiency` | number | `0.46` | The efficiency of methanol-powered ships in the conversion of methanol to meet shipping needs (propulsion). The efficiency increase from oil can be 10-15% higher according to the [IEA ](https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf). | + | `shipping_oil_efficiency` | number | `0.4` | The efficiency of oil-powered ships in the conversion of oil to meet shipping needs (propulsion). Base value derived from 2011. | + | `aviation_demand_factor` | number | `1.0` | The proportion of demand for aviation compared to today's consumption. | + | `HVC_demand_factor` | number | `1.0` | The proportion of demand for high-value chemicals compared to today's consumption. | + | `time_dep_hp_cop` | boolean | `true` | Consider the time dependent coefficient of performance (COP) of the heat pump. | + | `heat_pump_sink_T_individual_heating` | number | `55.0` | The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings. | + | `reduce_space_heat_exogenously` | boolean | `true` | Influence on space heating demand by a certain factor (applied before losses in district heating). | + | `reduce_space_heat_exogenously_factor` | dict (str -> number) | | A positive factor can mean renovation or demolition of a building. If the factor is negative, it can mean an increase in floor area, increased thermal comfort, population growth. The default factors are determined by the [Eurocalc Homes and buildings decarbonization scenario ](http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221). | + | `retrofitting` | any | | Configuration for `sector.retrofitting` settings. | + | `retro_endogen` | boolean | `false` | Add retrofitting as an endogenous system which co-optimise space heat savings. | + | `cost_factor` | number | `1.0` | Weight costs for building renovation. | + | `interest_rate` | number | `0.04` | The interest rate for investment in building components. | + | `annualise_cost` | boolean | `true` | Annualise the investment costs of retrofitting. | + | `tax_weighting` | boolean | `false` | Weight the costs of retrofitting depending on taxes in countries. | + | `construction_index` | boolean | `true` | Weight the costs of retrofitting depending on labour/material costs per country. | + | `tes` | boolean | `true` | Add option for storing thermal energy in large water pits associated with district heating systems and individual thermal energy storage (TES). | + | `boilers` | boolean | `true` | Add option for transforming gas into heat using gas boilers. | + | `resistive_heaters` | boolean | `true` | Add option for transforming electricity into heat using resistive heaters (independently from gas boilers). | + | `oil_boilers` | boolean | `false` | Add option for transforming oil into heat using boilers. | + | `biomass_boiler` | boolean | `true` | Add option for transforming biomass into heat using boilers. | + | `overdimension_heat_generators` | dict (str -> number) | | Add option for overdimensioning heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1. | + | `chp` | any | | Configuration for `sector.chp` settings. | + | `enable` | boolean | `true` | Add option for using Combined Heat and Power (CHP). | + | `fuel` | list of string | | Possible options are all fuels which have an existing bus and their CO2 intensity is given in the technology data. Currently possible are "gas", "oil", "methanol", "lignite", "coal" as well as "solid biomass". For all fuels except solid biomass, the techno-economic data from gas CHP is used. For the special case of solid biomass fuel, both CHP plants with and without carbon capture are added. | + | `micro_chp` | boolean | `false` | Add option for using gas-fired Combined Heat and Power (CHP) for decentral areas. | + | `solar_thermal` | boolean | `true` | Add option for using solar thermal to generate heat. | + | `solar_cf_correction` | number | `0.788457` | The correction factor for the value provided by the solar thermal profile calculations. | + | `methanation` | boolean | `true` | Add option for transforming hydrogen and CO2 into methane using methanation. | + | `coal_cc` | boolean | `false` | Add option for coal CHPs with carbon capture. | + | `dac` | boolean | `true` | Add option for Direct Air Capture (DAC). | + | `co2_vent` | boolean | `false` | Add option for vent out CO2 from storages to the atmosphere. | + | `heat_vent` | dict (str -> boolean) | | Heat venting by area. | + | `marginal_cost_heat_vent` | number | `0.02` | The marginal cost of heat-venting in all heating systems. | + | `allam_cycle_gas` | boolean | `false` | Add option to include [Allam cycle gas power plants ](https://en.wikipedia.org/wiki/Allam_power_cycle). | + | `hydrogen_fuel_cell` | boolean | `true` | Add option to include hydrogen fuel cell for re-electrification. Assuming OCGT technology costs. | + | `hydrogen_turbine` | boolean | `true` | Add option to include hydrogen turbine for re-electrification. Assuming OCGT technology costs. | + | `SMR` | boolean | `true` | Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR). | + | `SMR_cc` | boolean | `true` | Add option for transforming natural gas into hydrogen and CO2 using Steam Methane Reforming (SMR) and Carbon Capture (CC). | + | `regional_oil_demand` | boolean | `true` | Spatially resolve oil demand. Set to true if regional CO2 constraints needed. | + | `regional_coal_demand` | boolean | `false` | Regional coal demand. | + | `regional_co2_sequestration_potential` | object | | Add option for regionally-resolved geological carbon dioxide sequestration potentials based on [CO2StoP ](https://setis.ec.europa.eu/european-co2-storage-database_en). | + | `co2_sequestration_potential` | dict (str -> number) | | The potential of sequestering CO2 in Europe per year and investment period. | + | `co2_sequestration_cost` | number | `30` | The cost of sequestering a ton of CO2 (currency/tCO2). | + | `co2_sequestration_lifetime` | integer | `50` | The lifetime of a CO2 sequestration site (years). | + | `co2_spatial` | boolean | `true` | Add option to spatially resolve carrier representing stored carbon dioxide. This allows for more detailed modelling of CCUTS, e.g. regarding the capturing of industrial process emissions, usage as feedstock for electrofuels, transport of carbon dioxide, and geological sequestration sites. | + | `co2_network` | boolean | `true` | Add option for planning a new carbon dioxide transmission network. | + | `co2_network_cost_factor` | number | `1` | The cost factor for the capital cost of the carbon dioxide transmission network. | + | `cc_fraction` | number | `0.9` | The default fraction of CO2 captured with post-combustion capture. | + | `hydrogen_underground_storage` | boolean | `true` | Add options for storing hydrogen underground. Storage potential depends regionally. | + | `hydrogen_underground_storage_locations` | list of string | | The location where hydrogen underground storage can be located. Onshore, nearshore, offshore means it must be located more than 50 km away from the sea, within 50 km of the sea, or within the sea itself respectively. | + | `methanol` | any | | Configuration for `sector.methanol` settings. | + | `regional_methanol_demand` | boolean | `false` | Spatially resolve methanol demand. Set to true if regional CO2 constraints needed. | + | `methanol_reforming` | boolean | `false` | Add methanol reforming. | + | `methanol_reforming_cc` | boolean | `false` | Add methanol reforming with carbon capture. | + | `methanol_to_kerosene` | boolean | `false` | Add methanol to kerosene. | + | `methanol_to_power` | dict (str -> boolean) | | Add different methanol to power technologies. | + | `biomass_to_methanol` | boolean | `true` | Add biomass to methanol. | + | `biomass_to_methanol_cc` | boolean | `false` | Add biomass to methanol with carbon capture. | + | `ammonia` | boolean \| string | `true` | Add ammonia as a carrier. It can be either true (copperplated NH3), false (no NH3 carrier) or "regional" (regionalised NH3 without network). | + | `min_part_load_electrolysis` | number | `0` | The minimum unit dispatch (`p_min_pu`) for electrolysis. | + | `min_part_load_fischer_tropsch` | number | `0.5` | The minimum unit dispatch (`p_min_pu`) for the Fischer-Tropsch process. | + | `min_part_load_methanolisation` | number | `0.3` | The minimum unit dispatch (`p_min_pu`) for the methanolisation process. | + | `min_part_load_methanation` | number | `0.3` | Minimum part load methanation. | + | `use_fischer_tropsch_waste_heat` | number | `0.25` | Add option for using waste heat of Fischer Tropsch in district heating networks. | + | `use_haber_bosch_waste_heat` | number | `0.25` | Use Haber-Bosch waste heat. | + | `use_methanolisation_waste_heat` | number | `0.25` | Use methanolisation waste heat. | + | `use_methanation_waste_heat` | number | `0.25` | Use methanation waste heat. | + | `use_fuel_cell_waste_heat` | number | `1` | Add option for using waste heat of fuel cells in district heating networks. | + | `use_electrolysis_waste_heat` | number | `0.25` | Add option for using waste heat of electrolysis in district heating networks. | + | `electricity_transmission_grid` | boolean | `true` | Switch for enabling/disabling the electricity transmission grid. | + | `electricity_distribution_grid` | boolean | `true` | Add a simplified representation of the exchange capacity between transmission and distribution grid level through a link. | + | `electricity_distribution_grid_cost_factor` | number | `1.0` | Multiplies the investment cost of the electricity distribution grid. | + | `electricity_grid_connection` | boolean | `true` | Add the cost of electricity grid connection for onshore wind and solar. | + | `transmission_efficiency` | any | | Configuration for `sector.transmission_efficiency` settings. | + | `enable` | list of string | | Switch to select the carriers for which transmission efficiency is to be added. Carriers not listed assume lossless transmission. | + | `DC` | dict (str -> number) | | DC transmission efficiency. | + | `H2 pipeline` | dict (str -> number) | | H2 pipeline transmission efficiency. | + | `gas pipeline` | dict (str -> number) | | Gas pipeline transmission efficiency. | + | `electricity distribution grid` | dict (str -> number) | | Electricity distribution grid efficiency. | + | `H2_network` | boolean | `true` | Add option for new hydrogen pipelines. | + | `gas_network` | boolean | `true` | Add existing natural gas infrastructure, incl. LNG terminals, production and entry-points. The existing gas network is added with a lossless transport model. A length-weighted [k-edge augmentation algorithm ](https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation) can be run to add new candidate gas pipelines such that all regions of the model can be connected to the gas network. When activated, all the gas demands are regionally disaggregated as well. | + | `H2_retrofit` | boolean | `false` | Add option for retrofiting existing pipelines to transport hydrogen. | + | `H2_retrofit_capacity_per_CH4` | number | `0.6` | The ratio for H2 capacity per original CH4 capacity of retrofitted pipelines. The [European Hydrogen Backbone (April, 2020) p.15 ](https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf) 60% of original natural gas capacity could be used in cost-optimal case as H2 capacity. | + | `gas_network_connectivity_upgrade` | number | `1` | The number of desired edge connectivity (k) in the length-weighted [k-edge augmentation algorithm ](https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation) used for the gas network. | + | `gas_distribution_grid` | boolean | `true` | Add a gas distribution grid. | + | `gas_distribution_grid_cost_factor` | number | `1.0` | Multiplier for the investment cost of the gas distribution grid. | + | `biomass_spatial` | boolean | `true` | Add option for resolving biomass demand regionally. | + | `biomass_transport` | boolean | `false` | Add option for transporting solid biomass between nodes. | + | `biogas_upgrading` | boolean | `true` | Biogas upgrading. | + | `biogas_upgrading_cc` | boolean | `false` | Add option to capture CO2 from biomass upgrading. | + | `conventional_generation` | dict (str -> string) | | Add a more detailed description of conventional carriers. Any power generation requires the consumption of fuel from nodes representing that fuel. | + | `biomass_to_liquid` | boolean | `true` | Add option for transforming solid biomass into liquid fuel with the same properties as oil. | + | `biomass_to_liquid_cc` | boolean | `false` | Add option for transforming solid biomass into liquid fuel with the same properties as oil with carbon capture. | + | `electrobiofuels` | boolean | `true` | Electrobiofuels. | + | `biosng` | boolean | `false` | Add option for transforming solid biomass into synthesis gas with the same properties as natural gas. | + | `biosng_cc` | boolean | `false` | Add option for transforming solid biomass into synthesis gas with the same properties as natural gas with carbon capture. | + | `bioH2` | boolean | `false` | Add option for transforming solid biomass into hydrogen with carbon capture. | + | `municipal_solid_waste` | boolean | `false` | Add option for municipal solid waste. | + | `limit_max_growth` | any | | Configuration for `sector.limit_max_growth` settings. | + | `enable` | boolean | `false` | Add option to limit the maximum growth of a carrier. | + | `factor` | number | `1.3` | The maximum growth factor of a carrier (e.g. 1.3 allows 30% larger than max historic growth). | + | `max_growth` | dict (str -> number) | | The historic maximum growth of a carrier. | + | `max_relative_growth` | dict (str -> number) | | The historic maximum relative growth of a carrier. | + | `enhanced_geothermal` | any | | Configuration for `sector.enhanced_geothermal` settings. | + | `enable` | boolean | `false` | Add option to include Enhanced Geothermal Systems. | + | `flexible` | boolean | `true` | Add option for flexible operation (see Ricks et al. 2024). | + | `max_hours` | integer | `240` | The maximum hours the reservoir can be charged under flexible operation. | + | `max_boost` | number | `0.25` | The maximum boost in power output under flexible operation. | + | `var_cf` | boolean | `true` | Add option for variable capacity factor (see Ricks et al. 2024). | + | `sustainability_factor` | number | `0.0025` | Share of sourced heat that is replenished by the earth's core (see details in [build_egs_potentials.py ](https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_egs_potentials.py)). | + | `solid_biomass_import` | any | | Configuration for `sector.solid_biomass_import` settings. | + | `enable` | boolean | `false` | Add option to include solid biomass imports. | + | `price` | number | `54` | Price for importing solid biomass (currency/MWh). | + | `max_amount` | number | `1390` | Maximum solid biomass import potential (TWh). | + | `upstream_emissions_factor` | number | `0.1` | Upstream emissions of solid biomass imports. | + | `imports` | any | | Configuration for `sector.imports` settings. | + | `enable` | boolean | `false` | Add option to include renewable energy imports. | + | `limit` | number | | Maximum allowed renewable energy imports (TWh). | + | `limit_sense` | string | `<=` | Sense of the limit. | + | `price` | dict (str -> number) | | Price for importing renewable energy of carrier. | + + +**YAML Syntax** + +```yaml +{{ yaml_section("sector") }} +``` + + +!!! note + Only used for sector-coupling studies. + + +## `industry` {#industry_cf} + +Only used for sector-coupling studies. + +Configuration for `industry` settings. + +{{ schema_table("industry") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("industry") }} +``` + +!!! note + Only used for sector-coupling studies. + + +## `costs` {#costs_cf} + +Configuration for `costs` settings. + +{{ schema_table("costs") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("costs") }} +``` + + +## `clustering` {#clustering_cf} + +use `min` in `p_nom_max:` for more conservative assumptions. + +Configuration for `clustering` settings. + +{{ schema_table("clustering") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("clustering") }} +``` + +!!! tip + use `min` in `p_nom_max:` for more conservative assumptions. + + +## `adjustments` {#adjustments_cf} + +Configuration for top-level adjustments key. + +{{ schema_table("adjustments") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("adjustments") }} +``` + + +## `solving` {#solving_cf} + +Configuration for `solving` settings. + +{{ schema_table("solving") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("solving") }} +``` + + +## `data_config` {#data_config_cf} + +Selects a pre-defined data configuration file to load. When set, the workflow looks for +`config/data.{data_config}.yaml` and loads it as an additional configuration layer on top of +the defaults, before any user `config/config.yaml` overrides. + +This is the recommended way to switch between data source strategies. For example, to use +Open-TYNDP's own data archive on Google Cloud Storage (see [tyndp_archive](solving.md#tyndp_archive)), run: + +```console +pixi run tyndp-sb --config data_config=tyndp +``` + +or set it permanently in `config/config.tyndp.yaml` (applied to all TYNDP runs): + +```yaml +data_config: tyndp +``` + +This loads `config/data.tyndp.yaml`, which sets all supported datasets to `tyndp-archive` +as their source. + +**YAML Syntax** + +```yaml +{{ yaml_section("data_config") }} +``` + + +## `data` {#data_cf} + +Controls which versions of input data are used for building the model. +Versions that are available for each dataset can be found in `data/versions.csv`. +By default, we retrieve the `latest` supported version for each dataset from an archive source +(`data.pypsa.org`). +This means that when upgrading between Open-TYNDP versions, new versions of input data may also be downloaded and used. +To freeze a model to a specific version of input data, you can set a specific version in the `version` field for each dataset to one specific version as listed in `data/versions.csv`. + +Some datasets support `primary` or `build` as a source option, meaning that the data can be retrieved from the original +data source or build it from the latest available data. +Datasets that are mirrored to the Open-TYNDP data store on Google Cloud Storage also support `tyndp-archive` as a source +(see [tyndp_archive](solving.md#tyndp_archive)). +See the `data/versions.csv` file for all available datasets and their sources/versions that are supported. + +??? note "Details" + + Configuration for `data` settings. + + | Property | Type | Default | Description | + |----------|------|---------|-------------| + | `hotmaps_industrial_sites` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `enspreso_biomass` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `osm` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `worldbank_urban_population` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `worldbank_commodity_prices` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `gem_europe_gas_tracker` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `gem_gcct` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `instrat_co2_prices` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `co2stop` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `nitrogen_statistics` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `eu_nuts2013` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `eu_nuts2021` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `eurostat_balances` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `eurostat_household_balances` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `wdpa` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `wdpa_marine` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `luisa_land_cover` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `jrc_idees` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `scigrid_gas` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `seawater_temperature` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `swiss_energy_balances` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `synthetic_electricity_demand` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `opsd_electricity_demand` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `entsoe_electricity_demand` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `neso_electricity_demand` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `copernicus_land_cover` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `ship_raster` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `eez` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `nuts3_population` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `gdp_per_capita` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `population_count` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `ghg_emissions` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `gebco` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `attributed_ports` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `corine` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `emobility` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `h2_salt_caverns` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `lau_regions` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `aquifer_data` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `osm_boundaries` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `gem_gspt` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `tyndp` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `powerplants` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `costs` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `country_runoff` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `country_hdd` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `natura` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `bfs_road_vehicle_stock` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `bfs_gdp_and_population` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `mobility_profiles` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `cutout` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `dh_areas` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `geothermal_heat_utilisation_potentials` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `jrc_ardeco` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `jrc_energy_atlas` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `desnz_electricity_consumption` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `ons_lad` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `bidding_zones_electricitymaps` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + | `bidding_zones_entsoepy` | any | | Configuration for a single data source. | + | `source` | enum (`archive`, `primary`, `build`) | `archive` | Source of the data. 'archive' retrieves pre-built data, 'primary' retrieves from primary source. | + | `version` | string | `latest` | Version of the data to use. Uses the specific 'version' for the selected 'source' or the dataset tagged 'latest' for this source. | + + +**YAML Syntax** + +```yaml +{{ yaml_section("data") }} +``` + + +## `overpass_api` {#overpass_api_cf} + +Configuration for `overpass_api` settings. + +{{ schema_table("overpass_api") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("overpass_api") }} +``` + + + +## `plotting` {#plotting_cf} + +```yaml +{{ yaml_section("plotting", source="plotting") }} +``` + + +## `benchmarking` {#benchmarking_cf} + +!!! note + Schema table not yet available for `benchmarking` (tracked separately from the main configuration schema). + +**YAML Syntax** + +```yaml +{{ yaml_section("benchmarking", source="benchmarking.default.yaml") }} +``` + + +## `cba` {#cba_cf} + +Cost-Benefit Analysis (CBA) configuration for evaluating TYNDP transmission and +storage projects using TOOT (Take One Out at a Time) and PINT (Put In at a Time) +methodologies. + +{{ schema_table("cba") }} + +**YAML Syntax** + +```yaml +{{ yaml_section("cba") }} +``` + diff --git a/doc/configuration.rst b/doc/configuration.rst deleted file mode 100644 index c5087ec181..0000000000 --- a/doc/configuration.rst +++ /dev/null @@ -1,896 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _config: - -########################################## -Configuration -########################################## - -PyPSA-Eur has several configuration options which are documented in this section. - -.. _defaultconfig: - -Configuration Files -=================== - -As for PyPSA-Eur, any Open-TYNDP configuration can be set in a ``.yaml`` file. The default configurations -``config/config.default.yaml``, ``config/plotting.default.yaml`` and ``config/benchmarking.default.yaml`` -are maintained in the repository and cover all the options that are used/ can be set. - -To pass your own configuration, you can create a new file, e.g. ``my_config.yaml``, -and specify the options you want to change. They will override the default settings and -options which are not set, will be inherited from the defaults above. - -Another way is to use the ``config/config.yaml`` file, which does not exist in the -repository and is also not tracked by git. But snakemake will always use this file if -it exists. This way you can run snakemake with a custom config without having to -specify the config file each time. - -Configuration order of precedence is as follows: -1. Command line options specified with ``--config`` (optional) -2. Custom configuration file specified with ``--configfile`` (optional) -3. The ``config/config.yaml`` file (optional) -4. The default configuration files ``config/config.default.yaml`` and ``config/plotting.default.yaml`` - -To use your custom configuration file, you need to pass it to the ``snakemake`` command -using the ``--configfile`` option: - -.. code:: console - - $ snakemake -call --configfile my_config.yaml - -.. warning:: - - In a previous version of PyPSA-Eur (``<=2025.04.0``), a full copy of the created config - was stored in the ``config/config.yaml`` file. This is no longer the case. If the - file exists, snakemake will use it, but no new copy will be created. - - -.. _version_cf: - -``version`` -=========== - -.. jsonschema:: ../config/schema.default.json#/properties/version - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: version: - :end-before: # docs - -.. _tutorial_cf: - -``tutorial`` -============ - -.. jsonschema:: ../config/schema.default.json#/properties/tutorial - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: tutorial: - :end-before: # docs - -.. _logging_cf: - -``logging`` -=========== - -.. jsonschema:: ../config/schema.default.json#/$defs/LoggingConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: logging: - :end-before: # docs - -.. _remote_cf: - -``remote`` -========== - -"Remote" indicates the address of a server used for data exchange, often for clusters and data pushing/pulling. - -.. jsonschema:: ../config/schema.default.json#/$defs/RemoteConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: remote: - :end-before: # docs - -.. _run_cf: - -``run`` -============= - -It is common conduct to analyse energy system optimisation models for **multiple scenarios** for a variety of reasons, -e.g. assessing their sensitivity towards changing the temporal and/or geographical resolution or investigating how -investment changes as more ambitious greenhouse-gas emission reduction targets are applied. - -The ``run`` section is used for running and storing scenarios with different configurations which are not covered by :ref:`wildcards`. -It determines the path at which resources, networks and results are stored. -Therefore the user can run different configurations within the same directory. - -.. jsonschema:: ../config/schema.default.json#/$defs/RunConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: run: - :end-before: # docs - -.. _foresight_cf: - -``foresight`` -============= - -.. jsonschema:: ../config/schema.default.json#/$defs/ForesightConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: foresight: - :end-before: # docs - -.. note:: - If you use myopic or perfect foresight, the planning horizon in - :ref:`planning_horizons` in scenario has to be set. - -.. _tyndp_scenario_cf: - -``tyndp_scenario`` -============= - -.. jsonschema:: ../config/schema.json#/properties/tyndp_scenario - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: tyndp_scenario: - :end-at: tyndp_scenario: - -.. _scenario: - -``scenario`` -============ - -The ``scenario`` section is an extraordinary section of the config file -that is strongly connected to the :ref:`wildcards` and is designed to -facilitate running multiple scenarios through a single command - -.. code:: console - - # for electricity-only studies - $ snakemake -call solve_elec_networks - - # for sector-coupling studies - $ snakemake -call solve_sector_networks - -For each wildcard, a **list of values** is provided. The rule -``solve_all_elec_networks`` will trigger the rules for creating -``results/networks/base_s_{clusters}_elec_{opts}.nc`` for **all -combinations** of the provided wildcard values as defined by Python's -`itertools.product(...) -`__ function -that snakemake's `expand(...) function -`__ -uses. - -An exemplary dependency graph (starting from the simplification rules) then looks like this: - -.. image:: img/scenarios.png - -.. jsonschema:: ../config/schema.default.json#/$defs/ScenarioConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: scenario: - :end-before: # docs - -.. _countries: - -``countries`` -============= - -.. jsonschema:: ../config/schema.default.json#/$defs/CountriesConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: countries: - :end-before: # docs - -.. _snapshots_cf: - -``snapshots`` -============= - -Specifies the temporal range to build an energy system model for as arguments to `pandas.date_range `__ - -.. jsonschema:: ../config/schema.default.json#/$defs/SnapshotsConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: snapshots: - :end-before: # docs - -.. _enable_cf: - -``enable`` -========== - -Switches for some rules and optional features. - -.. jsonschema:: ../config/schema.default.json#/$defs/EnableConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-after: # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#enable - :end-before: # docs - -.. _CO2_budget_cf: - -``co2_budget`` -============== - -.. jsonschema:: ../config/schema.default.json#/$defs/Co2BudgetConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: co2_budget: - :end-before: # docs - -.. note:: - this parameter is over-ridden if ``Co2Lx`` or ``cb`` is set in - sector_opts. - -.. _electricity_cf: - -``electricity`` -=============== - -.. jsonschema:: ../config/schema.default.json#/$defs/ElectricityConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: electricity: - :end-before: # docs - -.. _atlite_cf: - -``atlite`` -========== - -Define and specify the ``atlite.Cutout`` used for calculating renewable potentials and time-series. All options except for ``features`` are directly used as `cutout parameters `__. - -.. jsonschema:: ../config/schema.default.json#/$defs/AtliteConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: atlite: - :end-before: # docs - -.. _renewable_cf: - -``renewable`` -============= - -``onwind`` ----------- - -.. jsonschema:: ../config/schema.default.json#/$defs/RenewableConfig/properties/onwind - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: renewable: - :end-before: "offwind-ac": - -.. note:: - Notes on ``capacity_per_sqkm``. ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 30% fraction of the already restricted - area is available for installation of wind generators due to competing land use and likely public - acceptance issues. - -.. note:: - The default choice for corine ``grid_codes`` was based on Scholz, Y. (2012). Renewable energy based electricity supply at low costs - development of the REMix model and application for Europe. ( p.42 / p.28) - -``offwind-x`` --------------- - -.. jsonschema:: ../config/schema.default.json#/$defs/RenewableConfig/properties/offwind-ac - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: "offwind-ac": - :end-before: solar: - -.. jsonschema:: ../config/schema.default.json#/$defs/RenewableConfig/properties/offwind-dc - :lift_description: - :hide_key: /**/additionalProperties - -.. jsonschema:: ../config/schema.default.json#/$defs/RenewableConfig/properties/offwind-float - :lift_description: - :hide_key: /**/additionalProperties - -.. note:: - Notes on ``capacity_per_sqkm``. ScholzPhd Tab 4.3.1: 10MW/km^2 and assuming 20% fraction of the already restricted - area is available for installation of wind generators due to competing land use and likely public - acceptance issues. - -.. note:: - Notes on ``correction_factor``. Correction due to proxy for wake losses - from 10.1016/j.energy.2018.08.153 - until done more rigorously in #153 - -``solar`` ---------------- - -.. jsonschema:: ../config/schema.default.json#/$defs/RenewableConfig/properties/solar - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: solar: - :end-before: hydro: - -.. note:: - Notes on ``capacity_per_sqkm``. ScholzPhd Tab 4.3.1: 170 MW/km^2 and assuming 1% of the area can be used for solar PV panels. - Correction factor determined by comparing uncorrected area-weighted full-load hours to those - published in Supplementary Data to Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power - sector -- The economic potential of photovoltaics and concentrating solar - power." Applied Energy 135 (2014): 704-720. - This correction factor of 0.854337 may be in order if using reanalysis data. - for discussion refer to this - -``hydro`` ---------------- - -.. jsonschema:: ../config/schema.default.json#/$defs/RenewableConfig/properties/hydro - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: hydro: - :end-before: # docs - -.. _conventional_cf: - -``conventional`` -================ - -Define additional generator attribute for conventional carrier types. If a -scalar value is given it is applied to all generators. However if a string -starting with "data/" is given, the value is interpreted as a path to a csv file -with country specific values. Then, the values are read in and applied to all -generators of the given carrier in the given country. Note that the value(s) -overwrite the existing values. - -.. jsonschema:: ../config/schema.default.json#/$defs/ConventionalConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: conventional: - :end-before: # docs - -.. _lines_cf: - -``lines`` -========= - -.. jsonschema:: ../config/schema.default.json#/$defs/LinesConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: lines: - :end-before: # docs - -.. _links_cf: - -``links`` -============= - -.. jsonschema:: ../config/schema.default.json#/$defs/LinksConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: links: - :end-before: # docs - -.. _transmission_projects_cf: - -``transmission_projects`` -========================= - -Allows to define additional transmission projects that will be added to the base network, e.g., from the TYNDP 2020 dataset. The projects are read in from the CSV files in the subfolder of ``data/transmission_projects/``. New transmission projects can be added in a new subfolder of transmission projects while extending the list of ``transmission_projects`` in the ``config.yaml``. The CSV files in the project folder should have the same columns as the CSV files in the template folder ``data/transmission_projects/template``. - -.. jsonschema:: ../config/schema.default.json#/$defs/TransmissionProjectsConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: transmission_projects: - :end-before: # docs - -.. _tyndp_investment_candidates_cf: - -``tyndp_investment_candidates`` -=============================== - -Defines which investment candidates to include in the network. Currently supports TYNDP 2024 investment candidates. This configuration applies to the TYNDP base networks and should not be used with ``transmission_projects`` enabled (see :ref:`transmission_projects_cf`). - -.. jsonschema:: ../config/schema.default.json#/$defs/TyndpInvestmentCandidatesConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: tyndp_investment_candidates: - :end-before: # docs - -.. _transformers_cf: - -``transformers`` -================ - -.. jsonschema:: ../config/schema.default.json#/$defs/TransformersConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: transformers: - :end-before: # docs - -.. _load_cf: - -``load`` -============= - -.. jsonschema:: ../config/schema.default.json#/$defs/LoadConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: load: - :end-before: # docs - -.. _energy_cf: - -``energy`` -======================= - -.. note:: - Only used for sector-coupling studies. - -.. jsonschema:: ../config/schema.default.json#/$defs/EnergyConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: energy: - :end-before: # docs - -.. _biomass_cf: - -``biomass`` -======================= - -.. note:: - Only used for sector-coupling studies. - -.. jsonschema:: ../config/schema.default.json#/$defs/BiomassConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: biomass: - :end-before: # docs - -The list of available biomass is given by the category in `ENSPRESO_BIOMASS `__, namely: - -- Agricultural waste -- Manure solid, liquid -- Residues from landscape care -- Bioethanol barley, wheat, grain maize, oats, other cereals and rye -- Sugar from sugar beet -- Miscanthus, switchgrass, RCG -- Willow -- Poplar -- Sunflower, soya seed -- Rape seed -- Fuelwood residues -- FuelwoodRW -- C&P_RW -- Secondary Forestry residues - woodchips -- Sawdust -- Municipal waste -- Sludge - -.. _solar_thermal_cf: - -``solar_thermal`` -======================= - -.. note:: - Only used for sector-coupling studies. - -.. jsonschema:: ../config/schema.default.json#/$defs/SolarThermalConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: solar_thermal: - :end-before: # docs - -.. _existing_capacities_cf: - -``existing_capacities`` -======================= - -.. note:: - Only used for sector-coupling studies. The value for grouping years are only used in myopic or perfect foresight scenarios. - -.. jsonschema:: ../config/schema.default.json#/$defs/ExistingCapacitiesConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: existing_capacities: - :end-before: # docs - -.. _sector_cf: - -``sector`` -======================= - -.. note:: - Only used for sector-coupling studies. - -.. dropdown:: Details - - .. jsonschema:: ../config/schema.default.json#/$defs/SectorConfig - :lift_description: - :hide_key: /**/additionalProperties - -.. dropdown:: YAML Syntax - - .. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: sector: - :end-before: # docs - -.. _industry_cf: - -``industry`` -======================= - -.. note:: - Only used for sector-coupling studies. - -.. jsonschema:: ../config/schema.default.json#/$defs/IndustryConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-after: # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#industry - :end-before: # docs - -.. _costs_cf: - -``costs`` -============= - -.. jsonschema:: ../config/schema.default.json#/$defs/CostsConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: costs: - :end-before: # docs - - -.. _clustering_cf: - -``clustering`` -============== - -.. jsonschema:: ../config/schema.default.json#/$defs/ClusteringConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: clustering: - :end-before: # docs - -.. tip:: - use ``min`` in ``p_nom_max:`` for more conservative assumptions. - -.. _adjustments_cf: - -``adjustments`` -=============== - -.. jsonschema:: ../config/schema.default.json#/$defs/AdjustmentsConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-after: # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#adjustments - :end-before: # docs - -.. _solving_cf: - -``solving`` -=========== - -.. jsonschema:: ../config/schema.default.json#/$defs/SolvingConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: solving: - :end-before: # docs - -.. _data_config_cf: - -``data_config`` -=============== - -Selects a pre-defined data configuration file to load. When set, the workflow looks for -``config/data.{data_config}.yaml`` and loads it as an additional configuration layer on top of -the defaults, before any user ``config/config.yaml`` overrides. - -This is the recommended way to switch between data source strategies. For example, to use -Open-TYNDP's own data archive on Google Cloud Storage (see :ref:`tyndp_archive`), run: - -.. code-block:: console - - pixi run tyndp-sb --config data_config=tyndp - -or set it permanently in ``config/config.tyndp.yaml`` (applied to all TYNDP runs): - -.. code-block:: yaml - - data_config: tyndp - - -This loads ``config/data.tyndp.yaml``, which sets all supported datasets to ``tyndp-archive`` -as their source. - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: data_config: - :end-before: # docs - -.. _data_cf: - -``data`` -======== - -Controls which versions of input data are used for building the model. -Versions that are available for each dataset can be found in `data/versions.csv`. -By default, we retrieve the `latest` supported version for each dataset from an archive source -(``data.pypsa.org``). -This means that when upgrading between Open-TYNDP versions, new versions of input data may also be downloaded and used. -To freeze a model to a specific version of input data, you can set a specific version in the `version` field for each dataset to one specific version as listed in `data/versions.csv`. - -Some datasets support `primary` or `build` as a source option, meaning that the data can be retrieved from the original -data source or build it from the latest available data. -Datasets that are mirrored to the Open-TYNDP data store on Google Cloud Storage also support ``tyndp-archive`` as a source -(see :ref:`tyndp_archive`). -See the `data/versions.csv` file for all available datasets and their sources/versions that are supported. - -.. dropdown:: Details - - .. jsonschema:: ../config/schema.default.json#/$defs/DataConfig - :lift_description: - :hide_key: /**/additionalProperties - -.. dropdown:: YAML Syntax - - .. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: data: - :end-before: # docs - -.. csv-table:: - :header-rows: 1 - :widths: 22,7,22,33 - :file: configtables/data.csv - -.. _overpass_api_cf: - -``overpass_api`` -================ - -.. jsonschema:: ../config/schema.default.json#/$defs/OverpassApiConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: overpass_api: - :end-before: # docs - -.. _secrets_cf: - -``secrets`` -=========== - -.. jsonschema:: ../config/schema.default.json#/$defs/SecretsConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: secrets: - -.. _plotting_cf: - -``plotting`` -============= - -.. literalinclude:: ../config/plotting.default.yaml - :language: yaml - :start-at: plotting: - -.. csv-table:: - :header-rows: 1 - :widths: 22,7,22,33 - :file: configtables/plotting.csv - -.. _benchmarking_cf: - -``benchmarking`` -================ - -.. jsonschema:: ../config/schema.json#/$defs/BenchmarkingConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/benchmarking.default.yaml - :language: yaml - :start-at: benchmarking: - -.. _cba_cf: - -``cba`` -======= - -Cost-Benefit Analysis (CBA) configuration for evaluating TYNDP transmission and -storage projects using TOOT (Take One Out at a Time) and PINT (Put In at a Time) -methodologies. - -.. jsonschema:: ../config/schema.json#/$defs/CbaConfig - :lift_description: - :hide_key: /**/additionalProperties - -**YAML Syntax** - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: cba: diff --git a/doc/contributing.md b/doc/contributing.md new file mode 100644 index 0000000000..ee2e87c34e --- /dev/null +++ b/doc/contributing.md @@ -0,0 +1,54 @@ + + + + +# Contributing + +We welcome anyone interested in contributing to this project, be it with new +ideas, suggestions, by filing bug reports or contributing code to our [GitHub +repository](https://github.com/open-energy-transition/open-tyndp) or to the [upstream main repository](https://github.com/pypsa/pypsa-eur). + +## Where to start + +* If you already have some code changes, you can submit them directly as a [pull request](https://github.com/open-energy-transition/open-tyndp/pulls). +* To **report bugs or request features**, please [open a new issue](https://github.com/open-energy-transition/open-tyndp/issues/new/choose). We provide issue templates to guide you: + + * Members of the community are welcome to use the simplified bug report and feature request templates designed for external contributors. + * You're also welcome to use the more detailed maintainer-oriented templates if you feel comfortable with the additional structure (which includes security review fields). + * The Open-TYNDP team will review new issues shortly after they are submitted. + +* If you are wondering where we would greatly appreciate your efforts, check out the `help wanted` tag in the [issues list](https://github.com/open-energy-transition/open-tyndp/issues) and initiate a discussion there. +* If you start working on a feature in the code, let us know by opening an issue or a draft pull request. + This helps all of us to keep an overview on what is being done and helps to avoid a situation where we + are doing the same work twice in parallel. + +## Setting up the development environment + +For linting, formatting and checking your code contributions +against our guidelines (e.g. we use [Black](https://github.com/psf/black) as code style +use [pre-commit](https://pre-commit.com/index.html): + +1. Install [pixi](https://pixi.sh/latest/). +1. Usage: + * To automatically activate `pre-commit` on every `git commit`: Run `pixi run -e dev pre-commit install` + * To manually run it: `pixi run -e dev pre-commit run --all` + +!!! note + Note that installing `pre-commit` locally is not strictly necessary. If you create a Pull Request the `pre-commit CI` will be triggered automatically and take care of the checks. + +For all code contributions we follow the four eyes principle (two person principle), i.e. all suggested code +including our own are reviewed by a second person before they are incorporated into our repository. + +If you are unfamiliar with pull requests, the GitHub help pages have a nice [guide](https://help.github.com/en/articles/about-pull-requests). + +To **discuss** with other PyPSA users, organise projects, share news, and get in touch with the community you can use the [Discord server](https://discord.gg/AnuJBk23FU). Open-TYNDP has its own dedicated channel [pypsa-open-tyndp](https://discord.com/channels/911692131440148490/1414977512089321564) for project-specific discussions. + +## Contributing to the documentation + +We strive to keep documentation useful and up to date for all PyPSA users. If you encounter an area where documentation is not available or insufficient, we very much welcome your contribution. Here is How To: + +1. Install [pixi](https://pixi.sh/latest/). +2. Make your changes in the corresponding `.md` file under `pypsa-eur/doc`. +3. Compile your changes by running `pixi run build-docs site` from the project root. + You can also preview live with `mkdocs serve`. HTML files to review can be found under `site/`. +4. Contribute your documentation in a pull request ([here is a guide](https://help.github.com/en/articles/about-pull-requests)). diff --git a/doc/contributing.rst b/doc/contributing.rst deleted file mode 100644 index 4bee50cf69..0000000000 --- a/doc/contributing.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -####################### -Contributing -####################### - -We welcome anyone interested in contributing to this project, be it with new -ideas, suggestions, by filing bug reports or contributing code to our `GitHub -repository `_ or to the `upstream main repository `_. - -.. toctree:: - :maxdepth: 1 - - validation_dev - -Where to start -================ - -* If you already have some code changes, you can submit them directly as a `pull request `_. -* To **report bugs or request features**, please `open a new issue `_. We provide issue templates to guide you: - - * Members of the community are welcome to use the simplified bug report and feature request templates designed for external contributors. - * You're also welcome to use the more detailed maintainer-oriented templates if you feel comfortable with the additional structure (which includes security review fields). - * The Open-TYNDP team will review new issues shortly after they are submitted. - -* If you are wondering where we would greatly appreciate your efforts, check out the ``help wanted`` tag in the `issues list `_ and initiate a discussion there. -* If you start working on a feature in the code, let us know by opening an issue or a draft pull request. - This helps all of us to keep an overview on what is being done and helps to avoid a situation where we - are doing the same work twice in parallel. - -Setting up the development environment -======================================== - -For linting, formatting and checking your code contributions -against our guidelines (e.g. we use `Black `_ as code style -use `pre-commit `_: - -1. Install [pixi](https://pixi.sh/latest/). -1. Usage: - * To automatically activate ``pre-commit`` on every ``git commit``: Run ``pre-commit install`` - * To manually run it: ``pre-commit run --all`` - -.. note:: - Note that installing ``pre-commit`` locally is not strictly necessary. If you create a Pull Request the ``pre-commit CI`` will be triggered automatically and take care of the checks. - -For all code contributions we follow the four eyes principle (two person principle), i.e. all suggested code -including our own are reviewed by a second person before they are incorporated into our repository. - -If you are unfamiliar with pull requests, the GitHub help pages have a nice `guide `_. - -To **discuss** with other PyPSA users, organise projects, share news, and get in touch with the community you can use the `Discord server `_. Open-TYNDP has its own dedicated channel `pypsa-open-tyndp `_ for project-specific discussions. - -Contributing to the documentation -==================================== - -We strive to keep documentation useful and up to date for all PyPSA users. If you encounter an area where documentation is not available or insufficient, we very much welcome your contribution. Here is How To: - -#. Install [pixi](https://pixi.sh/latest/). -#. Make your changes in the corresponding .rst file under ``pypsa-eur/doc``. -#. Compile your changes by running the following command in your terminal in the ``doc`` folder: ``pixi run build-docs doc/_build html`` - You may encounter some warnings, but end up with a message such as ``build succeeded, XX warnings.``. html files to review your changes can then be found under ``doc/_build/html``. -#. Contribute your documentation in a pull request (`here is a guide `_). diff --git a/doc/contributors.md b/doc/contributors.md new file mode 100644 index 0000000000..8a5f630021 --- /dev/null +++ b/doc/contributors.md @@ -0,0 +1,22 @@ + + + +# Contributors + +The following people have [contributed](https://github.com/open-energy-transition/Open-TYNDP/graphs/contributors) significantly +towards the development of Open-TYNDP: + +* 2024-2026 Thomas Gilon (OET) +* 2024-2026 Daniel Rüdt (OET) +* 2024-2026 Jonas Hörsch (OET) +* 2024-2026 Martha Frysztacki (OET) +* 2024-2026 Max Parzen (OET) +* 2025-2026 Lisa Zeyen (OET) +* 2025-2026 Carlos Gaete (OET) +* 2025-2026 Will Usher (OET) +* 2026 Markus Groissböck (OET) +* 2026 Andreas Hernandez Denyer (OET) + +For licensing purposes, this team is referred to as *Contributors to Open-TYNDP* (see [licenses](licenses.md)). + +This project builds upon the work of other communities, especially PyPSA-Eur and PyPSA communities. For the list of contributors, see the following links: [PyPSA-Eur](https://github.com/PyPSA/PyPSA-Eur/graphs/contributors) and [PyPSA](https://pypsa.readthedocs.io/en/stable/references/developers.html). diff --git a/doc/contributors.rst b/doc/contributors.rst deleted file mode 100644 index ce7847524e..0000000000 --- a/doc/contributors.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -#################### -Contributors -#################### - - -The following people have `contributed -`_ significantly -towards the development of Open-TYNDP: - -* 2024-2026 Thomas Gilon (OET) -* 2024-2026 Daniel Rüdt (OET) -* 2024-2026 Jonas Hörsch (OET) -* 2024-2026 Martha Frysztacki (OET) -* 2024-2026 Max Parzen (OET) -* 2025-2026 Lisa Zeyen (OET) -* 2025-2026 Carlos Gaete (OET) -* 2025-2026 Will Usher (OET) -* 2026 Markus Groissböck (OET) -* 2026 Andreas Hernandez Denyer (OET) - -For licensing purposes, this team is referred to as *Contributors to Open-TYNDP* (see :doc:`licenses`). - -This project builds upon the work of other communities, especially PyPSA-Eur and PyPSA communities. For the list of contributors, see the following links: `PyPSA-Eur `__ and `PyPSA `__. \ No newline at end of file diff --git a/doc/costs.md b/doc/costs.md new file mode 100644 index 0000000000..4c2b12a970 --- /dev/null +++ b/doc/costs.md @@ -0,0 +1,43 @@ + + + +# Techno-Economic Assumptions + +The database of cost assumptions is retrieved from the repository +[PyPSA/technology-data](https://github.com/pypsa/technology-data) and then +saved to a file `data/costs/*/costs_{year}.csv`. The `config/config.yaml` provides options +to choose a reference year. To select a specific version of the cost assumptions, see [Managing Data Versions](data_sources.md#managing_data_versions). + +```yaml +{{ yaml_section("costs.year") }} +``` + +The file includes cost assumptions for all included technologies for specific +years compiled from various sources, namely for + +- discount rate, +- lifetime, +- investment (CAPEX), +- fixed operation and maintenance (FOM), +- variable operation and maintenance (VOM), +- fuel costs, +- efficiency, and +- carbon-dioxide intensity. + +Many values are taken from a database published by the Danish Energy Agency ([DEA](https://ens.dk/en/our-services/projections-and-models/technology-data)). + +The given overnight capital costs are annualised to net present costs +with a discount rate of $r$ over the economic lifetime $n$ using the annuity factor + +$$ +a = \frac{1-(1+r)^{-n}}{r}. +$$ + +Based on the parameters above the `marginal_cost` and `capital_cost` of the +system components are automatically calculated. + +## Modifying Assumptions + +Some cost assumptions (e.g. marginal cost and capital cost) can be directly +set in the `config/config.yaml` (cf. Section [costs](configuration.md#costs_cf) in +[Configuration](configuration.md#config)). diff --git a/doc/costs.rst b/doc/costs.rst deleted file mode 100644 index c32c72178c..0000000000 --- a/doc/costs.rst +++ /dev/null @@ -1,51 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -############################ -Techno-Economic Assumptions -############################ - -The database of cost assumptions is retrieved from the repository -`PyPSA/technology-data `__ and then -saved to a file ``data/costs/*/costs_{year}.csv``. The ``config/config.yaml`` provides options -to choose a reference year. To select a specific version of the cost assumptions, see :ref:`managing_data_versions`. - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :start-at: costs: - :end-at: year: - -The file includes cost assumptions for all included technologies for specific -years compiled from various sources, namely for - -- discount rate, -- lifetime, -- investment (CAPEX), -- fixed operation and maintenance (FOM), -- variable operation and maintenance (VOM), -- fuel costs, -- efficiency, and -- carbon-dioxide intensity. - -Many values are taken from a database published by the Danish Energy Agency (`DEA -`__). - - -The given overnight capital costs are annualised to net present costs -with a discount rate of :math:`r` over the economic lifetime :math:`n` using the annuity factor - -.. math:: - - a = \frac{1-(1+r)^{-n}}{r}. - -Based on the parameters above the ``marginal_cost`` and ``capital_cost`` of the -system components are automatically calculated. - - -Modifying Assumptions -===================== - -Some cost assumptions (e.g. marginal cost and capital cost) can be directly -set in the ``config/config.yaml`` (cf. Section :ref:`costs_cf` in -:ref:`config`). \ No newline at end of file diff --git a/doc/data-base-network.rst b/doc/data-base-network.md similarity index 74% rename from doc/data-base-network.rst rename to doc/data-base-network.md index 2ba6c70907..a3f03f3089 100644 --- a/doc/data-base-network.rst +++ b/doc/data-base-network.md @@ -1,36 +1,31 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 + + -############# -Base network -############# +# Base network -.. raw:: html + - +The map might take a moment to load. To view it in full screen, click here. -The map might take a moment to load. To view it in full screen, click `here `__. - -``data/osm/0.6/`` +`data/osm/0.6/` - **Source:** OpenStreetMap; Xiong, B., Fioriti, D., Neumann, F., Riepin I. & Brown, T. (2024). Prebuilt Electricity Network for PyPSA-Eur based on OpenStreetMap Data (0.6) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.14144752 - **Link:** https://zenodo.org/records/14144752 -- **License:** ODbL (`reference `) +- **License:** ODbL ([reference](https://zenodo.org/records/14144752)) - **Description:** Pre-built data of high-voltage transmission grid in Europe from OpenStreetMap. This dataset contains a topologically connected representation of the European high-voltage grid (220 kV to 750 kV) constructed using OpenStreetMap data. Input data -was retrieved using the `Overpass turbo API `__. A heurisitic +was retrieved using the [Overpass turbo API](https://overpass-turbo.eu/). A heurisitic cleaning process was used to for lines and links where electrical parameters are incomplete, missing, or ambiguous. Close substations within a radius of 500 m are aggregated to single buses, exact locations of underlying substations is preserved. Unique identifiers for lines and links are preserved. A detailed explanation on the background, methodology, and validation of this dataset -can be found in `this paper `__ preprint +can be found in [this paper](https://doi.org/10.48550/arXiv.2408.17178) preprint currently under peer-review. Countries included in the dataset: diff --git a/doc/data-cutouts.md b/doc/data-cutouts.md new file mode 100644 index 0000000000..af7225d696 --- /dev/null +++ b/doc/data-cutouts.md @@ -0,0 +1,57 @@ + + + +# Weather Data {#cutouts} + +Cutouts are spatio-temporal subsets of the European weather data from the [ECMWF ERA5](https://software.ecmwf.int/wiki/display/CKB/ERA5+data+documentation) reanalysis dataset and the [CMSAF SARAH-3](https://wui.cmsaf.eu/safira/action/viewDoiDetails?acronym=SARAH_V002) solar surface radiation dataset. +They have been prepared by and are for use with the [atlite](https://github.com/PyPSA/atlite) tool. +The [tutorial](tutorial.md) uses a smaller cutout than required for the full model (30 MB), which is also automatically downloaded. + +There are two ways to obtain cutouts: + +- **Retrieve pre-built cutouts** from the archive using the `retrieve_cutout` rule (default). This downloads ready-made cutouts from `data.pypsa.org`. +- **Build cutouts from scratch** using the `build_cutout` rule. This requires access to the [CDS API](https://cds.climate.copernicus.eu/api-how-to) to download ERA5 data directly. + +!!! info "See also" + For building your own cutouts, see [build_cutout][] and the [atlite documentation](https://atlite.readthedocs.io). + +The following pre-built cutouts are available for download under +`https://data.pypsa.org/workflows/cutout//.nc` +(click on a cutout name below to download directly). + +**v1.0** + +| Cutout | Size | +|--------|------| +| [be-03-2013-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/be-03-2013-era5.nc) | 11.1 MB | +| [dach-03-2013-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/dach-03-2013-sarah3-era5.nc) | 35.1 MB | +| [europe-1995-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-1995-sarah3-era5.nc) | 6.2 GB | +| [europe-1996-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-1996-sarah3-era5.nc) | 6.5 GB | +| [europe-2008-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2008-sarah3-era5.nc) | 6.2 GB | +| [europe-2009-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2009-sarah3-era5.nc) | 6.2 GB | +| [europe-2010-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2010-sarah3-era5.nc) | 6.1 GB | +| [europe-2012-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2012-sarah3-era5.nc) | 6.6 GB | +| [europe-2013-03-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2013-03-sarah3-era5.nc) | 140.5 MB | +| [europe-2013-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2013-sarah3-era5.nc) | 6.1 GB | +| [europe-2019-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2019-sarah3-era5.nc) | 6.1 GB | +| [europe-2020-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2020-sarah3-era5.nc) | 6.6 GB | +| [europe-2021-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2021-sarah3-era5.nc) | 6.1 GB | +| [europe-2023-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2023-sarah3-era5.nc) | 6.1 GB | +| [europe-2024-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2024-sarah3-era5.nc) | 6.7 GB | +| [europe-2025-sarah3-era5.nc](https://data.pypsa.org/workflows/cutout/v1.0/europe-2025-sarah3-era5.nc) | 6.7 GB | + +**Relevant Settings** + +```yaml +atlite: + default_cutout: + cutouts: +``` + +!!! info "See also" + Documentation of the configuration file `config/config.yaml` at + [atlite](configuration.md#atlite_cf) and [data](configuration.md#data_cf). + +**Outputs** + +- `cutouts/{cutout}`: weather data from either the [ERA5](https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era5) reanalysis weather dataset and/or [SARAH-3](https://wui.cmsaf.eu/safira/action/viewProduktSearch) satellite-based historic weather data. diff --git a/doc/data-cutouts.rst b/doc/data-cutouts.rst deleted file mode 100644 index a6e2a9eff7..0000000000 --- a/doc/data-cutouts.rst +++ /dev/null @@ -1,87 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _cutouts: - -############ -Weather Data -############ - -Cutouts are spatio-temporal subsets of the European weather data from the `ECMWF ERA5 `__ reanalysis dataset and the `CMSAF SARAH-3 `__ solar surface radiation dataset. -They have been prepared by and are for use with the `atlite `__ tool. -The :ref:`tutorial` uses a smaller cutout than required for the full model (30 MB), which is also automatically downloaded. - -There are two ways to obtain cutouts: - -- **Retrieve pre-built cutouts** from the archive using the ``retrieve_cutout`` rule (default). This downloads ready-made cutouts from ``data.pypsa.org``. -- **Build cutouts from scratch** using the ``build_cutout`` rule. This requires access to the `CDS API `__ to download ERA5 data directly. - -.. seealso:: - For building your own cutouts, see :mod:`build_cutout` and the `atlite documentation `__. - -The following pre-built cutouts are available for download under -``https://data.pypsa.org/workflows/cutout//.nc`` -(click on a cutout name below to download directly). - -.. _available-cutouts-start: - -**v1.0** - -.. list-table:: - :header-rows: 1 - :widths: 70 30 - - * - Cutout - - Size - * - `be-03-2013-era5.nc `__ - - 11.1 MB - * - `dach-03-2013-sarah3-era5.nc `__ - - 35.1 MB - * - `europe-1995-sarah3-era5.nc `__ - - 6.2 GB - * - `europe-1996-sarah3-era5.nc `__ - - 6.5 GB - * - `europe-2008-sarah3-era5.nc `__ - - 6.2 GB - * - `europe-2009-sarah3-era5.nc `__ - - 6.2 GB - * - `europe-2010-sarah3-era5.nc `__ - - 6.1 GB - * - `europe-2012-sarah3-era5.nc `__ - - 6.6 GB - * - `europe-2013-03-sarah3-era5.nc `__ - - 140.5 MB - * - `europe-2013-sarah3-era5.nc `__ - - 6.1 GB - * - `europe-2019-sarah3-era5.nc `__ - - 6.1 GB - * - `europe-2020-sarah3-era5.nc `__ - - 6.6 GB - * - `europe-2021-sarah3-era5.nc `__ - - 6.1 GB - * - `europe-2023-sarah3-era5.nc `__ - - 6.1 GB - * - `europe-2024-sarah3-era5.nc `__ - - 6.7 GB - * - `europe-2025-sarah3-era5.nc `__ - - 6.7 GB -.. _available-cutouts-end: - -**Relevant Settings** - -.. code:: yaml - - atlite: - default_cutout: - cutouts: - -.. seealso:: - Documentation of the configuration file ``config/config.yaml`` at - :ref:`atlite_cf` and :ref:`data_cf`. - -**Outputs** - -- ``cutouts/{cutout}``: weather data from either the `ERA5 `__ reanalysis weather dataset and/or `SARAH-3 `__ satellite-based historic weather data. - - diff --git a/doc/data-repos.rst b/doc/data-repos.md similarity index 68% rename from doc/data-repos.rst rename to doc/data-repos.md index c695154414..8f9c876331 100644 --- a/doc/data-repos.rst +++ b/doc/data-repos.md @@ -1,42 +1,39 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 + + -########### -Repository -########### +# Repository -Data in this section is included in the PyPSA-Eur repository in the ``data`` folder. +Data in this section is included in the PyPSA-Eur repository in the `data` folder. While most external data is stored outside of the repository, this data is inside the repository either for simplicity or historic reasons. New data should generally not be added to the data, but externally retrieved in a versioned manner. -``data/entsoegridkit`` +`data/entsoegridkit` - **Source:** ENTSO-E - **Link:** https://www.entsoe.eu/data/map/, extracted with https://github.com/PyPSA/GridKit/tree/master/entsoe - **License:** unknown - **Description:** Data of high-voltage transmission grid in Europe from ENTSO-E. -``data/existing_infrastructure`` +`data/existing_infrastructure` - **Source:** European Commission DG ENER; Mapping and analyses of the current and future (2020 - 2030) heating/cooling fuel deployment - **Link:** https://energy.ec.europa.eu/publications/mapping-and-analyses-current-and-future-2020-2030-heatingcooling-fuel-deployment-fossilrenewables-1_en -- **License:** CC-BY 4.0 (`reference `__) +- **License:** CC-BY 4.0 ([reference](https://commission.europa.eu/legal-notice_en)) - **Description:** Contains country-level data on existing heating infrastructure, i.e. gas, oil, coal, biomass boilers, resistive heaters, air- and ground-sourced heat pumps. -``data/retro/comparative_level_investment.csv`` +`data/retro/comparative_level_investment.csv` - **Source:** Eurostat - **Link:** https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Comparative_price_levels_for_investment -- **License:** `custom `__ +- **License:** [custom](https://ec.europa.eu/eurostat/about-us/policies/copyright) - **Description:** Contains data on comparative price levels for investment in Europe. -``data/retro/data_building_stock.csv`` +`data/retro/data_building_stock.csv` - **Source:** Simon Pezzutto, Stefano Zambotti, Silvia Croce, Pietro Zambelli, - Giulia Garegnani, Chiara Scaramuzzino, Ramón Pascual Pascuas, Alyona - Zubaryeva, Franziska Haas, Dagmar Exner (EURAC), Andreas Müller (e-think), - Michael Hartner (TUW), Tobias Fleiter, Anna-Lena Klingler, Matthias Kühnbach, + Giulia Garegnani, Chiara Scaramuzzino, Ramon Pascual Pascuas, Alyona + Zubaryeva, Franziska Haas, Dagmar Exner (EURAC), Andreas Mueller (e-think), + Michael Hartner (TUW), Tobias Fleiter, Anna-Lena Klingler, Matthias Kuehnbach, Pia Manz, Simon Marwitz, Matthias Rehfeldt, Jan Steinbach, Eftim Popovski (Fraunhofer ISI) Reviewed by Lukas Kranzl, Sara Fritz (TUW) Hotmaps Project, D2.3 WP2 Report - Open Data Set for the EU28, 2018 www.hotmaps-project.eu @@ -44,24 +41,24 @@ New data should generally not be added to the data, but externally retrieved in - **License:** CC-BY 4.0 - **Description:** Contains data on European building stock. -``data/retro/electricity_taxes_eu.csv`` +`data/retro/electricity_taxes_eu.csv` - **Source:** Eurostat - **Link:** https://ec.europa.eu/eurostat/databrowser/view/NRG_PC_204/default/table?lang=en -- **License:** `custom `__ +- **License:** [custom](https://ec.europa.eu/eurostat/about-us/policies/copyright) - **Description:** Electricity prices for household consumers. -``data/retro/floor_area_missing.csv`` and ``data/retro/u_values_poland.csv`` +`data/retro/floor_area_missing.csv` and `data/retro/u_values_poland.csv` - **Source:** EU Building Stock Observatory - **Link:** https://data.europa.eu/euodp/de/data/dataset/building-stock-observatory -- **License:** `custom `__ +- **License:** [custom](https://data.europa.eu/data/datasets/building-stock-observatory?locale=en) - **Description:** The EU Building Stock Observatory monitors the energy performance of buildings across Europe. It assesses improvements in the energy efficiency of buildings and the impact of this on the actual energy consumption of the buildings sector overall. -``data/retro/retro_cost_germany.csv`` +`data/retro/retro_cost_germany.csv` - **Source:** Institut Wohnen und Umwelt (IWU) - **Link:** https://www.iwu.de/forschung/handlungslogiken/kosten-energierelevanter-bau-und-anlagenteile-bei-modernisierung/ @@ -69,7 +66,7 @@ New data should generally not be added to the data, but externally retrieved in - **Description:** Contains thermal envelop costs for retrofitting buildings in Germany. -``data/retro/window_assumptions.csv`` +`data/retro/window_assumptions.csv` - **Source:** ifeu, Fraunhofer IEE and Consentec (2018): Building sector Efficiency: A crucial Component of the Energy Transition. A study commissioned @@ -78,56 +75,56 @@ New data should generally not be added to the data, but externally retrieved in - **License:** unknown - **Description:** Contains data on physical parameters of double- and triple-glazed windows. -``data/transmission_projects/nep`` +`data/transmission_projects/nep` - **Source:** German Federal Network Agency (Bundesnetzagentur, BNetzA) - **Link:** https://data.netzausbau.de/2037-2023/NEP/NEP_2037_2045_Bestaetigung.pdf - **License:** unknown - **Description:** Contains transmission projects in Europe from German network development plan (Netzentwicklungsplan). -``data/transmission_projects/tyndp2020`` +`data/transmission_projects/tyndp2020` - **Source:** ENTSO-E - **Link:** https://tyndp2020-project-platform.azurewebsites.net/projectsheets - **License:** unknown - **Description:** Contains transmission projects in Europe from ENTSO-E Ten Year Network Development Plan (TYNDP). -``data/ammonia_plants.csv`` +`data/ammonia_plants.csv` - **Source:** manually collected, mostly from ICIS - **Link:** https://www.icis.com/explore/resources/news/2023/01/18/10846094/insight-poor-demand-high-costs-stifle-europe-industry-despite-falling-gas-prices/ - **License:** CC-BY 4.0 (for compiled dataset) - **Description:** Locations and production capacities of ammonia plants in Europe. -``data/cement_plants-noneu.csv`` +`data/cement_plants-noneu.csv` - **Source:** manually collected, mostly from USGS - **Link:** https://www.usgs.gov/centers/national-minerals-information-center/international-minerals-statistics-and-information -- **License:** CC0 (`reference `__) +- **License:** CC0 ([reference](https://www.usgs.gov/information-policies-and-instructions/copyrights-and-credits)) - **Description:** Contains energy balances for Europe. -``data/ch_cantons.csv`` +`data/ch_cantons.csv` - **Source:** Wikipedia - **Link:** https://en.wikipedia.org/wiki/Data_codes_for_Switzerland - **License:** CC-BY-SA 4.0 - **Description:** Contains NUTS codes for regions in Switzerland. -``data/ch_industrial_production_per_subsector.csv`` +`data/ch_industrial_production_per_subsector.csv` - **Source:** Swiss Federal Office of Energy (SFOE) - **Link:** https://pubdb.bfe.admin.ch/de/publication/download/11817 -- **License:** `custom `__ +- **License:** [custom](https://www.admin.ch/gov/de/start/rechtliches.html) - **Description:** Contains energy consumption in industry and the service sector in Switzerland. -``data/district_heat_share.csv`` +`data/district_heat_share.csv` - **Source:** Euroheat & Power - **Link:** https://www.euroheat.org/knowledge-hub/country-profiles - **License:** unknown - **Description:** Contains district heating shares for European countries. -``data/egs_costs.json`` +`data/egs_costs.json` - **Source:** Arman Aghahosseini, Christian Breyer, From hot rock to useful energy: A global estimate of enhanced geothermal systems potential, Applied @@ -136,69 +133,64 @@ New data should generally not be added to the data, but externally retrieved in - **License:** unknown - **Description:** Contains rastered potentials and capital costs for enhanced geothermal electricity generation in Europe. -``data/eia_hydro_annual_capacity.csv`` +`data/eia_hydro_annual_capacity.csv` - **Source:** Energy Information Agency (EIA) - **Link:** https://www.eia.gov/international/data/world/electricity/electricity-generation -- **License:** CC0 (`reference `__) +- **License:** CC0 ([reference](https://www.eia.gov/about/copyrights_reuse.php)) - **Description:** Contains country-level hydro-electric capacity for Europe by year. -``data/eia_hydro_annual_generation.csv`` +`data/eia_hydro_annual_generation.csv` - **Source:** Energy Information Agency (EIA) - **Link:** https://www.eia.gov/international/data/world/electricity/electricity-generation -- **License:** CC0 (`reference `__) +- **License:** CC0 ([reference](https://www.eia.gov/about/copyrights_reuse.php)) - **Description:** Contains country-level hydro-electric generato for Europe by year. -``data/heat_load_profile_BDEW.csv`` +`data/heat_load_profile_BDEW.csv` - **Source:** oemof/demandlib - **Link:** https://github.com/oemof/demandlib - **License:** unknown - **Description:** Contains standard heat load profiles based on data from BDEW (German Association of Energy and Water Industries). -``data/hydro_capacities.csv`` +`data/hydro_capacities.csv` -.. warning:: - The provenance of the data is unclear. We will improve this in the future. +!!! warning + The provenance of the data is unclear. We will improve this in the future. -``data/links_p_nom.csv`` +`data/links_p_nom.csv` - **Source:** Wikipedia - **Link:** https://en.wikipedia.org/wiki/List_of_HVDC_projects - **License:** CC-BY-SA 4.0 - **Description:** Contains list of HVDC transmission line projects. -``data/nuclear_p_max_pu.csv`` +`data/nuclear_p_max_pu.csv` - **Source:** International Atomic Energy Agency (IAEA) - **Link:** https://pris.iaea.org/PRIS/WorldStatistics/ThreeYrsEnergyAvailabilityFactor.aspx -- **License:** `custom `__ +- **License:** [custom](https://www.iaea.org/about/terms-of-use) - **Description:** Country-level nuclear power plant availability factors. -``data/refineries-noneu.csv`` +`data/refineries-noneu.csv` - **Source:** manually collected, mostly from Energy Information Agency (EIA) - **Link:** https://www.eia.gov/petroleum/refinerycapacity/table3.pdf -- **License:** CC0 (`reference `__) +- **License:** CC0 ([reference](https://www.eia.gov/about/copyrights_reuse.php)) - **Description:** Contains locations and capacities of oil refineries in Europe. -``data/unit_commitment.csv`` +`data/unit_commitment.csv` -- **Source:** `DIW - `__, - `Agora Energiewende - `__, - `Schill et al. (2017) - `__, - `Martin (2022) `__ -- **Link:** https://github.com/lisazeyen/hourly_vs_annually/blob/b67ca9222711372d8ab6cd58f9ebe7bc637939bf/scripts/solve_network.py#L554 +- **Source:** [DIW](https://www.diw.de/documents/publikationen/73/diw_01.c.524200.de/dp1540.pdf), + [IRENA](https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Sep/IRENA_Flexibility_in_CPPs_2019.pdf?la=en&hash=AF60106EA083E492638D8FA9ADF7FD099259F5A1), + [Agora Energiewende](https://www.agora-energiewende.de/fileadmin/Projekte/2017/Flexibility_in_thermal_plants/115_flexibility-report-WEB.pdf). - **License:** CC-BY 4.0 -- **Description:** Contains energy balances for Europe. +- **Description:** Contains unit commitment parameters for thermal power plants. -``data/biomass_transport_costs_supply_chain{1,2}.csv`` +`data/biomass_transport_costs_supply_chain{1,2}.csv` - **Source:** European Commission Joint Research Centre (JRC) - **Link:** https://publications.jrc.ec.europa.eu/repository/handle/JRC98626 -- **License:** CC-BY 4.0 (`reference `__) -- **Description:** Contains transport costs for different types of biomass. \ No newline at end of file +- **License:** CC-BY 4.0 ([reference](https://commission.europa.eu/legal-notice_en#copyright-notice)) +- **Description:** Contains transport costs for different types of biomass. diff --git a/doc/data_inventory.csv b/doc/data_inventory.csv index 241f3ff429..5f8ecf4567 100644 --- a/doc/data_inventory.csv +++ b/doc/data_inventory.csv @@ -1,60 +1,63 @@ "Short name","Long name","Description","Owner","Link to website","License" -"enspreso_biomass",ENSPRESO biomass potentials for Europe,"This collection contains datasets from ENSPRESO2, an EU-28 wide, open dataset on renewable energy potentials, at national (NUTS0), regional and high-resolution (1 x 1 km and 5 x 5 km) levels for the 2010-2050 period. Within ENSPRESO, ENergy Systems Potential Renewable Energy SOurces, and the ENSPRESO2 updates, technical potentials are provided for wind, solar and biomass, based on coherent GIS-based land-restriction scenarios. [...] For biomass, agriculture, forestry and waste sectors are considered. The temporal resolution for wind and solar is both annual.","European Commission Joint Research Centre","https://data.jrc.ec.europa.eu/dataset/74ed5a04-7d74-4807-9eab-b94774309d9f","CC-BY-4.0" -"osm","Open Street Map electricity transmission grid","Transmission grid topology and infrastructure on substations, lines and cables from Open Street Map (OSM). The dataset is built from OSM data and is not versioned. The latest dataset can be built using the scripts in the repository.","Open Street Map contributors","https://www.openstreetmap.org/ and https://doi.org/10.5281/zenodo.12799201","ODbL-1.0" -"worldbank_urban_population","Urban population (% of total population)","Percentage of Urban population by country, United Nations Population Division. World Urbanization Prospects: 2018 Revision.","World Bank","https://data.worldbank.org/indicator/SP.URB.TOTL.IN.ZS","CC-BY-4.0" -"worldbank_commodity_prices","World Bank Commodity Prices","Monthly commodity price data for a range of commodities including fossil fuels","World Bank","https://thedocs.worldbank.org/en/doc/18675f1d1639c7a34d463f59263ba0a2-0050012025/related/CMO-Historical-Data-Monthly.xlsx","CC-BY-4.0" -"hotmaps_industrial_sites","Hotmaps industrial sites","In this repository are over 5000 georeferenced industrial sites of energy-intensive industry sectors published, together with GHG-emissions, production capacity, fuel demand and excess heat potentials calculated from emission and production data.","","https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database/","CC-BY-4.0" -"instrat_co2_prices","CO2 Emission Allowance Prices","CO2 emission allowance prices from the EU Emissions Trading System (ETS), retrieved from the Instrat energy price API.","Instrat","https://energy.instrat.pl/","unknown" -"co2stop","CO2 Storage Potentials","An assessment of the CO2 storage potential in Europe, including storage units, traps, and maps.","European Commission Joint Research Centre","https://setis.ec.europa.eu/european-co2-storage-database_en","Reuse policy following 2011/833/EU" -"nitrogen_statistics","Nitrogen Statistics and Information","Statistics and information on the worldwide supply of, demand for, and flow of the mineral commodity nitrogen.","United States Geological Survey (USGS)","https://www.usgs.gov/centers/nmic/nitrogen-statistics-and-information","Public Domain" -"eu_nuts2013","Nomenclature of Territorial Units for Statistics (NUTS) 2013 - shapefiles","Shapefiles of EU's Nomenclature of Territorial Units for Statistics (NUTS) 2013, which is a hierarchical system for dividing up the economic territory of the European Union.","eurostat","https://ec.europa.eu/eurostat/web/nuts/overview","Reuse policy following 2011/833/EU" -"eu_nuts2021","Nomenclature of Territorial Units for Statistics (NUTS) 2021 - shapefiles","Shapefiles of EU's Nomenclature of Territorial Units for Statistics (NUTS) 2021, which is a hierarchical system for dividing up the economic territory of the European Union.","eurostat","https://ec.europa.eu/eurostat/web/nuts/overview","Reuse policy following 2011/833/EU" -"eurostat_balances","Energy Balances","European energy balances by country and fuel, as reported by Eurostat.","eurostat","https://ec.europa.eu/eurostat/data/database","CC-BY-4.0" -"eurostat_household_balances","Eurostat Household Energy Balances","Disaggregated final energy consumption in household - quantities (nrg_d_hhq)","eurostat","https://ec.europa.eu/eurostat/databrowser/product/page/NRG_D_HHQ","CC-BY-4.0" -"luisa_land_cover","The LUISA base map 2018","The LUISA Base Map 2018 is a high-resolution land use/land cover map developed and produced by the Joint Research Centre of the European Commission","European Commission Joint Research Centre","https://data.jrc.ec.europa.eu/dataset/51858b51-8f27-4006-bf82-53eba35a142c","CC-BY-4.0" -"jrc_idees","JRC-IDEES-2023","The JRC-IDEES-2023 release contains a consistent set of disaggregated energy-economy-emissions data for each Member State of the European Union, covering all sectors of the energy system for the 2000-2021 period: industry, buildings, transport, and power generation.", "European Commission Joint Research Centre", "https://data.jrc.ec.europa.eu/dataset/82322924-506a-4c9a-8532-2bdd30d69bf5", "CC-BY-4.0" -"scigrid_gas","","Scientific Grid Model of European Gas Transmission Networks,Gas transmission data model","DLR Institute for Networked Energy Systems","https://web.archive.org/web/20241112092853/https://www.gas.scigrid.de/", "CC-BY-4.0" -"synthetic_electricity_demand","","Interannual Electricity Demand Calculator,generates country-level electricity consumption time series based on weather data and correlates historical electricity demand to temperature","","https://zenodo.org/records/10820928", "CC-BY-4.0" -"opsd_electricity_demand","Open Power System Data - Electricity Demand","Time series data of electricity consumption at country-level for various European countries.","Open Power System Data","https://data.open-power-system-data.org/time_series/","unknown" -"entsoe_electricity_demand","ENTSO-E Transparency Platform - Electricity Demand","Time series data of electricity consumption at country-level for various European countries.","ENTSO-E","https://transparency.entsoe.eu/load/total/dayAhead","unknown" -"neso_electricity_demand","NESO Electricity Demand Data","Time series data of electricity consumption for Great Britain.","National Energy System Operator (NESO)","https://www.neso.energy/data-portal/historic-demand-data","`NESO Open Data License v1.0 `__" -"copernicus_land_cover","Copernicus Global Land Service", "Land cover and land use inventory of European continent","Copernicus","https://land.copernicus.eu/en/products/global-dynamic-land-cover", "CC-BY-4.0" -"ship_raster","Global Shipping Traffic Density","To build ship density raster and use it further to compute availability matrix for renewables","Worldbank","https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density", "CC-BY-4.0" -"eez","Maritime Boundaries World EEZ","To estimate potentials for offshore wind in country's EEZ","Marine Regions","https://www.marineregions.org/downloads.php", "CC-BY-4.0" -"nuts3_population","Population by NUTS3 region","Average annual population to calculate regional GDP data (thousand persons) by NUTS 3 region (nama_10r_3popgdp)","Eurostat","https://ec.europa.eu/eurostat/databrowser/bulk?lang=en&searchFilter=nama_10r_3pop", "CC-BY-4.0" -"gdp_per_capita","Gridded global datasets for Gross Domestic Product over 1990–2015","Gross Domestic Product per capita (PPP)","Kummu, M et al.","https://www.nature.com/articles/sdata20184","CC-BY-4.0" -"population_count","World - Population Counts","Spatial distribution of population","WorldPop","https://data.humdata.org/dataset/worldpop-population-counts-for-world https://hub.worldpop.org/doi/10.5258/SOTON/WP00647","CC-BY-4.0" -"ghg_emissions","Total GHG emissions and removals in the EU","National emissions reported to the UNFCCC and to the EU under the Governance Regulation","European Environment Agency","https://www.eea.europa.eu/en/datahub/datahubitem-view/3b7fe76c-524a-439a-bfd2-a6e4046302a2?activeAccordion=1095700%2C1095998%2C1085929%2C1084352%2C1084914","CC-BY-4.0" -"gebco","General Bathymetric Chart of the Oceans","Gridded Bathymetric data for ocean and land, providing elevation data in meters, on a 15 arc-second interval grid.","GEBCO Comilation Group","https://www.gebco.net/data-products/gridded-bathymetry-data","Public domain" -"attributed_ports","Global - International Ports","International ports with attributes describing name, port functions, total capacity and location","World bank Group","https://datacatalog.worldbank.org/search/dataset/0038118/Global---International-Ports", "CC-BY-4.0" -"corine","CORINE Land Cover 2012","Pan European Land cover for 44 thematic classes with 2012 as reference year","Copernicus","https://land.copernicus.eu/en/products/corine-land-cover/clc-2012","Custom similar to CC-BY" -"emobility","","Motor and passenger vehicles count","Bundesanstalt für Straßenwesen (BASt)","https://www.bast.de/DE/Home/home_node.html","CC-BY-4.0" -"h2_salt_caverns","Technical potential of salt caverns for Hydrogen Storage in Europe","Salt cavern potentials in GWh/sqkm", "Dilara et al", "https://www.sciencedirect.com/science/article/abs/pii/S0360319919347299?via%3Dihub","CC-BY-4.0" -"lau_regions","Local Administrative Units","Used for local administration regions when building geothermal potentials","Eurostat","https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units","Permission to download only if used for non-commercial purposes" -"aquifer_data","International Hydrogeological Map of Europe","Groundwater data","BGR","https://geoportal.bgr.de/mapapps/resources/apps/geoportal/index.html?lang=en#/datasets/portal/341255A9-180F-4BF9-B96F-D085339EA86D","Right to use without restriction but no right to redistribute" -"osm_boundaries","OSM Boundaries","OSM-Boundaries was created to enable users to easily extract boundaries such as country borders, state borders, and equivalents from the OpenStreetMap databases","Ground Zero Communications AB","https://osm-boundaries.com/about","ODbL" -"gem_europe_gas_tracker","Europe Gas Tracker","Methane and hydrogen infrastructure in Europe, including pipelines, LNG terminals, gas power plants and extraction sites.","Global Energy Monitor","https://globalenergymonitor.org/projects/europe-gas-tracker/","CC-BY-4.0" -"gem_gspt","Global Steel Plant Tracker","Steel plant global locations and characteristics, including production capacity, ownership, and emissions data.","Global Energy Monitor","https://globalenergymonitor.org/projects/global-steel-plant-tracker/","CC-BY-4.0" -"gem_gcct","Global Cement and Concrete Tracker","Cement and concrete plant global locations and characteristics, including production capacity, ownership, and emissions data.","Global Energy Monitor","https://globalenergymonitor.org/projects/global-cement-and-concrete-tracker/","CC-BY-4.0" -"tyndp","Ten Year Network Development Plan (TYNDP) 2024 data for Open-TYNDP","TYNDP 2024 data package from ENTSO-E/ENTSO-G, including demand profiles, EV modelling inputs, hybrid heat pump modelling inputs, hydro inflows, hydrogen modelling inputs, investment datasets, line data, nodes data, offshore hubs data, PEMMDB data, Supply Tool, TYNDP-2024-Scenarios-Package and Market Model Outputs.","ENTSO-E/ENTSO-G","https://2024.entsos-tyndp-scenarios.eu/download/","CC-BY-4.0" -"tyndp_pecd","Pan-European Climate Database (PECD) v3.1","Hourly capacity factor time series for Solar PV rooftop, Solar PV utility, Onshore Wind, Offshore Wind and Solar CSP.","ENTSO-E/ENTSO-G","https://2024.entsos-tyndp-scenarios.eu/download/","CC-BY-4.0" -"tyndp_vis_plfm","TYNDP 2024 Visualisation Platform","Contains TYNDP 2024 Visualisation Platform data for both electricity (supply mix, flexibility options, and electricity demand) and hydrogen (supply mix and hydrogen demand).","ENTSO-E/ENTSO-G","https://2024.entsos-tyndp-scenarios.eu/visualisation-platform/","CC-BY-4.0" +"enspreso_biomass",ENSPRESO biomass potentials for Europe,"This collection contains datasets from ENSPRESO2, an EU-28 wide, open dataset on renewable energy potentials, at national (NUTS0), regional and high-resolution (1 x 1 km and 5 x 5 km) levels for the 2010-2050 period. Within ENSPRESO, ENergy Systems Potential Renewable Energy SOurces, and the ENSPRESO2 updates, technical potentials are provided for wind, solar and biomass, based on coherent GIS-based land-restriction scenarios. [...] For biomass, agriculture, forestry and waste sectors are considered. The temporal resolution for wind and solar is both annual.","European Commission Joint Research Centre","[data.jrc.ec.europa.eu](https://data.jrc.ec.europa.eu/dataset/74ed5a04-7d74-4807-9eab-b94774309d9f)","CC-BY-4.0" +"osm","Open Street Map electricity transmission grid","Transmission grid topology and infrastructure on substations, lines and cables from Open Street Map (OSM). The dataset is built from OSM data and is not versioned. The latest dataset can be built using the scripts in the repository.","Open Street Map contributors","[openstreetmap.org](https://www.openstreetmap.org/) and [doi.org](https://doi.org/10.5281/zenodo.12799201)","ODbL-1.0" +"worldbank_urban_population","Urban population (% of total population)","Percentage of Urban population by country, United Nations Population Division. World Urbanization Prospects: 2018 Revision.","World Bank","[data.worldbank.org](https://data.worldbank.org/indicator/SP.URB.TOTL.IN.ZS)","CC-BY-4.0" +"worldbank_commodity_prices","World Bank Commodity Prices","Monthly commodity price data for a range of commodities including fossil fuels","World Bank","[thedocs.worldbank.org](https://thedocs.worldbank.org/en/doc/18675f1d1639c7a34d463f59263ba0a2-0050012025/related/CMO-Historical-Data-Monthly.xlsx)","CC-BY-4.0" +"hotmaps_industrial_sites","Hotmaps industrial sites","In this repository are over 5000 georeferenced industrial sites of energy-intensive industry sectors published, together with GHG-emissions, production capacity, fuel demand and excess heat potentials calculated from emission and production data.","","[gitlab.com](https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database/)","CC-BY-4.0" +"instrat_co2_prices","CO2 Emission Allowance Prices","CO2 emission allowance prices from the EU Emissions Trading System (ETS), retrieved from the Instrat energy price API.","Instrat","[energy.instrat.pl](https://energy.instrat.pl/)","unknown" +"co2stop","CO2 Storage Potentials","An assessment of the CO2 storage potential in Europe, including storage units, traps, and maps.","European Commission Joint Research Centre","[setis.ec.europa.eu](https://setis.ec.europa.eu/european-co2-storage-database_en)","Reuse policy following 2011/833/EU" +"nitrogen_statistics","Nitrogen Statistics and Information","Statistics and information on the worldwide supply of, demand for, and flow of the mineral commodity nitrogen.","United States Geological Survey (USGS)","[usgs.gov](https://www.usgs.gov/centers/nmic/nitrogen-statistics-and-information)","Public Domain" +"eu_nuts2013","Nomenclature of Territorial Units for Statistics (NUTS) 2013 - shapefiles","Shapefiles of EU's Nomenclature of Territorial Units for Statistics (NUTS) 2013, which is a hierarchical system for dividing up the economic territory of the European Union.","eurostat","[ec.europa.eu](https://ec.europa.eu/eurostat/web/nuts/overview)","Reuse policy following 2011/833/EU" +"eu_nuts2021","Nomenclature of Territorial Units for Statistics (NUTS) 2021 - shapefiles","Shapefiles of EU's Nomenclature of Territorial Units for Statistics (NUTS) 2021, which is a hierarchical system for dividing up the economic territory of the European Union.","eurostat","[ec.europa.eu](https://ec.europa.eu/eurostat/web/nuts/overview)","Reuse policy following 2011/833/EU" +"eurostat_balances","Energy Balances","European energy balances by country and fuel, as reported by Eurostat.","eurostat","[ec.europa.eu](https://ec.europa.eu/eurostat/data/database)","CC-BY-4.0" +"eurostat_household_balances","Eurostat Household Energy Balances","Disaggregated final energy consumption in household - quantities (nrg_d_hhq)","eurostat","[ec.europa.eu](https://ec.europa.eu/eurostat/databrowser/product/page/NRG_D_HHQ)","CC-BY-4.0" +"luisa_land_cover","The LUISA base map 2018","The LUISA Base Map 2018 is a high-resolution land use/land cover map developed and produced by the Joint Research Centre of the European Commission","European Commission Joint Research Centre","[data.jrc.ec.europa.eu](https://data.jrc.ec.europa.eu/dataset/51858b51-8f27-4006-bf82-53eba35a142c)","CC-BY-4.0" +"jrc_idees","JRC-IDEES-2023","The JRC-IDEES-2023 release contains a consistent set of disaggregated energy-economy-emissions data for each Member State of the European Union, covering all sectors of the energy system for the 2000-2021 period: industry, buildings, transport, and power generation.", "European Commission Joint Research Centre", "[data.jrc.ec.europa.eu](https://data.jrc.ec.europa.eu/dataset/82322924-506a-4c9a-8532-2bdd30d69bf5)", "CC-BY-4.0" +"scigrid_gas","","Scientific Grid Model of European Gas Transmission Networks,Gas transmission data model","DLR Institute for Networked Energy Systems","[web.archive.org](https://web.archive.org/web/20241112092853/https://www.gas.scigrid.de/)", "CC-BY-4.0" +"synthetic_electricity_demand","","Interannual Electricity Demand Calculator,generates country-level electricity consumption time series based on weather data and correlates historical electricity demand to temperature","","[zenodo.org](https://zenodo.org/records/10820928)", "CC-BY-4.0" +"opsd_electricity_demand","Open Power System Data - Electricity Demand","Time series data of electricity consumption at country-level for various European countries.","Open Power System Data","[data.open-power-system-data.org](https://data.open-power-system-data.org/time_series/)","unknown" +"entsoe_electricity_demand","ENTSO-E Transparency Platform - Electricity Demand","Time series data of electricity consumption at country-level for various European countries.","ENTSO-E","[transparency.entsoe.eu](https://transparency.entsoe.eu/load/total/dayAhead)","unknown" +"neso_electricity_demand","NESO Electricity Demand Data","Time series data of electricity consumption for Great Britain.","National Energy System Operator (NESO)","[neso.energy](https://www.neso.energy/data-portal/historic-demand-data)","[NESO Open Data License v1.0](https://www.neso.energy/data-portal/neso-open-licence)" +"copernicus_land_cover","Copernicus Global Land Service", "Land cover and land use inventory of European continent","Copernicus","[land.copernicus.eu](https://land.copernicus.eu/en/products/global-dynamic-land-cover)", "CC-BY-4.0" +"ship_raster","Global Shipping Traffic Density","To build ship density raster and use it further to compute availability matrix for renewables","Worldbank","[datacatalog.worldbank.org](https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density)", "CC-BY-4.0" +"eez","Maritime Boundaries World EEZ","To estimate potentials for offshore wind in country's EEZ","Marine Regions","[marineregions.org](https://www.marineregions.org/downloads.php)", "CC-BY-4.0" +"nuts3_population","Population by NUTS3 region","Average annual population to calculate regional GDP data (thousand persons) by NUTS 3 region (nama_10r_3popgdp)","Eurostat","[ec.europa.eu](https://ec.europa.eu/eurostat/databrowser/bulk?lang=en&searchFilter=nama_10r_3pop)", "CC-BY-4.0" +"gdp_per_capita","Gridded global datasets for Gross Domestic Product over 1990–2015","Gross Domestic Product per capita (PPP)","Kummu, M et al.","[nature.com](https://www.nature.com/articles/sdata20184)","CC-BY-4.0" +"population_count","World - Population Counts","Spatial distribution of population","WorldPop","[data.humdata.org](https://data.humdata.org/dataset/worldpop-population-counts-for-world) [hub.worldpop.org](https://hub.worldpop.org/doi/10.5258/SOTON/WP00647)","CC-BY-4.0" +"ghg_emissions","Total GHG emissions and removals in the EU","National emissions reported to the UNFCCC and to the EU under the Governance Regulation","European Environment Agency","[eea.europa.eu](https://www.eea.europa.eu/en/datahub/datahubitem-view/3b7fe76c-524a-439a-bfd2-a6e4046302a2?activeAccordion=1095700%2C1095998%2C1085929%2C1084352%2C1084914)","CC-BY-4.0" +"gebco","General Bathymetric Chart of the Oceans","Gridded Bathymetric data for ocean and land, providing elevation data in meters, on a 15 arc-second interval grid.","GEBCO Comilation Group","[gebco.net](https://www.gebco.net/data-products/gridded-bathymetry-data)","Public domain" +"attributed_ports","Global - International Ports","International ports with attributes describing name, port functions, total capacity and location","World bank Group","[datacatalog.worldbank.org](https://datacatalog.worldbank.org/search/dataset/0038118/Global---International-Ports)", "CC-BY-4.0" +"corine","CORINE Land Cover 2012","Pan European Land cover for 44 thematic classes with 2012 as reference year","Copernicus","[land.copernicus.eu](https://land.copernicus.eu/en/products/corine-land-cover/clc-2012)","Custom similar to CC-BY" +"emobility","","Motor and passenger vehicles count","Bundesanstalt für Straßenwesen (BASt)","[bast.de](https://www.bast.de/DE/Home/home_node.html)","CC-BY-4.0" +"h2_salt_caverns","Technical potential of salt caverns for Hydrogen Storage in Europe","Salt cavern potentials in GWh/sqkm", "Dilara et al", "[sciencedirect.com](https://www.sciencedirect.com/science/article/abs/pii/S0360319919347299?via%3Dihub)","CC-BY-4.0" +"lau_regions","Local Administrative Units","Used for local administration regions when building geothermal potentials","Eurostat","[ec.europa.eu](https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units)","Permission to download only if used for non-commercial purposes" +"aquifer_data","International Hydrogeological Map of Europe","Groundwater data","BGR","[geoportal.bgr.de](https://geoportal.bgr.de/mapapps/resources/apps/geoportal/index.html?lang=en#/datasets/portal/341255A9-180F-4BF9-B96F-D085339EA86D)","Right to use without restriction but no right to redistribute" +"osm_boundaries","OSM Boundaries","OSM-Boundaries was created to enable users to easily extract boundaries such as country borders, state borders, and equivalents from the OpenStreetMap databases","Ground Zero Communications AB","[osm-boundaries.com](https://osm-boundaries.com/about)","ODbL" +"gem_europe_gas_tracker","Europe Gas Tracker","Methane and hydrogen infrastructure in Europe, including pipelines, LNG terminals, gas power plants and extraction sites.","Global Energy Monitor","[globalenergymonitor.org](https://globalenergymonitor.org/projects/europe-gas-tracker/)","CC-BY-4.0" +"gem_gspt","Global Steel Plant Tracker","Steel plant global locations and characteristics, including production capacity, ownership, and emissions data.","Global Energy Monitor","[globalenergymonitor.org](https://globalenergymonitor.org/projects/global-steel-plant-tracker/)","CC-BY-4.0" +"gem_gcct","Global Cement and Concrete Tracker","Cement and concrete plant global locations and characteristics, including production capacity, ownership, and emissions data.","Global Energy Monitor","[globalenergymonitor.org](https://globalenergymonitor.org/projects/global-cement-and-concrete-tracker/)","CC-BY-4.0" +"tyndp","Ten Year Network Development Plan (TYNDP) 2024 data for Open-TYNDP","TYNDP 2024 data package from ENTSO-E/ENTSO-G, including demand profiles, EV modelling inputs, hybrid heat pump modelling inputs, hydro inflows, hydrogen modelling inputs, investment datasets, line data, nodes data, offshore hubs data, PEMMDB data, Supply Tool, TYNDP-2024-Scenarios-Package and Market Model Outputs.","ENTSO-E/ENTSO-G","[2024.entsos-tyndp-scenarios.eu](https://2024.entsos-tyndp-scenarios.eu/download/)","CC-BY-4.0" +"tyndp_pecd","Pan-European Climate Database (PECD) v3.1","Hourly capacity factor time series for Solar PV rooftop, Solar PV utility, Onshore Wind, Offshore Wind and Solar CSP.","ENTSO-E/ENTSO-G","[2024.entsos-tyndp-scenarios.eu](https://2024.entsos-tyndp-scenarios.eu/download/)","CC-BY-4.0" +"tyndp_vis_plfm","TYNDP 2024 Visualisation Platform","Contains TYNDP 2024 Visualisation Platform data for both electricity (supply mix, flexibility options, and electricity demand) and hydrogen (supply mix and hydrogen demand).","ENTSO-E/ENTSO-G","[2024.entsos-tyndp-scenarios.eu](https://2024.entsos-tyndp-scenarios.eu/visualisation-platform/)","CC-BY-4.0" "tyndp_cba_non_co2_emissions","TYNDP Non-CO2 emission factors","Non-CO2 emissions factor from Annex A.3, p108 of the TYNDP 2024 Methodology: CBA Implementation Guidelines",,, -"tyndp_cba_projects","Projects from the Cost-Benefit Analysis (CBA) of the TYNDP 2024","Contains 177 transmission and 33 storage projects assessed by TYNDP 2024 in its Cost-Benefit Analysis.","ENTSO-E/ENTSO-G","https://tyndp2024.entsoe.eu/projects-map","CC-BY-4.0" -"open_tyndp_prelim","Open-TYNDP preliminary outcomes, including solved SB networks","Zenodo record that includes scenario-building (SB) network results used as inputs to the CBA workflow.","Open Energy Transition","https://zenodo.org/records/18608106","CC-BY-4.0" -"tyndp_nuclear_profiles","TYNDP Nuclear profiles","Availability profiles for nuclear power plants, derived from normalized generation time series in TYNDP 2024 Market Model Outputs. Resampled weekly, retaining maximum availability factor per week.","Open Energy Transition","https://storage.googleapis.com/open-tyndp-data-store/nuclear_p_max_pu.zip","CC-BY-4.0" -"cba_guidelines_reference_projects","2024 CBA reference grid projects","Table B1 from 2024 CBA Implementation Guidelines: Overview of the projects included in the reference grids for 2030 and 2040 time horizons","ENTSO-E/ENTSO-G","https://tyndp.entsoe.eu/resources/tyndp-2024-methodology-cba-implementation-guidelines-for-consultation-1","CC-BY-4.0" -"powerplants","Power plants matching dataset","Global dataset of power plants with their location, capacity and technology type.","The powerplantmatching contributors","https://powerplantmatching.readthedocs.io","CC-BY-4.0" -"costs","Technology cost assumptions","Technology cost and performance assumptions for Europe for various technologies, including renewables, fossil fuels.","The technologydata contributors","https://technology-data.readthedocs.io","CC-BY-4.0" +"tyndp_cba_projects","Projects from the Cost-Benefit Analysis (CBA) of the TYNDP 2024","Contains 177 transmission and 33 storage projects assessed by TYNDP 2024 in its Cost-Benefit Analysis.","ENTSO-E/ENTSO-G","[tyndp2024.entsoe.eu](https://tyndp2024.entsoe.eu/projects-map)","CC-BY-4.0" +"open_tyndp_prelim","Open-TYNDP preliminary outcomes, including solved SB networks","Zenodo record that includes scenario-building (SB) network results used as inputs to the CBA workflow.","Open Energy Transition","[zenodo.org](https://zenodo.org/records/18608106)","CC-BY-4.0" +"tyndp_nuclear_profiles","TYNDP Nuclear profiles","Availability profiles for nuclear power plants, derived from normalized generation time series in TYNDP 2024 Market Model Outputs. Resampled weekly, retaining maximum availability factor per week.","Open Energy Transition","[storage.googleapis.com](https://storage.googleapis.com/open-tyndp-data-store/nuclear_p_max_pu.zip)","CC-BY-4.0" +"cba_guidelines_reference_projects","2024 CBA reference grid projects","Table B1 from 2024 CBA Implementation Guidelines: Overview of the projects included in the reference grids for 2030 and 2040 time horizons","ENTSO-E/ENTSO-G","[tyndp.entsoe.eu](https://tyndp.entsoe.eu/resources/tyndp-2024-methodology-cba-implementation-guidelines-for-consultation-1)","CC-BY-4.0" +"powerplants","Power plants matching dataset","Global dataset of power plants with their location, capacity and technology type.","The powerplantmatching contributors","[powerplantmatching.readthedocs.io](https://powerplantmatching.readthedocs.io)","CC-BY-4.0" +"costs","Technology cost assumptions","Technology cost and performance assumptions for Europe for various technologies, including renewables, fossil fuels.","The technologydata contributors","[technology-data.readthedocs.io](https://technology-data.readthedocs.io)","CC-BY-4.0" "country_runoff","Country level runoff data","Country-level runoff data, daily sums, for Europe, used for rescaling hydro-electricity availability in weather years not covered by EIA hydro-generation statistics.","Fabian Neumann","see `rule retrieve_country_runoff` in the PyPSA-Eur repository","CC-BY-4.0" "country_hdd","Country level runoff data","Country-level heating degree days for Europe, used for rescaling heat demand in weather years not covered by energy statistics.","Fabian Neumann","see `rule retrieve_country_runoff` in the PyPSA-Eur repository","CC-BY-4.0" -"natura","Natura 2000 protected areas","Protected areas in Europe as defined by the Natura 2000 network.","European Environment Agency","https://www.eea.europa.eu/en/datahub/datahubitem-view/6fc8ad2d-195d-40f4-bdec-576e7d1268e4","CC-BY-4.0" -"bfs_road_vehicle_stock","Swiss Road Vehicle Stock","Stock of road motor vehicles in Switzerland.","Swiss Federal Statistics Office","https://www.bfs.admin.ch/bfs/de/home/statistiken/kataloge-datenbanken.assetdetail.33827666.html","custom (OPEN BY ASK)" -"bfs_gdp_and_population","Swiss Population","Population data for Switzerland.","Swiss Federal Statistics Office","https://www.bfs.admin.ch/bfs/en/home/news/whats-new.assetdetail.7786557.html","custom (OPEN BY ASK)" -"swiss_energy_balances","Swiss Energy Balances","Energy balances for Switzerland.","Swiss Federal Office of Energy (SFOE)","https://pubdb.bfe.admin.ch/de/publication/download/12361","custom (https://www.admin.ch/gov/de/start/rechtliches.html)" -"mobility_profiles","German Vehicle Activity Profiles","Vehicle activity profiles for different vehicle types and road types in Germany, based on monitoring data from the Federal Highway Research Institute (BASt). These profiles provide insights into travel behavior and patterns, which can be used for transport modeling and analysis.","Federal Highway Research Institute (BASt)","https://www.bast.de/DE/Themen/Digitales/HF_1/Massnahmen/verkehrszaehlung/Stundenwerte.html?nn=414410","CC-BY-4.0" -"dh_areas","","Shapes of district heating areas","ISI Fraunhofer-Institut für System- und Innovationsforschung","https://fordatis.fraunhofer.de/handle/fordatis/341.5","CC-BY-4.0" -"geothermal_heat_utilisation_potentials","","Potentials for Geothermal heat utilisation","ISI Fraunhofer-Institut für System- und Innovationsforschung","https://fordatis.fraunhofer.de/handle/fordatis/341.5","CC-BY-4.0" -"jrc_ardeco","Annual Regional Database of the European Commission's Directorate General for Regional and Urban Policy","The database contains a set of long time-series variables and indicators for EU regions, as well as for regions in some EFTA and candidate countries, at various statistical scales (NUTS1, NUTS2, NUTS3, metro regions).","European Commission","https://territorial.ec.europa.eu/ardeco","similar to CC-BY" -"bidding_zones_electricitymaps","Electricity Maps Bidding Zones","Geospatial data defining bidding zones for electricity markets in Europe","Electricity Maps","https://github.com/electricitymaps/electricitymaps-contrib","AGPL-3.0" -"bidding_zones_entsoepy","ENTSOE-PY Bidding Zones","Geospatial data defining bidding zones for electricity markets in Europe","EnergieID","https://github.com/EnergieID/entsoe-py","MIT" +"natura","Natura 2000 protected areas","Protected areas in Europe as defined by the Natura 2000 network.","European Environment Agency","[eea.europa.eu](https://www.eea.europa.eu/en/datahub/datahubitem-view/6fc8ad2d-195d-40f4-bdec-576e7d1268e4)","CC-BY-4.0" +"bfs_road_vehicle_stock","Swiss Road Vehicle Stock","Stock of road motor vehicles in Switzerland.","Swiss Federal Statistics Office","[bfs.admin.ch](https://www.bfs.admin.ch/bfs/de/home/statistiken/kataloge-datenbanken.assetdetail.33827666.html)","custom (OPEN BY ASK)" +"bfs_gdp_and_population","Swiss Population","Population data for Switzerland.","Swiss Federal Statistics Office","[bfs.admin.ch](https://www.bfs.admin.ch/bfs/en/home/news/whats-new.assetdetail.7786557.html)","custom (OPEN BY ASK)" +"swiss_energy_balances","Swiss Energy Balances","Energy balances for Switzerland.","Swiss Federal Office of Energy (SFOE)","[pubdb.bfe.admin.ch](https://pubdb.bfe.admin.ch/de/publication/download/12361)","custom ([admin.ch](https://www.admin.ch/gov/de/start/rechtliches.html))" +"mobility_profiles","German Vehicle Activity Profiles","Vehicle activity profiles for different vehicle types and road types in Germany, based on monitoring data from the Federal Highway Research Institute (BASt). These profiles provide insights into travel behavior and patterns, which can be used for transport modeling and analysis.","Federal Highway Research Institute (BASt)","[bast.de](https://www.bast.de/DE/Themen/Digitales/HF_1/Massnahmen/verkehrszaehlung/Stundenwerte.html?nn=414410)","CC-BY-4.0" +"dh_areas","","Shapes of district heating areas","ISI Fraunhofer-Institut für System- und Innovationsforschung","[fordatis.fraunhofer.de](https://fordatis.fraunhofer.de/handle/fordatis/341.5)","CC-BY-4.0" +"geothermal_heat_utilisation_potentials","","Potentials for Geothermal heat utilisation","ISI Fraunhofer-Institut für System- und Innovationsforschung","[fordatis.fraunhofer.de](https://fordatis.fraunhofer.de/handle/fordatis/341.5)","CC-BY-4.0" +"jrc_ardeco","Annual Regional Database of the European Commission's Directorate General for Regional and Urban Policy","The database contains a set of long time-series variables and indicators for EU regions, as well as for regions in some EFTA and candidate countries, at various statistical scales (NUTS1, NUTS2, NUTS3, metro regions).","European Commission","[territorial.ec.europa.eu](https://territorial.ec.europa.eu/ardeco)","similar to CC-BY" +"jrc_energy_atlas","JRC Energy Atlas","Contains 1km by 1km raster data of annual electricity demand per EU country","European Commission Joint Research Centre","[energy-industry-geolab.jrc.ec.europa.eu](https://energy-industry-geolab.jrc.ec.europa.eu/energy-atlas/)","[CC-BY-4.0](https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/EIGL-Data/RASTER/copyright.txt)" +"desnz_electricity_consumption","Regional and local authority electricity consumption statistics","Contains subnational electricity consumption statistics from 2005 to 2023.","UK Government, Department for Energy Security and Net Zero","[gov.uk](https://www.gov.uk/government/statistics/regional-and-local-authority-electricity-consumption-statistics)","Open Government Licence v3.0" +"ons_lad","UK Local Authority Districts May 2024 Boundaries","Contains shapefiles of local authorities in the United Kingdom.","UK Office for National Statistics","[geoportal.statistics.gov.uk](https://geoportal.statistics.gov.uk/datasets/ons::local-authority-districts-may-2024-boundaries-uk-bsc-2/about)","Open Government Licence v.3.0" +"bidding_zones_electricitymaps","Electricity Maps Bidding Zones","Geospatial data defining bidding zones for electricity markets in Europe","Electricity Maps","[github.com](https://github.com/electricitymaps/electricitymaps-contrib)","AGPL-3.0" +"bidding_zones_entsoepy","ENTSOE-PY Bidding Zones","Geospatial data defining bidding zones for electricity markets in Europe","EnergieID","[github.com](https://github.com/EnergieID/entsoe-py)","MIT" diff --git a/doc/data_sources.md b/doc/data_sources.md new file mode 100644 index 0000000000..3651761e4c --- /dev/null +++ b/doc/data_sources.md @@ -0,0 +1,78 @@ + + + + +# Data Sources + +PyPSA-Eur is compiled from a variety of data sources. The following table provides an +overview of the data sources used in PyPSA-Eur. Different licenses apply to the +data sources. + +# Data Versioning {#managing_data_versions} + +Many of the data sources used in PyPSA-Eur are updated regularly. +To ensure reproducibility, PyPSA-Eur uses a versioning system for data sources which +allows users to select specific versions of the data sources to use in their models. +Next to the versioning and if the license allows, most datasets are also mirrored to a +public file storage for the repository under `https://data.pypsa.org`. + +!!! note + For users, selection and control over which data sources to use is managed through the configuration file. + See [Data Configuration](configuration.md#data_cf) for details. In most cases you just wanna stick with the latest archive + version. Reproducibility is given even when using the `latest` tag via the + `versions.csv`, which is version controlled. + +## Understanding `versions.csv` + +The file `data/versions.csv` is the central registry for all data sources and their versions. +Each row defines a specific version of a dataset with the following columns: + +* `dataset`: The name of the dataset (e.g., `worldbank_urban_population`). +* `version`: The version identifier, typically following the original data source's versioning (e.g., `2025-08-14`). +* `source`: The source type - `primary` (original data source), `archive` (mirrored copy on `data.pypsa.org`), or `build` (generated from other data). +* `tags`: Space-separated tags like `latest`, `supported` or `deprecated`. +* `added`: The date when this entry was added to the registry. +* `note`: Optional notes about the dataset or version. +* `url`: The download URL for the data. + +Entries to the `versions.csv` are never deleted and if a dataset was removed or is not available, the entry is marked as `deprecated`. + +!!! note + For `primary` sources, each combination of dataset and version should point to a specific version of that dataset with a unique URL. + If the original data source does not provide versioned URLs (i.e., the URL always points to the latest data), the `version` is set to `unknown`. + In this case, the corresponding `archive` entries do not mirror the same version but represent snapshots taken at specific points in time from that primary source. + +## Adding a new version of a dataset + +If you notice that a data source has been updated and want to add the new version to PyPSA-Eur: + +1. Add a new row to `data/versions.csv` with the same `dataset` name, the new `version`, `source` set to `primary`, and the `url` pointing to the original data source. +2. Set appropriate tags (typically `latest supported`). +3. Update the tags of the previous version (remove `latest`, keep `supported` if still compatible). +4. Create a pull request with your changes. +5. Of course, any potential workflow adjustments should be considered and implemented as well. + +!!! note + If the `primary` source has `version` set to `unknown` (i.e., the URL always points to the latest data) and a new version is available that has not been archived yet, please open an issue on the [PyPSA-Eur GitHub repository](https://github.com/pypsa/pypsa-eur/issues) to request an archive update. + +## Adding a new dataset + +To add a completely new data source to PyPSA-Eur: + +1. Add a `primary` entry to `data/versions.csv` with a new unique dataset name, version, and URL pointing to the original data source. +2. Implement a `retrieve` rule for your dataset in `rules/retrieve.smk`. + Take inspiration from existing rules in the file. +3. Add the new data source to: + + * `data` section in the pydantic schema `scripts/lib/validation/config/data.py` + * `data_inventory.csv` data inventory for PyPSA-Eur + +4. Create a pull request with your changes. + +!!! note + Maintainers of the repository will create the corresponding `archive` entry after reviewing your contribution. + +# Data inventory + +{{ read_csv("doc/data_inventory.csv") }} + diff --git a/doc/data_sources.rst b/doc/data_sources.rst deleted file mode 100644 index 71b7cb7a01..0000000000 --- a/doc/data_sources.rst +++ /dev/null @@ -1,105 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -############# -Data Sources -############# - -PyPSA-Eur is compiled from a variety of data sources. The following table provides an -overview of the data sources used in PyPSA-Eur. Different licenses apply to the -data sources. - -.. toctree:: - :maxdepth: 1 - - ../tyndp_2024 - ../data-base-network - ../data-cutouts - ../data-repos - - -.. _managing_data_versions: - -################# -Data Versioning -################# - -Many of the data sources used in PyPSA-Eur are updated regularly. -To ensure reproducibility, PyPSA-Eur uses a versioning system for data sources which -allows users to select specific versions of the data sources to use in their models. -Next to the versioning and if the license allows, most datasets are also mirrored to a -public file storage for the repository under ``https://data.pypsa.org``. - -.. note:: - For users, selection and control over which data sources to use is managed through the configuration file. - See :ref:`data_cf` for details. In most cases you just wanna stick with the latest archive - version. Reproducibility is given even when using the ``latest`` tag via the - ``versions.csv``, which is version controlled. - -***************************** -Understanding ``versions.csv`` -***************************** - -The file ``data/versions.csv`` is the central registry for all data sources and their versions. -Each row defines a specific version of a dataset with the following columns: - -* ``dataset``: The name of the dataset (e.g., ``worldbank_urban_population``). -* ``version``: The version identifier, typically following the original data source's versioning (e.g., ``2025-08-14``). -* ``source``: The source type - ``primary`` (original data source), ``archive`` (mirrored copy on ``data.pypsa.org``), or ``build`` (generated from other data). -* ``tags``: Space-separated tags like ``latest``, ``supported`` or ``deprecated``. -* ``added``: The date when this entry was added to the registry. -* ``note``: Optional notes about the dataset or version. -* ``url``: The download URL for the data. - -Entries to the ``versions.csv`` are never deleted and if a dataset was removed or is not available, the entry is marked as ``deprecated``. - -.. note:: - For ``primary`` sources, each combination of dataset and version should point to a specific version of that dataset with a unique URL. - If the original data source does not provide versioned URLs (i.e., the URL always points to the latest data), the ``version`` is set to ``unknown``. - In this case, the corresponding ``archive`` entries do not mirror the same version but represent snapshots taken at specific points in time from that primary source. - -******************************* -Adding a new version of a dataset -******************************* - -If you notice that a data source has been updated and want to add the new version to PyPSA-Eur: - -1. Add a new row to ``data/versions.csv`` with the same ``dataset`` name, the new ``version``, ``source`` set to ``primary``, and the ``url`` pointing to the original data source. -2. Set appropriate tags (typically ``latest supported``). -3. Update the tags of the previous version (remove ``latest``, keep ``supported`` if still compatible). -4. Create a pull request with your changes. -5. Of course, any potential workflow adjustments should be considered and implemented as well. - -.. note:: - If the ``primary`` source has ``version`` set to ``unknown`` (i.e., the URL always points to the latest data) and a new version is available that has not been archived yet, please open an issue on the `PyPSA-Eur GitHub repository `_ to request an archive update. - -********************* -Adding a new dataset -********************* - -To add a completely new data source to PyPSA-Eur: - -1. Add a ``primary`` entry to ``data/versions.csv`` with a new unique dataset name, version, and URL pointing to the original data source. -2. Implement a ``retrieve`` rule for your dataset in ``rules/retrieve.smk``. - Take inspiration from existing rules in the file. -3. Add the new data source to: - - * ``data`` section in the pydantic schema ``scripts/lib/validation/config/data.py`` - * ``data_inventory.csv`` data inventory for PyPSA-Eur - -4. Create a pull request with your changes. - -.. note:: - Maintainers of the repository will create the corresponding ``archive`` entry after reviewing your contribution. - -############## -Data inventory -############## - -.. csv-table:: - :header-rows: 1 - :class: longtable - :widths: auto - :file: data_inventory.csv diff --git a/doc/faq_troubleshooting.md b/doc/faq_troubleshooting.md new file mode 100644 index 0000000000..7c96db650f --- /dev/null +++ b/doc/faq_troubleshooting.md @@ -0,0 +1,146 @@ + + + +# FAQ and Troubleshooting + +This page contains frequently asked questions about the Open-TYNDP project: + +## General Questions + +??? question "What is Open-TYNDP?" + + Open-TYNDP is an open-source research and innovation project, which is a collaboration between [Open Energy Transition (OET)](https://openenergytransition.org/) and ENTSO-E. The project aims to explore the option of a complementary open-source tool in the Ten-Year Network Development Plan (TYNDP) by building a workflow based on PyPSA-Eur. It provides one streamlined tool for the Scenario Building (SB) and the Cost-Benefit Analysis (CBA) of the TYNDP. + +??? question "How does Open-TYNDP relate to PyPSA-Eur?" + + Open-TYNDP is a soft-fork of OET/PyPSA-Eur and contains the entire Open-TYNDP project supported by OET, including code and documentation. The workflow automatically downloads publicly available data from an archived repository. OET/PyPSA-Eur itself is a soft-fork of PyPSA/PyPSA-Eur and builds on the open-source ecosystem of PyPSA. + +??? question "Is Open-TYNDP ready for production use?" + + Open-TYNDP is under active development and is not yet feature-complete. The current development status and general limitations are important to understand before using the model. Please refer to [limitations](limitations.md) and [development status](index.md#development-status) for more details. The latest version of the model is always available on [GitHub](https://github.com/open-energy-transition/open-tyndp). + +??? question "When will Open-TYNDP be ready?" + + The project is currently back-casting the 2024 TYNDP cycle to build confidence before aligning with the 2026 TYNDP cycle in Q2 2026. The [development status](index.md#development-status) page provides a detailed roadmap of implemented and planned features. + +??? question "How to use Open-TYNDP?" + + To explore, run, and modify Open-TYNDP, we recommend cloning the repository from [GitHub](https://github.com/open-energy-transition/open-tyndp), which will give you access to the latest version of the model. As Open-TYNDP relies on a set of Python packages, you also need to install these dependencies. Please refer to [installation](installation.md) for more details. However, if you are only interested in getting a first hands-on experience, we also provide a lightweight web-based experience using the [interactive workshops notebooks](https://open-energy-transition.github.io/open-tyndp-workshops). + +## Technical Questions + +??? question "Which operating systems are supported?" + + The Open-TYNDP workflow is continuously tested for Linux, MacOS and Windows WSL. + +??? question "I'm having trouble installing Open-TYNDP or getting started. Where should I start?" + + The most common installation issues involve Python environment setup and solver configuration. We recommend using `pixi` for environment management. For solver setup, HiGHS is included by default for testing, but commercial solvers are supported as well. See [installation](installation.md) for detailed platform-specific instructions, solver configuration guidance and alternative environment manager if you prefer using `conda`. + +??? question "What computational resources do I need to run Open-TYNDP models?" + + Full TYNDP scenario runs require significant computational resources: typically 55GB RAM, 8 CPU cores, and 1h15 runtime for NT scenario and a single planning horizon, using a commercial solver such as Gurobi. However, CBA assessment requirements are lower, typically running on standard workstations and HiGHS for around a minute per project. For testing and exploration, you can use smaller configurations using reduced temporal/spatial resolution that run on standard workstations and HiGHS. The TYNDP test configuration defined by `config/test/config.tyndp.yaml` is a good starting point. You can also explore lightweight and web-based examples using the [interactive workshops notebook](https://open-energy-transition.github.io/open-tyndp-workshops). + +??? question "What solver do I need to solve Open-TYNDP models?" + + It depends on the model you want to run. We recommend using HiGHS for exploring and testing the models at low temporal resolution, typically `52SEG`. HiGHS can also be used for CBA assessments. However, with higher temporal resolution, the SB models are larger and require a commercial solver. + +??? question "What should I do if the Open-TYNDP workflow is not running through?" + + If you're experiencing issues running the workflow, please try the following troubleshooting steps: + + 1. **Ensure you're on the latest version**: Pull the latest changes from the repository, as recent bug fixes may resolve your issue: `git pull origin master` + + 2. **Update your environment**: Make sure your environment is up to date with the latest dependencies. For pixi users: `pixi update`. For conda users: `conda env update -f envs/environment.yaml` followed by `conda activate open-tyndp`. + + 3. **Perform a clean run**: Clear cached results and force Snakemake to rebuild everything from scratch: `snakemake -F` + + 4. **Review your configuration**: Check if you made any recent changes to `config.yaml` that might be causing issues. Try reverting to the default configuration to see if the problem persists. Verify that all file paths and settings are correct. + + 5. **Clear temporary and cache files**: Sometimes corrupted temporary files can cause issues. Remove the `.snakemake` directory: `rm -rf .snakemake` + + 6. **Verify data downloads**: Ensure that all data retrieval steps completed successfully. Check if downloaded input files are complete and not corrupted. + + 7. **Test with a minimal configuration**: Try running the workflow with a simplified configuration (e.g., fewer scenarios, smaller geographical scope, single weather year) to isolate the issue. + + 8. **Check for specific error messages**: Look at the terminal output for specific error messages that indicate which rule is failing and why. + + 9. **Re-create your environment**: In some rare cases the environment gets corrupted and needs to be re-created. The simplest way is exiting the current pixi environment, deleting the .pixi directory and entering the pixi shell again via e.g., `pixi shell -e open-tyndp`. An example of such an error is e.g., that out of nothing snakemake returns a runtime error without having changed the installed packages at all. + + If none of these steps resolve your problem, please feel free to open an issue on our [GitHub repository](https://github.com/open-energy-transition/open-tyndp) or contact us directly (see [support](support.md)). + +??? question "My workflow is failing or producing unexpected results. How do I troubleshoot?" + + Start by running `snakemake -call --configfile config/config.tyndp.yaml -n` (dry-run) to validate workflow structure without execution. Then, check log files in `logs/` and verify intermediate results at each workflow stage. For persistent issues, see [support](support.md) for community assistance channels. + +??? question "I would like to develop my own features in a fork. What are your recommendations?" + + We recommend following the [soft-fork strategy](https://open-energy-transition.github.io/handbook/docs/Engineering/SoftForkStrategy) maintained by Open Energy Transition (OET). This approach allows you to maintain your own fork with custom features while staying synchronized with upstream improvements from both Open-TYNDP and PyPSA-Eur. The strategy provides guidance on organizing changes, managing merge conflicts, and contributing improvements back to the upstream repositories when appropriate. + +??? question "Why do I get a ValueError about renaming 'name' in the offshore constraints?" + + This error occurs when running Open-TYNDP code with an older PyPSA version (e.g., 0.35.2) from a recycled conda environment. The Open-TYNDP master branch is compatible with PyPSA v1, which uses different dimension naming than older versions ([Issue #337](https://github.com/open-energy-transition/open-tyndp/issues/337)). + + **Fix:** Always recreate your conda/pixi environment when cloning or updating the repository. Update to Open-TYNDP v0.4.1 or later for backward compatibility ([PR #339](https://github.com/open-energy-transition/open-tyndp/pull/339)). We recommend using the most recent locked environment for each release. + +??? question "Using Windows WSL: Why is snakemake so slow?" + + Running Open-TYNDP within Windows comes with the risk of mixing activities on Linux-controlled and Windows-controlled filesystems. + + **Fix:** To ensure the best performance all data related to Open-TYNDP needs to be stored within the Linux-controlled filesystem (e.g., "/home/userA/open-tyndp"). + +## Model Data and Assumptions + +??? question "What data sources and assumptions does Open-TYNDP use, and where can I find them?" + + Open-TYNDP integrates TYNDP 2024 data (electricity demand, hydrogen topology, PECD renewable profiles, PEMMDB capacities, CBA projects and more) with PyPSA-Eur's open-source workflow. All data sources and their licenses are documented in [tyndp_2024](tyndp_2024.md). The Open-TYNDP reproduces the 2024 TYNDP-specific assumptions and methodology based on the [TYNDP 2024 Scenarios Methodology Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Methodology_Report_Final_Version_250128.pdf). + +??? question "How can I verify that Open-TYNDP results are reliable and accurate?" + + Open-TYNDP includes a comprehensive benchmarking framework that validates model outputs against published TYNDP 2024 data using a multi-criteria approach. The framework is documented in [benchmarking](benchmarking.md) and the current results for NT scenario in the dedicated section of the [3rd workshop notebook](https://open-energy-transition.github.io/open-tyndp-workshops/20251203-workshop-pypsa-03.html#benchmark-results). Be aware that Open-TYNDP is under active development (see [limitations](limitations.md) and [development status](index.md#development-status)), and validation is ongoing as features are implemented. + +## Flexibility and Independence + +??? question "Can I use Open-TYNDP with my own private data?" + + Yes, you can use Open-TYNDP with your own private data. The open-source nature of the codebase means you have full flexibility to integrate your proprietary or confidential data without any obligation to make it public. We covered this topic during the [3rd workshop](https://open-energy-transition.github.io/open-tyndp-workshops/20251203-workshop-pypsa-03.html#modify-assumptions). + +??? question "Do I need to share my code modifications or developments?" + + No, there is no obligation to share your code modifications or developments publicly. You have full governance over your own fork. You can keep your code and development private while still benefiting from updates and improvements in the Open-TYNDP repository. You can update your private codebase based on changes in Open-TYNDP at your own pace. + +??? question "Am I required to contribute my changes back to Open-TYNDP?" + + No, contributions are welcome but entirely voluntary. You are free to use Open-TYNDP without any obligation to contribute back. However, contributing improvements, bug fixes, or new features helps strengthen the ecosystem and benefits the broader community. + +??? question "Can I collaborate with other organisations privately?" + + Yes, you can collaborate with other organisations privately. There is no obligation to share data or code publicly when working with partners. Independent organisations can develop their own private repositories using the publicly available Open-TYNDP codebase, enabling private collaboration while maintaining interoperability through the shared foundation. + +??? question "What are the benefits of the open-source approach?" + + The open-source approach provides several benefits: full independence in governance and decision-making, flexibility to keep parts of your work private, ability to request support and feature development from other actors in the ecosystem, interoperability with other organisations using the same foundation, and opportunities for co-developing features through partnerships when desired. + +## Explore results + +??? question "Where can I find the latest results?" + + The preliminary results for the NT scenario and the corresponding benchmarking outputs are presented in the [3rd workshop notebook](https://open-energy-transition.github.io/open-tyndp-workshops/20251203-workshop-pypsa-03.html#benchmark-results). However, new fixes and features are constantly integrated in the model. The latest networks and corresponding benchmarks are also available in a [ZIP archive](https://storage.googleapis.com/open-tyndp-data-store/runs/NT-1H-20251209.zip). Be aware that Open-TYNDP is under active development (see [limitations](limitations.md) and [development status](index.md#development-status)), and validation is ongoing as features are implemented. + +??? question "Is there a way to interactively visualize results?" + + Yes, the [PyPSA-Explorer](https://github.com/open-energy-transition/PyPSA-Explorer) provides interactive visualization capabilities for Open-TYNDP results. This tool was introduced in the [3rd workshop](https://open-energy-transition.github.io/open-tyndp-workshops/20251203-workshop-pypsa-03.html#interactive-exploration-with-pypsa-explorer). + +## Contributing and Support + +??? question "How can I contribute to Open-TYNDP?" + + We strongly welcome contributions! You can file issues or make pull requests on [Github](https://github.com/open-energy-transition/open-tyndp) or directly on the [PyPSA-Eur Upstream](https://github.com/PyPSA/PyPSA-Eur). Please also refer to the [contributing](contributing.md) section. + +??? question "Where can I get help if I encounter issues?" + + Please refer to the [support](support.md) page for various ways to reach out to us and the community, including Discord, mailing lists, and issue trackers. + +??? question "Where can I report bugs or request features?" + + For bugs and feature requests, please use the [Open-TYNDP issues](https://github.com/open-energy-transition/open-tyndp/issues). diff --git a/doc/faq_troubleshooting.rst b/doc/faq_troubleshooting.rst deleted file mode 100644 index 8fde71fc1f..0000000000 --- a/doc/faq_troubleshooting.rst +++ /dev/null @@ -1,158 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _faq_troubleshooting: - -############################################### -FAQ and Troubleshooting -############################################### - -This page contains frequently asked questions about the Open-TYNDP project: - -General Questions -================== - -.. admonition:: What is Open-TYNDP? - - Open-TYNDP is an open-source research and innovation project, which is a collaboration between `Open Energy Transition (OET) `__ and ENTSO-E. The project aims to explore the option of a complementary open-source tool in the Ten-Year Network Development Plan (TYNDP) by building a workflow based on PyPSA-Eur. It provides one streamlined tool for the Scenario Building (SB) and the Cost-Benefit Analysis (CBA) of the TYNDP. - -.. admonition:: How does Open-TYNDP relate to PyPSA-Eur? - - Open-TYNDP is a soft-fork of OET/PyPSA-Eur and contains the entire Open-TYNDP project supported by OET, including code and documentation. The workflow automatically downloads publicly available data from an archived repository. OET/PyPSA-Eur itself is a soft-fork of PyPSA/PyPSA-Eur and builds on the open-source ecosystem of PyPSA. - -.. admonition:: Is Open-TYNDP ready for production use? - - Open-TYNDP is under active development and is not yet feature-complete. The current development status and general limitations are important to understand before using the model. Please refer to :doc:`limitations` and :ref:`development-status` for more details. The latest version of the model is always available on `GitHub `__. - -.. admonition:: When will Open-TYNDP be ready? - - The project is currently back-casting the 2024 TYNDP cycle to build confidence before aligning with the 2026 TYNDP cycle in Q2 2026. The :ref:`development-status` page provides a detailed roadmap of implemented and planned features. - -.. admonition:: How to use Open-TYNDP? - - To explore, run, and modify Open-TYNDP, we recommend cloning the repository from `GitHub `__, which will give you access to the latest version of the model. As Open-TYNDP relies on a set of Python packages, you also need to install these dependencies. Please refer to :ref:`clone_repo` and :ref:`deps` for more details. However, if you are only interested in getting a first hands-on experience, we also provide a lightweight web-based experience using the `interactive workshops notebooks `_. - - -Technical Questions -=================== - -.. admonition:: Which operating systems are supported? - - The Open-TYNDP workflow is continuously tested for Linux, MacOS and Windows WSL. - -.. admonition:: I'm having trouble installing Open-TYNDP or getting started. Where should I start? - - The most common installation issues involve Python environment setup and solver configuration. We recommend using ``pixi`` for environment management. For solver setup, HiGHS is included by default for testing, but commercial solvers are supported as well. See :doc:`installation` for detailed platform-specific instructions, solver configuration guidance and alternative environment manager if you prefer using ``conda``. - -.. admonition:: What computational resources do I need to run Open-TYNDP models? - - Full TYNDP scenario runs require significant computational resources: typically 55GB RAM, 8 CPU cores, and 1h15 runtime for NT scenario and a single planning horizon, using a commercial solver such as Gurobi. However, CBA assessment requirements are lower, typically running on standard workstations and HiGHS for around a minute per project. For testing and exploration, you can use smaller configurations using reduced temporal/spatial resolution that run on standard workstations and HiGHS. The TYNDP test configuration defined by ``config/test/config.tyndp.yaml`` is a good starting point. You can also explore lightweight and web-based examples using the `interactive workshops notebook `_. - -.. admonition:: What solver do I need to solve Open-TYNDP models? - - It depends on the model you want to run. We recommend using HiGHS for exploring and testing the models at low temporal resolution, typically `52SEG`. HiGHS can also be used for CBA assessments. However, with higher temporal resolution, the SB models are larger and require a commercial solver. - -.. admonition:: What should I do if the Open-TYNDP workflow is not running through? - - If you're experiencing issues running the workflow, please try the following troubleshooting steps: - - 1. **Ensure you're on the latest version**: Pull the latest changes from the repository, as recent bug fixes may resolve your issue: ``git pull origin master`` - - 2. **Update your environment**: Make sure your environment is up to date with the latest dependencies. For pixi users: ``pixi update``. For conda users: ``conda env update -f envs/environment.yaml`` followed by ``conda activate open-tyndp``. - - 3. **Perform a clean run**: Clear cached results and force Snakemake to rebuild everything from scratch: ``snakemake -F`` - - 4. **Review your configuration**: Check if you made any recent changes to ``config.yaml`` that might be causing issues. Try reverting to the default configuration to see if the problem persists. Verify that all file paths and settings are correct. - - 5. **Clear temporary and cache files**: Sometimes corrupted temporary files can cause issues. Remove the ``.snakemake`` directory: ``rm -rf .snakemake`` - - 6. **Verify data downloads**: Ensure that all data retrieval steps completed successfully. Check if downloaded input files are complete and not corrupted. - - 7. **Test with a minimal configuration**: Try running the workflow with a simplified configuration (e.g., fewer scenarios, smaller geographical scope, single weather year) to isolate the issue. - - 8. **Check for specific error messages**: Look at the terminal output for specific error messages that indicate which rule is failing and why. - - 9. **Re-create your environment**: In some rare cases the environment gets corrupted and needs to be re-created. The simplest way is exiting the current pixi environment, deleting the .pixi directory and entering the pixi shell again via e.g., ``pixi shell -e open-tyndp``. An example of such an error is e.g.., that out of nothing snakemake returns a runtime error without having changed the installed packages at all. - - If none of these steps resolve your problem, please feel free to open an issue on our `GitHub repository `__ or contact us directly (see :doc:`support`). - -.. admonition:: My workflow is failing or producing unexpected results. How do I troubleshoot? - - Start by running ``snakemake -call --configfile config/config.tyndp.yaml -n`` (dry-run) to validate workflow structure without execution. Then, check log files in ``logs/`` and verify intermediate results at each workflow stage. For persistent issues, see :doc:`support` for community assistance channels. - -.. admonition:: I would like to develop my own features in a fork. What are your recommendations? - - We recommend following the `soft-fork strategy `_ maintained by Open Energy Transition (OET). This approach allows you to maintain your own fork with custom features while staying synchronized with upstream improvements from both Open-TYNDP and PyPSA-Eur. The strategy provides guidance on organizing changes, managing merge conflicts, and contributing improvements back to the upstream repositories when appropriate. - -.. admonition:: Why do I get a ValueError about renaming 'name' in the offshore constraints? - - This error occurs when running Open-TYNDP code with an older PyPSA version (e.g., 0.35.2) from a recycled conda environment. The Open-TYNDP master branch is compatible with PyPSA v1, which uses different dimension naming than older versions (`Issue #337 `_). - - **Fix:** Always recreate your conda/pixi environment when cloning or updating the repository. Update to Open-TYNDP v0.4.1 or later for backward compatibility (`PR #339 `_). We recommend using the most recent locked environment for each release. - -.. admonition:: Using Windows WSL: Why is snakemake so slow? - - Running Open-TYNDP within Windows comes with the risk of mixing activities on Linux-controlled and Windows-controlled filesystems. - - **Fix:** To ensure the best performance all data related to Open-TYNDP needs to be stored within the Linux-controlled filesystem (.e.g, "/home/userA/open-tyndp"). - -Model Data and Assumptions -=========================== - -.. admonition:: What data sources and assumptions does Open-TYNDP use, and where can I find them? - - Open-TYNDP integrates TYNDP 2024 data (electricity demand, hydrogen topology, PECD renewable profiles, PEMMDB capacities, CBA projects and more) with PyPSA-Eur's open-source workflow. All data sources and their licenses are documented in :doc:`tyndp_2024`. The Open-TYNDP reproduces the 2024 TYNDP-specific assumptions and methodology based on the `TYNDP 2024 Scenarios Methodology Report `__. - -.. admonition:: How can I verify that Open-TYNDP results are reliable and accurate? - - Open-TYNDP includes a comprehensive benchmarking framework that validates model outputs against published TYNDP 2024 data using a multi-criteria approach. The framework is documented in :doc:`benchmarking` and the current results for NT scenario in the dedicated section of the `3rd workshop notebook `__. Be aware that Open-TYNDP is under active development (see :doc:`limitations` and :ref:`development-status`), and validation is ongoing as features are implemented. - -Flexibility and Independence -============================= - -.. admonition:: Can I use Open-TYNDP with my own private data? - - Yes, you can use Open-TYNDP with your own private data. The open-source nature of the codebase means you have full flexibility to integrate your proprietary or confidential data without any obligation to make it public. We covered this topic during the `3rd workshop `__. - -.. admonition:: Do I need to share my code modifications or developments? - - No, there is no obligation to share your code modifications or developments publicly. You have full governance over your own fork. You can keep your code and development private while still benefiting from updates and improvements in the Open-TYNDP repository. You can update your private codebase based on changes in Open-TYNDP at your own pace. - -.. admonition:: Am I required to contribute my changes back to Open-TYNDP? - - No, contributions are welcome but entirely voluntary. You are free to use Open-TYNDP without any obligation to contribute back. However, contributing improvements, bug fixes, or new features helps strengthen the ecosystem and benefits the broader community. - -.. admonition:: Can I collaborate with other organisations privately? - - Yes, you can collaborate with other organisations privately. There is no obligation to share data or code publicly when working with partners. Independent organisations can develop their own private repositories using the publicly available Open-TYNDP codebase, enabling private collaboration while maintaining interoperability through the shared foundation. - -.. admonition:: What are the benefits of the open-source approach? - - The open-source approach provides several benefits: full independence in governance and decision-making, flexibility to keep parts of your work private, ability to request support and feature development from other actors in the ecosystem, interoperability with other organisations using the same foundation, and opportunities for co-developing features through partnerships when desired. - -Explore results -================ - -.. admonition:: Where can I find the latest results? - - The preliminary results for the NT scenario and the corresponding benchmarking outputs are presented in the `3rd workshop notebook `_. However, new fixes and features are constantly integrated in the model. The latest networks and corresponding benchmarks are also available in a `ZIP archive `__. Be aware that Open-TYNDP is under active development (see :doc:`limitations` and :ref:`development-status`), and validation is ongoing as features are implemented. - -.. admonition:: Is there a way to interactively visualize results? - - Yes, the `PyPSA-Explorer `_ provides interactive visualization capabilities for Open-TYNDP results. This tool was introduced in the `3rd workshop `_. - -Contributing and Support -======================== - -.. admonition:: How can I contribute to Open-TYNDP? - - We strongly welcome contributions! You can file issues or make pull requests on `Github `_ or directly on the `PyPSA-Eur Upstream `_. Please also refer to the :doc:`contributing` section. - -.. admonition:: Where can I get help if I encounter issues? - - Please refer to the :doc:`support` page for various ways to reach out to us and the community, including Discord, mailing lists, and issue trackers. - -.. admonition:: Where can I report bugs or request features? - - For bugs and feature requests, please use the `Open-TYNDP issues `_. diff --git a/doc/foresight.rst b/doc/foresight.md similarity index 55% rename from doc/foresight.rst rename to doc/foresight.md index 6a49c63373..3995aa584a 100644 --- a/doc/foresight.rst +++ b/doc/foresight.md @@ -1,74 +1,56 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 + + -.. _foresight: +# Foresight Options {#foresight} -##################### -Foresight Options -##################### - -.. _overnight: - -Overnight (greenfield) scenarios -================================ +## Overnight (greenfield) scenarios {#overnight} The default is to calculate a rebuilding of the energy system to meet demand, a so-called overnight or greenfield approach. -In this case, the ``planning_horizons`` parameter specifies the reference year for exogenously given transition paths (e.g. the level of steel recycling). +In this case, the `planning_horizons` parameter specifies the reference year for exogenously given transition paths (e.g. the level of steel recycling). It does not affect the year for cost and technology assumptions, which is set separately in the config. -.. code:: yaml - - scenario: - planning_horizons: - - 2050 +```yaml +scenario: + planning_horizons: + - 2050 - costs: - year: 2030 +costs: + year: 2030 +``` -For running overnight scenarios, use in the ``config/config.yaml``: +For running overnight scenarios, use in the `config/config.yaml`: -.. code:: yaml +```yaml +foresight: overnight +``` - foresight: overnight +## Perfect foresight scenarios {#perfect} -.. _perfect: +!!! warning -Perfect foresight scenarios -=========================== - -.. warning:: - - Perfect foresight is currently implemented as an experimental test version. + Perfect foresight is currently implemented as an experimental test version. For running perfect foresight scenarios, you can adjust the - ``config/config.perfect.yaml``: - -.. code:: yaml + `config/config.perfect.yaml`: - foresight: perfect +```yaml +foresight: perfect +``` - -.. _myopic: - -Myopic foresight scenarios -============================= +## Myopic foresight scenarios {#myopic} The myopic code can be used to investigate progressive changes in a network, for instance, those taking place throughout a transition path. The capacities installed in a certain time step are maintained in the network until their operational lifetime expires. -The myopic approach was initially developed and used in the paper `Early -decarbonisation of the European Energy system pays off (2020) -`__ and later further -extended in `Speed of technological transformations required in Europe to -achieve different climate goals (2022) -`__. The current implementation +The myopic approach was initially developed and used in the paper [Early +decarbonisation of the European Energy system pays off (2020)](https://www.nature.com/articles/s41467-020-20015-4) and later further +extended in [Speed of technological transformations required in Europe to +achieve different climate goals (2022)](https://doi.org/10.1016/j.joule.2022.04.016). The current implementation complies with the PyPSA-Eur-Sec standard working flow and is compatible with -using the higher resolution electricity transmission model `PyPSA-Eur -`__ rather than a one-node-per-country +using the higher resolution electricity transmission model [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) rather than a one-node-per-country model. The current code applies the myopic approach to generators, storage technologies @@ -77,7 +59,7 @@ heating sector (e.g., the share of district heating and reduced space heat demand), industry processes (e.g., steel, direct reduced iron, and aluminum production via primary route), the share of fuel cell and battery electric vehicles in land transport, and the hydrogen share in shipping (see -:doc:`supply_demand` for further information). +[Supply and Demand](supply_demand.md) for further information). The following subjects within the land transport and biomass currently do not evolve with the myopic approach: @@ -88,34 +70,29 @@ evolve with the myopic approach: - The annual biomass potential (default year and scenario for which potential is taken is 2030, as defined in config) -.. literalinclude:: ../config/test/config.myopic.yaml - :language: yaml - :start-at: biomass: - :end-at: year: - +```yaml +{{ yaml_section("biomass.year") }} +``` -Configuration --------------- +### Configuration -For running myopic foresight transition scenarios, set in ``config/config.yaml``: +For running myopic foresight transition scenarios, set in `config/config.yaml`: -.. code:: yaml +```yaml +foresight: myopic +``` - foresight: myopic - -The following options included in the ``config/config.yaml`` file are relevant for the +The following options included in the `config/config.yaml` file are relevant for the myopic code. -The ``{planning_horizons}`` wildcard indicates the year in which the network is +The `{planning_horizons}` wildcard indicates the year in which the network is optimized. For a myopic optimization, this is equivalent to the investment year. To set the investment years which are sequentially simulated for the myopic investment planning, select for example: -.. literalinclude:: ../config/test/config.myopic.yaml - :language: yaml - :start-at: planning_horizons: - :end-before: countries: - +```yaml +{{ yaml_section("scenario.planning_horizons", source="test/config.myopic.yaml") }} +``` **existing capacities** @@ -123,24 +100,17 @@ Grouping years indicates the bins limits for grouping the existing capacities of different technologies. Note that separate bins are defined for the power and heating plants due to different data sources. -``grouping_years_power: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020, -2025, 2030]`` - -``grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019]`` - - - +`grouping_years_power: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020, +2025, 2030]` +`grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019]` **threshold capacity** If for a technology, node, and grouping bin, the capacity is lower than threshold_capacity, it is ignored. -``threshold_capacity: 10`` - - - +`threshold_capacity: 10` **conventional carriers** @@ -157,101 +127,88 @@ technologies. \- uranium - - - -Options --------------- +### Options The total carbon budget for the entire transition path can be indicated in the -`sector_opts -`__ -in ``config/config.yaml``. The carbon budget can be split among the -``planning_horizons`` following an exponential or beta decay. E.g. ``'cb40ex0'`` -splits a carbon budget equal to 40 Gt :math:`_{CO_2}` following an exponential +[sector_opts](https://github.com/PyPSA/pypsa-eur-sec/blob/f13902510010b734c510c38c4cae99356f683058/config.default.yaml#L25) +in `config/config.yaml`. The carbon budget can be split among the +`planning_horizons` following an exponential or beta decay. E.g. `'cb40ex0'` +splits a carbon budget equal to 40 Gt $_{CO_2}$ following an exponential decay whose initial linear growth rate r is zero. They can also follow some -user-specified path, if defined `here -`__. -The paper `Speed of technological transformations required in Europe to achieve -different climate goals (2022) `__ -defines CO_2 budgets corresponding to global temperature increases (1.5C – 2C) +user-specified path, if defined [here](https://github.com/PyPSA/pypsa-eur-sec/blob/413254e241fb37f55b41caba7264644805ad8e97/config.default.yaml#L56). +The paper [Speed of technological transformations required in Europe to achieve +different climate goals (2022)](https://doi.org/10.1016/j.joule.2022.04.016) +defines CO_2 budgets corresponding to global temperature increases (1.5C -- 2C) as response to the emissions. Here, global carbon budgets are converted to European budgets assuming equal-per capita distribution which translates into a 6.43% share for Europe. The carbon budgets are in this paper distributed throughout the transition paths assuming an exponential decay. Emissions e(t) in every year t are limited by -.. math:: - e(t) = e_0 (1+ (r+m)t) e^{-mt} +$$ +e(t) = e_0 (1+ (r+m)t) e^{-mt} +$$ where r is the initial linear growth rate, which here is assumed to be r=0, and the decay parameter m is determined by imposing the integral of the path to be equal to the budget for Europe. Following this approach, the CO_2 budget is defined. Following the same approach as in this paper, add the following to the -``scenario.sector_opts`` E.g. ``-cb25.7ex0`` (1.5C increase) Or ``cb73.9ex0`` -(2C increase). See details in Supplemental Note S1 `Speed of technological -transformations required in Europe to achieve different climate goals (2022) -`__. +`scenario.sector_opts` E.g. `-cb25.7ex0` (1.5C increase) Or `cb73.9ex0` +(2C increase). See details in Supplemental Note S1 [Speed of technological +transformations required in Europe to achieve different climate goals (2022)](https://doi.org/10.1016/j.joule.2022.04.016). - -General myopic code structure ---------------------------------- +### General myopic code structure The myopic code solves the network for the time steps included in -``planning_horizons`` in a recursive loop, so that: +`planning_horizons` in a recursive loop, so that: 1. The existing capacities (those installed before the base year are added as fixed capacities with p_nom=value, p_nom_extendable=False). E.g. for baseyear=2020, capacities installed before 2020 are added. In addition, the network comprises additional generator, storage, and link capacities with p_nom_extendable=True. The non-solved network is saved in - ``resources/run_name/networks``. + `resources/run_name/networks`. -The base year is the first element in ``planning_horizons``. Step 1 is +The base year is the first element in `planning_horizons`. Step 1 is implemented with the rule add_baseyear for the base year and with the rule add_brownfield for the remaining planning_horizons. 2. The 2020 network is optimized. The solved network is saved in - ``results/run_name/networks`` + `results/run_name/networks` 3. For the next planning horizon, e.g. 2030, the capacities from a previous time step are added if they are still in operation (i.e., if they fulfil planning horizon <= commissioned year + lifetime). In addition, the network comprises additional generator, storage, and link capacities with p_nom_extendable=True. The non-solved network is saved in - ``results/run_name/networks``. + `results/run_name/networks`. Steps 2 and 3 are solved recursively for all the planning_horizons included in -``config/config.yaml``. +`config/config.yaml`. -Rule overview --------------- +### Rule overview - rule add_existing baseyear The rule add_existing_baseyear loads the network in - ``resources/run_name/networks`` and performs the following operations: + `resources/run_name/networks` and performs the following operations: 1. Add the conventional, wind and solar power generators that were installed before the base year. 2. Add the heating capacities that were installed before the base year. - The existing conventional generators are retrieved from the `powerplants.csv - file - `__ - generated by pypsa-eur which, in turn, is based on the `powerplantmatching - `__ database. + The existing conventional generators are retrieved from the [powerplants.csv + file](https://pypsa-eur.readthedocs.io/en/latest/preparation/build_powerplants.html?highlight=powerplants) + generated by pypsa-eur which, in turn, is based on the [powerplantmatching](https://github.com/PyPSA/powerplantmatching) database. - Existing wind and solar capacities are retrieved from `IRENA annual statistics - `__ and distributed among the + Existing wind and solar capacities are retrieved from [IRENA annual statistics](https://www.irena.org/Statistics/Download-Data) and distributed among the nodes in a country proportional to capacity factor. (This will be updated to include capacity distributions closer to reality.) - Existing heating capacities are retrieved from the report `Mapping and + Existing heating capacities are retrieved from the report [Mapping and analyses of the current and future (2020 - 2030) heating/cooling fuel - deployment (fossil/renewables) - `__. + deployment (fossil/renewables)](https://ec.europa.eu/energy/studies/mapping-and-analyses-current-and-future-2020-2030-heatingcooling-fuel-deployment_en?redir=1). The heating capacities are assumed to have a lifetime indicated by the parameter lifetime in the configuration file, e.g 25 years. They are assumed @@ -259,7 +216,7 @@ Rule overview 2045. Then, the resulting network is saved in - ``resources/run_name/networks``. + `resources/run_name/networks`. - rule add_brownfield @@ -267,5 +224,3 @@ Rule overview in the previous time step and add them to the network if they are still in operation (i.e., if they fulfill planning horizon < commissioned year + lifetime) - - diff --git a/doc/hooks.py b/doc/hooks.py new file mode 100644 index 0000000000..98852f7829 --- /dev/null +++ b/doc/hooks.py @@ -0,0 +1,22 @@ +# SPDX-FileCopyrightText: Contributors to PyPSA-Eur +# +# SPDX-License-Identifier: MIT + +import os + +import requests + + +def on_page_markdown(markdown, page, config, files, **kwargs): + import re + + markdown = re.sub(r"(\[\^[^\]]+\]:.*)\n(\[\^)", r"\1\n\n\2", markdown) + return markdown + + +def on_post_build(config, **kwargs): + url = "https://zenodo.org/records/14144752/files/map.html?download=1" + out = os.path.join(config["site_dir"], "base-network-raw.html") + os.makedirs(os.path.dirname(out), exist_ok=True) + with open(out, "w") as f: + f.write(requests.get(url).text) diff --git a/doc/img/intro-workflow.png b/doc/img/intro-workflow.png index 6d0b2b6070..5859e2bc82 100644 Binary files a/doc/img/intro-workflow.png and b/doc/img/intro-workflow.png differ diff --git a/doc/img/workflow.png b/doc/img/workflow.png index 0b274af8e2..dbec135d3f 100644 Binary files a/doc/img/workflow.png and b/doc/img/workflow.png differ diff --git a/doc/index.md b/doc/index.md new file mode 100644 index 0000000000..7344f3ab58 --- /dev/null +++ b/doc/index.md @@ -0,0 +1,321 @@ + + + + +# Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP + +![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/open-energy-transition/open-tyndp?include_prereleases) +![commits behind PyPSA-Eur](https://img.shields.io/github/commits-difference/open-energy-transition/open-tyndp?base=master&head=PyPSA:pypsa-eur:master&label=commits%20behind%20PyPSA-Eur) +[![CI](https://github.com/open-energy-transition/open-tyndp/actions/workflows/test.yaml/badge.svg)](https://github.com/open-energy-transition/open-tyndp/actions) +[![Documentation](https://readthedocs.org/projects/open-tyndp/badge/?version=latest)](https://open-tyndp.readthedocs.io/en/latest/?badge=latest) +![GitHub repo size](https://img.shields.io/github/repo-size/open-energy-transition/open-tyndp) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.19372053.svg)](https://doi.org/10.5281/zenodo.19372053) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg)](https://doi.org/10.5281/zenodo.3938042) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14230568.svg)](https://doi.org/10.5281/zenodo.14230568) +[![Snakemake](https://img.shields.io/badge/snakemake-≥7.19-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io) +[![Discord](https://img.shields.io/discord/911692131440148490?logo=discord)](https://discord.gg/AnuJBk23FU) +[![REUSE](https://api.reuse.software/badge/github.com/open-energy-transition/open-tyndp)](https://api.reuse.software/info/github.com/open-energy-transition/open-tyndp) + + +!!! warning + Open-TYNDP is under active development and is not yet feature-complete. As of v0.7, Open TYNDP was successfully benchmarked against TYNDP 2024 (see [results](https://open-tyndp.openenergytransition.org)). The current [development status](#development-status) and the general [Limitations](limitations.md) are important to understand before using the model. + + +This repository introduces the open-source model of the Open-TYNDP research and innovation project, which is a collaboration between [Open Energy Transition (OET)](https://openenergytransition.org/) and the European Network of Transmission System Operators for Electricity (ENTSO-E). +The project's aim is to explore the capabilities of an open-source tool to replicate the Ten-Year Network Development Plan (TYNDP) 2024 by building a workflow based on [PyPSA-Eur](https://github.com/pypsa/pypsa-eur). +It seeks to complement the tools currently used in the TYNDP cycles, especially for Scenario Building (SB) and Cost-Benefit Analysis (CBA). This approach is designed to enhance transparency and lower barriers to stakeholder participation in European energy planning. Beyond Europe, the project aspires to demonstrate the viability of open-source (OS) frameworks in energy planning, encouraging broader global adoption. + +To build trust in and ensure reproducibility with the new open-source toolchain, the project first focuses on replicating key figures from the 2024 TYNDP cycle. This process involves developing new features within the open-source domain to address existing gaps, integrating tools for data interoperability and dynamic visualizations, and publishing best practices to encourage the adoption of open energy models. Additionally, the project emphasizes stakeholder consultations and [interactive workshops](https://open-energy-transition.github.io/open-tyndp-workshops/intro.html) alongside the development of the open-source tool, further promoting collaboration and transparency throughout the process. + +First outcomes for the TYNDP 2024 NT scenario are presented [here](https://open-tyndp.openenergytransition.org/), while preliminary outcomes and outputs for every release can be found on [Zenodo](https://zenodo.org/records/19388086). + +This repository is a soft-fork of [OET/PyPSA-Eur](https://github.com/open-energy-transition/pypsa-eur) and contains the entire project `Open-TYNDP` supported by OET, including code and documentation. The philosophy behind this repository is that no intermediary results are included, but all results are computed from raw data and code. + +Beyond Europe, the project aspires to demonstrate the viability of open-source (OS) frameworks in energy planning, encouraging broader global adoption. To build trust and ensure reproducibility, the project focuses on replicating key figures from the 2024 TYNDP cycle before aligning with current and future TYNDP cycles. + +## Why Open-TYNDP? + +- **Transparency** — Not only assumptions and inputs are visible and auditable, but the models themselves are fully open. +- **Reproducibility** — Any stakeholder is able to re-run the TYNDP 2024 National Trends scenario independently. +- **Additional Resource** — Facilitates broader expert contribution and peer review. +- **Automated Workflow** — The entire modelling process runs automatically from raw inputs to final outputs via [Snakemake](https://snakemake.readthedocs.io/) and [pixi](https://pixi.prefix.dev/). + +## What Can You Do Now? + +- **Independently reproduce** and examine the official TYNDP 2024 National Trends scenario. +- **Test custom scenarios** (e.g., alternative demand or RES assumptions) without starting from scratch. +- **Directly compare** open-source model results with ENTSO-E outputs in a transparent framework. +- **Collaborate** more easily across organizations using a shared, community-maintained codebase. +- **Scale globally** — Use the framework for regional data beyond Europe for transmission planning. + +## Who Benefits from This? + +- **TSO planners** — Faster iteration on grid investment scenarios and easier sensitivity analysis. +- **ENTSO-E leadership** — Credible, independent benchmarking builds process legitimacy. +- **Researchers & policymakers** — Full access to a pan-European model calibrated to official TYNDP 2024 data. +- **Grid planners beyond Europe** — A reusable framework for regional energy planning. + +## Open-Source ecosystem + +The Open-TYNDP repository builds on the open-source ecosystem of [PyPSA](https://github.com/pypsa/pypsa) and [PyPSA-Eur](https://github.com/pypsa/pypsa-eur) which are developed and maintained by several organizations, including [Open Energy Transition (OET)](https://openenergytransition.org/), [Technische Universität Berlin (TUB)](https://www.tu.berlin/en/ensys/), [Fraunhofer](https://www.fraunhofer.de/), [Ostbayerische Technische Hochschule (OTH)](https://www.oth-regensburg.de/en/), [Universita di Pisa (UNIPI)](https://www.unipi.it/en/) and [Danmarks Tekniske Universitet (DTU)](https://www.dtu.dk/english/). This group of maintainers consists of individuals who have significantly contributed to the projects over time and earned the authority to review and accept change requests. This privilege comes with the responsibility to continuously work on the repository and contribute to enhancements, stability, security and more. This worldwide ecosystem involves energy researchers, system operators, regulators, NGOs, and policymakers. + +![Open-Source Ecosystem](img/tyndp/open-source-ecosystem.png) + +Within this ecosystem, independent organisations can develop their own private repositories using the publicly available Open-TYNDP and PyPSA-Eur codebases. This shared foundation ensures interoperability and creates opportunities for partnership through sharing and co-developing features. By using a soft-fork strategy, each private repository can benefit from the shared research and development environment and voluntarily contribute features. The shared foundation also enables organisations to request support and feature development from other actors. + +Each organisation in this open-source ecosystem remains fully independent of the shared foundation, maintaining its own governance structure and decision-making processes regarding its codebase. Organisations are also free to keep parts of their code and sensitive data completely private. + + +## Development status {#development-status} + +!!! warning + Open-TYNDP is under active development and is not yet feature-complete. The current development status and general [limitations](limitations.md) are important to understand before using the model. Benchmarking against the TYNDP 2024 cycle is complete and the results can be viewed [online](https://open-tydnp.openenergytransition.org). The github repository [issues](https://github.com/open-energy-transition/open-tyndp/issues) collects known topics we are working on (please feel free to help or make suggestions). The fact that this project relies on a soft-fork strategy implies that [upstream issues](https://github.com/PyPSA/PyPSA-Eur/issues) need to be addressed in the PyPSA-Eur repository. This [documentation](https://open-tyndp.readthedocs.io/) also remains work in progress. + +### Already implemented features + +The back-casting of the 2024 TYNDP cycle involves developing new features based on the published [modelling methodology report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Methodology_Report_Final_Version_250128.pdf). Major and already implemented features are summarized below. Please, refer to the [release_notes](release_notes.md) for a more comprehensive list of features and to the relevant [pull requests](https://github.com/open-energy-transition/open-tyndp/pulls?q=is%3Apr+label%3A%22major+feature%22) for extensive documentation of the implementations. + +- Introduced a benchmarking framework that assesses Open-TYNDP quality against published TYNDP 2024 data from the report, the market model outputs and the Visualisation Platform (see PRs [#73](https://github.com/open-energy-transition/open-tyndp/pull/73), [#117](https://github.com/open-energy-transition/open-tyndp/pull/117), [#281](https://github.com/open-energy-transition/open-tyndp/pull/281), [#467](https://github.com/open-energy-transition/open-tyndp/pull/467), [#543](https://github.com/open-energy-transition/open-tyndp/pull/543), [#574](https://github.com/open-energy-transition/open-tyndp/pull/574), [#607](https://github.com/open-energy-transition/open-tyndp/pull/607), [#615](https://github.com/open-energy-transition/open-tyndp/pull/615), [#609](https://github.com/open-energy-transition/open-tyndp/pull/609), [#604](https://github.com/open-energy-transition/open-tyndp/pull/604), [#667](https://github.com/open-energy-transition/open-tyndp/pull/667), [#663](https://github.com/open-energy-transition/open-tyndp/pull/663), [#657](https://github.com/open-energy-transition/open-tyndp/pull/657), [#680](https://github.com/open-energy-transition/open-tyndp/pull/680) and [#718](https://github.com/open-energy-transition/open-tyndp/pull/718)). +- Introduced the electricity and hydrogen reference grids from TYNDP 2024 grid data (see PRs [#18](https://github.com/open-energy-transition/open-tyndp/pull/18), [#17](https://github.com/open-energy-transition/open-tyndp/pull/17), [#340](https://github.com/open-energy-transition/open-tyndp/pull/340), [#475](https://github.com/open-energy-transition/open-tyndp/pull/475), [#489](https://github.com/open-energy-transition/open-tyndp/pull/489), [#496](https://github.com/open-energy-transition/open-tyndp/pull/496), [#527](https://github.com/open-energy-transition/open-tyndp/pull/527), [#537](https://github.com/open-energy-transition/open-tyndp/pull/537), [#611](https://github.com/open-energy-transition/open-tyndp/pull/611)), including hydrogen import potentials and corridors from outside of the modelled countries (see PR [#36](https://github.com/open-energy-transition/open-tyndp/pull/36)). +- Introduced TYNDP offshore wind hubs topology with both electric and hydrogen infrastructure, offshore electrolysers, and detailed wind farm characteristics (see PR [#54](https://github.com/open-energy-transition/open-tyndp/pull/54), [#654](https://github.com/open-energy-transition/open-tyndp/pull/654) and [#656](https://github.com/open-energy-transition/open-tyndp/pull/656)). +- Added processing, preparation and attaching of PECD v3.1 renewable profiles and PEMMDB v2.5 hydro inflows to their corresponding components (see PRs [#53](https://github.com/open-energy-transition/open-tyndp/pull/53), [#71](https://github.com/open-energy-transition/open-tyndp/pull/71), [#473](https://github.com/open-energy-transition/open-tyndp/pull/473) for PECD; [#77](https://github.com/open-energy-transition/open-tyndp/pull/77), [#338](https://github.com/open-energy-transition/open-tyndp/pull/338) for PEMMDB hydro inflows). +- Added processing and preparation of PEMMDB v2.5 capacity, must-run, and availability data, along with expansion trajectories for conventional and renewable power generation, electrolysers, batteries, and DSR (see PR [#97](https://github.com/open-energy-transition/open-tyndp/pull/97)). +- Added the TYNDP electricity, hydrogen, methane demands as exogenous demands (see PRs [#14](https://github.com/open-energy-transition/open-tyndp/pull/14) for electricity; [#169](https://github.com/open-energy-transition/open-tyndp/pull/169), [#230](https://github.com/open-energy-transition/open-tyndp/pull/230) and [#531](https://github.com/open-energy-transition/open-tyndp/pull/531) for hydrogen; and [#208](https://github.com/open-energy-transition/open-tyndp/pull/208) and [#220](https://github.com/open-energy-transition/open-tyndp/pull/220) for methane). +- Added option to use the TYNDP H2 topology including the TYNDP H2 reference grid, H2 Z1 and Z2 setup, production, reconversion and storage technologies (see PR [#17](https://github.com/open-energy-transition/open-tyndp/pull/17)). +- Added TYNDP solar, onwind, hydro, conventional thermal, other RES, other non-RES and DSR generation using PEMMDB capacities, must-runs and availabilities (see PRs [#115](https://github.com/open-energy-transition/open-tyndp/pull/115), [#139](https://github.com/open-energy-transition/open-tyndp/pull/139) and [#564](https://github.com/open-energy-transition/open-tyndp/pull/564) for solar and onwind; [#338](https://github.com/open-energy-transition/open-tyndp/pull/338) for hydro; [#195](https://github.com/open-energy-transition/open-tyndp/pull/195) for conventionals; [#521](https://github.com/open-energy-transition/open-tyndp/pull/521) for Other RES; [#535](https://github.com/open-energy-transition/open-tyndp/pull/535) for Other Non-RES; [#598](https://github.com/open-energy-transition/open-tyndp/pull/598) for DSR), electrolyzer PEMMDB capacities (only for NT scenario) (see PR [#248](https://github.com/open-energy-transition/open-tyndp/pull/248)) and load shedding (see PRs [#494](https://github.com/open-energy-transition/open-tyndp/pull/494), [#505](https://github.com/open-energy-transition/open-tyndp/pull/505) and [#547](https://github.com/open-energy-transition/open-tyndp/pull/547)). +- Added CO2 emission prices per planning horizon (see PR [#198](https://github.com/open-energy-transition/open-tyndp/pull/198)). +- Introduced a workflow structure for performing Cost-Benefit Analysis (CBA) using both TOOT (Take One Out at a Time) and PINT (Put In at a Time) methodologies for TYNDP transmission and storage projects on top of the SB results (see PR [#149](https://github.com/open-energy-transition/open-tyndp/pull/149)). +- Added the PINT and TOOT reference and project network preparation for CBA (see PRs [#199](https://github.com/open-energy-transition/open-tyndp/pull/199), [#211](https://github.com/open-energy-transition/open-tyndp/pull/211), [#353](https://github.com/open-energy-transition/open-tyndp/pull/353), [#426](https://github.com/open-energy-transition/open-tyndp/pull/426)). +- Added weekly rolling horizon optimization for CBA networks (see PRs [#217](https://github.com/open-energy-transition/open-tyndp/pull/217), [#385](https://github.com/open-energy-transition/open-tyndp/pull/385), [#441](https://github.com/open-energy-transition/open-tyndp/pull/441)). +- Introduced calculation of B1, B2, B3 and B4 indicator in the CBA (see PRs [#186](https://github.com/open-energy-transition/open-tyndp/pull/186), [#523](https://github.com/open-energy-transition/open-tyndp/pull/523), [#578](https://github.com/open-energy-transition/open-tyndp/pull/578), [#348](https://github.com/open-energy-transition/open-tyndp/pull/348), [#350](https://github.com/open-energy-transition/open-tyndp/pull/350), [#398](https://github.com/open-energy-transition/open-tyndp/pull/398), [#668](https://github.com/open-energy-transition/open-tyndp/pull/668)). +- Added automated Windows installer with Azure Artifact Signing for easy setup on Windows systems (see PR [#333](https://github.com/open-energy-transition/open-tyndp/pull/333), [#471](https://github.com/open-energy-transition/open-tyndp/pull/471)). +- Automatically launched PyPSA-Explorer to investigate run results (see PR [#443](https://github.com/open-energy-transition/open-tyndp/pull/443)). +- Added SMR (grey hydrogen) and SMR + Carbon Capture (blue hydrogen) capacities and assumptions from TYNDP 2024 hydrogen data and enabled H2 load shedding with cost of 3000 EUR/MWh_H2 (see PR [#490](https://github.com/open-energy-transition/open-tyndp/pull/490)). +- Added H2 cavern and tank storages with existing energy and charge/discharge capacities (see PR [#552](https://github.com/open-energy-transition/open-tyndp/pull/552)). +- Added PEMMDB common data assumptions from ERAA 2025 for power plant type specific efficiencies and VOM (see PR [#541](https://github.com/open-energy-transition/open-tyndp/pull/541)). +- Added battery store capacities and assumptions using PEMMDB data (see PR [#253](https://github.com/open-energy-transition/open-tyndp/pull/253/)). +- Added Open-TYNDP data store option for fully reproducible runs without third-party data providers (see PR [#682](https://github.com/open-energy-transition/open-tyndp/pull/682)). Six datasets currently remain to be retrieved from primary sources due to licensing constraints. + + + + + + + + +
FeatureTYNDP 2024 topologyOpen-TYNDP topology
Electricity GridTYNDP 2024 electricity topologyOpen-TYNDP electricity topology
Hydrogen GridTYNDP 2024 hydrogen topologyOpen-TYNDP hydrogen topology
Offshore GridTYNDP 2024 offshore topologyOpen-TYNDP offshore topology
+ + +### Features in development + +While multiple TYNDP features are already introduced to the Open-TYNDP model, there are several other features and assumptions that are still in development and currently rely on default implementations and assumptions from PyPSA-Eur. + +| **Milestone** | **Feature** | **PR** | **Status** | +|---|---|---|---| +| **Visualizations and workflow automation** | Automated workflow | | ✅ | +| | TYNDP plotting routines | [#443](https://github.com/open-energy-transition/open-tyndp/pull/443), [#669](https://github.com/open-energy-transition/open-tyndp/pull/669) | 🔨 | +| **Automated tests and benchmarks** | Automated benchmarking routine | [#73](https://github.com/open-energy-transition/open-tyndp/pull/73), [#117](https://github.com/open-energy-transition/open-tyndp/pull/117), [#281](https://github.com/open-energy-transition/open-tyndp/pull/281), [#467](https://github.com/open-energy-transition/open-tyndp/pull/467), [#543](https://github.com/open-energy-transition/open-tyndp/pull/543), [#574](https://github.com/open-energy-transition/open-tyndp/pull/574), [#607](https://github.com/open-energy-transition/open-tyndp/pull/607), [#615](https://github.com/open-energy-transition/open-tyndp/pull/615), [#609](https://github.com/open-energy-transition/open-tyndp/pull/609), [#604](https://github.com/open-energy-transition/open-tyndp/pull/604), [#667](https://github.com/open-energy-transition/open-tyndp/pull/667), [#663](https://github.com/open-energy-transition/open-tyndp/pull/663), [#657](https://github.com/open-energy-transition/open-tyndp/pull/657), [#680](https://github.com/open-energy-transition/open-tyndp/pull/680), [#718](https://github.com/open-energy-transition/open-tyndp/pull/718) | ✅ | +| **TYNDP modelling features** | Perfect foresight optimization | | ⌛ | +| | Security of Supply (SoS) loop | | ⌛ | +| **Existing infrastructure and associated parameters** | Electricity reference grid | [#18](https://github.com/open-energy-transition/open-tyndp/pull/18), [#340](https://github.com/open-energy-transition/open-tyndp/pull/340), [#489](https://github.com/open-energy-transition/open-tyndp/pull/489), [#496](https://github.com/open-energy-transition/open-tyndp/pull/496), [#527](https://github.com/open-energy-transition/open-tyndp/pull/527) | ✅ | +| | Hydrogen reference grid | [#17](https://github.com/open-energy-transition/open-tyndp/pull/17), [#36](https://github.com/open-energy-transition/open-tyndp/pull/36), [#475](https://github.com/open-energy-transition/open-tyndp/pull/475), [#537](https://github.com/open-energy-transition/open-tyndp/pull/537), [#611](https://github.com/open-energy-transition/open-tyndp/pull/611) | ✅ | +| | Offshore grid | [#54](https://github.com/open-energy-transition/open-tyndp/pull/54), [#654](https://github.com/open-energy-transition/open-tyndp/pull/654), [#656](https://github.com/open-energy-transition/open-tyndp/pull/656) | ✅ | +| | PECD data | [#53](https://github.com/open-energy-transition/open-tyndp/pull/53), [#71](https://github.com/open-energy-transition/open-tyndp/pull/71), [#473](https://github.com/open-energy-transition/open-tyndp/pull/473) | ✅ | +| | Hydro inflows | [#77](https://github.com/open-energy-transition/open-tyndp/pull/77), [#338](https://github.com/open-energy-transition/open-tyndp/pull/338) | ✅ | +| | PEMMDB capacities & must-runs processing | [#97](https://github.com/open-energy-transition/open-tyndp/pull/97) | ✅ | +| | Investment candidates trajectories processing | [#97](https://github.com/open-energy-transition/open-tyndp/pull/97) | ✅ | +| **TYNDP demand** | Electricity | [#14](https://github.com/open-energy-transition/open-tyndp/pull/14) | ✅ | +| | Hydrogen | [#169](https://github.com/open-energy-transition/open-tyndp/pull/169), [#230](https://github.com/open-energy-transition/open-tyndp/pull/230), [#531](https://github.com/open-energy-transition/open-tyndp/pull/531) | ✅ | +| | Methane | [#208](https://github.com/open-energy-transition/open-tyndp/pull/208), [#220](https://github.com/open-energy-transition/open-tyndp/pull/220) | 🔨 | +| | Synthetic fuels | | ⌛ | +| | District heating | | ⌛ | +| | Energy imports | | ⌛ | +| **TYNDP technologies and carriers** | TYNDP generation technologies (incl. SRES and DRES) | [#115](https://github.com/open-energy-transition/open-tyndp/pull/115), [#139](https://github.com/open-energy-transition/open-tyndp/pull/139), [#195](https://github.com/open-energy-transition/open-tyndp/pull/195), [#248](https://github.com/open-energy-transition/open-tyndp/pull/248), [#338](https://github.com/open-energy-transition/open-tyndp/pull/338), [#447](https://github.com/open-energy-transition/open-tyndp/pull/447), [#494](https://github.com/open-energy-transition/open-tyndp/pull/494), [#505](https://github.com/open-energy-transition/open-tyndp/pull/505), [#490](https://github.com/open-energy-transition/open-tyndp/pull/490), [#521](https://github.com/open-energy-transition/open-tyndp/pull/521), [#535](https://github.com/open-energy-transition/open-tyndp/pull/535), [#564](https://github.com/open-energy-transition/open-tyndp/pull/564), [#552](https://github.com/open-energy-transition/open-tyndp/pull/552), [#541](https://github.com/open-energy-transition/open-tyndp/pull/541), [#253](https://github.com/open-energy-transition/open-tyndp/pull/253), [#598](https://github.com/open-energy-transition/open-tyndp/pull/598), [#547](https://github.com/open-energy-transition/open-tyndp/pull/547) | 🔨 | +| | Prosumer modelling | | ⌛ | +| | EV modelling | | ⌛ | +| | Synthetic fuel carriers | | ⌛ | +| | Hybrid heat pumps | | ⌛ | +| | Industrial electricity and hydrogen demands | | ⌛ | +| | Hydrogen zones | [#17](https://github.com/open-energy-transition/open-tyndp/pull/17) | ✅ | +| **CBA Assessment Framework** | TOOT/PINT methodology | [#149](https://github.com/open-energy-transition/open-tyndp/pull/149), [#199](https://github.com/open-energy-transition/open-tyndp/pull/199), [#211](https://github.com/open-energy-transition/open-tyndp/pull/211), [#217](https://github.com/open-energy-transition/open-tyndp/pull/217), [#353](https://github.com/open-energy-transition/open-tyndp/pull/353), [#385](https://github.com/open-energy-transition/open-tyndp/pull/385), [#426](https://github.com/open-energy-transition/open-tyndp/pull/426) | 🔨 | +| | Climate years (weighted average) | [#529](https://github.com/open-energy-transition/open-tyndp/pull/529) | 🔨 | +| | **CBA Benchmarking** | [#405](https://github.com/open-energy-transition/open-tyndp/pull/405) | ✅ | +| **CBA Benefit Indicators** | B1: Socioeconomic Welfare (SEW) | [#186](https://github.com/open-energy-transition/open-tyndp/pull/186), [#523](https://github.com/open-energy-transition/open-tyndp/pull/523), [#578](https://github.com/open-energy-transition/open-tyndp/pull/578), [#668](https://github.com/open-energy-transition/open-tyndp/pull/668) | ✅ | +| | B2: CO₂ Variation with societal costs | [#348](https://github.com/open-energy-transition/open-tyndp/pull/348), [#709](https://github.com/open-energy-transition/open-tyndp/pull/709) | ✅ | +| | B3: DRES Integration (curtailment reduction) | [#350](https://github.com/open-energy-transition/open-tyndp/pull/350) | ✅ | +| | B4: Non-CO₂ Emissions (NOx, SOx, PM2.5/10, NMVOC, NH₃) | [#398](https://github.com/open-energy-transition/open-tyndp/pull/398), [#709](https://github.com/open-energy-transition/open-tyndp/pull/709) | ✅ | +| | B5: Grid Losses, B6: Adequacy, B7: Flexibility, B8: Stability, B9: Reserves reduction | n/a | | + +!!! note "See also" + See also the [GitHub repository issues](https://github.com/open-energy-transition/open-tyndp/issues) for a comprehensive list of currently open issues. + + +## Citing Open-TYNDP + +If you want to cite a specific Open-TYNDP version, since v0.6, each release is archived on Zenodo with a release-specific DOI: + +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.19372053.svg)](https://doi.org/10.5281/zenodo.19372053) + + +Versions v0.5 and v0.5.1 are archived at [10.5281/zenodo.18494362](https://doi.org/10.5281/zenodo.18494362). + +If you use Open-TYNDP in your research, please cite it as shown on Zenodo or using the "Cite this repository" button in the sidebar of [Open-TYNDP](https://github.com/open-energy-transition/open-tyndp). + +This work builds upon [PyPSA-Eur](https://github.com/pypsa/pypsa-eur) and follows the methodology described in [ENTSO-E's and entsog's TYNDP 2024 Scenarios Methodology Report](https://2024.entsos-tyndp-scenarios.eu/scenarios-methodology-report/). + + +## Background on PyPSA-Eur + +### Electricity System + +The electricity system representation contains alternating current lines at +and above 220 kV voltage level and all high voltage direct current lines, +substations, an open database of conventional power plants, time series for +electrical demand and variable renewable generator availability, geographic +potentials for the expansion of wind and solar power. + +The model is suitable both for operational studies and generation and +transmission expansion planning studies. The continental scope and highly +resolved spatial scale enables a proper description of the long-range smoothing +effects for renewable power generation and their varying resource availability. + +![](img/base.png){width=70%} + +### Sector-Coupled Energy System + +A sector-coupled extension (previously known as **PyPSA-Eur-Sec**, which is now +deprecated) adds demand and supply for the following sectors: transport, space +and water heating, biomass, energy consumption in the agriculture, industry and +industrial feedstocks, carbon management, carbon capture and +usage/sequestration. This completes the energy system and includes all +greenhouse gas emitters except waste management, agriculture, forestry and land +use. The diagram below gives an overview of the sectors and the links between +them: + +![](img/multisector_figure.png){width=70%} + +!!! note + You can find showcases of the model's capabilities in the Supplementary Materials of the + Joule paper [The potential role of a hydrogen network in Europe](https://doi.org/10.1016/j.joule.2023.06.016), the Supplementary Materials of another [paper in Joule with a + description of the industry sector](https://doi.org/10.1016/j.joule.2022.04.016), or in [a 2021 presentation + at EMP-E](https://nworbmot.org/energy/brown-empe.pdf). + The sector-coupled extension of PyPSA-Eur was + initially described in the paper [Synergies of sector coupling and transmission + reinforcement in a cost-optimised, highly renewable European energy system](https://arxiv.org/abs/1801.05290) (2018) but it differs by being based on the + higher resolution electricity transmission model [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) rather than a one-node-per-country model, + and by including biomass, industry, industrial feedstocks, aviation, shipping, + better carbon management, carbon capture and usage/sequestration, and gas + networks. + +### About + +PyPSA-Eur is designed to be imported into the open energy system modelling +framework [PyPSA](https://www.pypsa.org) for which [documentation](https://pypsa.readthedocs.io) is available as well. However, since the +workflow is modular, it should be easy to adapt the data workflow to other +modelling frameworks. + +The restriction to freely available and open data encourages the open exchange +of model data developments and eases the comparison of model results. It +provides a full, automated software pipeline to assemble the load-flow-ready +model from the original datasets, which enables easy replacement and improvement +of the individual parts. + +!!! warning + PyPSA-Eur is under active development and has several + [limitations](limitations.md) which + you should understand before using the model. The Github repository + [issues](https://github.com/PyPSA/pypsa-eur/issues) collect known + topics we are working on. Please feel free to help or make suggestions. + +This project is currently maintained by the [Department of Digital +Transformation in Energy Systems](https://www.tu.berlin/en/ensys) at the +[Technische Universität Berlin](https://www.tu.berlin). Previous versions were +developed within the [IAI](http://www.iai.kit.edu) at the [Karlsruhe Institute +of Technology (KIT)](http://www.kit.edu/english/index.php) which was funded by +the [Helmholtz Association](https://www.helmholtz.de/en/), and by the +[Renewable Energy Group](https://fias.uni-frankfurt.de/physics/schramm/renewable-energy-system-and-network-analysis/) +at [FIAS](https://fias.uni-frankfurt.de/) to carry out simulations for the +[CoNDyNet project](http://condynet.de/), financed by the [German Federal +Ministry for Education and Research (BMBF)](https://www.bmbf.de/en/index.html) +as part of the [Stromnetze Research Initiative](http://forschung-stromnetze.info/projekte/grundlagen-und-konzepte-fuer-effiziente-dezentrale-stromnetze/). + +### Workflow + +[![Workflow](img/workflow.svg)](img/workflow.svg) + +!!! note + The graph above was generated using + `pixi run snakemake --rulegraph -F | sed -n "/digraph/,/}/p" | dot -Tsvg -o doc/img/workflow.svg` + +### Learning Energy System Modelling + +If you are (relatively) new to energy system modelling and optimisation and plan +to use PyPSA-Eur, the following resources are one way to get started in addition +to reading this documentation. + +- Documentation of [PyPSA](https://pypsa.readthedocs.io), the package for + modelling energy systems which PyPSA-Eur uses under the hood. +- Course on [Energy Systems](https://nworbmot.org/courses/es-22/) given at + Technical University of Berlin by [Prof. Dr. Tom Brown](https://nworbmot.org). +- Course on [Data Science for Energy System Modelling](https://fneum.github.io/data-science-for-esm/intro.html) + given at Technical University of Berlin by [Dr. Fabian Neumann](https://neumann.fyi). + +### Citing PyPSA-Eur + +If you use PyPSA-Eur for your research, we would appreciate it if you would cite one of the following papers: + +For electricity-only studies: + +```bibtex +@article{PyPSAEur, + author = "Jonas Hoersch and Fabian Hofmann and David Schlachtberger and Tom Brown", + title = "PyPSA-Eur: An open optimisation model of the European transmission system", + journal = "Energy Strategy Reviews", + volume = "22", + pages = "207--215", + year = "2018", + doi = "10.1016/j.esr.2018.08.012", + eprint = "1806.01613" +} +``` + +For sector-coupling studies: + +```bibtex +@misc{PyPSAEurSec, + author = "Fabian Neumann and Elisabeth Zeyen and Marta Victoria and Tom Brown", + title = "The potential role of a hydrogen network in Europe", + journal = "Joule", + volume = "7", + pages = "1--25", + year = "2023", + eprint = "2207.05816", + doi = "10.1016/j.joule.2023.06.016", +} +``` + +For sector-coupling studies with pathway optimisation: + +```bibtex +@article{SpeedTechnological2022, + title = "Speed of technological transformations required in {Europe} to achieve different climate goals", + author = "Marta Victoria and Elisabeth Zeyen and Tom Brown", + journal = "Joule", + volume = "6", + number = "5", + pages = "1066--1086", + year = "2022", + doi = "10.1016/j.joule.2022.04.016", + eprint = "2109.09563", +} +``` + +If you want to cite a specific PyPSA-Eur version, each release of PyPSA-Eur is stored on Zenodo with a release-specific DOI: + +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874) + +### Operating Systems + +The PyPSA-Eur workflow is continuously tested for Linux, macOS and Windows (WSL only). + diff --git a/doc/index.rst b/doc/index.rst deleted file mode 100644 index 253cf1a5a0..0000000000 --- a/doc/index.rst +++ /dev/null @@ -1,602 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -############################################################################################################# -Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP -############################################################################################################# - -.. image:: https://img.shields.io/github/v/release/open-energy-transition/open-tyndp?include_prereleases - :alt: GitHub release (latest by date including pre-releases) - -.. image:: https://img.shields.io/github/commits-difference/open-energy-transition/open-tyndp?base=master&head=PyPSA:pypsa-eur:master&label=commits%20behind%20PyPSA-Eur - :alt: commits behind PyPSA-Eur - -.. image:: https://github.com/open-energy-transition/open-tyndp/actions/workflows/test.yaml/badge.svg - :target: https://github.com/open-energy-transition/open-tyndp/actions - -.. image:: https://readthedocs.org/projects/pypsa-eur/badge/?version=latest - :target: https://pypsa-eur.readthedocs.io/en/latest/?badge=latest - :alt: Documentation - -.. image:: https://img.shields.io/github/repo-size/open-energy-transition/open-tyndp - :alt: GitHub repo size - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.19372053.svg - :target: https://doi.org/10.5281/zenodo.19372053 - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg - :target: https://doi.org/10.5281/zenodo.3520874 - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg - :target: https://doi.org/10.5281/zenodo.3938042 - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.14230568.svg - :target: https://doi.org/10.5281/zenodo.14230568 - -.. image:: https://img.shields.io/badge/snakemake-≥7.19-brightgreen.svg?style=flat - :target: https://snakemake.readthedocs.io - :alt: Snakemake - -.. image:: https://img.shields.io/discord/911692131440148490?logo=discord - :target: https://discord.gg/AnuJBk23FU - :alt: Discord - -.. image:: https://api.reuse.software/badge/github.com/open-energy-transition/open-tyndp - :target: https://api.reuse.software/info/github.com/open-energy-transition/open-tyndp - :alt: REUSE - - -| - -.. warning:: - Open-TYNDP is under active development and is not yet feature-complete. The current `development status `__ and the general `Limitations `__ are important to understand before using the model. - - -This repository introduces the open-source model of the Open-TYNDP research and innovation project, which is a collaboration between `Open Energy Transition (OET) `__ and the European Network of Transmission System Operators for Electricity (ENTSO-E). -The project’s aim is to explore the capabilities of an open-source tool to replicate the Ten-Year Network Development Plan (TYNDP) 2024 by building a workflow based on `PyPSA-Eur `__. -It seeks to complement the tools currently used in the TYNDP cycles, especially for Scenario Building (SB) and Cost-Benefit Analysis (CBA). This approach is designed to enhance transparency and lower barriers to stakeholder participation in European energy planning. Beyond Europe, the project aspires to demonstrate the viability of open-source (OS) frameworks in energy planning, encouraging broader global adoption. - -To build trust in and ensure reproducibility with the new open-source toolchain, the project first focuses on replicating key figures from the 2024 TYNDP cycle. This process involves developing new features within the open-source domain to address existing gaps, integrating tools for data interoperability and dynamic visualizations, and publishing best practices to encourage the adoption of open energy models. Additionally, the project emphasizes stakeholder consultations and `interactive workshops `__ alongside the development of the open-source tool, further promoting collaboration and transparency throughout the process. - -First outcomes for the TYNDP 2024 NT scenario are presented `here `_, while preliminary outcomes and outputs for every release can be found on `Zenodo `_. - -This repository is a soft-fork of `OET/PyPSA-Eur `__ and contains the entire project `Open-TYNDP` supported by OET, including code and documentation. The philosophy behind this repository is that no intermediary results are included, but all results are computed from raw data and code. - -Beyond Europe, the project aspires to demonstrate the viability of open-source (OS) frameworks in energy planning, encouraging broader global adoption. To build trust and ensure reproducibility, the project focuses on replicating key figures from the 2024 TYNDP cycle before aligning with current and future TYNDP cycles. - -Why Open-TYNDP? -============== - -- **Transparency** — Not only assumptions and inputs are visible and auditable, but the models themselves are fully open. -- **Reproducibility** — Any stakeholder is able to re-run the TYNDP 2024 National Trends scenario independently. -- **Additional Resource** — Facilitates broader expert contribution and peer review. -- **Automated Workflow** — The entire modelling process runs automatically from raw inputs to final outputs via `Snakemake `__ and `pixi `__. - -What Can You Do Now? -==================== - -- **Independently reproduce** and examine the official TYNDP 2024 National Trends scenario. -- **Test custom scenarios** (e.g., alternative demand or RES assumptions) without starting from scratch. -- **Directly compare** open-source model results with ENTSO-E outputs in a transparent framework. -- **Collaborate** more easily across organizations using a shared, community-maintained codebase. -- **Scale globally** — Use the framework for regional data beyond Europe for transmission planning. - -Who Benefits from This? -======================= - -- **TSO planners** — Faster iteration on grid investment scenarios and easier sensitivity analysis. -- **ENTSO-E leadership** — Credible, independent benchmarking builds process legitimacy. -- **Researchers & policymakers** — Full access to a pan-European model calibrated to official TYNDP 2024 data. -- **Grid planners beyond Europe** — A reusable framework for regional energy planning. - -Open-Source ecosystem -================== - -The Open-TYNDP repository builds on the open-source ecosystem of `PyPSA `__ and `PyPSA-Eur `__ which are developed and maintained by several organizations, including `Open Energy Transition (OET) `__, `Technische Universität Berlin (TUB) `__, `Fraunhofer `__, `Ostbayerische Technische Hochschule (OTH) `__, `Universita di Pisa (UNIPI) `__ and `Danmarks Tekniske Universitet (DTU) `__. This group of maintainers consists of individuals who have significantly contributed to the projects over time and earned the authority to review and accept change requests. This privilege comes with the responsibility to continuously work on the repository and contribute to enhancements, stability, security and more. This worldwide ecosystem involves energy researchers, system operators, regulators, NGOs, and policymakers. - -.. image:: img/tyndp/open-source-ecosystem.png - :align: center - :alt: Open-Source Ecosystem - -Within this ecosystem, independent organisations can develop their own private repositories using the publicly available Open-TYNDP and PyPSA-Eur codebases. This shared foundation ensures interoperability and creates opportunities for partnership through sharing and co-developing features. By using a soft-fork strategy, each private repository can benefit from the shared research and development environment and voluntarily contribute features. The shared foundation also enables organisations to request support and feature development from other actors. - -Each organisation in this open-source ecosystem remains fully independent of the shared foundation, maintaining its own governance structure and decision-making processes regarding its codebase. Organisations are also free to keep parts of their code and sensitive data completely private. - -| - -.. _development-status: - -Development status -================== - -.. warning:: - Open-TYNDP is under active development and is not yet feature-complete. The current development status and general :doc:`limitations` are important to understand before using the model. The model includes partial data from the TYNDP 2024 cycle, and its benchmarking is ongoing. The github repository `issues `__ collects known topics we are working on (please feel free to help or make suggestions). The fact that this project relies on a soft-fork strategy implies that `upstream issues `__ need to be addressed in the PyPSA-Eur repository. This `documentation `__ also remains work in progress. - -Already implemented features -------------------------------- - -The back-casting of the 2024 TYNDP cycle involves developing new features based on the published `modelling methodology report `__. Major and already implemented features are summarized below. Please, refer to the :doc:`release_notes` for a more comprehensive list of features and to the relevant `pull requests `__ for extensive documentation of the implementations. - -- Introduced a benchmarking framework that assesses Open-TYNDP quality against published TYNDP 2024 data from the report, the market model outputs and the Visualisation Platform (see PRs `#73 `__, `#117 `__, `#281 `__, `#467 `__, `#543 `__, `#574 `__, `#607 `__, `#615 `__, `#609 `__, `#604 `__, `#667 `__, `#663 `__, `#657 `__, `#680 `__ and `#718 `__). -- Introduced the electricity and hydrogen reference grids from TYNDP 2024 grid data (see PRs `#18 `__, `#17 `__, `#340 `__, `#475 `__, `#489 `__, `#496 `__, `#527 `__, `#537 `__, `#611 `__), including hydrogen import potentials and corridors from outside of the modelled countries (see PR `#36 `__). -- Introduced TYNDP offshore wind hubs topology with both electric and hydrogen infrastructure, offshore electrolysers, and detailed wind farm characteristics (see PR `#54 `__, `#654 `__ and `#656 `__). -- Added processing, preparation and attaching of PECD v3.1 renewable profiles and PEMMDB v2.5 hydro inflows to their corresponding components (see PRs `#53 `__, `#71 `__, `#473 `__ for PECD; `#77 `__, `#338 `__ for PEMMDB hydro inflows). -- Added processing and preparation of PEMMDB v2.5 capacity, must-run, and availability data, along with expansion trajectories for conventional and renewable power generation, electrolysers, batteries, and DSR (see PR `#97 `__). -- Added the TYNDP electricity, hydrogen, methane demands as exogenous demands (see PRs `#14 `__ for electricity; `#169 `__, `#230 `__ and `#531 `__ for hydrogen; and `#208 `__ and `#220 `__ for methane). -- Added option to use the TYNDP H2 topology including the TYNDP H2 reference grid, H2 Z1 and Z2 setup, production, reconversion and storage technologies (see PR `#17 `__). -- Added TYNDP solar, onwind, hydro, conventional thermal, other RES, other non-RES and DSR generation using PEMMDB capacities, must-runs and availabilities (see PRs `#115 `__, `#139 `__ and `#564 `__ for solar and onwind; `#338 `__ for hydro; `#195 `__ for conventionals; `#521 `__ for Other RES; `#535 `__ for Other Non-RES; `#598 `__ for DSR), electrolyzer PEMMDB capacities (only for NT scenario) (see PR `#248 `__) and load shedding (see PRs `#494 `__, `#505 `__ and `#547 `__). -- Added CO2 emission prices per planning horizon (see PR `#198 `__). -- Introduced a workflow structure for performing Cost-Benefit Analysis (CBA) using both TOOT (Take One Out at a Time) and PINT (Put In at a Time) methodologies for TYNDP transmission and storage projects on top of the SB results (see PR `#149 `__). -- Added the PINT and TOOT reference and project network preparation for CBA (see PRs `#199 `__, `#211 `__, `#353 `__, `#426 `__). -- Added weekly rolling horizon optimization for CBA networks (see PRs `#217 `__, `#385 `__, `#441 `__). -- Introduced calculation of B1, B2, B3 and B4 indicator in the CBA (see PRs `#186 `__, `#523 `__, `#578 `__, `#348 `__, `#350 `__, `#398 `__, `#668 `__). -- Added automated Windows installer with Azure Artifact Signing for easy setup on Windows systems (see PR `#333 `__, `#471 `__). -- Automatically launched PyPSA-Explorer to investigate run results (see PR `#443 `__). -- Added SMR (grey hydrogen) and SMR + Carbon Capture (blue hydrogen) capacities and assumptions from TYNDP 2024 hydrogen data and enabled H2 load shedding with cost of 3000 EUR/MWh_H2 (see PR `#490 `__) -- Added H2 cavern and tank storages with existing energy and charge/discharge capacities (see PR `#552 `__). -- Added PEMMDB common data assumptions from ERAA 2025 for power plant type specific efficiencies and VOM (see PR `#541 `__). -- Added battery store capacities and assumptions using PEMMDB data (see PR `#253 `__). -- Added Open-TYNDP data store option for fully reproducible runs without third-party data providers (see PR `#682 `__). Six datasets currently remain to be retrieved from primary sources due to licensing constraints. - - -.. list-table:: - :align: center - :widths: 20 40 40 - :header-rows: 1 - - * - **Feature** - - **TYNDP 2024 topology** - - **Open-TYNDP topology** - * - **Electricity Grid** - - .. image:: img/tyndp/electricity-grid-report.png - :height: 300px - :align: center - :alt: TYNDP 2024 electricity topology - - .. image:: img/tyndp/electricity-grid.png - :height: 300px - :align: center - :alt: Open-TYNDP electricity topology - * - **Hydrogen Grid** - - .. image:: img/tyndp/h2-grid-report.png - :height: 300px - :align: center - :alt: TYNDP 2024 hydrogen topology - - .. image:: img/tyndp/h2-grid.png - :height: 300px - :align: center - :alt: Open-TYNDP hydrogen topology - * - **Offshore Grid** - - .. image:: img/tyndp/offshore-grid-report.png - :height: 300px - :align: center - :alt: TYNDP 2024 offshore topology - - .. image:: img/tyndp/offshore-grid.png - :height: 300px - :align: center - :alt: Open-TYNDP offshore topology -| - -Features in development --------------------------- - -While multiple TYNDP features are already introduced to the Open-TYNDP model, there are several other features and assumptions that are still in development and currently rely on default implementations and assumptions from PyPSA-Eur. - -.. list-table:: - :align: center - :widths: 35 35 20 10 - :header-rows: 1 - - * - **Milestone** - - **Feature** - - **PR** - - **Status** - * - **Visualizations and workflow automation** - - Automated workflow - - - - ✅ - * - - - TYNDP plotting routines - - `#443 `__, `#669 `__ - - 🔨 - * - **Automated tests and benchmarks** - - Automated benchmarking routine - - `#73 `__, `#117 `__, `#281 `__, `#467 `__, `#543 `__, `#574 `__, `#607 `__, `#615 `__, `#609 `__, `#604 `__, `#667 `__, `#663 `__, `#657 `__, `#680 `, `#718 `__ - - ✅ - * - **TYNDP modelling features** - - Perfect foresight optimization - - - - ⌛ - * - - - Security of Supply (SoS) loop - - - - ⌛ - * - **Existing infrastructure and associated parameters** - - Electricity reference grid - - `#18 `__, `#340 `__, `#489 `__, `#496 `__, `#527 `__ - - ✅ - * - - - Hydrogen reference grid - - `#17 `__, `#36 `__, `#475 `__, `#537 `__, `#611 `__ - - ✅ - * - - - Offshore grid - - `#54 `__, `#654 `__, `#656 `__ - - ✅ - * - - - PECD data - - `#53 `__, `#71 `__, `#473 `__ - - ✅ - * - - - Hydro inflows - - `#77 `__, `#338 `__ - - ✅ - * - - - PEMMDB capacities & must-runs processing - - `#97 `__ - - ✅ - * - - - Investment candidates trajectories processing - - `#97 `__ - - ✅ - * - **TYNDP demand** - - Electricity - - `#14 `__ - - ✅ - * - - - Hydrogen - - `#169 `__, `#230 `__, `#531 `__ - - ✅ - * - - - Methane - - `#208 `__, `#220 `__ - - 🔨 - * - - - Synthetic fuels - - - - ⌛ - * - - - District heating - - - - ⌛ - * - - - Energy imports - - - - ⌛ - * - **TYNDP technologies and carriers** - - TYNDP generation technologies (incl. SRES and DRES) - - `#115 `__, `#139 `__, `#195 `__, `#248 `__, `#338 `__, `#447 `__, `#494 `__, `#505 `__, `#490 `__, `#521 `__, `#535 `__, `#564 `__, `#552 `__, `#541 `__, `#253 `__, `#598 `__, `#547 `__ - - 🔨 - * - - - Prosumer modelling - - - - ⌛ - * - - - EV modelling - - - - ⌛ - * - - - Synthetic fuel carriers - - - - ⌛ - * - - - Hybrid heat pumps - - - - ⌛ - * - - - Industrial electricity and hydrogen demands - - - - ⌛ - * - - - Hydrogen zones - - `#17 `__ - - ✅ - * - **CBA Assessment Framework** - - TOOT/PINT methodology - - `#149 `__, `#199 `__, `#211 `__, `#217 `__, `#353 `__, `#385 `__, `#426 `__ - - 🔨 - * - - - Climate years (weighted average) - - `#529 `__ - - 🔨 - * - - - **CBA Benchmarking** - - `#405 `__ - - ✅ - * - **CBA Benefit Indicators** - - B1: Socioeconomic Welfare (SEW) - - `#186 `__, `#523 `__, `#578 `__, `#668 `__ - - ✅ - * - - - B2: CO₂ Variation with societal costs - - `#348 `__, `#709 `__ - - ✅ - * - - - B3: DRES Integration (curtailment reduction) - - `#350 `__ - - ✅ - * - - - B4: Non-CO₂ Emissions (NOx, SOx, PM2.5/10, NMVOC, NH₃) - - `#398 `__, `#709 `__ - - ✅ - * - - - B5: Grid Losses, B6: Adequacy, B7: Flexibility, B8: Stability, B9: Reserves reduction - - n/a - - - -.. seealso:: - See also the `GitHub repository issues `__ for a comprehensive list of currently open issues. - -| - -Citing Open-TYNDP -================== - -If you want to cite a specific Open-TYNDP version, since v0.6, each release is archived on Zenodo with a release-specific DOI: - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.19372053.svg - :target: https://doi.org/10.5281/zenodo.19372053 - :alt: DOI - :align: left - -| - -Versions v0.5 and v0.5.1 are archived at `10.5281/zenodo.18494362 `__. - -If you use Open-TYNDP in your research, please cite it as shown on Zenodo or using the "Cite this repository" button in the sidebar of `Open-TYNDP `__. - -This work builds upon `PyPSA-Eur `__ and follows the methodology described in `ENTSO-E's and entsog's TYNDP 2024 Scenarios Methodology Report `__. - -| - -Background on PyPSA-Eur -================== - -Electricity System ------------------- - -The electricity system representation contains alternating current lines at -and above 220 kV voltage level and all high voltage direct current lines, -substations, an open database of conventional power plants, time series for -electrical demand and variable renewable generator availability, geographic -potentials for the expansion of wind and solar power. - -The model is suitable both for operational studies and generation and -transmission expansion planning studies. The continental scope and highly -resolved spatial scale enables a proper description of the long-range smoothing -effects for renewable power generation and their varying resource availability. - -.. image:: img/base.png - :width: 70% - :align: center - -| - -Sector-Coupled Energy System ----------------------------- - -A sector-coupled extension (previously known as **PyPSA-Eur-Sec**, which is now -deprecated) adds demand and supply for the following sectors: transport, space -and water heating, biomass, energy consumption in the agriculture, industry and -industrial feedstocks, carbon management, carbon capture and -usage/sequestration. This completes the energy system and includes all -greenhouse gas emitters except waste management, agriculture, forestry and land -use. The diagram below gives an overview of the sectors and the links between -them: - -.. image:: img/multisector_figure.png - :width: 70% - :align: center - -.. note:: - You can find showcases of the model's capabilities in the Supplementary Materials of the - Joule paper `The potential role of a hydrogen network in Europe - `__, the Supplementary Materials of another `paper in Joule with a - description of the industry sector - `__, or in `a 2021 presentation - at EMP-E `__. - The sector-coupled extension of PyPSA-Eur was - initially described in the paper `Synergies of sector coupling and transmission - reinforcement in a cost-optimised, highly renewable European energy system - `__ (2018) but it differs by being based on the - higher resolution electricity transmission model `PyPSA-Eur - `__ rather than a one-node-per-country model, - and by including biomass, industry, industrial feedstocks, aviation, shipping, - better carbon management, carbon capture and usage/sequestration, and gas - networks. - -About ------ - -PyPSA-Eur is designed to be imported into the open energy system modelling -framework `PyPSA `__ for which `documentation -`__ is available as well. However, since the -workflow is modular, it should be easy to adapt the data workflow to other -modelling frameworks. - -The restriction to freely available and open data encourages the open exchange -of model data developments and eases the comparison of model results. It -provides a full, automated software pipeline to assemble the load-flow-ready -model from the original datasets, which enables easy replacement and improvement -of the individual parts. - -.. warning:: - PyPSA-Eur is under active development and has several - :doc:`limitations` which - you should understand before using the model. The Github repository - `issues `__ collect known - topics we are working on. Please feel free to help or make suggestions. - -This project is currently maintained by the `Department of Digital -Transformation in Energy Systems `__ at the -`Technische Universität Berlin `__. Previous versions were -developed within the `IAI `__ at the `Karlsruhe Institute -of Technology (KIT) `__ which was funded by -the `Helmholtz Association `__, and by the -`Renewable Energy Group -`__ -at `FIAS `__ to carry out simulations for the -`CoNDyNet project `__, financed by the `German Federal -Ministry for Education and Research (BMBF) `__ -as part of the `Stromnetze Research Initiative -`__. - - -Workflow --------- - -.. image:: img/workflow.png - :class: full-width - :align: center - -.. note:: - The graph above was generated using - ``pixi run dot -c && snakemake --rulegraph -F | sed -n "/digraph/,/}/p" | dot -Tpng -o doc/img/workflow.png`` - - -Learning Energy System Modelling --------------------------------- - -If you are (relatively) new to energy system modelling and optimisation and plan -to use PyPSA-Eur, the following resources are one way to get started in addition -to reading this documentation. - -- Documentation of `PyPSA `__, the package for - modelling energy systems which PyPSA-Eur uses under the hood. -- Course on `Energy Systems `__ given at - Technical University of Berlin by `Prof. Dr. Tom Brown `__. -- Course on `Data Science for Energy System Modelling `__ - given at Technical University of Berlin by `Dr. Fabian Neumann `__. - - -Citing PyPSA-Eur ----------------- - -If you use PyPSA-Eur for your research, we would appreciate it if you would cite one of the following papers: - -For electricity-only studies: :: - - @article{PyPSAEur, - author = "Jonas Hoersch and Fabian Hofmann and David Schlachtberger and Tom Brown", - title = "PyPSA-Eur: An open optimisation model of the European transmission system", - journal = "Energy Strategy Reviews", - volume = "22", - pages = "207--215", - year = "2018", - doi = "10.1016/j.esr.2018.08.012", - eprint = "1806.01613" - } - -For sector-coupling studies: :: - - @misc{PyPSAEurSec, - author = "Fabian Neumann and Elisabeth Zeyen and Marta Victoria and Tom Brown", - title = "The potential role of a hydrogen network in Europe", - journal = "Joule", - volume = "7", - pages = "1--25", - year = "2023", - eprint = "2207.05816", - doi = "10.1016/j.joule.2023.06.016", - } - -For sector-coupling studies with pathway optimisation: :: - - @article{SpeedTechnological2022, - title = "Speed of technological transformations required in {Europe} to achieve different climate goals", - author = "Marta Victoria and Elisabeth Zeyen and Tom Brown", - journal = "Joule", - volume = "6", - number = "5", - pages = "1066--1086", - year = "2022", - doi = "10.1016/j.joule.2022.04.016", - eprint = "2109.09563", - } - - -If you want to cite a specific PyPSA-Eur version, each release of PyPSA-Eur is stored on Zenodo with a release-specific DOI: - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg - :target: https://doi.org/10.5281/zenodo.3520874 - - -Operating Systems ------------------ - -The PyPSA-Eur workflow is continuously tested for Linux, macOS and Windows (WSL only). - -| - - -.. toctree:: - :hidden: - :maxdepth: 2 - :caption: Getting Started - - introduction - installation - faq_troubleshooting - -.. toctree:: - :hidden: - :maxdepth: 2 - :caption: Open TYNDP - - scenarios - sb - cba - benchmarking - innovation_roadmap - - - -.. toctree:: - :hidden: - :maxdepth: 2 - :caption: References - - release_notes - licenses - data_sources - oetc - limitations - contributing - support - publications - contributors - -.. raw:: html - -
- -PyPSA-Eur related pages - -.. toctree:: - :hidden: - :maxdepth: 2 - :caption: Background on PyPSA-Eur - - wildcards - configuration - foresight - costs - validation - spatial_resolution - supply_demand - spatial_resolution - supply_demand - -.. toctree:: - :hidden: - :maxdepth: 2 - :caption: Rules Overview - - retrieve - preparation - sector - solving - plotting - - diff --git a/doc/innovation_roadmap.md b/doc/innovation_roadmap.md new file mode 100644 index 0000000000..1176ace3c0 --- /dev/null +++ b/doc/innovation_roadmap.md @@ -0,0 +1,82 @@ + + + +# Innovation Roadmap {#innovation_roadmap} + +The tables below compare the current and upcoming features of the Open TYNDP workflow (and those already implemented in PyPSA-Eur) to the +[TYNDP Innovation Roadmap](https://tyndp.entsoe.eu/resources/tyndp-scenarios-innovation-roadmap) which lists desirable features for the 2026 TYNDP cycle. + +| TYNDP 2024 | Current Open TYNDP Implementation | Comparison with PyPSA-Eur | +|---|---|---| +| TYNDP 2024 brings together a suite of tools into a toolchain to develop the scenarios. These include: Energy Transition Model, Supply Tool, DFT, PLEXOS, Visualisation Platform, Data files, Antares*, Promed (internal)*, APG Tool (internal)*. Asterix (*) marks tools used only for Cost Benefit Analysis. | The current Open-TYNDP implementation for Scenario Building focuses on: Replicating the functionalities of PLEXOS as the core market simulation tool; Providing automated workflow for input data processing via Snakemake; Implementing visualization of the results. We use existing outputs from Supply Tool and DFT as inputs, rather than replacing these tools in the Open-TYNDP. | PyPSA-Eur has the capability to cover all components of the TYNDP toolchain (including calculating capacity factors, heat demand time series, and total annual demands). Supply Tool and DFT could be replaced within the Open-TYNDP framework, but this would require: Code adaptations to be integrated back into PyPSA-Eur core functionality; Explicit assumptions about technology specifications (e.g., types of onshore wind farms, PV panel characteristics) to generate accurate capacity factors; Either adopting PyPSA-Eur's standard assumptions or documenting a new set of transparent assumptions (noting that existing TYNDP assumptions behind Supply Tool/DFT are not publicly available). | + +## Innovations on the Energy Transition Model (ETM) + +| Innovation Roadmap Details | Current Open TYNDP Implementation | Features available in PyPSA-Eur | +|---|---|---| +| **5.1 Dashboard** — All graphs for the TYNDP 2026 report will be integrated into a reactive dashboard. | Open TYNDP will feature a dashboard that allows users to explore the results of the scenarios interactively. | PyPSA-Eur offers automated plotting of energy balance maps and heatmap time series. Recent updates include interactive bus-balance plots and heat-source maps. | +| **5.2 Improvement of Reference Values** — Update residential space heating and hot water technology shares using more granular national data rather than 2019 EUROSTAT energy statistics. | Open-TYNDP has refined electricity demand and biomass potentials to achieve an exact match with reference values. | This challenge is shared by Open TYNDP. For the existing heating technologies in terms of capacities per country the [DG ENER mapping analysis](https://energy.ec.europa.eu/publications/mapping-and-analyses-current-and-future-2020-2030-heatingcooling-fuel-deployment-fossilrenewables-1_en) is used, an update is needed. For district heating shares [Fraunhofer ISI data](https://fordatis.fraunhofer.de/handle/fordatis/341.5). This data source is also used for geothermal heat potentials. PyPSA-Eur recently updated its energy balances to JRC-IDEES-2021, switching the reference year to 2019. | +| **5.3 Addition of climate year functionality** — Integrate weather years into energy demand scenarios including heating demand (electricity demand from heat pumps and boilers) and all final energy demands; Produce a set of sectoral energy demand profiles for each scenario. | Open-TYNDP reproduces TYNDP 2024 methodology, so uses the same assumptions concerning final energy demand. | PyPSA-Eur now supports spanning multiple consecutive or meteorological weather years in a single optimization. It provides pre-built cutouts for a wide range of years (e.g., 1996, 2010–2023). Total electricity demand is endogenous in the optimisation, as it is calculated from energy service demands and the endogenous choice of demand technologies (such as heat-pumps or gas boilers). The performance of the demand technologies as well as the demand itself is therefore a function of weather parameters calculated from climate scenarios. This could be integrated into the automated Open TYNDP workflow instead of using exogenous demands for e.g. natural gas. | +| **5.4 Include missing non-EU countries** — Include missing non-EU countries such as Norway, Switzerland, and Serbia; Split the UK into separate datasets for Great Britain and Northern Ireland. | Open TYNDP implements the same regional coverage as TYNDP 2024. | Open TYNDP covers the full ENTSO-E area and has recently integrated Ukraine, Moldova, and Kosovo. PyPSA-Eur supports NUTS-level clustering across these regions. This makes it relatively easy to create a spatial representation including Norway, Switzerland and Serbia (or any other countries). Norway, UK & Switzerland are part of the reference grid, but new data would need to be collected. | +| **5.5 Stable ETM server for 2026 cycle** — ensure that a stable version of the ETM is available with consistent data and features for the duration of the 2026 cycle. | Open-source frameworks achieve stability through version control. To manage computational environment, conda-lock files are used for dependency management and Snakemake version requirements (e.g., minimum version 9.0) to ensure cross-platform reproducibility. | ditto | +| **5.6 Integrate supply tool features in ETM** — Merging supply modeling features (CCS, imports, biomass) directly into the ETM to reduce interfaces and provide a coherent energy system representation. | Open TYNDP currently uses exogenous demand assumptions in line with TYNDP 2024. Open-TYNDP is an integrated cross-sectoral model. It already includes CO₂ sequestration potentials (CO2Stop), optimising CO2 storage, CCS technologies, carbon networks, regional biomass potentials and transport costs, and automated import price configurations. | PyPSA-Eur already integrates supply and demand features into a full integrated workflow. | +| **5.7 Demand profile modelling in ETM** — Model hourly methane and hydrogen profiles instead of using internal ENTSOG tool ensuring full consistency with scenario assumptions; Model hourly electricity demand profiles, creating a strong link to scenario parameters and demand profiles while leaving flexibility for TSOs to choose adoption. | Open-TYNDP has implemented the attachment of exogenous TYNDP gas and hydrogen demands to the network. | Unlike TYNDP's fixed hydrogen and methane demands, PyPSA-Eur models final energy service demands (industrial process heat, heating, etc.) and endogenously optimises which energy carrier (hydrogen, methane, electricity) meets each demand. This allows the model to capture technology competition and fuel switching based on relative costs and availability. | + +## Pan-European Market Modelling Database App + +| Innovation Roadmap Details | Current Open TYNDP Implementation | Features available in PyPSA-Eur | +|---|---|---| +| The PEMMDB app will provide an API to allow efficient data transfer into the PLEXOS model. | The Open TYNDP workflow already automates data integration through REST API calls to various sources, as well as automatically downloading, extracting, transforming and filtering data for all of its inputs. | | + +## Quality Control + +| Innovation Roadmap Details | Current Open TYNDP Implementation | Features available in PyPSA-Eur | +|---|---|---| +| Perform sanity checks on each scenario, for example preventing simultaneous dispatch of electrolysers and H2/gas-fired plants, ensuring reasonable levels of curtailment and Energy Not Served, comparing generator margins, cross-sector assets and storage investment costs. | Open TYNDP already offers: Automated plotting of energy balances for each carrier, enabling quick identification of potential issues such as simultaneous electrolyser operation and hydrogen consumption; Curtailment with technology-specific values; Comprehensive n.statistics module for rapid evaluation of key metrics; Basic consistency checking via n.consistency_check() to validate network topology and parameter ranges. | Further development work could allow automated sanity checks with warnings for scenario-specific thresholds (e.g., flagging curtailment levels above 15%). | + +## System Modelling Innovations + +The bulk of innovations are listed under system modelling. + +| Innovation Roadmap Details | Current Open TYNDP Implementation | Features available in PyPSA-Eur | +|---|---|---| +| **8.1 Hydrogen storage** — differentiate between short-term and seasonal storage needs; better representation of operational constraints of storage facilities such as salt caverns and aquifers; align national and modelling studies on storage capacities; incorporate techno-economic constraints of hydrogen supply; improve pipelines modelling to reflect transport flexibility. | Open-TYNDP follows the same methodology as TYNDP for hydrogen infrastructure. | One could adapt back to PyPSA-Eur assumptions with some small modifications. PyPSA-Eur already implements: Long-term storage in salt caverns and aquifers, and short-term storage in medium or high-pressure steel tanks; Technical potential constraints — Underground storage capacities in salt caverns are limited based on technical potential estimations from Caglayan et al. (2020); Environmental considerations — Default configuration includes only nearshore underground storage potential (within 50 km of shore) due to environmental concerns regarding highly saline brine disposal. However, the model offers flexibility to select from three storage types: nearshore (<50 km from sea), onshore (>50 km from sea), or offshore; Pipeline modeling — Endogenous optimization of methane-to-hydrogen pipeline retrofitting, hydrogen transport losses, and transport flow modeling in the pipeline network. The following could be implemented with minor code extensions: Minimum hydrogen storage fill levels to account for working gas requirements; Electrolyser ramp-up and ramp-down constraints reflecting technical flexibility limits; Minimum run requirements for electrolysers (must-run constraints); Line packing in H2 pipelines (could be modeled as additional storage capacity). While this would be hard to implement: Physical hydrogen flows with pressure modeling — full representation of pressure-dependent flow dynamics would require fundamental changes to the transport model architecture and substantially increase computational complexity. | +| **8.2 Integration of Hybrid heat pumps** — Ensure hybrid systems are correctly sized for applications, considering peak demand scenarios; Ensure assumptions incorporate both economics and behavioural considerations. | The current implementation supports hybrid heating systems as an investment option alongside standalone heat pumps, resistive heaters, and gas boilers. Various heat pump types and the calculation of the corresponding COP are included. Heating capacity sizing is endogenously optimized based on full-year hourly heating demand profiles, ensuring adequate capacity for peak demand periods while minimising total system costs. | In PyPSA-Eur, all investment decisions are purely economics-driven based on cost optimization. Behavioral considerations, such as consumer preferences are not currently incorporated. Behavioral constraints could be integrated if formulated as explicit technical or policy constraints, for example, maximum deployment rates to limit annual heat pump installations to realistic adoption curves (e.g., maximum 5% annual increase in heat pump penetration per region). | +| **8.3 Grid topology** — Incorporate more detailed representation of H2 network topology that approximates physical H2 flow to ensure key H2 corridors and infrastructure are well represented. | Detailed H2 network topology is already implemented. Open-TYNDP uses the TYNDP H2 topology, including Z1 and Z2 setup. H2 flows are represented as a linear transport model. | Line packing could be added easily. Physical flows including pressure drops would be harder, and result in a non-linear optimisation. PyPSA-Eur supports administrative clustering (NUTS0 to NUTS3), allowing the network to be resolved at highly granular levels. | +| **8.4 Gas turbine usage and peaking unit utilisation** — Explore dynamic operational needs of gas turbines given increasing reliance of variable renewable resources; Update assumptions around CH4 to H2 retrofitting projects, which have struggled to compete in current markets. | Open-TYNDP follows TYNDP methodology. | Open TYNDP allows for endogenous retrofitting of CH4 plants to operate with H2, or retrofitting of gas boilers to run with H2. | +| **8.5 EV Modelling** — Ensure that electricity flows follow charge/discharge cycles of EV batteries. | Simultaneous charging/discharging is avoided in PyPSA framework used by Open TYNDP by the use of small marginal costs. | PyPSA-Eur refines Vehicle-to-Grid (V2G) dispatch capacity and temperature-dependent energy demand correction factors for EVs. These will be incorporated in Open TYNDP during a future update. | +| **8.6 Economic Assessment** — incorporate economic assessment of key technologies such as Steam Methane Reformers (SMR), nuclear plants, ammonia regasification terminals which are currently represented without economic attributes. | Open TYNDP incorporates default capital investment and fixed and variable operation cost assumptions for all technologies based on the open-source [technology-database](https://github.com/PyPSA/technology-data). | All relevant features already implemented. | +| **8.7 Methane pricing structure and formation** — Resolve pricing inconsistencies between synthetic natural gas, biomethane and hydrogen. | High consistency is assured through using open licensed databases which are checked by multiple people. The automated workflow guarantees same currency year and units. | All relevant features already implemented. | +| **8.8 Ammonia Import costs** — Ensure ammonia import costs reflect the entire supply chain. | Open-TYNDP follows TYNDP methodology. | PyPSA-Eur includes location and capacities of European ammonia plants. Ammonia import prices and volumes can be configured. Supply chain costs can be modelled directly for all green carriers. See [Neumann et al. (2025)](https://www.nature.com/articles/s41467-025-60652-1). | +| **8.9 Distinguish between hydrogen use as energy or feedstock** — Separating hydrogen used directly as a gas from hydrogen used as a feedstock for producing synthetic fuels. | Open-TYNDP follows TYNDP methodology. | H2 use for energy and feedstock purposes is already clearly distinguished, which includes a suite of technologies for methanol-to-power, reforming, and kerosene, and updated locations/capacities for ammonia plants to accurately distribute demand. | +| **8.10 Flexibility of heat pumps** — Incorporate heat-pump modelling into PLEXOS to better represent flexibility, thermal inertia and heat storage. | Open TYNDP implements the TYNDP methodology for modelling hybrid heating. | PyPSA-Eur incorporates heat pump modelling for various types of heat pumps, including the calculation of the COP. Differentiates between rural/urban, service/residential, district/individual heating. For district heating different types of thermal storage are modelled, including constraints on the energy-to-power ratio, booster heat pumps to get to the necessary temperature level of the district heating network. For individual heating, small thermal storage in the form of water tanks is included. Endogenous decision on building renovation can be modelled, with country-specific building stock data and renovation costs. Thermal inertia of buildings is not modelled but could be represented by a free thermal storage. Includes an option to calculate dynamic storage capacities for thermal energy storage. Also includes aquifer thermal energy storage, and supplemental heating such as booster heat pumps. | +| **8.11 Modelling of E-fuels** — Allow transportation of e-methanol, e-methane and e-kerosene via pipelines, ships or tanker trucks; Incorporate full load hours into spatial optimisation of e-fuel refineries and supply infrastructure. | | | +| **8.12 Higher granularity topology** — Adding more nodes per country and differentiating between prosumer and non-prosumer households for accurate grid interaction modeling. | Open TYNDP builds on PyPSA-Eur which enables highly spatial and temporally resolved modelling. | PyPSA-Eur was designed for highly resolved spatial and temporal modelling. It supports multiple resource classes for wind and solar per region to improve accuracy at low spatial resolutions. It also allows for behind-the-meter rooftop PV modeling. Higher spatial resolution is possible, also the data can be added on a higher spatial resolution with finer granularity. Distribution grid with associated costs and losses can be modelled, but data for existing infrastructure of the distribution grid as well as regional investment costs is missing. On the distribution level connected are EV charging, rooftop PV, electricity demand for individual heating technologies. Different types of PV panels can be modelled on the distribution grid level (see [Rahdan et al. (2025)](https://www.nature.com/articles/s41467-025-61492-9), and [Rahdan et al. (2024)](https://www.sciencedirect.com/science/article/pii/S0306261924001041)). | +| **8.13 Improved modelling of prosumer demand** | Open TYNDP allows connection of microgeneration e.g. residential solar PV to be connected to low voltage buses. Residential and utility scale PV are treated separately, with separate rules in the workflow to build and cluster rooftop potentials. Open TYNDP also distinguishes between stationary/utility-scale batteries, home batteries and EV batteries. | All relevant features already implemented. | +| **8.14 Consider peaking units as expansion candidates** | Open TYNDP is a capacity expansion model by nature and can be set to build new peaking units whenever they are the cost-optimal way to ensure reliability. | All relevant features already implemented. | +| **8.15 Check on remaining CO2 emissions in 2050** | Open TYNDP models the full CO2 management (not only emissions, but also CCS, storage, CO2 networks). Remaining emissions can be checked in the final csvs and automated plots. | A simple extension is to add an extra constraint on top of the CO2 price, e.g. that CO2 emissions have to be net-zero in 2050. | +| **8.16 Implementation of hybrid electrolyser plants** — Implementing plants connected to both dedicated renewables and the grid to optimize production and market coupling. | Open-TYNDP implements offshore wind hubs where wind farms can connect to both the network and P2G units for H2 production. | Existing studies such as [Zeyen et al. (2024)](https://iopscience.iop.org/article/10.1088/1748-9326/ad2239) have investigated this with PyPSA showing that implementation is possible for Open TYNDP model. | +| **8.17 Hydrogen imports and pipeline assessment** — Modeling practical volumes and prices for pipeline imports to evaluate energy security and dependence. | | PyPSA-Eur implemented renewable energy imports for H2, ammonia, methanol, and oil with configurable prices and volume limits. | +| **8.18 Geographical correlation in hydrogen production** | Open-TYNDP ensures geographical correlation by attaching planning-year dependent renewable profiles from the PECD to specific generators within interconnected zones. | | + +## Stakeholder Reference Group (SRG) Proposals + +| Innovation Roadmap Details | Current Open TYNDP Implementation | Features available in PyPSA-Eur | +|---|---|---| +| **9.1 Synthetic Fuels** — Incorporating methanol for the maritime sector to align with decarbonization goals and identify infrastructure needs. | | PyPSA-Eur introduced methanol-based technologies (e.g., biomass-to-methanol) in its 2024.09 release. PyPSA-Eur defaults maritime demand to methanol. Methanol can be used also in various other sectors (e.g. as back up power, in industry, as kerosene). See [Glaum et al. (2025)](https://arxiv.org/html/2505.09277v1). | +| **9.2 Climatic Variability** — Suggesting models run with three different climatic years to assess impact on energy security. | | PyPSA-Eur is designed for this; it integrates with atlite to process multi-year datasets and supports spanning these in a single model. | +| **9.3 Industrial applications** — Verify technical and commercial viability of converting industrial gas offtakes to H2 or other carriers before grid expansion. | | PyPSA-Eur interpolates industry sector transition pathways, gradually switching processes from status quo to best-in-class energy consumption per ton of material output. One can also choose to model the supply of process heat for industry (split in low, medium, high) endogenously, so the cost-optimal solution would be found for a potential switch from methane to hydrogen/power/biomass. | +| **9.4 Sector-specific modelling** — Discuss the Z1 Z2 concept to streamline management across gas, electricity, and hydrogen vectors. | Open-TYNDP has already introduced the TYNDP H2 topology, which specifically includes the H2 Z1 and Z2 setup, production, and storage technologies. | | +| **9.5 EV modelling techniques** — refine assumptions on EV charging behavior and their impact on potential grid bottlenecks. | | PyPSA-Eur now limits Vehicle-to-Grid (V2G) dispatch capacity based on the fraction of vehicles participating in demand-side management. It also refines temperature-dependent correction factors for EV energy demand. Since the distribution grid is modelled (without the corresponding topology), just as a capacity expansion with corresponding costs, one can investigate the relation between flexible EV charging and necessary distribution grid capacity. | +| **9.6 District heating** — Create a dedicated tool distinct from the ETM to simulate production from biomass, geothermal, and other sources. | | PyPSA-Eur already features a highly detailed district heating module. Recent additions include geothermal district heating, aquifer thermal energy storage (ATES), and booster heat pumps for supplemental heating. | +| **9.7 Liquified hydrogen** — Explore LH2 import methods to understand logistical, storage, and cost constraints. | | PyPSA-Eur implements a "H2 liquid" bus at each location to specifically handle hydrogen liquefaction costs for shipping demand. | +| **9.8 H2 Import Quotas** — Align hydrogen import quotas with RepowerEU targets to avoid overestimating domestic production. | | | +| **9.9 Electric heat pumps** — Move heat pump modeling to PLEXOS to better capture thermal inertia and load management. | | Thermal inertia of buildings could be modelled as an additional store but is not implemented in PyPSA-Eur. Heat demand reductions by endogenous optimisation of building renovation is implemented in PyPSA-Eur. | +| **9.10 Optimisation Across Energy Vectors** — Expanding PLEXOS to integrate electricity, gas, and hydrogen systems holistically. | Open-TYNDP optimizes these vectors simultaneously by default. | PyPSA-Eur optimizes these vectors simultaneously by default. | +| **9.11 Transmission System Losses** — Reassessing losses to reflect actual power flow dynamics more accurately. | | PyPSA-Eur allows for piecewise linear approximation of transmission losses and provides the option to disable efficiency losses for specific carriers. | +| **9.12 Additional hydrogen production pathways** — Integrating methane pyrolysis and waste-to-hydrogen processes. | | PyPSA-Eur has already integrated biomass-to-hydrogen (with or without carbon capture) and supports custom technology adjustments via configuration. | +| **9.13 Flexibility in modelling** — Focus on load displacement (shifting demand) rather than just load reduction to maximize renewable use. | Open TYNDP follows TYNDP methodology so exhibits the same limitation. | PyPSA-Eur has higher flexibility since all sectors are modelled (instead of fixed exogenous demand for H2). | +| **9.14 Price setting for hydrogen** — Revise methodology to reflect real-world contracts and costs like dehydrogenation. | As an integrated sector-coupled model, endogenous pricing of hydrogen includes all represented upstream processes. | ditto | +| **9.15 Sensitivity to commodity prices** — Conduct sensitivity analyses on price fluctuations (gas, oil, H2) to understand investment risks. | Workflow management tool snakemake enables the simultaneous execution of multiple scenarios with single calls and configuration overrides. | The solution space could be scanned for near optimal solutions using e.g. the MGA method (see [Millinger et al. (2025)](https://www.nature.com/articles/s41560-024-01693-6)). | +| **9.16 Inclusion of emerging technologies** | The collaborative approach offered by Open TYNDP provides a formal review process by which new technologies can be included in the analysis. | | +| **9.17 Out of scope Innovations** — Carbon Capture and utilisation; Innovative Grid Technologies. | Open TYNDP includes a detailed representation of CCS and CDR technologies including carbon sequestration sites. | | diff --git a/doc/innovation_roadmap.rst b/doc/innovation_roadmap.rst deleted file mode 100644 index e80190f6c2..0000000000 --- a/doc/innovation_roadmap.rst +++ /dev/null @@ -1,334 +0,0 @@ -.. - SPDX-FileCopyrightText: Contributors to Open-TYNDP - - SPDX-License-Identifier: CC-BY-4.0 - -.. _innovation_roadmap: - -########################################## -Innovation Roadmap -########################################## - -The tables below compare the current and upcoming features of the Open TYNDP workflow (and those already implemented in PyPSA-Eur) to the -`TYNDP Innovation Roadmap `_ which lists desirable features for the 2026 TYNDP cycle. - -.. list-table:: - :widths: 33 33 34 - :header-rows: 1 - - * - TYNDP 2024 - - Current Open TYNDP Implementation - - Comparison with PyPSA-Eur - * - TYNDP 2024 brings together a suite of tools into a toolchain to develop the scenarios. These include: - - Energy Transition Model - - Supply Tool - - DFT - - PLEXOS - - Visualisation Platform - - Data files - - Antares* - - Promed (internal)* - - APG Tool (internal)* - Asterix (*) marks tools used only for Cost Benefit Analysis - - The current Open-TYNDP implementation for Scenario Building focuses on: - - Replicating the functionalities of PLEXOS as the core market simulation tool - - Providing automated workflow for input data processing via Snakemake - - Implementing visualization of the results - - We use existing outputs from Supply Tool and DFT as inputs, rather than replacing these tools in the Open-TYNDP. - - - PyPSA-Eur has the capability to cover all components of the TYNDP toolchain (including calculating capacity factors, heat demand time series, and total annual demands). - - Supply Tool and DFT could be replaced within the Open-TYNDP framework, but this would require: - - - Code adaptations to be integrated back into PyPSA-Eur core functionality - - Explicit assumptions about technology specifications (e.g., types of onshore wind farms, PV panel characteristics) to generate accurate capacity factors - - Either adopting PyPSA-Eur's standard assumptions or documenting a new set of transparent assumptions (noting that existing TYNDP assumptions behind Supply Tool/DFT are not publicly available) - -Innovations on the Energy Transition Model (ETM) -================================================ - -.. list-table:: - :widths: 33 33 34 - :header-rows: 1 - - * - Innovation Roadmap Details - - Current Open TYNDP Implementation - - Features available in PyPSA-Eur - * - 5.1 Dashboard - - All graphs for the TYNDP 2026 report will be integrated into a reactive dashboard - - Open TYNDP will feature a dashboard that allows users to explore the results of the scenarios interactively - - PyPSA-Eur offers automated plotting of energy balance maps and heatmap time series. Recent updates include interactive bus-balance plots and heat-source maps - * - 5.2 Improvement of Reference Values - - Update residential space heating and hot water technology shares using more granular national data rather than 2019 EUROSTAT energy statistics - - Open-TYNDP has refined electricity demand and biomass potentials to achieve an exact match with reference values - - This challenge is shared by Open TYNDP. For the existing heating technologies in terms of capacities per country the `DG ENER mapping analysis `_ is used, an update is needed. - For district heating shares `Fraunhofer ISI data `_. - This data source is also used for geothermal heat potentials. - PyPSA-Eur recently updated its energy balances to JRC-IDEES-2021, switching the reference year to 2019. - * - 5.3 Addition of climate year functionality - - Integrate weather years into energy demand scenarios including heating demand (electricity demand from heat pumps and boilers) and all final energy demands - - Produce a set of sectoral energy demand profiles for each scenario - - Open-TYNDP reproduces TYNDP 2024 methodology, so uses the same assumptions concerning final energy demand - - PyPSA-Eur now supports spanning multiple consecutive or meteorological weather years in a single optimization. It provides pre-built cutouts for a wide range of years (e.g., 1996, 2010–2023). Total electricity demand is endogenous in the optimisation, as it is calculated from energy service demands and the endogenous choice of demand technologies (such as heat-pumps or gas boilers). The performance of the demand technologies as well as the demand itself is therefore a function of weather parameters calculated from climate scenarios. This could be integrated into the automated Open TYNDP workflow instead of using exogenous demands for e.g. natural gas. - * - 5.4 Include missing non-EU countries - - Include missing non-EU countries such as Norway, Switzerland, and Serbia - - Split the UK into separate datasets for Great Britain and Northern Ireland - - Open TYNDP implements the same regional coverage as TYNDP 2024 - - Open TYNDP covers the full ENTSO-E area and has recently integrated Ukraine, Moldova, and Kosovo. - PyPSA-Eur supports NUTS-level clustering across these regions. - This makes it relatively easy to create a spatial representation including Norway, Switzerland and Serbia (or any other countries). - Norway, UK & Switzerland are part of the reference grid, but new data would need to be collected - * - 5.5 Stable ETM server for 2026 cycle - - ensure that a stable version of the ETM is available with consistent data and features for the duration of the 2026 cycle - - Open-source frameworks achieve stability through version control. To manage computational environment, conda-lock files are used for dependency management and Snakemake version requirements - (e.g., minimum version 9.0) to ensure cross-platform reproducibility. - - ditto - * - 5.6 Integrate supply tool features in ETM - - Merging supply modeling features (CCS, imports, biomass) directly into the ETM to reduce interfaces and provide a coherent energy system representation - - Open TYNDP currently uses exogenous demand assumptions in line with TYNDP 2024. Open-TYNDP is an integrated cross-sectoral model. - It already includes CO_2 sequestration potentials (``CO2Stop``), optimising CO2 storage, CCS technologies, carbon networks, regional biomass potentials and transport costs, - and automated import price configurations. - - PyPSA-Eur already integrates supply and demand features into a full integrated workflow. - * - 5.7 Demand profile modelling in ETM - - Model hourly methane and hydrogen profiles instead of using internal ENTSOG tool ensuring full consistency with scenario assumptions - - Model hourly electricity demand profiles, creating a strong link to scenario parameters and demand profiles while leaving flexibility for TSOs to choose adoption - - Open-TYNDP has implemented the attachment of exogenous TYNDP gas and hydrogen demands to the network. - - Unlike TYNDP's fixed hydrogen and methane demands, PyPSA-Eur models final energy service demands (industrial process heat, heating, etc.) and endogenously optimises which energy carrier (hydrogen, methane, electricity) meets each demand. This allows the model to capture technology competition and fuel switching based on relative costs and availability. - -Pan-European Market Modelling Database App -========================================== - -.. list-table:: - :widths: 33 33 34 - :header-rows: 1 - - * - Innovation Roadmap Details - - Current Open TYNDP Implementation - - Features available in PyPSA-Eur - * - The PEMMDB app will provide an API to allow efficient data transfer into the PLEXOS model - - The Open TYNDP workflow already automates data integration through REST API calls to various sources, as well as automatically downloading, extracting, transforming and filtering data for all of its inputs. - - - -Quality Control -=============== - -.. list-table:: - :widths: 33 33 34 - :header-rows: 1 - - * - Innovation Roadmap Details - - Current Open TYNDP Implementation - - Features available in PyPSA-Eur - * - Perform sanity checks on each scenario, for example preventing simultaneous dispatch of electrolysers and H2/gas-fired plants, ensuring reasonable levels of curtailment and Energy Not Served, - comparing generator margins, corss-sector assets and storage investment costs - - Open TYNDP already offers: - - Automated plotting of energy balances for each carrier, enabling quick identification of potential issues such as simultaneous electrolyser operation and hydrogen consumption - - Curtailment with technology-specific values - - Comprehensive n.statistics module for rapid evaluation key metrics - - Basic consistency checking via n.consistency_check() to validate network topology and parameter ranges - - Further development work could allow automated sanity checks with warnings for scenario-specific thresholds (e.g., flagging curtailment levels above 15%) - -System Modelling Innovations -============================ - -The bulk of innovations are listed under system modelling. - -.. list-table:: - :widths: 33 33 34 - :header-rows: 1 - - * - Innovation Roadmap Details - - Current Open TYNDP Implementation - - Features available in PyPSA-Eur - * - 8.1 Hydrogen storage - - differentiate between short-term and seasonal storage needs - - better representation of operational constraints of storage facilities such as salt caverns and aquifers - - align national and modelling studies on storage capacities - - incorporate techno-economic constraints of hydrogen supply - - improve pipelines modelling to reflect transport flexibility - - Open-TYNDP follows the same methodology as TYNDP for hydrogen infrastructure. - - One could adapt back to PyPSA-Eur assumptions with some small modifications. PyPSA-Eur already implements: - - Long-term storage in salt caverns and aquifers, and short-term storage in medium or high-pressure steel tanks - - Technical potential constraints - Underground storage capacities in salt caverns are limited based on technical potential estimations from Caglayan et al. (2020) - - Environmental considerations - Default configuration includes only nearshore underground storage potential (within 50 km of shore) due to environmental concerns regarding highly saline brine disposal. - However, the model offers flexibility to select from three storage types: nearshore (<50 km from sea), onshore (>50 km from sea), or offshore - - Pipeline modeling - Endogenous optimization of methane-to-hydrogen pipeline retrofitting, hydrogen transport losses, and transport flow modeling in the pipeline network - The following could be implemented with minor code extensions: - - Minimum hydrogen storage fill levels to account for working gas requirements - - Electrolyser ramp-up and ramp-down constraints reflecting technical flexibility limits - - Minimum run requirements for electrolysers (must-run constraints) - - Line packing in H2 pipelines: Could be modeled as additional storage capacity - While this would be hard to implement: - - Physical hydrogen flows with pressure modeling: Full representation of pressure-dependent flow dynamics would require fundamental changes to the transport model architecture and substantially increase computational complexity - * - 8.2 Integration of Hybrid heat pumps - - Ensure hybrid systems are correctly sized for applications, considering peak demand scenarios - - Ensure assumptions incorporate both economics and behavioural considerations - - The current implementation supports hybrid heating systems as an investment option alongside standalone heat pumps, resistive heaters, and gas boilers. Various heat pump types and the calculation of the corresponding COP are included. - Heating capacity sizing is endogenously optimized based on full-year hourly heating demand profiles, ensuring adequate capacity for peak demand periods while minimising total system costs. - - - In PyPSA-Eur, all investment decisions are purely economics-driven based on cost optimization. Behavioral considerations, such as consumer preferences are not currently incorporated. - Behavioral constraints could be integrated if formulated as explicit technical or policy constraints, for example, - maximum deployment rates to limit annual heat pump installations to realistic adoption curves (e.g., maximum 5% annual increase in heat pump penetration per region) - * - 8.3 Grid topology - - Incorporate more detailed representation of H2 network topology that approximates physical H2 flow to ensure key H2 corridors and infrastructure are well represented - - Detailed H2 network topology is already implemented. Open-TYNDP uses the TYNDP H2 topology, including Z1 and Z2 setup. H2 flow are represented as a linear transport model. - - Line packing could be added easily. - Physical flows including pressure drops would be harder, and result in a non-linear optimisation. - PyPSA-Eur supports administrative clustering (NUTS0 to NUTS3), allowing the network to be resolved at highly granular levels. - * - 8.4 Gas turbine usage and peaking unit utilisation - - Explore dynamic operational needs of gas turbines given increasing reliance of variable renewable resources - - Update assumptions around CH4 to H2 retrofitting projects, which have struggled to compete in current markets - - Open-TYNDP follows TYNDP methodology - - Open TYNDP allows for endogenous retrofitting of CH4 plants to operate with H2, or retrofitting of gas boilers to run with H2 - * - 8.5 EV Modelling - - Ensure that electricity flows follow charge/discharge cycles of EV batteries - - Simultaneous charging/discharging is avoided in PyPSA framework used by Open TYNDP by the use of small marginal costs. - - PyPSA-Eur refines Vehicle-to-Grid (V2G) dispatch capacity and temperature-dependent energy demand correction factors for EVs. These will be incorporated in Open TYNDP during a future update. - * - 8.6 Economic Assessment - - incorporate economic assessment of key technologies such as Steam Methane Reformers (SMR), nuclear plants, ammonia regasification terminals which are currently represented without economic attributes - - Open TYNDP incorporates default capital investment and fixed and variable operation cost assumptions for all technologies based on the open-source `technology-database `_ - - All relevant features of already implemented - * - 8.7 Methane pricing structure and formation - - Resolve pricing inconsistences between synthetic natural gas, biomethane and hydrogen - - High consistency is assured through using open licensed databases which are checked by multiple people. The automated workflow guarantees same currency year and units - - All relevant features of already implemented - * - 8.8 Ammonia Import costs - - Ensure ammonia import costs reflect the entire supply chain - - Open-TYNDP follows TYNDP methodology - - PyPSA-Eur includes location and capacities of European ammonia plants. Ammonia import prices and volumes can be configured. - Supply chain costs can be modelled directly for all green carriers. See `Neumann et al. (2025) `_ - * - 8.9 Distinguish between hydrogen use as energy or feedstock - - Separating hydrogen used directly as a gas from hydrogen used as a feedstock for producing synthetic fuels - - Open-TYNDP follows TYNDP methodology - - H2 use for energy and feedstock purposes is already clearly distinguished, which includes a suite of technologies for methanol-to-power, reforming, and kerosene, and updated locations/capacities for ammonia plants to accurately distribute demand. - * - 8.10 Flexibility of heat pumps - - Incorporate heat-pump modelling into PLEXOS to better represent flexibility, thermal inertia and heat storage - - Open TYNDP implements the TYNDP methodology for modelling hybrid heating - - PyPSA-Eur incorporates heat pump modelling for various types of heat pumps, including the calculation of the COP - - differentiates between rural/urban, service/residential, district/individual heating - - for district heating different types of thermal storage are modelling, including constraints on the energy-to-power ration, booster heat pumps to get to the necessary temperature level of the district heating network - - for individual heating small thermal storage in form from water tanks is included - - endogenous decision on building renovation can be modelled, with country-specific building stock data and renovation costs - - thermal inertia of buildings is not modelled, could be presented by a free thermal storage - Includes an option to calculate dynamic storage capacities for thermal energy storage. Also includes aquifer thermal energy storage, and supplemental heating such as booster heat pumps. - * - 8.11 Modelling of E-fuels - - Allow transportation of e-methanol, e-methane and e-kerosene via pipelines, ships or tanker trucks - - Incorporate full load hours into spatial optimisation of e-fuel refineries and supply infrastructure - - - - - * - 8.12 Higher granularity topology - - Adding more nodes per country and differentiating between prosumer and non-prosumer households for accurate grid interaction modeling - - Open TYNDP builds on PyPSA Eur which has enables highly spatial and temporally resolved modelling - - PyPSA-Eur was designed for highly resolved spatial and temporal modelling. It supports multiple resource classes for wind and solar per region to improve accuracy at low spatial resolutions. It also allows for behind-the-meter rooftop PV modeling. - - higher spatial resolution is possible, also the data can be added on a higher spatial resolution with finer granularity - - distribution grid with associated costs and losses can be modelled, but data for existing infrastructure of the distribution grid as well as regional investment costs is missing - - on the distribution level connected are EV charging, rooftop PV, electricity demand for individual heating technologies - - different types of PV panels can be modelled on the distribution grid level (see `Rahdan et al. (2025) `_, and `Rahdan et al. (2024) `_ - * - **8.13 Improved modelling of prosumer demand** - - Open TYNDP allows connection of microgeneration e.g. residential solar PV to be connected to low voltage buses. - Residential and utility scale PV are treated separately, with separate rules in the workflow to build and cluster rooftop potentials. - Open TYNDP also distinguishes between stationary/utility-scale batteries, home batteries and EV batteries. - - All relevant features of already implemented - * - **8.14 Consider peaking units as expansion candidates** - - Open TYNDP is a capacity expansion model by nature and can be set to build new peaking units whenever they are the cost-optimal way to ensure reliability. - - All relevant features of already implemented - * - **8.15 Check on remaining CO2 emissions in 2050** - - Open TYNDP models the full CO2 management (not only emissions, but also CCS, storage, CO2 networks). Remaining emissions can be checked in the final csvs and automated plots. - - A simple extension is to add an extra constraint on top of the CO2 price, e.g. that CO2 emissions have to be net-zero in 2050 - * - 8.16 Implementation of hybrid electrolyser plants - - Implementing plants connected to both dedicated renewables and the grid to optimize production and market coupling - - Open-TYNDP implements offshore wind hubs where wind farms can connect to both the network and P2G units for H2 production - - Existing studies such as `Zeyen et al. (2024) `_ have investigated this with PyPSA - showing that implementation is possible for Open TYNDP model. - * - 8.17 Hydrogen imports and pipeline assessment - - Modeling practical volumes and prices for pipeline imports to evaluate energy security and dependence. - - - - PyPSA-Eur implemented renewable energy imports for H2, ammonia, methanol, and oil with configurable prices and volume limits. - * - **8.18 Geographical correlation in hydrogen production** - - Open-TYNDP ensures geographical correlation by attaching planning-year dependent renewable profiles from the PECD to specific generators within interconnected zones - - - -Stakeholder Reference Group (SRG) Proposals -=========================================== - -.. list-table:: - :widths: 33 33 34 - :header-rows: 1 - - * - Innovation Roadmap Details - - Current Open TYNDP Implementation - - Features available in PyPSA-Eur - * - 9.1 Synthetic Fuels - - Incorporating methanol for the maritime sector to align with decarbonization goals and identify infrastructure needs - - - - PyPSA-Eur introduced methanol-based technologies (e.g., biomass-to-methanol) in its 2024.09 release. PyPSA-Eur defaults maritime demand to methanol. - Methanol can be used also in various other sectors (e.g. as back up power, in industry, as kerosene). See `Glaum et al. (2025) `_ - * - 9.2 Climatic Variability - - Suggesting models run with three different climatic years to assess impact on energy security - - - - PyPSA-Eur is designed for this; it integrates with atlite to process multi-year datasets and supports spanning these in a single model. - - * - 9.3 Industrial applications - - Verify technical and commercial viability of converting industrial gas offtakes to H2 or other carriers before grid expansion - - - - PyPSA-Eur interpolates industry sector transition pathways, gradually switching processes from status quo to best-in-class energy consumption per ton of material output. - One can also choose to model the supply of process heat for industry (split in low, medium, high) endogenously, so cost-optimal solution would be found for potential switch from methane to hydrogen/power/biomass - * - 9.4 Sector-specific modelling - - Discuss the Z1 Z2 concept to streamline management across gas, electricity, and hydrogen vectors - - Open-TYNDP has already introduced the TYNDP H2 topology, which specifically includes the H2 Z1 and Z2 setup, production, and storage technologies - - - * - 9.5 EV modelling techniques - - refine assumptions on EV charging behavior and their impact on potential grid bottlenecks - - - - PyPSA-Eur now limits Vehicle-to-Grid (V2G) dispatch capacity based on the fraction of vehicles participating in demand-side management. It also refines temperature-dependent correction factors for EV energy demand. - Since the distribution grid is modelled (without the corresponding topology), just as an capacity expansion with corresponding costs, one can investigate the relation between flexible EV charging and necessary distribution grid capacity - * - 9.6 District heating - - Create a dedicated tool distinct from the ETM to simulate production from biomass, geothermal, and other sources - - - - PyPSA-Eur already features a highly detailed district heating module. Recent additions include geothermal district heating, aquifer thermal energy storage (ATES), and booster heat pumps for supplemental heating - - * - 9.7 Liquified hydrogen - - Explore LH2 import methods to understand logistical, storage, and cost constraints - - - - PyPSA-Eur implements a "H2 liquid" bus at each location to specifically handle hydrogen liquefaction costs for shipping demand - * - 9.8 H2 Import Quotas - - Align hydrogen import quotas with RepowerEU targets to avoid overestimating domestic production - - - - - * - 9.9 Electric heat pumps - - Move heat pump modeling to PLEXOS to better capture thermal inertia and load management - - - - Thermal inertia of buildings could be modelled as an additional store but is not implemented in PyPSA-Eur. Heat demand reductions by endogenous optimisation of building renovation is implemented in PyPSA-Eur. - * - 9.10 Optimisation Across Energy Vectors - - Expanding PLEXOS to integrate electricity, gas, and hydrogen systems holistically - - Open-TYNDP optimizes these vectors simultaneously by default - - PyPSA-Eur optimizes these vectors simultaneously by default - * - 9.11 Transmission System Losses - - Reassessing losses to reflect actual power flow dynamics more accurately - - - - PyPSA-Eur allows for piecewise linear approximation of transmission losses and provides the option to disable efficiency losses for specific carriers. - * - 9.12 Additional hydrogen production pathways - - Integrating methane pyrolysis and waste-to-hydrogen processes - - - - PyPSA-Eur has already integrated biomass-to-hydrogen (with or without carbon capture) and supports custom technology adjustments via configuration. - * - 9.13 Flexibility in modelling - - Focus on load displacement (shifting demand) rather than just load reduction to maximize renewable use - - Open TYNDP follows TYNDP methodology so exhibits the same limitation. - - PyPSA-Eur has higher flexibility since all sectors are modelled (instead of fixed exogenous demand for H2). - * - 9.14 Price setting for hydrogen - - Revise methodology to reflect real-world contracts and costs like dehydrogenation - - As an integrated sector-coupled model, endogenous pricing of hydrogen includes all represented upstream processes - - ditto - * - 9.15 Sensitivity to commodity prices - - Conduct sensitivity analyses on price fluctuations (gas, oil, H2) to understand investment risks - - Workflow management tool snakemake enables the simultaneous execution of multiple scenarios with single calls and configuration overrides - - The solution space could be scanned for near optimal solutions using e.g. the MGA method (see `Millinger et al. (2025) `_) - * - **9.16 Inclusion of emerging technologies** - - The collaborative approach offered by Open TYNDP provides a formal review process by which new technologies can be included in the analysis - - - * - 9.17 Out of scope Innovations - - Carbon Capture and utilisation - - Innovative Grid Technologies - - Open TYNDP includes a detailed representation of CCS and CDR technologies including carbon sequestration sites - - diff --git a/doc/installation.md b/doc/installation.md new file mode 100644 index 0000000000..af1bdac1a7 --- /dev/null +++ b/doc/installation.md @@ -0,0 +1,154 @@ + + + + +# Installation {#installation} + +The subsequently described installation steps are demonstrated as shell commands, where the path before the `%` sign denotes the +directory in which the commands following the `%` should be entered. + + +## Option A: Windows Installer (Recommended for Windows) {#windows_installer} + +For Windows users, the easiest way to install Open-TYNDP is using the automated installer. Download the latest installer executable (e.g., `open-tyndp-0.4.0-pixi-Windows-x86_64.exe`) from the [GitHub releases page](https://github.com/open-energy-transition/open-tyndp/releases) and run it. + +The installer will: + +1. Install pixi package manager to `%LOCALAPPDATA%\open-tyndp` +2. Extract the repository files to your chosen installation directory +3. Set up the conda environment automatically via `pixi install` +4. Create Start Menu shortcuts for easy access: + + - **Open-TYNDP PowerShell** - Launch PowerShell with environment activated + - **Open-TYNDP Command Prompt** - Launch Command Prompt with environment activated + +For more details about the installer, see `utils/windows-installer/README.md` in the repository. + +!!! note + If you prefer manual installation or need more control over the setup process, follow the instructions below for cloning the repository and installing dependencies manually. + + +## Option B: Manual installation (All Platforms) {#manual_installation} + +### Clone the Repository {#clone_repo} + +First of all, clone the [Open-TYNDP repository](https://github.com/open-energy-transition/open-tyndp) using the version control system `git` in the command line. + +```console +$ git clone https://github.com/open-energy-transition/open-tyndp.git +``` + +## Install Python Dependencies {#deps} + +### Preferred method: `pixi` + +PyPSA-Eur, and consequently Open-TYNDP, relies on a set of other Python packages to function. +We manage these using [pixi](https://pixi.sh/latest/). +Once pixi is installed, you can activate the project environment for your operating system and have access to all the PyPSA-Eur dependencies from the command line: + +```console +$ pixi shell -e open-tyndp +``` + +!!! tip + You can also set up automatic shell activation in several popular editors (e.g. in [VSCode](https://pixi.sh/dev/integration/editor/vscode/) or [Zed](https://pixi.sh/dev/integration/editor/zed/)). + Refer to the `pixi` documentation for the most up-to-date options. + +!!! note + We don't currently support linux operating systems using ARM processors since certain packages, such as `PySCIPOpt`, require being built from source. + +### Legacy method: `conda` + +If you cannot access `pixi` on your machine, you can also install using [conda](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html) (or `mamba`/`micromamba`). +To do so, we highly recommend you install from one of our platform-specific environment files: + +* For Intel/AMD processors: + - Linux: `envs/default_linux-64.pin.txt` + - macOS: `envs/default_osx-64.pin.txt` + - Windows: `envs/default_win-64.pin.txt` + +* For ARM processors: + - macOS (Apple Silicon): `envs/default_osx-arm64.pin.txt` + - Linux (ARM): Currently not supported via lock files; requires building certain packages, such as `PySCIPOpt`, from source + +```console +$ conda update conda + +$ conda create -n open-tyndp --file envs/default_linux-64.pin.txt # select the appropriate file for your platform + +$ conda activate open-tyndp +``` + +These platform-specific files have locked dependencies, to ensure reproducibility. +If you are having difficulties with the above files, you can also install directly from the un-locked environment YAML file (not recommended): + +```console +$ conda update conda + +$ conda env create -n open-tyndp -f envs/environment.yaml + +$ conda activate open-tyndp +``` + +## Install a Solver + +PyPSA passes the PyPSA-Eur network model to an external solver for performing the optimisation. +PyPSA is known to work with the free software + +- [HiGHS](https://highs.dev/) +- [Cbc](https://projects.coin-or.org/Cbc#DownloadandInstall) +- [GLPK](https://www.gnu.org/software/glpk/) ([WinGLKP](http://winglpk.sourceforge.net/)) +- [SCIP](https://scipopt.github.io/PySCIPOpt/docs/html/index.html) + +and the non-free, commercial software (for some of which free academic licenses are available) + +- [Gurobi](https://www.gurobi.com/documentation/quickstart.html) +- [CPLEX](https://www.ibm.com/products/ilog-cplex-optimization-studio) +- [FICO Xpress Solver](https://www.fico.com/de/products/fico-xpress-solver) +- [Mosek](https://www.mosek.com/) + +For installation instructions of these solvers for your operating system, follow the links above. +Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems, and +it might be the case that you can only retrieve solutions by using a commercial solver. +Nevertheless, you can still use open-source solvers for smaller problems. + +!!! note "See also" + [Instructions how to install a solver in the documentation of PyPSA](https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation) + +!!! note + The rules [cluster_network][] solves a mixed-integer quadratic optimisation problem for clustering. + The open-source solvers HiGHS, Cbc and GlPK cannot handle this. A fallback to SCIP is implemented in this case, which is included in the standard environment specifications. + For an open-source solver setup install for example HiGHS **and** SCIP in your `conda` environment on OSX/Linux. + + To install the default solver Gurobi, run + + ```console + $ conda activate open-tyndp + $ conda install -c gurobi gurobi"=12.0.1" + ``` + + Additionally, you need to setup your [Gurobi license](https://www.gurobi.com/solutions/licensing/). + + To use Xpress, install the `xpress` Python package and ensure you have: + + - `XPRESSDIR` environment variable pointing to your Xpress installation + - `XPAUTH_PATH` environment variable pointing to your license directory + - A valid Xpress license file + + Then configure the solver in your config file: + + ```yaml + solving: + solver: + name: xpress + options: xpress-default + ``` + + For GPU-accelerated solving, use: + + ```yaml + solving: + solver: + name: xpress + options: xpress-gpu + ``` diff --git a/doc/installation.rst b/doc/installation.rst deleted file mode 100644 index d509f2e535..0000000000 --- a/doc/installation.rst +++ /dev/null @@ -1,179 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _installation: - -########################################## -Installation -########################################## - -The subsequently described installation steps are demonstrated as shell commands, where the path before the ``%`` sign denotes the -directory in which the commands following the ``%`` should be entered. - - -.. _windows_installer: - -Option A: Windows Installer (Recommended for Windows) -===================================================== - -For Windows users, the easiest way to install Open-TYNDP is using the automated installer. Download the latest installer executable (e.g., ``open-tyndp-0.4.0-pixi-Windows-x86_64.exe``) from the `GitHub releases page `__ and run it. - -The installer will: - -1. Install pixi package manager to ``%LOCALAPPDATA%\open-tyndp`` -2. Extract the repository files to your chosen installation directory -3. Set up the conda environment automatically via ``pixi install`` -4. Create Start Menu shortcuts for easy access: - - - **Open-TYNDP PowerShell** - Launch PowerShell with environment activated - - **Open-TYNDP Command Prompt** - Launch Command Prompt with environment activated - -For more details about the installer, see ``utils/windows-installer/README.md`` in the repository. - -.. note:: - If you prefer manual installation or need more control over the setup process, follow the instructions below for cloning the repository and installing dependencies manually. - - -.. _manual_installation - -Option B: Manual installation (All Platforms) -============================================= - -.. _clone_repo: - -Clone the Repository --------------------- - -First of all, clone the `Open-TYNDP repository `__ using the version control system ``git`` in the command line. - -.. code:: console - - $ git clone https://github.com/open-energy-transition/open-tyndp.git - - -.. _deps: - -Install Python Dependencies ---------------------------- - -Preferred method: ``pixi`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PyPSA-Eur, and consequently Open-TYNDP, relies on a set of other Python packages to function. -We manage these using `pixi `_. -Once pixi is installed, you can activate the project environment for your operating system and have access to all the PyPSA-Eur dependencies from the command line: - -.. code:: console - - $ pixi shell -e open-tyndp - -.. tip:: - You can also set up automatic shell activation in several popular editors (e.g. in `VSCode `_ or `Zed `_). - Refer to the ``pixi`` documentation for the most up-to-date options. - -.. note:: - We don't currently support linux operating systems using ARM processors since certain packages, such as ``PySCIPOpt``, require being built from source. - -Legacy method: ``conda`` -~~~~~~~~~~~~~~~~~~~~~~~~ - -If you cannot access ``pixi`` on your machine, you can also install using `conda `_ (or ``mamba``/``micromamba``). -To do so, we highly recommend you install from one of our platform-specific environment files: - -* For Intel/AMD processors: - - - Linux: ``envs/default_linux-64.pin.txt`` - - macOS: ``envs/default_osx-64.pin.txt`` - - Windows: ``envs/default_win-64.pin.txt`` - -* For ARM processors: - - - macOS (Apple Silicon): ``envs/default_osx-arm64.pin.txt`` - - Linux (ARM): Currently not supported via lock files; requires building certain packages, such as ``PySCIPOpt``, from source - -.. code:: console - - $ conda update conda - - $ conda create -n open-tyndp -f envs/default_linux-64.pin.txt # select the appropriate file for your platform - - $ conda activate open-tyndp - - -These platform-specific files have locked dependencies, to ensure reproducibility. -If you are having difficulties with the above files, you can also install directly from the un-locked environment YAML file (not recommended): - -.. code:: console - - $ conda update conda - - $ conda env create -n open-tyndp -f envs/environment.yaml - - $ conda activate open-tyndp - - -Install a Solver ----------------- - -PyPSA passes the PyPSA-Eur network model to an external solver for performing the optimisation. -PyPSA is known to work with the free software - -- `HiGHS `__ -- `Cbc `__ -- `GLPK `__ (`WinGLKP `__) -- `SCIP `__ - -and the non-free, commercial software (for some of which free academic licenses are available) - -- `Gurobi `__ -- `CPLEX `__ -- `FICO Xpress Solver `__ -- `Mosek `__ - -For installation instructions of these solvers for your operating system, follow the links above. -Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems, and -it might be the case that you can only retrieve solutions by using a commercial solver. -Nevertheless, you can still use open-source solvers for smaller problems. - -.. seealso:: - `Instructions how to install a solver in the documentation of PyPSA `__ - -.. note:: - The rules :mod:`cluster_network` solves a mixed-integer quadratic optimisation problem for clustering. - The open-source solvers HiGHS, Cbc and GlPK cannot handle this. A fallback to SCIP is implemented in this case, which is included in the standard environment specifications. - For an open-source solver setup install for example HiGHS **and** SCIP in your ``conda`` environment on OSX/Linux. - - To install the default solver Gurobi, run - - .. code:: console - - $ conda activate open-tyndp - $ conda install -c gurobi gurobi"=12.0.1" - - Additionally, you need to setup your `Gurobi license `__. - - To use Xpress, install the ``xpress`` Python package and ensure you have: - - - ``XPRESSDIR`` environment variable pointing to your Xpress installation - - ``XPAUTH_PATH`` environment variable pointing to your license directory - - A valid Xpress license file - - Then configure the solver in your config file: - - .. code:: yaml - - solving: - solver: - name: xpress - options: xpress-default - - For GPU-accelerated solving, use: - - .. code:: yaml - - solving: - solver: - name: xpress - options: xpress-gpu diff --git a/doc/introduction.md b/doc/introduction.md new file mode 100644 index 0000000000..bea713e96e --- /dev/null +++ b/doc/introduction.md @@ -0,0 +1,85 @@ + + + +# Introduction {#intro} + + + +!!! note + Find the introductory slides [here](https://docs.google.com/presentation/d/1s4xkeGfR_IqArmceRaYgZUl0UFLymGXwjz6SRWBtNnE/edit). + +!!! warning + The video only introduces the electricity-only part of PyPSA-Eur. + +## Workflow + +The generation of the model is controlled by the open workflow management system +[Snakemake](https://snakemake.github.io/). In a nutshell, the `Snakefile` +declares for each script in the `scripts` directory a rule which describes +which files the scripts consume and produce (their corresponding input and +output files). The `snakemake` tool then runs the scripts in the correct order +according to the rules' input and output dependencies. Moreover, `snakemake` +will track what parts of the workflow have to be regenerated when files or +scripts were modified. + +For instance, an invocation to + +```console +$ snakemake -call results/networks/base_s_128_elec_.nc +``` + +follows this dependency graph + +[![Intro workflow](img/intro-workflow.svg)](img/intro-workflow.svg) + +to solve an electricity system model. + +The **blocks** represent the individual rules which are required to create the +file referenced in the command above. The **arrows** indicate the outputs from +preceding rules which another rule takes as input data. + +!!! note + The dependency graph was generated using + `pixi run snakemake --dag results/networks/base_s_128_elec_.nc -F | sed -n "/digraph/,/}/p" | dot -Tsvg -o doc/img/intro-workflow.svg` + +For the use of `snakemake`, it makes sense to familiarize yourself quickly +with the [basic tutorial](https://snakemake.readthedocs.io/en/stable/tutorial/basics.html) and then +read carefully through the documentation of the [command line interface](https://snakemake.readthedocs.io/en/stable/executing/cli.html), noting the +arguments `-j`, `-c`, `-f`, `-F`, `-n`, `-r`, `--dag` and `-t` +in particular. + +## Scenarios, Configuration and Modification + +PyPSA-Eur can be used to run multiple scenarios using the [wildcards feature](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#wildcards) +of `snakemake`. Wildcards allow to generalise a rule to produce all files that +follow a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) pattern, which defines +a particular scenario. One can think of a wildcard as a parameter that shows +up in the input/output file names and thereby determines which rules to run, +what data to retrieve and what files to produce. Details are explained in +[Wildcards](wildcards.md) and [Scenarios](configuration.md#scenario). + +The model also has several further configuration options collected in the +`config/config.default.yaml` file located in the root directory, which can be +handled with another scenario management. Options are explained in +[Configuration](configuration.md#config). + +## Folder Structure + +- `scripts`: Includes all the Python scripts executed by the `snakemake` rules. +- `rules`: Includes all the `snakemake` rules loaded in the `Snakefile`. +- `envs`: Includes option `conda` environment specifications to run the workflow (using `pixi` instead is our recommended approach). +- `data`: Includes input data that is not produced by any `snakemake` rule. +- `cutouts`: Stores raw weather data cutouts from `atlite`. +- `resources`: Stores intermediate results of the workflow which can be picked up again by subsequent rules. +- `results`: Stores the solved PyPSA network data, summary files and plots. +- `logs`: Stores log files. +- `benchmarks`: Stores `snakemake` benchmarks. +- `doc`: Includes the documentation of PyPSA-Eur. +- `docker`: Includes some optional Docker environments. + +## System Requirements + +Building the model with the scripts in this repository runs on a regular computer. +But optimising for investment and operation decisions across many scenarios requires a strong interior-point solver +like [Gurobi](http://www.gurobi.com/) or [CPLEX](https://www.ibm.com/analytics/cplex-optimizer) with more memory. +Open-source solvers like [HiGHS](https://highs.dev) can also be used for smaller problems. diff --git a/doc/introduction.rst b/doc/introduction.rst deleted file mode 100644 index 2f97400e58..0000000000 --- a/doc/introduction.rst +++ /dev/null @@ -1,101 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _intro: - -########################################## - Introduction -########################################## - -.. raw:: html - - - -.. note:: - Find the introductory slides `here `__. - -.. warning:: - The video only introduces the electricity-only part of PyPSA-Eur. - -Workflow -========= - -The generation of the model is controlled by the open workflow management system -`Snakemake `__. In a nutshell, the ``Snakefile`` -declares for each script in the ``scripts`` directory a rule which describes -which files the scripts consume and produce (their corresponding input and -output files). The ``snakemake`` tool then runs the scripts in the correct order -according to the rules' input and output dependencies. Moreover, ``snakemake`` -will track what parts of the workflow have to be regenerated when files or -scripts were modified. - -For instance, an invocation to - -.. code:: console - - $ snakemake -call results/networks/base_s_128_elec_.nc - -follows this dependency graph - -.. image:: img/intro-workflow.png - :class: full-width - -to solve an electricity system model. - -The **blocks** represent the individual rules which are required to create the -file referenced in the command above. The **arrows** indicate the outputs from -preceding rules which another rule takes as input data. - -.. note:: - The dependency graph was generated using - ``pixi run dot -c && snakemake --dag results/networks/base_s_128_elec_.nc -F | sed -n "/digraph/,/}/p" | dot -Tpng -o doc/img/intro-workflow.png`` - -For the use of ``snakemake``, it makes sense to familiarize yourself quickly -with the `basic tutorial -`__ and then -read carefully through the documentation of the `command line interface -`__, noting the -arguments ``-j``, ``-c``, ``-f``, ``-F``, ``-n``, ``-r``, ``--dag`` and ``-t`` -in particular. - -Scenarios, Configuration and Modification -========================================= - -PyPSA-Eur can be used to run multiple scenarios using the `wildcards feature -`__ -of ``snakemake``. Wildcards allow to generalise a rule to produce all files that -follow a `regular expression -`__ pattern, which defines -a particular scenario. One can think of a wildcard as a parameter that shows -up in the input/output file names and thereby determines which rules to run, -what data to retrieve and what files to produce. Details are explained in -:ref:`wildcards` and :ref:`scenario`. - -The model also has several further configuration options collected in the -``config/config.default.yaml`` file located in the root directory, which can be -handled with another scenario management. Options are explained in -:ref:`config`. - -Folder Structure -================ - -- ``scripts``: Includes all the Python scripts executed by the ``snakemake`` rules. -- ``rules``: Includes all the ``snakemake`` rules loaded in the ``Snakefile``. -- ``envs``: Includes option ``conda`` environment specifications to run the workflow (using ``pixi`` instead is our recommended approach). -- ``data``: Includes input data that is not produced by any ``snakemake`` rule. -- ``cutouts``: Stores raw weather data cutouts from ``atlite``. -- ``resources``: Stores intermediate results of the workflow which can be picked up again by subsequent rules. -- ``results``: Stores the solved PyPSA network data, summary files and plots. -- ``logs``: Stores log files. -- ``benchmarks``: Stores ``snakemake`` benchmarks. -- ``doc``: Includes the documentation of PyPSA-Eur. -- ``docker``: Includes some optional Docker environments. - -System Requirements -=================== - -Building the model with the scripts in this repository runs on a regular computer. -But optimising for investment and operation decisions across many scenarios requires a strong interior-point solver -like `Gurobi `__ or `CPLEX `__ with more memory. -Open-source solvers like `HiGHS ` can also be used for smaller problems. diff --git a/doc/licenses.md b/doc/licenses.md new file mode 100644 index 0000000000..2cbaa5d61c --- /dev/null +++ b/doc/licenses.md @@ -0,0 +1,27 @@ + + + + +# Licenses + +Open-TYNDP is a research and innovation project created by [Open Energy Transition (OET)](https://www.openenergytransition.org/). +It is an open-source soft-fork of [PyPSA-Eur](https://github.com/pypsa/pypsa-eur), extended with custom source code, documentation, data and configuration. + +The licensing of the Open-TYNDP project follows a similar approach to PyPSA-Eur and is released under multiple licenses: + +* Modified source code is licensed as free software under [MIT](LICENSES/MIT.txt) with attribution to OET and its authors. +* Modifications to the original documentation are licensed under [CC-BY-4.0](LICENSES/CC-BY-4.0.txt) with attribution to OET and its authors. +* Modifications to the original configuration files are licensed under [CC0-1.0](LICENSES/CC0-1.0.txt) with attribution to OET and its authors. +* Additional data sources are the TYNDP 2024 Scenarios that are licensed under [CC-BY-4.0](LICENSES/CC-BY-4.0.txt) by ENTSO-E and ENTSOG (see [tyndp_2024](tyndp_2024.md)). + +The original PyPSA-Eur model is released under multiple licenses: + +* All original source code is licensed as free software under [MIT](https://github.com/pypsa/pypsa-eur/blob/master/LICENSES/MIT.txt). +* The documentation is licensed under [CC-BY-4.0](https://github.com/pypsa/pypsa-eur/blob/master/LICENSES/CC-BY-4.0.txt). +* Configuration files are mostly licensed under [CC0-1.0](https://github.com/pypsa/pypsa-eur/blob/master/LICENSES/CC0-1.0.txt). +* Data files are licensed under [CC-BY-4.0](https://github.com/pypsa/pypsa-eur/blob/master/LICENSES/CC-BY-4.0.txt). + +For easier licensing, the Open-TYNDP and PyPSA-Eur repositories use [REUSE by the FSFE](https://reuse.software/). +You can find the specific licenses for each file in their SPDX identifiers or in the [REUSE.toml](https://github.com/pypsa/pypsa-eur/blob/master/REUSE.toml) file. + +Additionally, different licenses and terms of use also apply to the various input data that are not part of the repository (see [Data Sources](data_sources.md)). diff --git a/doc/licenses.rst b/doc/licenses.rst deleted file mode 100644 index 9f726bd1b5..0000000000 --- a/doc/licenses.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Licenses -########################################## - -Open-TYNDP is a research and innovation project created by `Open Energy Transition (OET) `__. -It is an open-source soft-fork of `PyPSA-Eur `__, extended with custom source code, documentation, data and configuration. - -The licensing of the Open-TYNDP project follows a similar approach to PyPSA-Eur and is released under multiple licenses: - -* Modified source code is licensed as free software under `MIT `__ with attribution to OET and its authors. -* Modifications to the original documentation are licensed under `CC-BY-4.0 `__ with attribution to OET and its authors. -* Modifications to the original configuration files are licensed under `CC0-1.0 `__ with attribution to OET and its authors. -* Additional data sources are the TYNDP 2024 Scenarios that are licensed under `CC-BY-4.0 `__ by ENTSO-E and ENTSOG (see :doc:`tyndp_2024`). - -The original PyPSA-Eur model is released under multiple licenses: - -* All original source code is licensed as free software under `MIT `__. -* The documentation is licensed under `CC-BY-4.0 `__. -* Configuration files are mostly licensed under `CC0-1.0 `__. -* Data files are licensed under `CC-BY-4.0 `__. - -For easier licensing, the Open-TYNDP and PyPSA-Eur repositories use `REUSE by the FSFE `__. -You can find the specific licenses for each file in their SPDX identifiers or in the `REUSE.toml `__ file. - -Additionally, different licenses and terms of use also apply to the various input data that are not part of the repository (see :doc:`data_sources`). diff --git a/doc/limitations.rst b/doc/limitations.md similarity index 79% rename from doc/limitations.rst rename to doc/limitations.md index d7561d95c9..68d41565c7 100644 --- a/doc/limitations.rst +++ b/doc/limitations.md @@ -1,27 +1,22 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 + + + -########################################## -Limitations -########################################## +# Limitations -.. warning:: +!!! warning + This list of limitations is incomplete and will be added to over time. - This list of limitations is incomplete and will be added to over time. +## Limitations of the TYNDP -Limitations of the TYNDP -========= The Ten-Year Network Development Plan is subject to several assumptions and modelling simplifications that are crucial to the optimization results. The Open-TYNDP project does not aim to change or improve any of the existing TYNDP methodology but to rather reproduce it. -For a comprehensive overview of the TYNDP modelling methodology and its limitations refer to the `2024 TYNDP Scenarios Methodology Report `__. +For a comprehensive overview of the TYNDP modelling methodology and its limitations refer to the [2024 TYNDP Scenarios Methodology Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Methodology_Report_Final_Version_250128.pdf). -.. seealso:: - Refer also to the current `development status `__ of the Open-TYNDP project for an overview of currently implemented and missing features. +!!! note "See also" + Refer also to the current [development status](https://open-tyndp.readthedocs.io/en/latest/index.html#development-status) of the Open-TYNDP project for an overview of currently implemented and missing features. -Limitations of PyPSA-Eur -========= +## Limitations of PyPSA-Eur While the benefit of an openly available, functional and partially validated model of the European energy system is high, many approximations have @@ -30,8 +25,7 @@ The limitations of the dataset are listed below, both as a warning to the user and as an encouragement to assist in improving the approximations. -.. seealso:: - See also the `GitHub repository issues `__. +See also the [GitHub repository issues](https://github.com/PyPSA/pypsa-eur/issues). - **Electricity transmission network topology:** The grid data is based on a map of the ENTSO-E area that is known diff --git a/doc/macros.py b/doc/macros.py new file mode 100644 index 0000000000..613baa49be --- /dev/null +++ b/doc/macros.py @@ -0,0 +1,141 @@ +# SPDX-FileCopyrightText: Contributors to PyPSA-Eur +# +# SPDX-License-Identifier: MIT + +import json +import re +from functools import lru_cache +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +CONFIG_PATH = ROOT / "config" / "config.default.yaml" +PLOTTING_CONFIG_PATH = ROOT / "config" / "plotting.default.yaml" +SCHEMA_PATH = ROOT / "config" / "schema.default.json" + + +def _dump(node): + text = yaml.safe_dump(node, sort_keys=False, default_flow_style=False, width=4096) + return text.rstrip("\n") + + +def _schema_type(prop): + if "enum" in prop: + return "enum (" + ", ".join(f"`{e}`" for e in prop["enum"]) + ")" + if "anyOf" in prop: + return " \\| ".join(_schema_type(b) for b in prop["anyOf"]) + t = prop.get("type") + if t == "array": + return "list of " + _schema_type(prop.get("items", {})) + if "properties" in prop: + return "any" + if t == "object": + ap = prop.get("additionalProperties") + return f"dict (str -> {_schema_type(ap)})" if isinstance(ap, dict) else "object" + if isinstance(t, list): + return " \\| ".join(t) + return t or "any" + + +def _schema_default(prop): + d = prop.get("default") + if "default" not in prop or d is None: + return "" + if isinstance(d, bool): + return "`true`" if d else "`false`" + return '`""`' if d == "" else f"`{d}`" + + +def _schema_desc(prop): + # collapse RST inline literals/roles left in plain descriptions to markdown + d = prop.get("markdownDescription", prop.get("description", "")) + return re.sub(r":math:`([^`]+)`|``([^`]+)``", lambda m: f"`{m[1] or m[2]}`", d) + + +def _schema_children(prop): + branches = prop.get("anyOf", [prop]) + return next((b["properties"] for b in branches if "properties" in b), None) + + +def _schema_rows(props, depth=0): + prefix = "↳" * depth + (" " if depth else "") + rows = [] + for key, prop in props.items(): + rows.append( + f"| {prefix}`{key}` | {_schema_type(prop)} | " + f"{_schema_default(prop)} | {_schema_desc(prop)} |" + ) + children = _schema_children(prop) + if children: + rows += _schema_rows(children, depth + 1) + return rows + + +@lru_cache(maxsize=1) +def _schema(): + return json.loads(SCHEMA_PATH.read_text()) + + +def _resolve(data, path): + node = data + for part in path: + node = node[part] + return node + + +def define_env(env): + _cache = {} + + def _load(source): + if source not in _cache: + if source == "plotting": + path = PLOTTING_CONFIG_PATH + elif source == "config": + path = CONFIG_PATH + else: + path = ROOT / "config" / source + _cache[source] = yaml.safe_load(path.read_text()) + return _cache[source] + + @env.macro + def schema_table(path): + """Render the config schema at ``path`` as a Property/Type/Default/Description table.""" + node = _schema() + for part in path.split("."): + node = node["properties"][part] + props = node.get("properties", {}) + if not props: + raise ValueError(f"schema path '{path}' has no properties to tabulate") + header = ( + "| Property | Type | Default | Description |\n" + "|----------|------|---------|-------------|" + ) + return header + "\n" + "\n".join(_schema_rows(props)) + + @env.macro + def yaml_section(*paths, source="config", with_key=True): + data = _load(source) + + if not paths: + return _dump(data) + + parts_list = [p.split(".") for p in paths] + + if len(paths) == 1: + parts = parts_list[0] + node = _resolve(data, parts) + if with_key: + return _dump({parts[-1]: node}) + return _dump(node) + + parents = {tuple(p[:-1]) for p in parts_list} + if len(parents) != 1: + raise ValueError("paths must share a common parent") + parent_path = list(parents.pop()) + children = [p[-1] for p in parts_list] + parent_node = _resolve(data, parent_path) + subset = {ck: parent_node[ck] for ck in children} + if with_key and parent_path: + return _dump({parent_path[-1]: subset}) + return _dump(subset) diff --git a/doc/make.bat b/doc/make.bat deleted file mode 100644 index 64f7f0b716..0000000000 --- a/doc/make.bat +++ /dev/null @@ -1,266 +0,0 @@ -REM SPDX-FileCopyrightText: Contributors to PyPSA-Eur -REM SPDX-License-Identifier: MIT - -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - echo. coverage to run coverage check of the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -REM Check if sphinx-build is available and fallback to Python version if any -%SPHINXBUILD% 1>NUL 2>NUL -if errorlevel 9009 goto sphinx_python -goto sphinx_ok - -:sphinx_python - -set SPHINXBUILD=python -m sphinx.__init__ -%SPHINXBUILD% 2> nul -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -:sphinx_ok - - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PyPSA.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PyPSA.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %~dp0 - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %~dp0 - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "coverage" ( - %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage - if errorlevel 1 exit /b 1 - echo. - echo.Testing of coverage in the sources finished, look at the ^ -results in %BUILDDIR%/coverage/python.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) - -:end diff --git a/doc/oetc.md b/doc/oetc.md new file mode 100644 index 0000000000..444e098462 --- /dev/null +++ b/doc/oetc.md @@ -0,0 +1,82 @@ + + + +# OETC Integration + +The OETC platform allows PyPSA-Eur to leverage cloud-based resources for +solving energy system models. This integration enables solving of optimization problems +using remote compute resources when local computational capacity is insufficient. + +!!! note + + Using OETC is **optional** and not required to run PyPSA-Eur. + +## Overview {#oetc_overview} + +OETC provides a cloud-based optimization service that can handle PyPSA networks by: + +- Offloading optimization tasks to remote compute resources +- Supporting various solvers (Highs, Gurobi, etc.) on cloud infrastructure +- Automatically managing authentication and resource allocation +- Providing configurable compute resources (CPU cores, disk space) + +The integration is implemented through the `linopy.oetc` module and is configured +within the PyPSA-Eur solving configuration. + +## Setup and Authentication {#oetc_setup} + +To use OETC with PyPSA-Eur, you need to: + +1. **Set up environment variables** for authentication based on your OETC credentials: + + ```bash + export OETC_EMAIL="your-email@example.com" + export OETC_PASSWORD="your-password" + ``` + +2. **Configure OETC settings** in your configuration file (see [Configuration](#oetc_config)). + +## Configuration {#oetc_config} + +OETC integration is configured within the `solving` section of your configuration file. +Add an `oetc` subsection to enable cloud-based optimization: + +```yaml +solving: + # ... other solving options ... + oetc: + name: "job-name" # Arbitrary human readable job identifier + authentication_server_url: "https://auth.oetc.example.com" + orchestrator_server_url: "https://orchestrator.oetc.example.com" + compute_provider: "GCP" # Currently only GCP is supported + cpu_cores: 4 # This also sets the amount of RAM by a factor 8 + disk_space_gb: 20 +``` + +!!! note + + The `solver` and `solver_options` are automatically passed from the main + solving configuration and do not need to be specified in the OETC section. + +## Usage {#oetc_usage} + +Once configured, OETC integration works transparently with the standard PyPSA-Eur +workflow. If a oetc configuration is present, PyPSA-Eur will automatically use +the OETC platform for the model optimization during the solve network rule. + +An example of a log entry when using OETC: + +``` +INFO:linopy.oetc:OETC - Signing in... +INFO:linopy.oetc:OETC - Signed in +INFO:linopy.oetc:OETC - Fetching user GCP credentials... +INFO:linopy.oetc:OETC - Fetched user GCP credentials +INFO:linopy.oetc:OETC - Submitting compute job... +INFO:linopy.oetc:OETC - Compute job 992616b6-0f24-4ab5-8675-ba8098d795fa started +INFO:linopy.oetc:OETC - Waiting for job 992616b6-0f24-4ab5-8675-ba8098d795fa to complete... +INFO:linopy.oetc:OETC - Job 992616b6-0f24-4ab5-8675-ba8098d795fa status: PENDING, checking again in 30 seconds... +INFO:linopy.oetc:OETC - Job 992616b6-0f24-4ab5-8675-ba8098d795fa status: PENDING, checking again in 45 seconds... +INFO:linopy.oetc:OETC - Job 992616b6-0f24-4ab5-8675-ba8098d795fa completed successfully! +INFO:linopy.oetc:OETC - Model solved successfully. Status: ok +INFO:linopy.oetc:OETC - Objective value: 3.11e+07 +``` diff --git a/doc/oetc.rst b/doc/oetc.rst deleted file mode 100644 index 291d06dafc..0000000000 --- a/doc/oetc.rst +++ /dev/null @@ -1,96 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. SPDX-FileCopyrightText: Open Energy Transition gGmbH -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -OETC Integration -########################################## - -The OETC platform allows PyPSA-Eur to leverage cloud-based resources for -solving energy system models. This integration enables solving of optimization problems -using remote compute resources when local computational capacity is insufficient. - -.. note:: - - Using OETC is **optional** and not required to run PyPSA-Eur. - -.. _oetc_overview: - -Overview -======== - -OETC provides a cloud-based optimization service that can handle PyPSA networks by: - -- Offloading optimization tasks to remote compute resources -- Supporting various solvers (Highs, Gurobi, etc.) on cloud infrastructure -- Automatically managing authentication and resource allocation -- Providing configurable compute resources (CPU cores, disk space) - -The integration is implemented through the ``linopy.oetc`` module and is configured -within the PyPSA-Eur solving configuration. - -.. _oetc_setup: - -Setup and Authentication -======================== - -To use OETC with PyPSA-Eur, you need to: - -1. **Set up environment variables** for authentication based on your OETC credentials: - - .. code:: bash - - export OETC_EMAIL="your-email@example.com" - export OETC_PASSWORD="your-password" - -2. **Configure OETC settings** in your configuration file (see :ref:`oetc_config`). - -.. _oetc_config: - -Configuration -============= - -OETC integration is configured within the ``solving`` section of your configuration file. -Add an ``oetc`` subsection to enable cloud-based optimization: - -.. code:: yaml - - solving: - # ... other solving options ... - oetc: - name: "job-name" # Arbitrary human readable job identifier - authentication_server_url: "https://auth.oetc.example.com" - orchestrator_server_url: "https://orchestrator.oetc.example.com" - compute_provider: "GCP" # Currently only GCP is supported - cpu_cores: 4 # This also sets the amount of RAM by a factor 8 - disk_space_gb: 20 - -.. note:: - - The ``solver`` and ``solver_options`` are automatically passed from the main - solving configuration and do not need to be specified in the OETC section. - -.. _oetc_usage: - -Usage -===== - -Once configured, OETC integration works transparently with the standard PyPSA-Eur -workflow. If a oetc configuration is present, PyPSA-Eur will automatically use -the OETC platform for the model optimization during the solve network rule. - -An example of a log entry when using OETC: -.. code:: - INFO:linopy.oetc:OETC - Signing in... - INFO:linopy.oetc:OETC - Signed in - INFO:linopy.oetc:OETC - Fetching user GCP credentials... - INFO:linopy.oetc:OETC - Fetched user GCP credentials - INFO:linopy.oetc:OETC - Submitting compute job... - INFO:linopy.oetc:OETC - Compute job 992616b6-0f24-4ab5-8675-ba8098d795fa started - INFO:linopy.oetc:OETC - Waiting for job 992616b6-0f24-4ab5-8675-ba8098d795fa to complete... - INFO:linopy.oetc:OETC - Job 992616b6-0f24-4ab5-8675-ba8098d795fa status: PENDING, checking again in 30 seconds... - INFO:linopy.oetc:OETC - Job 992616b6-0f24-4ab5-8675-ba8098d795fa status: PENDING, checking again in 45 seconds... - INFO:linopy.oetc:OETC - Job 992616b6-0f24-4ab5-8675-ba8098d795fa completed successfully! - INFO:linopy.oetc:OETC - Model solved successfully. Status: ok - INFO:linopy.oetc:OETC - Objective value: 3.11e+07 diff --git a/doc/plotting.md b/doc/plotting.md new file mode 100644 index 0000000000..09379f3329 --- /dev/null +++ b/doc/plotting.md @@ -0,0 +1,130 @@ + + + + + +# Plotting and Summaries + + +## Rule `make_summary` + +::: make_summary + + +## Rule `make_global_summary` + +::: make_global_summary + +## Rule `make_cumulative_costs` + +::: make_cumulative_costs + +## Rule `plot_summary` {#summary_plot} + +::: plot_summary + +## Rule `plot_base_network` + +::: plot_base_network + +## Rule `plot_base_offshore_network` + +::: plot_offshore_network + +## Rule `plot_offshore_network` + +::: plot_offshore_network + +## Rule `plot_power_network_clustered` + +::: plot_power_network_clustered + + + +## Rule `plot_power_network` {#map_plot} + +::: plot_power_network + +## Rule `plot_power_network_perfect` + +::: plot_power_network_perfect + +## Rule `plot_base_hydrogen_network` + +::: plot_base_hydrogen_network + +## Rule `plot_hydrogen_network` + +::: plot_hydrogen_network + +## Rule `plot_gas_network` + +::: plot_gas_network + +## Rule `plot_balance_map` + +::: plot_balance_map + +## Rule `plot_heat_source_map` + +::: plot_heat_source_map + +## Rule `plot_balance_timeseries` + +::: plot_balance_timeseries + +## Rule `plot_heatmap_timeseries` + +::: plot_heatmap_timeseries + +## Rule `plot_base_statistics` + + + +## Rule `build_ambient_air_temperature_yearly_average` + +::: build_ambient_air_temperature_yearly_average + +## Rule `plot_cop_profiles` + + + +## Rule `plot_interactive_bus_balance` + +::: plot_interactive_bus_balance + +## Rule `clean_tyndp_output_benchmark` + +::: clean_tyndp_output_benchmark + +## Rule `clean_tyndp_report_benchmark` + +::: clean_tyndp_report_benchmark + +## Rule `clean_tyndp_vp_data` + +::: clean_tyndp_vp_data + +## Rule `build_statistics` + +::: build_statistics + +## Rule `make_benchmark` + +::: make_benchmark + +## Rule `plot_benchmark` + +::: plot_benchmark + +## Rule `launch_explorer` + +::: launch_explorer + +## Rule `launch_presolved_explorer` + +Mirrors the `launch_explorer` rule to launch the `PyPSA-Explorer` web interface with pre-solved SB networks from previous Open-TYNDP release runs. + +## Rule `close_explorers` + +Closes all open local instances of launched PyPSA-Explorers and frees up used ports again. diff --git a/doc/plotting.rst b/doc/plotting.rst deleted file mode 100644 index 3f38f8f3b0..0000000000 --- a/doc/plotting.rst +++ /dev/null @@ -1,162 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Plotting and Summaries -########################################## - - -Rule ``make_summary`` -======================== - -.. automodule:: make_summary - - -Rule ``make_global_summary`` -======================== - -.. automodule:: make_global_summary - -Rule ``make_cumulative_costs`` -============================== - -.. automodule:: make_cumulative_costs - -.. _summary_plot: - -Rule ``plot_summary`` -======================== - -.. automodule:: plot_summary - -Rule ``plot_base_network`` -================================================= - -.. automodule:: plot_base_network - -Rule ``plot_base_offshore_network`` -================================================= - -.. automodule:: plot_base_offshore_network - -Rule ``plot_offshore_network`` -================================================= - -.. automodule:: plot_base_offshore_network - -Rule ``plot_power_network_clustered`` -================================================= - -.. automodule:: plot_power_network_clustered - - - -.. _map_plot: - -Rule ``plot_power_network`` -=========================== - -.. automodule:: plot_power_network - -Rule ``plot_power_network_perfect`` -=================================== - -.. automodule:: plot_power_network_perfect - -Rule ``plot_base_hydrogen_network`` -========================= - -.. automodule:: plot_base_hydrogen_network - -Rule ``plot_hydrogen_network`` -============================== - -.. automodule:: plot_hydrogen_network - -Rule ``plot_gas_network`` -========================= - -.. automodule:: plot_gas_network - -Rule ``plot_balance_map`` -================================= - -.. automodule:: plot_balance_map - -Rule ``plot_heat_source_map`` -================================= - -.. automodule:: plot_heat_source_map - -Rule ``plot_balance_timeseries`` -================================= - -.. automodule:: plot_balance_timeseries - -Rule ``plot_heatmap_timeseries`` -================================= - -.. automodule:: plot_heatmap_timeseries - -Rule ``plot_base_statistics`` -================================= - -.. automodule:: plot_base_statistics - -Rule ``build_ambient_air_temperature_yearly_average`` -====================================================== - -.. automodule:: build_ambient_air_temperature_yearly_average - -Rule ``plot_cop_profiles`` -=========================== - -.. automodule:: plot_cop_profiles - -Rule ``plot_interactive_bus_balance`` -====================================== - -.. automodule:: plot_interactive_bus_balance - -Rule ``clean_tyndp_benchmark`` -====================================== - -.. automodule:: clean_tyndp_benchmark - -Rule ``clean_tyndp_vp_data`` -====================================== - -.. automodule:: clean_tyndp_vp_data - -Rule ``build_statistics`` -====================================== - -.. automodule:: build_statistics - -Rule ``make_benchmark`` -====================================== - -.. automodule:: make_benchmark - -Rule ``plot_benchmark`` -====================================== - -.. automodule:: plot_benchmark - -Rule ``launch_explorer`` -====================================== - -.. automodule:: launch_explorer - -Rule ``launch_presolved_explorer`` -====================================== - -Mirrors the ``launch_explorer`` rule to launch the ``PyPSA-Explorer`` web interface with pre-solved SB networks from previous Open-TYNDP release runs. - -Rule ``close_explorers`` -====================================== - -Closes all open local instances of launched PyPSA-Explorers and frees up used ports again. - diff --git a/doc/preparation.md b/doc/preparation.md new file mode 100644 index 0000000000..96889a685b --- /dev/null +++ b/doc/preparation.md @@ -0,0 +1,201 @@ + + + + + +# Building Electricity Networks + +The preparation process of the PyPSA-Eur energy system model consists of a group of `snakemake` +rules which are briefly outlined and explained in detail in the sections below. + +Not all data dependencies are shipped with the git repository. +Instead we provide separate data bundles which can be obtained +using the `retrieve*` rules ([Retrieving Data](retrieve.md)). +Having downloaded the necessary data, it can build a base PyPSA network with the following rules + +- [build_shapes][] generates GeoJSON files with shapes of the countries, exclusive economic zones and [NUTS3](https://en.wikipedia.org/wiki/Nomenclature_of_Territorial_Units_for_Statistics) areas. +- [base_network][] builds and stores the base network with all buses, HVAC lines and HVDC links, and determines [Voronoi cells](https://en.wikipedia.org/wiki/Voronoi_diagram) for all substations. + +The network is then simplified by preparing **approximations** of the network model, for which it is computationally viable to co-optimize generation, storage and transmission capacities. + + +- [simplify_network][] transforms the transmission grid to a 380 kV only equivalent network, while +- [cluster_network][] uses a [k-means](https://en.wikipedia.org/wiki/K-means_clustering) based clustering technique to partition the network into a given number of zones and then reduce the network to a representation with one bus per zone. + +The simplification and clustering steps are described in detail in the paper + +- Jonas Hörsch and Tom Brown. [The role of spatial scale in joint optimisations of generation and transmission for European highly renewable scenarios](https://arxiv.org/abs/1705.07617)), *14th International Conference on the European Energy Market*, 2017. [arXiv:1705.07617](https://arxiv.org/abs/1705.07617), [doi:10.1109/EEM.2017.7982024](https://doi.org/10.1109/EEM.2017.7982024). + +Then, the process continues by calculating conventional power plant capacities, potentials, and per-unit availability time series for variable renewable energy carriers and hydro power plants with the following rules: + +- [build_powerplants][] for today's thermal power plant capacities using [powerplantmatching](https://github.com/PyPSA/powerplantmatching) allocating these to the matching clustered region for each powerplant, +- [determine_availability_matrix][] for the land eligibility analysis of each cutout grid cell for PV, onshore and offshore wind, +- [build_renewable_profiles][] for the hourly capacity factors and installation potentials constrained by land-use in each substation's Voronoi cell for PV, onshore and offshore wind, and +- [build_hydro_profile][] for the hourly per-unit hydro power availability time series. + +The rules [add_electricity][] and [prepare_network][] then tie all the different data inputs +together into a detailed PyPSA network stored in `networks/base_s_{clusters}_elec.nc`. + +## Rule `build_cutout` {#cutout} + +::: build_cutout + + +## Rule `build_osm_boundaries` + +::: build_osm_boundaries + +## Rule `clean_osm_data` + +::: clean_osm_data + + +## Rule `build_osm_network` + +::: build_osm_network + +## Rule `build_tyndp_network` + +::: build_tyndp_network + +## Rule `base_network` {#base} + +::: base_network + +## Rule `build_natura` + +::: build_natura + + +## Rule `build_transmission_projects` + +::: build_transmission_projects + +## Rule `build_line_rating` + +::: build_line_rating + +## Rule `add_transmission_projects_and_dlr` + +::: add_transmission_projects_and_dlr + +## Rule `build_bidding_zones` + +::: build_bidding_zones + +## Rule `build_shapes` {#shapes} + +::: build_shapes + + +## Rule `build_electricity_demand_base` + +::: build_electricity_demand_base + +## Rule `build_electricity_demand_base_tyndp` + +::: build_electricity_demand_base + +## Rule `build_electricity_demand` {#electricity_demand} + +::: build_electricity_demand + +## Rule `build_electricity_demand_tyndp` + +::: build_electricity_demand + +## Rule `build_hac_features` + +::: build_hac_features + +## Rule `simplify_network` {#simplify} + +::: simplify_network + +## Rule `cluster_network` {#cluster} + +::: cluster_network + + +## Rule `build_monthly_prices` {#monthlyprices} + +::: build_monthly_prices + +## Rule `build_ship_raster` {#ship} + +::: build_ship_raster + +## Rule `determine_availability_matrix_MD_UA` {#availabilitymatrixmdua} + +::: determine_availability_matrix_MD_UA + + +## Rule `determine_availability_matrix` {#renewableprofiles} + +::: determine_availability_matrix + + +## Rule `build_renewable_profiles` + +::: build_renewable_profiles + + +## Rule `build_hydro_profile` {#hydroprofiles} + +::: build_hydro_profile + +## Rule `build_powerplants` {#powerplants} + +::: build_powerplants + +## Rule `add_electricity` {#electricity} + +::: add_electricity + +## Rule `prepare_network` {#prepare} + +::: prepare_network + +## Rule `prepare_pecd_release` + +::: prepare_pecd_release + +## Rule `clean_pecd_data` + +::: clean_pecd_data + +## Rule `build_renewable_profiles_pecd` + +::: build_renewable_profiles_pecd + +## Rule `clean_tyndp_hydro_inflows` + +::: clean_tyndp_hydro_inflows + +## Rule `build_tyndp_hydro_profile` + +::: build_tyndp_hydro_profile + +## Rule `build_pemmdb_data` + +::: build_pemmdb_data + +## Rule `build_tyndp_transmission_projects` + +::: build_tyndp_transmission_projects + +## Rule `build_tyndp_trajectories` + +::: build_tyndp_trajectories + +## Rule `clean_tyndp_electricity_demand` + +::: clean_tyndp_electricity_demand + +## Rule `clean_tyndp_smr` + +::: clean_tyndp_smr + +## Rule `clean_tyndp_h2_storages` + +::: clean_tyndp_h2_storages diff --git a/doc/preparation.rst b/doc/preparation.rst deleted file mode 100644 index 56dde62c49..0000000000 --- a/doc/preparation.rst +++ /dev/null @@ -1,272 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Building Electricity Networks -########################################## - -The preparation process of the PyPSA-Eur energy system model consists of a group of ``snakemake`` -rules which are briefly outlined and explained in detail in the sections below. - -Not all data dependencies are shipped with the git repository. -Instead we provide separate data bundles which can be obtained -using the ``retrieve*`` rules (:ref:`data`). -Having downloaded the necessary data, it can build a base PyPSA network with the following rules - -- :mod:`build_shapes` generates GeoJSON files with shapes of the countries, exclusive economic zones and `NUTS3 `__ areas. -- :mod:`base_network` builds and stores the base network with all buses, HVAC lines and HVDC links, and determines `Voronoi cells `__ for all substations. - -The network is then simplified by preparing **approximations** of the network model, for which it is computationally viable to co-optimize generation, storage and transmission capacities. - - -- :mod:`simplify_network` transforms the transmission grid to a 380 kV only equivalent network, while -- :mod:`cluster_network` uses a `k-means `__ based clustering technique to partition the network into a given number of zones and then reduce the network to a representation with one bus per zone. - -The simplification and clustering steps are described in detail in the paper - -- Jonas Hörsch and Tom Brown. `The role of spatial scale in joint optimisations of generation and transmission for European highly renewable scenarios `__), *14th International Conference on the European Energy Market*, 2017. `arXiv:1705.07617 `__, `doi:10.1109/EEM.2017.7982024 `__. - -Then, the process continues by calculating conventional power plant capacities, potentials, and per-unit availability time series for variable renewable energy carriers and hydro power plants with the following rules: - -- :mod:`build_powerplants` for today's thermal power plant capacities using `powerplantmatching `__ allocating these to the matching clustered region for each powerplant, -- :mod:`determine_availability_matrix` for the land eligibility analysis of each cutout grid cell for PV, onshore and offshore wind, -- :mod:`build_renewable_profiles` for the hourly capacity factors and installation potentials constrained by land-use in each substation's Voronoi cell for PV, onshore and offshore wind, and -- :mod:`build_hydro_profile` for the hourly per-unit hydro power availability time series. - -The rules :mod:`add_electricity` and :mod:`prepare_network` then tie all the different data inputs -together into a detailed PyPSA network stored in ``networks/base_s_{clusters}_elec.nc``. - -.. _cutout: - -Rule ``build_cutout`` -============================= - -.. automodule:: build_cutout - - -Rule ``build_osm_boundaries`` -================================= - -.. automodule:: build_osm_boundaries - -Rule ``clean_osm_data`` -============================= - -.. automodule:: clean_osm_data - -Rule ``build_osm_network`` -============================= - -.. automodule:: build_osm_network - -Rule ``build_tyndp_network`` -============================= - -.. automodule:: build_tyndp_network - -.. _base: - -Rule ``base_network`` -============================= - -.. automodule:: base_network - -Rule ``build_natura`` -============================= - -.. automodule:: build_natura - - -Rule ``build_transmission_projects`` -==================================== - -.. automodule:: build_transmission_projects - -Rule ``build_line_rating`` -================================= - -.. automodule:: build_line_rating - -Rule ``add_transmission_projects_and_dlr`` -=========================================== - -.. automodule:: add_transmission_projects_and_dlr - -Rule ``build_bidding_zones`` -============================= - -.. automodule:: build_bidding_zones - -.. _shapes: - -Rule ``build_shapes`` -============================= - -.. automodule:: build_shapes - -Rule ``build_gdp_pop_non_nuts3`` -================================ - -.. automodule:: build_gdp_pop_non_nuts3 - - -Rule ``build_electricity_demand_base`` -======================================= - -.. automodule:: build_electricity_demand_base - -Rule ``build_electricity_demand_base_tyndp`` -======================================= - -.. automodule:: build_electricity_demand_base - -.. _electricity_demand: - -Rule ``build_electricity_demand`` -================================== - -.. automodule:: build_electricity_demand - -Rule ``build_electricity_demand_tyndp`` -================================== - -.. automodule:: build_electricity_demand_tyndp - -Rule ``build_hac_features`` -================================= - -.. automodule:: build_hac_features - -.. _simplify: - -Rule ``simplify_network`` -============================ - -.. automodule:: simplify_network - -.. _cluster: - -Rule ``cluster_network`` -=========================== - -.. automodule:: cluster_network - - -.. _monthlyprices: - -Rule ``build_monthly_prices`` -============================= - -.. automodule:: build_monthly_prices - -.. _ship: - -Rule ``build_ship_raster`` -=============================== - - -.. automodule:: build_ship_raster - -.. _availabilitymatrixmdua: - -Rule ``determine_availability_matrix_MD_UA`` -============================================ - -.. automodule:: determine_availability_matrix_MD_UA - - -.. _renewableprofiles: - -Rule ``determine_availability_matrix`` -====================================== - -.. automodule:: determine_availability_matrix - - -.. _renewableprofiles: - -Rule ``build_renewable_profiles`` -==================================== - -.. automodule:: build_renewable_profiles - - -.. _hydroprofiles: - -Rule ``build_hydro_profile`` -=============================== - -.. automodule:: build_hydro_profile - -.. _powerplants: - -Rule ``build_powerplants`` -============================= - -.. automodule:: build_powerplants - -.. _electricity: - -Rule ``add_electricity`` -============================= - -.. automodule:: add_electricity - -.. _prepare: - -Rule ``prepare_network`` -=========================== - -.. automodule:: prepare_network - -Rule ``clean_pecd_data`` -=========================== - -.. automodule:: clean_pecd_data - -Rule ``build_renewable_profiles_pecd`` -=========================== - -.. automodule:: build_renewable_profiles_pecd - -Rule ``clean_tyndp_hydro_inflows`` -=========================== - -.. automodule:: clean_tyndp_hydro_inflows - -Rule ``build_tyndp_hydro_profile`` -=========================== - -.. automodule:: build_tyndp_hydro_profile - -Rule ``build_pemmdb_data`` -=========================== - -.. automodule:: build_pemmdb_data - -Rule ``build_tyndp_transmission_projects`` -=========================== - -.. automodule:: build_tyndp_transmission_projects - -Rule ``build_tyndp_trajectories`` -=========================== - -.. automodule:: build_tyndp_trajectories - -Rule ``clean_tyndp_electricity_demand`` -=========================== - -.. automodule:: clean_tyndp_electricity_demand - -Rule ``clean_tyndp_smr`` -=========================== - -.. automodule:: clean_tyndp_smr - -Rule ``clean_tyndp_h2_storages`` -=========================== - -.. automodule:: clean_tyndp_h2_storages diff --git a/doc/publications.md b/doc/publications.md new file mode 100644 index 0000000000..18a72329e5 --- /dev/null +++ b/doc/publications.md @@ -0,0 +1,6 @@ + + + +# Publications + +\full_bibliography diff --git a/doc/publications.rst b/doc/publications.rst deleted file mode 100644 index d610a78d8b..0000000000 --- a/doc/publications.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Publications -########################################## - -.. bibliography:: - :all: diff --git a/doc/release_notes.md b/doc/release_notes.md new file mode 100644 index 0000000000..79c6bf77cc --- /dev/null +++ b/doc/release_notes.md @@ -0,0 +1,4095 @@ + + + + + +# Release Notes + +## Upcoming Open-TYNDP Release + +**Features** + +* Add Snakemake rules to launch the `PyPSA-Explorer` with pre-solved SB networks from previous releases ([#724](https://github.com/open-energy-transition/open-tyndp/pull/724)). + +**Changes** + +* Add `Undefined for generation` hydrogen demand to the Market Model data for the Hydrogen Supply benchmark ([#718](https://github.com/open-energy-transition/open-tyndp/pull/718)). + +* Update CBA workflow to accept different pre-solved SB network versions as input ([#725](https://github.com/open-energy-transition/open-tyndp/pull/725)). + +* Add pixi tasks for running CBA workflow up until checkpoint `clean_projects` ([#726](https://github.com/open-energy-transition/open-tyndp/pull/726)). + +* Update pixi task names and definitions to align between SB and CBA workflows ([#735](https://github.com/open-energy-transition/open-tyndp/pull/735)). + +* Use only electricity-sourced emissions for and change signs of B2 and B4 indicators ([#709](https://github.com/open-energy-transition/open-tyndp/pull/709)). + +* Pass through and validate default solving options for CBA solve ([#708](https://github.com/open-energy-transition/open-tyndp/pull/708)): + + - Make breaking change by moving `cba.solving.options.horizon` and `cba.solving.options.overlap` to `cba.solving.horizon` and `cba.solving.overlap`, respectively. + - Add `include_objective_constant` and `assign_all_duals` to solving config validator. + - Add `gurobi-simplex` as solver option. + +**Bugfixes and Compatibility** + +**Documentation** + +* Update benchmarking documentation tables and figures for v0.7.1 ([#711](https://github.com/open-energy-transition/open-tyndp/pull/711)). + +* Migrate the Sphinx/RST-based documentation to MkDocs/Markdown, as a follow-up to the [upstream migration](https://github.com/PyPSA/pypsa-eur/pull/2162) ([754](https://github.com/open-energy-transition/open-tyndp/pull/754)). + +**Developers Note** + +* Change GitHub issue templates to comply with ISO security checks ([#714](https://github.com/open-energy-transition/open-tyndp/pull/714), [#730](https://github.com/open-energy-transition/open-tyndp/pull/730)). + +* Introduce SBOM/Grype vulnerability scanning workflow, as a follow-up to the [upstream addition](https://github.com/PyPSA/pypsa-eur/pull/2164) ([754](https://github.com/open-energy-transition/open-tyndp/pull/754)). + + +## Upcoming PyPSA-Eur Release +* Security: SBOM security scan included in CI. + +* Security: Development dependencies (pre-commit, pylint, jupyter, etc.) moved to `dev` `pixi` environment. + Removed 62 CVEs from `default` environment. + +* Fix: Prevent over-aggressive HVDC simplification in `simplify_network` for branched/multi-terminal DC topologies (e.g. UK/Shetland edge cases). Supernode detection now only collapses true chain nodes (degree 2) and preserves DC junctions (degree 3+) so branches are not dropped ([#2147](https://github.com/PyPSA/pypsa-eur/pull/2147)). + +* Fix: `atlite.plot_availability_matrix` config option for `determine_availability_matrix` and `determine_availability_matrix_MD_UA` scripts, changed their output and behaviour to align consistently ([#2173](https://github.com/PyPSA/pypsa-eur/pull/2173)). + +* Fix: Activate losses for `H2 pipeline retrofitted` links by default, to ensure consistency with `H2 pipeline` links. + +* Fix: Re-introduce capital costs for non-bicharging discharge links in `add_electricity.py`, e.g. fuel cells. + +* The lockfile update workflow now excludes packages published within the last 7 days to reduce the risk of pulling in broken or yanked releases ([#2130](https://github.com/PyPSA/pypsa-eur/pull/2130)). + +* The industry reference year and the ammonia production data have been updated to 2023 ([#2103](https://github.com/PyPSA/pypsa-eur/pull/2103)) + +* refactor: Use scripts path provider consistently ([#2093](https://github.com/PyPSA/pypsa-eur/pull/2093)). + +* Fix: Lower the lower bound used to group the power plants in `add_existing_baseyear` ([#2097](https://github.com/PyPSA/pypsa-eur/pull/2097)). This now includes all power plants built since 1900. + +* feat: Add options for carrier specific load shedding and load sinks configurable via `load_shedding` and `load_sinks` respectively ([#2105](https://github.com/PyPSA/pypsa-eur/pull/2105)). + +* perf: Optimize dask settings for computing weather-dependent profiles ([#2137](https://github.com/PyPSA/pypsa-eur/pull/2137)). + +* Fix: correct definition of `marginal_cost` for those links were `vom` values from technology cost datasets are defined per units of output (e.g., electricity) ([#2154](https://github.com/PyPSA/pypsa-eur/pull/2154)). + +* feat: Improve the config validation to cover scenario management ([#2155](https://github.com/PyPSA/pypsa-eur/pull/2155)). + +- Added solar rooftop ratio setting to `add_existing_baseyear` for heuristically splitting existing solar capacity between rooftop and utility-scale (defaults to a 50:50 split). + + +## PyPSA-Eur v2026.02.0 (18th February 2026, merged 17th June 2026) + +**Features** + +* **Updated energy balances:** + + - Update energy balances from JRC-IDEES-2021 to JRC-IDEES-2023; default reference year changed from 2019 to 2023 + ([#1976](https://github.com/PyPSA/pypsa-eur/pull/1976)). + + - Build energy balances from Eurostat API data with new rule [build_eurostat_balances][] + ([#1987](https://github.com/PyPSA/pypsa-eur/pull/1987)). + + - Updated Swiss energy balances from Swiss Federal Office of Energy (SFOE, October 2025), retrieved directly + from SFOE website in `build_swiss_energy_balances` ([#2057](https://github.com/PyPSA/pypsa-eur/pull/2057)). + +* **Better electricity demand data:** + + - Updated electricity demand data sources with ENTSO-E Transparency Platform API (requires `ENTSOE_API_KEY`) + and NESO data portal for Great Britain and Northern Ireland ([#1828](https://github.com/PyPSA/pypsa-eur/pull/1828)). + + - Electricity demand distribution to subnational model regions now uses JRC Energy Atlas data for EU countries + (1km x 1km raster) with fallbacks to NESO and NUTS3-based distribution + ([#1829](https://github.com/PyPSA/pypsa-eur/pull/1829)). + +* **Updated electricity network data:** + + - Improved OSM network building: Support for voltage levels from 63 kV to 750 kV, temporal attributes + (start_date, construction tags), and pure DC buses (switching stations). + Rebuilt interactive network map using PyDeck/deck.gl ([#2052](https://github.com/PyPSA/pypsa-eur/pull/2052), [#2030](https://github.com/PyPSA/pypsa-eur/pull/2030)). + + - Added prebuilt OSM network v0.7 (https://zenodo.org/records/18619025) + ([#2064](https://github.com/PyPSA/pypsa-eur/pull/2064), [#2054](https://github.com/PyPSA/pypsa-eur/pull/2054)). + + - New base network using TYNDP 2024 data modeling NTC transmission capacities as a transport model + ([#1646](https://github.com/PyPSA/pypsa-eur/pull/1646)). + +* **Improved power plants and industrial sites data:** + + - Added powerplantmatching v0.8.0 to data versions. Wind and solar capacity updates for 2025. Nuclear power plants are now resolved by block ([#2040](https://github.com/PyPSA/pypsa-eur/pull/2040)). + + - Enhanced renewable capacity estimation using plant-level data from Powerplantmatching. Renamed setting + `from_gem` to `from_powerplantmatching`. New `from_irenastat` setting supplements capacity estimation + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + + - Waste-to-energy plants now included in electricity-only networks ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + + - Updated GEM steel plant tracker and initial GEM cement plant tracker ([#1830](https://github.com/PyPSA/pypsa-eur/pull/1830)). + +* **Improved storage:** + + - Added new storage technologies, including iron-air batteries. These can be configured as + either store-link combinations or standalone storage units. Implemented in both [add_electricity][] and + [prepare_sector_network][] ([#1961](https://github.com/PyPSA/pypsa-eur/pull/1961)). + + - Existing battery storage capacities from Powerplantmatching can be added as `StorageUnit` components using + plant-level duration data ([#2071](https://github.com/PyPSA/pypsa-eur/pull/2071)). + +* **Updated technology parameters:** + + - Added technology-data v0.13.4 to data versions ([#1985](https://github.com/PyPSA/pypsa-eur/pull/1985)). + +* **Better data, configuration and dependency management:** + + - Data versions now version controlled in `data/versions.csv` with configurable per-scenario specifications + ([#1675](https://github.com/PyPSA/pypsa-eur/pull/1675), [#1963](https://github.com/PyPSA/pypsa-eur/pull/1963)). + + - Use validation schema for configuration files. Schema contains default values; + changes to `config/config.default.yaml` now require schema updates + ([#1912](https://github.com/PyPSA/pypsa-eur/pull/1912)). + + - Move to Pixi for robust cross-platform dependency management ([#1886](https://github.com/PyPSA/pypsa-eur/pull/1886)). + +* Updated CO2 emission allowance prices to use Instrat API for real-time pricing data + ([#2035](https://github.com/PyPSA/pypsa-eur/pull/2035)). + +* Added CO2 emission prices configurable per planning horizon as marginal cost on `co2 atmosphere` Store + ([#1897](https://github.com/PyPSA/pypsa-eur/pull/1897)). + +* Nuclear energy availability factors now stored with annual data per country in `data/nuclear_p_max_pu.csv`; + model automatically selects year nearest to weather year ([#2072](https://github.com/PyPSA/pypsa-eur/pull/2072)). + +* Added interactive HTML balance maps in `results/maps/interactive/` with configurable settings + ([#1935](https://github.com/PyPSA/pypsa-eur/pull/1935)). + +* Added `solving.options.store_model` config option to store the linopy model as NetCDF after solving + (not supported with rolling horizon) ([#2001](https://github.com/PyPSA/pypsa-eur/pull/2001)). + +* Added residential heat demand-side management (DSM) based on SmartEN study methodology + ([#1857](https://github.com/PyPSA/pypsa-eur/pull/1857)). + +* Xpress solver configuration options (`xpress-default` and `xpress-gpu`) with barrier method settings for + large-scale problems ([#2006](https://github.com/PyPSA/pypsa-eur/pull/2006)). + +* `clustering: consider_efficiency_classes` now accepts list of quantile boundaries (e.g. `[0.1, 0.5, 0.9]`) + in addition to boolean; default unchanged ([#2075](https://github.com/PyPSA/pypsa-eur/pull/2075)). + +* Added existing biomass decentral/rural residential and services heating capacity + ([#1872](https://github.com/PyPSA/pypsa-eur/pull/1872)). + +* Introduced method to overwrite costs via `costs:custom_cost_fn` for techno-economic assumptions + ([#1752](https://github.com/PyPSA/pypsa-eur/pull/1752), [#1879](https://github.com/PyPSA/pypsa-eur/pull/1879)). + +* Added minimum unit dispatch setting option for electrolysis ([#1859](https://github.com/PyPSA/pypsa-eur/pull/1859)). + +* Added integration with OETC platform ([#1831](https://github.com/PyPSA/pypsa-eur/pull/1831)). + +**Changes** + +* Removed config options `sector:MWh_MeOH_per_tCO2`, `MWh_MeOH_per_MWh_H2`, and `MWh_MeOH_per_MWh_elec` + in favour of technology-data repository values ([#2043](https://github.com/PyPSA/pypsa-eur/pull/2043)). + +* Rewritten power plant mapping to model regions/buses using spatial joins instead of nearest-bus approach. + Necessary due to administrative clustering conformance changes + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Setting `from_gem` renamed to `from_powerplantmatching` + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Function `rescale_idees_from_eurostat` removed ([#1987](https://github.com/PyPSA/pypsa-eur/pull/1987)). + +* Removed `shared_cutouts` configuration entry; cutouts always shared. Use differently named cutouts for + scenario-specific temporal/spatial resolution ([#1675](https://github.com/PyPSA/pypsa-eur/pull/1675)). + +* Cutouts relocated to `data/cutouts/` directory; will trigger re-download/rebuild. Move existing cutouts + manually if needed ([#1675](https://github.com/PyPSA/pypsa-eur/pull/1675)). + +* Cutout bounds must now be explicitly defined in configuration; inference from `regions_onshore` and + `regions_offshore` removed ([#1675](https://github.com/PyPSA/pypsa-eur/pull/1675)). + +* Cutout preparation configuration moved to nested `prepare_kwargs` dictionary + ([#1675](https://github.com/PyPSA/pypsa-eur/pull/1675)). + +* Configuration options `enable: retrieve`, `enable: retrieve_databundle`, and `enable: retrieve_cost_data` + removed; rules always included ([#1675](https://github.com/PyPSA/pypsa-eur/pull/1675)). + +* Removed `secrets` configuration section and Gurobi license credentials from config files to prevent + accidental exposure of sensitive data ([#1989](https://github.com/PyPSA/pypsa-eur/pull/1989)). + +* Configuration schema updater allowing soft-fork changes without modifying base PyPSA-Eur files + ([#2056](https://github.com/PyPSA/pypsa-eur/pull/2056)). + +* Removed outdated hotfixes in [build_powerplants][] ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Updated `powerplants_filter` to include plants operational in 2025 + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Default year for renewable capacity estimation updated to 2024 ([#2040](https://github.com/PyPSA/pypsa-eur/pull/2040)). + +* Added 2030 to power plant grouping years by default ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Disabled `powerplantmatching` phase-out heuristic in [build_powerplants][] + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Applied scaling of kW and GW to MW for custom costs ([#2023](https://github.com/PyPSA/pypsa-eur/pull/2023)). + +* Refactored [solve_network][] and [solve_operations_network][] separating optimization problem preparation + from solving ([#1956](https://github.com/PyPSA/pypsa-eur/pull/1956)). + +* Added example configurations for rolling horizon and iterative optimization modes in `config/examples/` + ([#1902](https://github.com/PyPSA/pypsa-eur/pull/1902)). + +* Static balance maps relocated to `results/maps/static/` ([#1935](https://github.com/PyPSA/pypsa-eur/pull/1935)). + +* Bus carriers for balance maps with spaces must use underscores in configuration for SLURM compatibility + ([#1935](https://github.com/PyPSA/pypsa-eur/pull/1935)). + +* Overpass API configuration options added (URL, retries, timeout, user agent) + ([#1940](https://github.com/PyPSA/pypsa-eur/pull/1940)). + +* Added script path getter helper method for rule inheritance in nested snakefiles + ([#1997](https://github.com/PyPSA/pypsa-eur/pull/1997)). + +* Updated standing losses for PTES, central TTES, and decentral TTES to latest DEA technology data (v0.13.3) + ([#1791](https://github.com/PyPSA/pypsa-eur/pull/1791)). + +* Disabled PTES dynamic capacity by default ([#1926](https://github.com/PyPSA/pypsa-eur/pull/1926)). + +* Distribution grid experimental feature: voltage levels from 63 kV to 750 kV with example configuration + ([#1740](https://github.com/PyPSA/pypsa-eur/pull/1740)). + +* Allow expandable CCGTs by default ([#1796](https://github.com/PyPSA/pypsa-eur/pull/1796)). + +* Reverted to PDF files for graphs generated with [plot_summary][] ([#2083](https://github.com/PyPSA/pypsa-eur/pull/2083)). + +* Add user-readable messages to each rule ([#1846](https://github.com/PyPSA/pypsa-eur/pull/1846)). + +* Running perfect foresight marked as unstable ([#1853](https://github.com/PyPSA/pypsa-eur/pull/1853)). + +* Empty auto-generated folders (`resources/`, `results/`) added to repository; `purge` rule preserves folders + ([#1764](https://github.com/PyPSA/pypsa-eur/pull/1764)). + +* Improved handling of grouping years in [add_existing_baseyear][] + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Automatically update DAGs in documentation ([#1880](https://github.com/PyPSA/pypsa-eur/pull/1880)). + +**Bugfixes and Compatibility** + +* Fixed offshore wind potentials by disregarding CORINE land cover data for offshore technologies. + +* Increased minimum required PyPSA version to 0.33.2 ([#1849](https://github.com/PyPSA/pypsa-eur/pull/1849)). + +* Custom storage plugin for Zenodo retrievals to address recurring failures + (https://github.com/PyPSA/snakemake-storage-plugin-cached-http, [#1913](https://github.com/PyPSA/pypsa-eur/pull/1913)). + +* Fixed unit commitment compatibility for PyPSA v1.0 component API + ([#2049](https://github.com/PyPSA/pypsa-eur/pull/2049)). + +* Fixed rolling horizon optimisation to work in [solve_network][] in addition to [solve_operations_network][]; + drop cyclicity constraints with `rolling_horizon: true` + ([#2070](https://github.com/PyPSA/pypsa-eur/pull/2070)). + +* Fixed unit commitment parameters scaling start-up costs with nominal power capacity + ([#2080](https://github.com/PyPSA/pypsa-eur/pull/2080)). + +* Pinned `grpcio<1.78` to silence cluttering warnings ([#2080](https://github.com/PyPSA/pypsa-eur/pull/2080)). + +* Fixed CO2Stop ID column handling across versions ([#2077](https://github.com/PyPSA/pypsa-eur/pull/2077)). + +* Ensured renewable carriers not added as conventional power plants if in `powerplants.csv` + ([#2050](https://github.com/PyPSA/pypsa-eur/pull/2050)). + +* Fixed wildcards error in [clean_osm_data][] rule message ([#2022](https://github.com/PyPSA/pypsa-eur/pull/2022)). + +* Fixed `None` default config parameter creating zero offshore wind availability + ([#2019](https://github.com/PyPSA/pypsa-eur/pull/2019)). + +* Fixed virtual bus naming in raw OSM transmission network to use persistent names + ([#1956](https://github.com/PyPSA/pypsa-eur/pull/1956)). + +* Fixed column selection when preparing OSM pre-built releases ([#1956](https://github.com/PyPSA/pypsa-eur/pull/1956)). + +* Fixed capital cost of `solar-hsat` not adjusted to current planning horizon in myopic optimization + ([#1965](https://github.com/PyPSA/pypsa-eur/pull/1965)). + +* Fixed `ConsistencyError` for Links without buses when `gas_network: true` but no `conventional_generation` + ([#1971](https://github.com/PyPSA/pypsa-eur/pull/1971)). + +* Fixed `ConsistencyError` for Links without buses when `industry: true` but no `conventional_generation` or + `biomass` ([#1971](https://github.com/PyPSA/pypsa-eur/pull/1971)). + +* Fixed `mock_snakemake` due to upstream Snakemake API changes requiring `LoggerManager` instance + ([#1984](https://github.com/PyPSA/pypsa-eur/pull/1984)). + +* Fixed compatibility with `pyogrio>=0.12.0` in [build_gas_input_locations][] and [build_gas_network][] + ([#1955](https://github.com/PyPSA/pypsa-eur/pull/1955)). + +* Fixed PyPSA-Eur use as Snakemake module by ensuring all file paths relative to rule inputs/outputs + ([#1967](https://github.com/PyPSA/pypsa-eur/pull/1967)). + +* Fixed OSM network building via Overpass API ([#1940](https://github.com/PyPSA/pypsa-eur/pull/1940)). + +* Fixed parsing of Swiss passenger cars data ([#1934](https://github.com/PyPSA/pypsa-eur/pull/1934), [#1936](https://github.com/PyPSA/pypsa-eur/pull/1936)). + +* Fixed `ValueError` with `cop_heat_pump` in [prepare_sector_network][] when `tim_dep_hp_cop` is + `false` ([#1929](https://github.com/PyPSA/pypsa-eur/pull/1929)). + +* Fixed OSM raw data cleaning to include `section` line relation role ([#1927](https://github.com/PyPSA/pypsa-eur/pull/1927)). + +* Fixed missing raw OSM HVDC links defined using `power=circuit` tag ([#1926](https://github.com/PyPSA/pypsa-eur/pull/1926)). + +* Fixed load shedding bugs from incorrect `sign` argument in `n.add` and `np.isscalar` + ([#1908](https://github.com/PyPSA/pypsa-eur/pull/1908)). + +* Fixed Eurostat data retrieval on Windows by avoiding double temporary file access + ([#1825](https://github.com/PyPSA/pypsa-eur/pull/1825)). + +* Fixed `AttributeError` in [prepare_sector_network][] with single country and cluster + ([#1835](https://github.com/PyPSA/pypsa-eur/pull/1835)). + +* Fixed `ValueError` in [prepare_sector_network][] `add_storage_and_grids` with few nodes + ([#1780](https://github.com/PyPSA/pypsa-eur/pull/1780)). + +* Fixed `AttributeError` in [prepare_sector_network][] with single country + ([#1778](https://github.com/PyPSA/pypsa-eur/pull/1778)). + +* Fixed `FileNotFoundError` preventing PyPSA-Eur use as Snakemake module by saving intermediate files at top + directory level in multiple `retrieve.smk` rules ([#1768](https://github.com/PyPSA/pypsa-eur/pull/1768)). + +* Fixed heat pump CAPEX allocation to heat bus and removed nominal efficiency from CAPEX calculation + ([#1748](https://github.com/PyPSA/pypsa-eur/pull/1748)). + +* Fixed heat pump COP approximation configuration passing to `CentralHeatingCopApproximator` + ([#1748](https://github.com/PyPSA/pypsa-eur/pull/1748)). + +* Fixed `pandas>=2.3.0` deprecation warnings ([#1898](https://github.com/PyPSA/pypsa-eur/pull/1898)). + +* Fixed WDPA links on Windows ([#2008](https://github.com/PyPSA/pypsa-eur/pull/2008)). + +* Fixed WDPA and WDPA Marine data download and extraction ([#2005](https://github.com/PyPSA/pypsa-eur/issues/2005)). + +* Added automatic retry for Zenodo HTTP requests to handle transient errors + ([#1861](https://github.com/PyPSA/pypsa-eur/pull/1861)). + +* Fixed missing cost name for geothermal-sourced heat pump and allowed in test configs + ([#1766](https://github.com/PyPSA/pypsa-eur/pull/1766)). + +* Changed error handling for non-extendable heat storage energy-to-power ratio constraints to warning + ([#1769](https://github.com/PyPSA/pypsa-eur/pull/1769)). + +* Removed snakemake SLURM plugin from Windows installations ([#2009](https://github.com/PyPSA/pypsa-eur/pull/2009)). + +* Added missing bidding zone data sources to data layer ([#1991](https://github.com/PyPSA/pypsa-eur/pull/1991)). + +* Removed pinned environment files mention from pre-commit-config-yaml ([#1837](https://github.com/PyPSA/pypsa-eur/pull/1837)). + + +## Open-TYNDP v0.7.1 (19th May 2026) +**Bugfixes and Compatibility** + +* Restrict linopy to <0.7.0 to work around a bug in linopy v0.7.0 where generator constraints are violated, resulting in a negative objective function value. This is a temporary pin until the issue is resolved upstream (https://github.com/open-energy-transition/open-tyndp/pull/705). + + +## Open-TYNDP v0.7 (19th May 2026) +**Features** + +* Implement demand side response (DSR) components and price bands (https://github.com/open-energy-transition/open-tyndp/pull/598). This is configurable via `electricity.constrain_dsr` and `cba.constrain_dsr` in the configuration file. + +* Add functionality to use different sources (ENTSO-E and ENTSOs) of H2 reference grid data via `sector.h2_reference_grid_source` (https://github.com/open-energy-transition/open-tyndp/pull/611). + +* Add configuration switch to patch faulty electricity demand profiles with Market Model output data (https://github.com/open-energy-transition/open-tyndp/pull/647). + +* Refactor the TYNDP carrier mappings into a central CSV file, adding consistent nice names to all carriers (https://github.com/open-energy-transition/open-tyndp/pull/658). + +* Add `tyndp-archive` as a new data source backed by an Open-TYNDP Google Cloud Storage bucket (`open-tyndp-data-store`) where archived datasets are mirrored. This enables fully reproducible runs without depending on third-party data providers (https://github.com/open-energy-transition/open-tyndp/pull/682). Six datasets currently remain to be retrieved from primary sources due to licensing constraints. + +**Changes** + +* Modify B1 indicator calculation to only use OPEX and not total system cost (OPEX + CAPEX) (https://github.com/open-energy-transition/open-tyndp/pull/668). + +* Add dumped energy to power generation benchmarking (https://github.com/open-energy-transition/open-tyndp/pull/615). + +* Add numbers of hours of demand shedding to benchmarking (https://github.com/open-energy-transition/open-tyndp/pull/657). + +* Disable OCGT as an extendable carrier and add load shedding for H2 and AC (https://github.com/open-energy-transition/open-tyndp/pull/547). + +* Add imports to H2 Market Model (MM) supply benchmark (https://github.com/open-energy-transition/open-tyndp/pull/604). + +* Add cross-border flows to the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/609). + +* Improve price benchmarking excluding load-shedding to account for sector-coupling effects by lowering the carrier-specific threshold used to filter marginal prices (https://github.com/open-energy-transition/open-tyndp/pull/701). + +* Add option to patch offshore hubs interconnectors with Market Model data (https://github.com/open-energy-transition/open-tyndp/pull/654). The patch is optionally applied and is enabled with `sector:offshore_hubs_tyndp:patch_crossborder_with_mm`. + +* Apply derived bus name mappings when computing offshore hubs interconnector benchmarks (https://github.com/open-energy-transition/open-tyndp/pull/656). + +* Add separate solver option for CBA MSV extraction (`cba.msv_extraction.solving`) and move CBA solve logs to `results/cba/logs/` (https://github.com/open-energy-transition/open-tyndp/pull/627). + +* Change the number of threads used for CBA MSV extraction (`solve_cba_msv_extraction`) to `solver_threads` to speed up high-resolution runs when using commercial solvers (https://github.com/open-energy-transition/open-tyndp/pull/649). + +* Refactor CBA workflow to only temporarily save CBA project networks in `resources/` (https://github.com/open-energy-transition/open-tyndp/pull/652). + +* Disable noise added to costs in CBA solves, via `cba.msv_extraction.solving.options.noisy_costs` and `cba.solving.options.noisy_costs` (https://github.com/open-energy-transition/open-tyndp/pull/687). + +**Bugfixes and Compatibility** + +* Fix flows in balance maps (https://github.com/open-energy-transition/open-tyndp/pull/608). + +* Improve EU-wide prices with Pan-European values (https://github.com/open-energy-transition/open-tyndp/pull/607). + +* Adjust `build_statistics` to be compatible with not modelling the electricity distribution grid with low voltage buses (https://github.com/open-energy-transition/open-tyndp/pull/634). + +* Fix NaN values of `marginal_cost_original` in solved networks (https://github.com/open-energy-transition/open-tyndp/pull/613). + +* Fix labeling of climate years in CBA indicators output CSVs (https://github.com/open-energy-transition/open-tyndp/pull/620). + +* Fix CBA workflow to correctly handle simple runs and collection (multi-climate year) runs (https://github.com/open-energy-transition/open-tyndp/pull/625). + +* Adjust DSR and demand shedding mapping across data sources to benchmark them accurately (https://github.com/open-energy-transition/open-tyndp/pull/645). + +* Fix mapping of biofuels in the Final Energy Demand table of the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/667). + +* Fix DSR benchmarking of installed capacities and add notes to plots (https://github.com/open-energy-transition/open-tyndp/pull/663). + +* Fix CRS compatibility between `entsoepy` and `electricitymaps` bidding zone shapes (https://github.com/open-energy-transition/open-tyndp/pull/672). + +* Refactor the extraction of cross-border flows used by the benchmarking framework to use `n.statistics` (https://github.com/open-energy-transition/open-tyndp/pull/680). + +* Update PEMMDB version reference to correct version v2.5 in the documentation (https://github.com/open-energy-transition/open-tyndp/pull/681). + +* Fix units in B4 indicator calculation (https://github.com/open-energy-transition/open-tyndp/pull/693). + +* Fix missing native electricity demand mapping for the Market Model in the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/692). This enables the load-weighted average Pan-EU Market Model price calculation and per-node electricity demand validation. + +* Refactor the `plot_benchmarks` script in order to reduce memory requirements and accelerate processing (https://github.com/open-energy-transition/open-tyndp/pull/696). + +* Improve performance of `build_statistics` by adjusting snapshot weightings within networks to be applied automatically within `n.statistics` instead of manually in `build_statistics` (https://github.com/open-energy-transition/open-tyndp/pull/674). + +* Fix prices on interactive maps to exclude load shedding (https://github.com/open-energy-transition/open-tyndp/pull/689). + +* Fix the interconnector normalisation by mapping the bus names prior to their normalisation for all the cross-border benchmarks (https://github.com/open-energy-transition/open-tyndp/pull/703). + +**Documentation** + +* Restructure documentation: split benchmarking into SB and CBA sections, add PyPSA-Eur pages (https://github.com/open-energy-transition/open-tyndp/pull/676). + +* Add hint on specifying physical RAM limit for Snakemake to use when scheduling jobs (https://github.com/open-energy-transition/open-tyndp/pull/699). + +**Developers Note** + +* Upload Windows installer as unzipped artifact (https://github.com/open-energy-transition/open-tyndp/pull/621). + +* Improve robustness of `retrieve_bidding_zones_entsoepy` by using `requests` instead of `geopandas` to retrieve data (https://github.com/open-energy-transition/open-tyndp/pull/644). + +* Save current git version label and commit in network metadata for improved versioning of runs (https://github.com/open-energy-transition/open-tyndp/pull/675). + +* Add buttons to the interactive balance maps and decrease file size (https://github.com/open-energy-transition/open-tyndp/pull/669). + + +## Open-TYNDP v0.6.1 (2nd April 2026) +**Bugfixes and Compatibility** + +* Fix EU27 benchmark aggregation for non-price tables (https://github.com/open-energy-transition/open-tyndp/pull/600). + +**Documentation** + +* Update citations to version-agnostic DOIs (https://github.com/open-energy-transition/open-tyndp/pull/602). + + +## Open-TYNDP v0.6 (1st April 2026) +**Features** + +* Implement rolling horizon optimisation with marginal storage values (water values) for seasonal storage components, maintaining operation of long-term stores close to perfect foresight optimization (https://github.com/open-energy-transition/open-tyndp/pull/441). + +* Add SMR (grey hydrogen) and SMR + Carbon Capture (blue hydrogen) capacities and assumptions from TYNDP 2024 hydrogen data and enable H2 load shedding with cost of 3000 EUR/MWh_H2 (https://github.com/open-energy-transition/open-tyndp/pull/490). + +* Add Other RES capacities and generation profiles from PEMMDB (https://github.com/open-energy-transition/open-tyndp/pull/521). + +* Add Other Non-RES capacities and price bands from PEMMDB (https://github.com/open-energy-transition/open-tyndp/pull/535). + +* Add H2 cavern and tank storages with existing energy and charge/discharge capacities (https://github.com/open-energy-transition/open-tyndp/pull/552). Optionally, for the DE/GA scenarios, expansion limits are added for these capacities for the expendable cavern storages. + +* Add PEMMDB common data assumptions from ERAA 2025 for power plant type specific efficiencies and VOM (https://github.com/open-energy-transition/open-tyndp/pull/541). + +* Add Battery Store capacities from PEMMDB (https://github.com/open-energy-transition/open-tyndp/pull/253/). + +* Add the 2035 hydrogen reference grid for NT 2040 using the Grid Investment Dataset (https://github.com/open-energy-transition/open-tyndp/pull/537). + +* Collect results of multi weather year CBAs and calculate weighted average KPIs and plot them (https://github.com/open-energy-transition/open-tyndp/pull/529). + +* Add an option to use the H2 demand from the Market Model Outputs (`sector:h2_demand_patch_with_mm`, enabled by default) (https://github.com/open-energy-transition/open-tyndp/pull/531). This option overwrites the default H2 demand from the Demand Profiles of the TYNDP 2024 Scenarios. It is now also possible to compare against Market Model Outputs in the benchmarking framework. + +* Improve hydro modelling assumptions used for Run-of-River (ROR), pondage and reservoir (https://github.com/open-energy-transition/open-tyndp/pull/567). + +* Improve biomass and biogas assumptions: subtract Other-RES biomass demand from solid biomass FED, update biomass-to-liquid efficiencies with the Supply Tool values, and align Other-RES and non-upgraded biogas with FED benchmarks (https://github.com/open-energy-transition/open-tyndp/pull/570). + +* Add option to model carrier-specific load shedding with associated shedding costs (https://github.com/open-energy-transition/open-tyndp/pull/494). + +* Add option to model carrier-specific load sinks with associated costs (https://github.com/open-energy-transition/open-tyndp/pull/505). + +* Add preprocessing of Market Model benchmark data (prices, crossborder flows, supply, capacity) on country level (https://github.com/open-energy-transition/open-tyndp/pull/467). + +* Extend benchmarking to support spatial resolution at bus and country level (https://github.com/open-energy-transition/open-tyndp/pull/543), configured via `benchmarking.spatial.by_bus` and `benchmarking.spatial.by_country`. + +* Add electricity and hydrogen price benchmarking tables to the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/574). + +**Changes** + +* Add option to run CBA using pre-solved SB networks from Zenodo, bypassing the SB workflow which speeds up execution (https://github.com/open-energy-transition/open-tyndp/pull/478). This can be enabled by setting `cba:cba_scenario_input:use_presolved` to `true` in the configuration file. **Note:** Pre-solved networks use default open-tyndp settings. If your config differs from defaults, SB and CBA assumptions may not align. + +* Populate link attributes for new links in CBA (https://github.com/open-energy-transition/open-tyndp/pull/522). + +* Implement option to remove noisy costs from CBA indicators calculations (https://github.com/open-energy-transition/open-tyndp/pull/523). + +* Add an option to apply the CBA fixes of the electrical reference network to the SB network as well (enabled by default) (https://github.com/open-energy-transition/open-tyndp/pull/527). + +* Add an option to set negative capacities of links from TOOT removal to zero instead of removing them (https://github.com/open-energy-transition/open-tyndp/pull/542). + +* Rename OCGT as slack generator for benchmarking (https://github.com/open-energy-transition/open-tyndp/pull/573). + +* Connect isolated offshore wind farms to the grid using a copperplate assumption for NT scenario (https://github.com/open-energy-transition/open-tyndp/pull/568). + +* Remove non-extendable TYNDP assets with zero capacity from network to reduce network size (https://github.com/open-energy-transition/open-tyndp/pull/583). + +**Bugfixes and Compatibility** + +* Add fallback to use 2040 networks/data when planning horizon selected in CBA is not 2030 or 2040 (https://github.com/open-energy-transition/open-tyndp/pull/520). + +* Fix GH workflow to attach windows installer to release (https://github.com/open-energy-transition/open-tyndp/pull/501). + +* Fix inconsistency in the naming of CBA indicators benchmark plots (https://github.com/open-energy-transition/open-tyndp/pull/509). + +* Fix topology issue affecting the hydrogen interactive maps (https://github.com/open-energy-transition/open-tyndp/pull/533). + +* Fix for myopic handling of cumulative capacities of renewable assets (https://github.com/open-energy-transition/open-tyndp/pull/564). + +* Fix NaNs that are introduced in B1 indicator calculation when using `cba.remove_noisy_costs` (https://github.com/open-energy-transition/open-tyndp/pull/578). + +* Remove outdated config overwrites for electrolysis efficiency to use planning year dependent `custom_cost.csv` values (https://github.com/open-energy-transition/open-tyndp/pull/582). + +* Fix incorrect country assignment for the `BEIOH01` offshore hub and add an explicit country mapping (https://github.com/open-energy-transition/open-tyndp/pull/591). + +**Documentation** + +* Add dedicated documentation page for the CBA rolling horizon dispatch pipeline, covering all preparation stages (network simplification, reference network, MSV extraction, rolling horizon preparation, project preparation, solve, indicators), configuration reference, and key design assumptions (https://github.com/open-energy-transition/open-tyndp/pull/572). + +* Add description of CBA config settings and how to run single vs collection (climate years) scenarios (https://github.com/open-energy-transition/open-tyndp/pull/584). + +* Add FAQ for Windows usage and corrupt environments (https://github.com/open-energy-transition/open-tyndp/pull/549). + +**Developers Note** + +* Refactor the `validation` folder within `benchmarks/tyndp-2024` to ensure consistency in naming conventions (https://github.com/open-energy-transition/open-tyndp/pull/550). + + +## Open-TYNDP v0.5.1 (18th February 2026) +**Features** + +* Sign Windows installers using Azure Artifact Signing (https://github.com/open-energy-transition/open-tyndp/pull/471). + +**Changes** + +* Refactor the temporal aggregation of a sector-coupled model as a separate rule (https://github.com/open-energy-transition/open-tyndp/pull/469). It renames previous `temporal_aggregation` as `build_snapshot_weightings` and introduces a new rule `temporal_aggregation` after `prepare_sector_network` that effectively applies the aggregation. + +* Harmonize renewable profiles across all assets regardless of build year (https://github.com/open-energy-transition/open-tyndp/pull/473). When `existing_capacities:uniform_renewable_profiles` is enabled, brownfield generators receive the current planning horizon's profiles instead of their vintage profiles. + +**Bugfixes and Compatibility** + +* Fix Windows uninstaller launched from installer to report failure on success (https://github.com/open-energy-transition/open-tyndp/pull/472). + +* Fix for myopic pathway optimization using the TYNDP H2 reference grid to account for cumulative capacities between planning horizons and add back CH-IT H2 pipeline connections (https://github.com/open-energy-transition/open-tyndp/pull/475). + +* Fix for GB connections in 2035 reference grid based on the Grid Investment Dataset (https://github.com/open-energy-transition/open-tyndp/pull/489). + +* Allow specifying the build_year of investment candidates to be added as new links to the 2040 reference grid via the config file and add both 2030 and 2035 projects to 2040 reference grid (https://github.com/open-energy-transition/open-tyndp/pull/496). + +* Use conda-forge dependency for PyPSA-Explorer package instead of pypi (https://github.com/open-energy-transition/open-tyndp/pull/491). + +**Documentation** + +* Update benchmarking indicators and figures to v0.5 (https://github.com/open-energy-transition/open-tyndp/pull/465). + +* Update the Citation for improved reference of original work and add Zenodo archive (https://github.com/open-energy-transition/open-tyndp/pull/459). + +**Developers Note** + +* Verify checksums of data packages downloaded through GCP (https://github.com/open-energy-transition/open-tyndp/pull/486). + +* Pin grpcio<1.78 to silence warnings that are cluttering the log (https://github.com/open-energy-transition/open-tyndp/pull/498). + + +## Open-TYNDP v0.5 (10th February 2026) +**Features** + +* Add the PINT project network preparation for Cost-Benefit Analysis (CBA) and adjust workflow to single reference grid (https://github.com/open-energy-transition/open-tyndp/pull/353). + +* Add TYNDP hydro technologies and associated PEMMDB capacities and inflows (https://github.com/open-energy-transition/open-tyndp/pull/338). The following technologies are introduced: `hydro-ror`, `hydro-reservoir`, `hydro-pondage`, `hydro-phs` and `hydro-phs-pure`. + +* Scaled EV electricity demand and adjusted EV parameters to match TYNDP 2024 assumptions (EV charging efficiency, EV charging rate, capacity available for DSM, car efficiency) (https://github.com/open-energy-transition/open-tyndp/pull/409). + +* Add the 2035 reference grid for NT 2040 using the Grid Investment Dataset (https://github.com/open-energy-transition/open-tyndp/pull/340). + +* Introduce calculation of B2 indicator in the Cost-Benefit Analysis (CBA) based on changes in total system CO2 emissions (https://github.com/open-energy-transition/open-tyndp/pull/348). + +* Introduce calculation of B3 indicators in the Cost-Benefit Analysis (CBA) based on renewable energy integration (https://github.com/open-energy-transition/open-tyndp/pull/350). + +* Introduce calculation of B4 indicator in the Cost-Benefit Analysis (CBA) based on changes in non-CO2 emissions (https://github.com/open-energy-transition/open-tyndp/pull/398). + +* Set short-term storage to cyclic in CBA dispatch (https://github.com/open-energy-transition/open-tyndp/pull/385). + +* Add availability profiles for nuclear power plants (https://github.com/open-energy-transition/open-tyndp/pull/447). The profiles are derived from the Market Outputs files for the NT scenario. Generation time series are normalized to per-unit values and resampled weekly, retaining the maximum availability factor per week to account for maintenance schedules and forced outages. + +* Add PyPSA-Explorer to workflow (https://github.com/open-energy-transition/open-tyndp/pull/443). The explorer will launch automatically in a new browser tab. + +* Add automated plotting for CBA indicators (https://github.com/open-energy-transition/open-tyndp/pull/352). + +* Add benchmarking of CBA indicators against TYNDP 2024 reported values (https://github.com/open-energy-transition/open-tyndp/pull/405). + +* Add Market Model outputs to the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/458). Additional minor fixes: SMR and SMR with CCS are now reported as a single group, and e-fuels are excluded from hydrogen demand since they are already accounted for in the exogenous demand. + +**Changes** + +* Improve general assumptions for NT scenario (https://github.com/open-energy-transition/open-tyndp/pull/430). This includes refining assumptions relating to efficiencies, fuel costs and extendable technologies. + +* Extend PyPSA-Eur validation schema for configuration files to Open-TYNDP specific configurations (see https://github.com/PyPSA/pypsa-eur/pull/1912) (https://github.com/open-energy-transition/open-tyndp/pull/419). Find a detailed explanation in the contributors documentation. + +* Assign CBA method assignment of projects before creation of project network, using data from CBA Implementation Guide (https://github.com/open-energy-transition/open-tyndp/pull/426). + +* Fix project capacities in CBA reference network (https://github.com/open-energy-transition/open-tyndp/pull/450). + +* Add preprocessing of Market Model benchmark data (https://github.com/open-energy-transition/open-tyndp/pull/372). All relevant Market Model output data is mapped to the naming convention used in the benchmarking plots. + +* Enable `io_api` direct mode for CBA rolling horizon to improve performance (https://github.com/open-energy-transition/open-tyndp/pull/402). + +**Bugfixes and Compatibility** + +* Add virtual TYNDP nodes for IT and LU to `clusted_pop_layout` to enable consistent use of its index when selecting modelled electricity nodes (https://github.com/open-energy-transition/open-tyndp/pull/360). + +* Enable unlimited capacity for primary fuel generators in CBA rolling horizon (https://github.com/open-energy-transition/open-tyndp/pull/408). + +* Fix processing of H2 demand profiles and PEMMDB profiles for compatibility with the climate year being a leap year like 2008 (https://github.com/open-energy-transition/open-tyndp/pull/414). + +* Fix to allow for bidirectional electricity and hydrogen interconnections between offshore hubs (https://github.com/open-energy-transition/open-tyndp/pull/445). To shore connections remain unidirectional as defined in the inputs. + +* Improve power generation benchmarking for renewables (https://github.com/open-energy-transition/open-tyndp/pull/457). Reported values now include curtailment. + +**Documentation** + +* Add documentation describing the CBA workflow and CBA indicators (https://github.com/open-energy-transition/open-tyndp/pull/392). + +* Explain the Open TYNDP implementation of the scenario approach (https://github.com/open-energy-transition/open-tyndp/pull/449). + +* Add FAQ entry for PyPSA v1 compatibility issue (https://github.com/open-energy-transition/open-tyndp/pull/381). + +**Developers Note** + +* Add scenario column to the `custom_costs.csv` file to allow for shared adjustments across scenarios (https://github.com/open-energy-transition/open-tyndp/pull/361). + +* Align the data structure of the TYNDP archives with that of upstream (https://github.com/open-energy-transition/open-tyndp/pull/451). These changes ensure that all the data is retrieved in an identical structure to the primary source, and as individual compressed archives. + +* Reformat CBA indicators output CSV to long format and to include units (https://github.com/open-energy-transition/open-tyndp/pull/401). + + +## Open-TYNDP v0.4.2 (23rd January 2026) +**Features** + +* Add automated Windows installer for easy setup on Windows systems (https://github.com/open-energy-transition/open-tyndp/pull/333). The installer bundles pixi, the repository, and sets up the conda environment automatically. Installer executables are automatically built and attached to GitHub releases. See `utils/windows-installer/` for details. + +* Integrate Open-TYNDP specific data into the data versioning system introduced upstream (see https://github.com/PyPSA/pypsa-eur/pull/1675) (https://github.com/open-energy-transition/open-tyndp/pull/363). Consequently, the rule `retrieve_additional_tyndp_data` is deprecated. + +**Bugfixes and Compatibility** + +* Fix Windows compatibility issues and make other minor improvements (https://github.com/open-energy-transition/open-tyndp/pull/357). + +* Correct handling of electrolyzer capacities between optimization years (https://github.com/open-energy-transition/open-tyndp/pull/370). + +**Documentation** + +* Add innovation roadmap comparison, mapping existing or new developments in PyPSA-Eur and Open TYNDP to desired features for TYNDP 2026 (https://github.com/open-energy-transition/open-tyndp/pull/341) + + +## Open-TYNDP v0.4.1 (23rd December 2025) +**Bugfixes and Compatibility** + +* Retrieve countries_centroids.geojson using brotli encoding (https://github.com/open-energy-transition/open-tyndp/pull/334). + +* Ensure backward compatibility for custom offshore constraints (https://github.com/open-energy-transition/open-tyndp/pull/339). + + +## Open-TYNDP v0.4 (16th December 2025) +**Features** + +* Introduce a workflow structure for performing Cost-Benefit Analysis (CBA) using both TOOT (Take One Out at a Time) and PINT (Put In at a Time) methodologies for TYNDP transmission and storage projects on top of the SB results (https://github.com/open-energy-transition/open-tyndp/pull/149). The workflow structure has rules for retrieving CBA project data, processing transmission and storage projects from Excel exports, creating reference networks, building individual project networks, solving network optimizations, and computing CBA indicators. + +* Add the TOOT reference network preparation for CBA (https://github.com/open-energy-transition/open-tyndp/pull/199). + +* Add the TOOT project network preparation for CBA (https://github.com/open-energy-transition/open-tyndp/pull/211). + +* Add weekly rolling horizon optimization for CBA networks (https://github.com/open-energy-transition/open-tyndp/pull/217). Implements `solve_cba_network` rule for optimizing dispatch of TOOT and PINT reference and project networks. + +* Introduce calculation of B1 indicator in the Cost-Benefit Analysis (CBA) based on changes in total system costs (https://github.com/open-energy-transition/open-tyndp/pull/186). + +* Add TYNDP conventional thermal generation using PEMMDB capacities, must-runs and availabilities (https://github.com/open-energy-transition/open-tyndp/pull/195). + +* Add TYNDP electrolyzer capacities for the National Trends scenario using PEMMDB data (https://github.com/open-energy-transition/open-tyndp/pull/248). + +* Add the TYNDP hydrogen demand as an exogenously set demand (process data https://github.com/open-energy-transition/open-tyndp/pull/169, attach demand to the network https://github.com/open-energy-transition/open-tyndp/pull/230). + +* Add the TYNDP gas demand as an exogenously set demand (process data https://github.com/open-energy-transition/open-tyndp/pull/208, attach demand to the network https://github.com/open-energy-transition/open-tyndp/pull/220). Introduces `sector:gas_demand_exogenously` configuration to decide whether to attach this demand to the network. Introduces `benchmarking:remove_last_day` to optionally remove the last day of the year, ensuring the benchmarked values have exactly 52 weeks. Removes `sector:use_industry_load` configuration as industry is now integrated in the exogenous demand. + +* Add CO2 emission prices configurable per planning horizon for sector-coupled models (https://github.com/open-energy-transition/open-tyndp/pull/198). The CO2 price is added as a marginal cost on the `co2 atmosphere` Store. + +* Improve the overall benchmarking framework by correcting bus mappings for methane supply, biomass supply, and BtL for FED; grouping H2 pipeline imports together (low carbon and renewables); using a new H2 demand figure (Fig. 10 instead of 54) with correct grouping of exogenous demands; reducing EU-wide statistics to EU27 where possible; and improving biomass supply benchmarking with a new figure (Fig. 22 instead of 59) (https://github.com/open-energy-transition/open-tyndp/pull/281). + +**Breaking Changes** + +* Move all SB scripts to `scripts/sb/` and rules to `rules/sb.smk`, and renamed CBA rules file from `rules/cba/main.smk` to `rules/cba.smk` for consistency (https://github.com/open-energy-transition/open-tyndp/pull/278). + +* Rename `clean_tyndp_demand` to `clean_tyndp_electricity_demand` for clarity (https://github.com/open-energy-transition/open-tyndp/pull/272). + +**Changes** + +* Improve electricity demand processing and benchmarking to achieve an exact match between the benchmarked and reference values (https://github.com/open-energy-transition/open-tyndp/pull/192). + +* Adjust solid biomass and biogas potentials to match TYNDP assumptions across all planning horizons, removed unsustainable biomass and biogas shares from potential, and added configuration options to force biomass and biogas potentials (https://github.com/open-energy-transition/open-tyndp/pull/236). + +* Adjust the benchmarking configurations to report an approximation of imports for fossil fuels (https://github.com/open-energy-transition/open-tyndp/pull/237) and ensure that the final energy demand for biofuels is reflected correctly (https://github.com/open-energy-transition/open-tyndp/pull/239). + +* Add an intermediate scaling factor for hydro plants to match PEMMDB capacities (https://github.com/open-energy-transition/open-tyndp/pull/238, https://github.com/open-energy-transition/open-tyndp/pull/240). + +* Adjust the oil land transport demand in order to adjust the liquids demand (https://github.com/open-energy-transition/open-tyndp/pull/250). + +* Add the TYNDP CCS assumptions as sequestration potentials (https://github.com/open-energy-transition/open-tyndp/pull/244). + +**Bugfixes and Compatibility** + +* Fix benchmarking workflow to account for not spatially resolved methane demand and more missing data (https://github.com/open-energy-transition/open-tyndp/pull/205). + +* Fix `make tyndp` with the introduction of collect rules for `rulegraph` and `filegraph` (https://github.com/open-energy-transition/open-tyndp/pull/214). + +* Correctly attach planning year dependent renewable profiles from PECD to solar and onwind generators (https://github.com/open-energy-transition/open-tyndp/pull/265). + +* Correctly attach solar-pv-rooftop generators to low-voltage buses when modelling an electricity distribution grid representation (https://github.com/open-energy-transition/open-tyndp/pull/273). + +* Address infeasibilities for DE and GA by adjusting the trajectory of DE00 for the larger existing capacity and by fixing a broadcasting bug in the offshore constraints (https://github.com/open-energy-transition/open-tyndp/pull/283). + +* Make sector and TYNDP dependent inputs optional in `prepare_sector_network` to avoid triggering unnecessary prerequisite rules and disable `solar_thermal` (https://github.com/open-energy-transition/open-tyndp/pull/293). + +* Remove `wget` commands from `retrieve` rules to improve Windows compatibility (https://github.com/open-energy-transition/open-tyndp/pull/304). + +* Change the projection for maps to LambertAzimuthalEqualArea and PlateCaree to align with TYNDP 2024 reports (https://github.com/open-energy-transition/open-tyndp/pull/282). + +**Documentation** + +* Add a FAQ to the documentation (https://github.com/open-energy-transition/open-tyndp/pull/276). + +* Add more FAQ questions, set the default solver to HiGHS and fix the default temporal resolution to 52SEG (https://github.com/open-energy-transition/open-tyndp/pull/303). + +**Developers Note** + +* Ensure compatibility with PyPSA v1 (https://github.com/open-energy-transition/open-tyndp/pull/219). + + +## Open-TYNDP v0.3 (24th October 2025) +**Features** + +* Introduce a benchmarking framework that assesses Open-TYNDP model quality against published TYNDP 2024 data and Visualisation Platform data (https://github.com/open-energy-transition/open-tyndp/pull/73, https://github.com/open-energy-transition/open-tyndp/pull/117). This framework is fully integrated into the Open-TYNDP workflow, with benchmarking results included in the outputs. The methodology leverages a multi-criteria approach proposed by [Wen et al. (2022)](https://www.sciencedirect.com/science/article/pii/S0306261922011667). The rules cover processing raw data from TYNDP 2024 Scenarios packages, extracting Open-TYNDP statistics, computing accuracy metrics, and creating comparison figures. The data are benchmarked against the published TYNDP 2024 data, with figures presenting both sources for comparison. + +* Add complete processing and preparation of PECD v3.1 renewable profiles for all renewable technologies: Solar PV rooftop, Solar PV utility, Onshore Wind, Offshore Wind, and Solar CSP (https://github.com/open-energy-transition/open-tyndp/pull/71). These profiles are used in TYNDP 2024 and replace the default ERA5- and SARAH3-based profiles processed with Atlite. The data processing infrastructure for renewable profile creation is complete, but full integration into the model workflow will follow in a subsequent PRs (https://github.com/open-energy-transition/open-tyndp/pull/115, https://github.com/open-energy-transition/open-tyndp/pull/139). + +* Introduce processing of PEMMDB v2.5 hydro inflows data for different hydro technologies: Run of River, Pondage, Reservoir, Pumped Storage Open Loop, and Pumped Storage Closed Loop (https://github.com/open-energy-transition/open-tyndp/pull/77). The data processing infrastructure for hydro inflow profiles is complete, but full integration into the model workflow will follow in a subsequent release. + +* Introduce processing and preparation of PEMMDB v2.5 capacity data, including must-run and availability constraints, and expansion trajectories for conventional and renewable power generation, electrolysers, batteries, and Demand Side Response (DSR) (https://github.com/open-energy-transition/open-tyndp/pull/97). The data processing infrastructure for PEMMDB v2.5 is complete, but full integration into the model workflow will follow in a subsequent release. + +* Integrate solar PV and onshore wind technologies using PEMMDB v2.5 capacity data and PECD v3.1 renewable profiles in the model (https://github.com/open-energy-transition/open-tyndp/pull/115, https://github.com/open-energy-transition/open-tyndp/pull/139). Offshore wind statistics are also improved to include hydrogen generator capacities (in `MW_e`). + +**Changes** + +* Generalise the TYNDP data retrieval rule for improved flexibility (https://github.com/open-energy-transition/open-tyndp/pull/101). This rule is intended for removal once all required data has been integrated into the [Zenodo databundle](https://zenodo.org/records/14230568). + +* Allow retrieval of PyPSA-Eur cutouts for additional climate years that are not available on Zenodo via direct retrieval from Google Cloud Platform (GCP) (https://github.com/open-energy-transition/open-tyndp/pull/109). Currently, this feature is available for climate year 2009. + +* Introduce PECD pre-built dataset to significantly reduce data retrieval requirements (https://github.com/open-energy-transition/open-tyndp/pull/123). Users can either retrieve pre-processed PECD data for climate years 1995, 2008, and 2009 from GCP storage, or build from raw data for any year between 1982 and 2019. + +**Bugfixes and Compatibility** + +* Fix bugs in PyPSA-Eur's nuclear implementation related to inconsistent modelling as both generators and links, missing country-specific `p_max_pu` profiles, and missing uranium generators (https://github.com/open-energy-transition/open-tyndp/pull/105). Additionally, reintroduce default hydro `renewable_carrier` until TYNDP-specific hydro technologies are fully integrated. + +**Developers Note** + +* Scripts now use absolute imports. When using `mock_snakemake`, adding the working directory to the PYTHONPATH or in your IDE is required (https://github.com/open-energy-transition/open-tyndp/pull/138). + + +## Open-TYNDP v0.2 (23rd July 2025) +**Features** + +* Introduce TYNDP offshore wind hubs via `sector:offshore_hubs_tyndp` configuration (https://github.com/open-energy-transition/open-tyndp/pull/54). This feature implements an offshore grid topology with both electric and hydrogen infrastructure, offshore electrolysers, and detailed wind farm characteristics. Three wind farm types are supported: AC-radial (ac-r), DC-radial (dc-r) and DC-hubs (dc-oh). Each is compatible with fixed-bottom (fb) or floating (fl) foundations. Wind farms connected to hubs can produce hydrogen directly through a dedicated P2G unit, while electricity can be supplied to the network or converted to hydrogen via offshore electrolysers connected to the hubs. The network includes existing capacities, with capacity expansion constrained by technological potential and evolving zone potential. + +* Add processing and preparation of TYNDP 2024 PECD v3.1 renewable profiles, replacing default ERA5-based profiles processed with Atlite (https://github.com/open-energy-transition/open-tyndp/pull/53). Initial implementation first addresses profiles for offshore technologies. + +* Add TYNDP hydrogen import potentials and corridors from outside of the modelled countries (https://github.com/open-energy-transition/open-tyndp/pull/36). Notably this includes pipelines and shipping imports from North Africa, Ukraine and Norway. Different import potentials are available for each of the planning years which are differentiated by wildcards. + +* Add the TYNDP electricity demand as an exogenously set demand (https://github.com/open-energy-transition/open-tyndp/pull/14). This requires the default PyPSA-Eur modelling to be explicitly disabled. The TYNDP electricity demand depends on the planning year, necessitating a different approach to the default PyPSA-Eur one. Wildcards are introduced and load is attached in `prepare_sector_network`. + +* Add a dedicated [Open-TYNDP documentation](https://open-tyndp.readthedocs.io/en/latest/) website (https://github.com/open-energy-transition/open-tyndp/pull/80). + +**Changes** + +* Feat: update cutout retrieval of 1w cutout (https://github.com/open-energy-transition/open-tyndp/pull/41) + +* Refactor: TYNDP H2 reference grid in line with using planning_horizon for filtering the tyndp year (https://github.com/open-energy-transition/open-tyndp/pull/37) + +* Add a TYNDP specific CI (https://github.com/open-energy-transition/open-tyndp/pull/26) + +* Remove ch-ibit H2 pipeline capacity for 2030 H2 reference grid (https://github.com/open-energy-transition/open-tyndp/pull/27) + +**Bugfixes and Compatibility** + +* Fix: fix the docstring of build_tyndp_h2_network.py (https://github.com/open-energy-transition/open-tyndp/pull/40) + +* Refactor: rename `build_tyndp_h2_import_potentials` to `build_tyndp_h2_imports` (https://github.com/open-energy-transition/open-tyndp/pull/50) + +* Refactor: consolidate `tyndp_scenario` configurations into a single configuration entry (https://github.com/open-energy-transition/open-tyndp/pull/51) + + +## PyPSA-Eur v2025.07.0 (11th July 2025, merged 24th July 2025) + + +**Features** + +* Introduce the ability to use the bidding zones as administrative zones for the + clustering. This also introduces the ability to create a custom `busmap` + from custom `busshapes`. To use bidding zones as clustering mode, a `bz` + mode has been introduced for `administrative` clustering. This feature is + compatible with the general NUTS clustering approach. Custom `busshapes` + must be provided as + `data/busshapes/base_s_{clusters}_{base_network}.geojson`. + ([#1578](https://github.com/PyPSA/pypsa-eur/pull/1578)) + +* Added aquifer thermal energy storage (ATES) to district heating. Some + parameters (CAPEX, standing losses) might require tuning by the user. + Eligibility computation is simplified. Turned off by default. + ([#1665](https://github.com/PyPSA/pypsa-eur/pull/1665)) + +* Added supplemental heating of thermal energy storage (PTES). This can be + enabled by setting: ``sector: district_heating: ptes: supplemental_heating: + true``. To enable a boosting heat pump as the supplemental heating + technology, use: ``sector: district_heating: ptes: supplemental_heating: + booster_heat_pump: true``. ([#1692](https://github.com/PyPSA/pypsa-eur/pull/1692)) + +**Breaking Changes** + +* Consolidated gap-filling strategies options under a new configuration section + `load: fill_gaps`. ([#1677](https://github.com/PyPSA/pypsa-eur/pull/1677)) + +* Replaced pinned environment files with conda-lock generated lock files for + better dependency resolution and cross-platform reproducibility. Deprecated + old `-pinned.yaml` files with migration instructions. These files will not + be updated anymore and will be removed in a future release. + ([#1660](https://github.com/PyPSA/pypsa-eur/pull/1660)) + +**Changes** + +* Adjusted a series of default values in `config.default.yaml`. + +* Non-sequestered high-value chemicals (e.g. plastic waste) is now allocated + based on the population instead of production. It can be either burned without + energetic utilization or, optionally, in CHPs. + ([#1625](https://github.com/PyPSA/pypsa-eur/pull/1625)) + +* Allow district heating potentials to be specified as a dictionary, with + country codes as keys for `district_heating: potential:`. + ([#1742](https://github.com/PyPSA/pypsa-eur/pull/1742)) + +* Added configuration option for setting `links: p_min_pu`. + ([#1637](https://github.com/PyPSA/pypsa-eur/pull/1637)) + +* Use of `agg_p_nom_limits` now allows aggregating all `solar` electric + technologies. Offshore floating wind (`offwind-float`) was added. + ([#1725](https://github.com/PyPSA/pypsa-eur/pull/1725), + [#1727](https://github.com/PyPSA/pypsa-eur/pull/1727)) + +* The file `config/config.yaml` is now fully optional. + ([#1745](https://github.com/PyPSA/pypsa-eur/pull/1745)) + +* Small plotting improvements. + ([#1694](https://github.com/PyPSA/pypsa-eur/pull/1694)[#1727](https://github.com/PyPSA/pypsa-eur/pull/1727)) + +* The `plotting|map|color_geomap` was renamed to `plotting|map|geomap_colors` to align + with the new PyPSA API. + +**Bugfixes and Compatibility** + +* Select correct capital costs for floating offshore wind. Previously, the same + as for offshore wind were used. ([#1701](https://github.com/PyPSA/pypsa-eur/pull/1701)) + +* Efficiency correction for electrobiofuels. + ([#1683](https://github.com/PyPSA/pypsa-eur/pull/1683)) + +* Configuration settings for heat pump COP approximation are now correctly + used. ([#1729](https://github.com/PyPSA/pypsa-eur/pull/1729)) + +* In [add_existing_baseyear][], renewable carriers are only added if listed + in `electricity: renewable_carriers:`. + ([#1717](https://github.com/PyPSA/pypsa-eur/pull/1717)) + +* Ensure that distribution losses are only deducted from electricity demand when + distribution losses are modelled. + ([#1668](https://github.com/PyPSA/pypsa-eur/pull/1668)) + +* Sanitize columns in [add_brownfield][]. + ([#1676](https://github.com/PyPSA/pypsa-eur/pull/1676)) + +* Adjustments to upcoming PyPSA API changes. + ([#1720](https://github.com/PyPSA/pypsa-eur/pull/1720), + [#1750](https://github.com/PyPSA/pypsa-eur/pull/1750)) + +* Ensure consistent use of wildcards in [build_renewable_profiles][] for + `run: shared_resources: policy: base`. + ([#1641](https://github.com/PyPSA/pypsa-eur/pull/1641)) + +* Ensure solver logs are written to file. + ([#1684](https://github.com/PyPSA/pypsa-eur/pull/1684)) + +* DAG generation (`rulegraph` and `filegraph`) now correctly utilizes all + configuration sources (default, file-based, and command-line overrides), + resolving an issue where visualizations could misrepresent the actual workflow + execution plan. SVG output format has also been added for these graphs, and + error handling during graph generation has been enhanced. + ([#1678](https://github.com/PyPSA/pypsa-eur/pull/1678)) + +* Chore: Replace licensing information in `.reuse/dep5` with `REUSE.toml` to + be compliant with REUSE 3.2 + (https://reuse.software/spec-3.2/#licensing-information). + ([#1739](https://github.com/PyPSA/pypsa-eur/pull/1739)) + +* Windows compatibility improvements. + ([#1602](https://github.com/PyPSA/pypsa-eur/pull/1602), + [#1702](https://github.com/PyPSA/pypsa-eur/pull/1702)) + +**Developers Note** + +* Scripts now use absolute imports. When using `mock_snakemake`, adding the + working directory to the PYTHONPATH or in your IDE is required. + ([#1643](https://github.com/PyPSA/pypsa-eur/pull/1643)) + + +## PyPSA-Eur v2025.04.0 (6th April 2025) + +**Features** + + +* Allowing **network clustering based on administrative boundaries** (i.e., + NUTS0/country-level to NUTS3). To make use of this setting, set ``clustering: + mode: administrative` and `scenario: clusters: ["adm"]``. Optionally, + include a dictionary of individual country codes and their target NUTS level + resolution (0 to 3). Note that non-NUTS countries 'BA', 'MD', 'UA', and 'XK' + can only be clustered to level 0 and 1. + ([#1502](https://github.com/PyPSA/pypsa-eur/pull/1502), + [#1580](https://github.com/PyPSA/pypsa-eur/pull/1580)) + + - Moved setting `enable: custom_busmap` to `clustering: mode: custom_busmap`. + +* Added support for spanning **multiple consecutive, non-consecutive or + meteorological (July-June) weather years** in one optimisation model. The + annualised capital costs, energy limits and loads are multiplied by the number + of years. To calculate the total annualised system costs, divide the total + costs by the number of years. To include multiple years, configure the range + in `snapshots:` and provide the list of associated cutouts in ``atlite: + default_cutouts:``. ([#1613](https://github.com/PyPSA/pypsa-eur/pull/1613)) + + - All cutout references in `config.default.yaml` can now be specified by a + list of cutouts which will be concatenated along the time dimension. + + - All cutout references in `config.default.yaml` now default to ``atlite: + default_cutout:``. + + - In [build_hydro_profile][], when subannual periods are used but full-year + cutouts are available, the hydro profile is now first calculated for the + full year(s) and then sliced to the subannual periods. This is to align + better with the normalization process that uses annual EIA statistics. + + - In [build_snapshot_weightings][], the resampling will now be applied separately + for each year covered in the snapshots. This prevents snapshots that + overflow into the next year, which simplifies running non-contiguous + periods. + + - The files `data/era5-annual-{HDD,runoff}-per-country.csv` are now daily + resolved and were moved into the data bundle + `data/bundle/era5-{HDD,runoff}-per-country.csv`. + +* Support for multiple **resource classes for wind and solar** to use more + accurate renewable potentials and time series when the spatial resolution + is low ([#1481](https://github.com/PyPSA/pypsa-eur/pull/1481)): + + - Splits renewable potentials and time series into a configurable number of + resource classes per carrier and clustered region. The binning is linear + based on the average capacity factors. + + - With the setting `renewables: onwind: resource_classes: 4`, each region + would have four onshore wind generators, each with different potential + (`p_nom_max`) and capacity factor (`p_max_pu`). The same applies to + solar PV and offshore wind. + + - The default number of resource classes is kept at one per cluster. + + - In [build_renewable_profiles][], a new dimension "bin" is added to the + output (`xarray.Dataset`). The resource classes are numbered from 0 + (lowest) to N (highest). + + - Additionally, a new `.geojson` file of clustered regions split by resource + classes is exported, which is is used in [add_electricity][] and + [build_clustered_solar_rooftop_potentials][] to assign existing wind and + solar capacities to the correct combination of bus and resource class. + Within a clustered region, the resource classes do not have to be + contiguous. + +* Added simplified representation of **renewable energy imports** + ([#1583](https://github.com/PyPSA/pypsa-eur/pull/1583)): + + - Can be activated with `sector: imports: enable: true`. + + - Allows hydrogen, ammonia, methanol, gas and Fischer-Tropsch oil with + configurable prices (`sector: imports: prices:`). + + - Methane imports use existing LNG terminal entry points, hydrogen imports use + existing pipeline entry points. + + - Simplification: Import prices are uniform across all regions. + + - Carbon content of imported fuels is handled like biomass. + + - Total volume of imports can be limited with `sector: imports: limit:`. The + limit includes synthetic and biomass imports (``sector: + solid_biomass_import:``), but not fossil fuel imports. + +* Improved **automated plotting** of results + ([#1589](https://github.com/PyPSA/pypsa-eur/pull/1589), + [#1590](https://github.com/PyPSA/pypsa-eur/pull/1590), + [#1626](https://github.com/PyPSA/pypsa-eur/pull/1626)): + + - Moved plotting configuration from `config/config.default.yaml` to + `config/plotting.default.yaml`. The plotting configuration is now separated + from the main configuration file. + + - Added rule `plot_balance_maps` for plotting energy balance maps. The plots + are saved in `results/maps/*` and can be configured in + `plotting.default.yaml` under `plotting: balance_maps`. + + - Added new rule [plot_balance_timeseries][] to plot energy balance time + series for the whole year at daily resolution and for each month at + model-native resolution. + + - Added new rule [plot_heatmap_timeseries][] for plotting configuration of + heatmap time series, including options for marginal prices, utilisation rates, + and state of charge. + +* Extended pre-built [weather data cutouts](https://zenodo.org/records/14936211). Cutouts are now available for the + years 1996, 2010, 2012, 2013, 2019, 2020 and 2023. + ([#1559](https://github.com/PyPSA/pypsa-eur/pull/1559)) + +* Added option to specify the cutout directory in the configuration file. This + allows to the user to specify the directory where the cutouts are stored. Use + it by setting `atlite: cutout_directory:` in the configuration file. + ([#1515](https://github.com/PyPSA/pypsa-eur/pull/1515)) + +- Implemented an energy-to-power ratio constraint for thermal energy storage + (TES), linking the storage capacity to the corresponding charger capacity. + Additionally, chargers and dischargers are now sized proportionally through a + unified constraint. ([#1546](https://github.com/PyPSA/pypsa-eur/pull/1546)) + +* Added option to calculate dynamic storage capacities for pit thermal energy + storage using the `e_max_pu` attribute. The dynamic capacities are + calculated in the new rule `build_tes_capacity_profiles`. + ([#1612](https://github.com/PyPSA/pypsa-eur/pull/1612)) + +* Added a configuration to disable transmission efficiency for some carriers. + ([#1631](https://github.com/PyPSA/pypsa-eur/pull/1631)) + +* Added the options to overwrite investment, lifetime, FOM, VOM, efficiency and + fuel attributes from the configuration file under `costs: overwrites:`. This + mimics the existing capital and marginal cost behaviour. + ([#1532](https://github.com/PyPSA/pypsa-eur/pull/1532), + [#1565](https://github.com/PyPSA/pypsa-eur/pull/1565)) + +* Added rule [build_co2_sequestration_potentials][], which processes the raw + data from `CO2Stop + `_. Integrated + from separate repository (https://github.com/ericzhou571/Co2Storage). + ([#1606](https://github.com/PyPSA/pypsa-eur/pull/1606)) + +* Added option to pass `linopy.Model` keyword arguments through + `config.default.yaml`. ([#1596](https://github.com/PyPSA/pypsa-eur/pull/1596)) + +* Added option to create `snakemake filegraph` and `snakemake rulegraph`. + ([#1574](https://github.com/PyPSA/pypsa-eur/pull/1574)) + +**Changes** + +* Refactor of [make_summary][] + ([#1573](https://github.com/PyPSA/pypsa-eur/pull/1573)): + + - Computes summaries for only a single network at a time. + + - Concatenation is outsourced to new rule [make_global_summary][]. + + - Rule no longer depends on network plots; use the `all` collection rule to + generate summaries and plots. + + - Calculation of cumulative costs for myopic foresight networks was moved to + [make_cumulative_costs][]. + + - Rewrote functions in [make_summary][] to use PyPSA statistics module + more. + + - Inferral of component locations was made more robust. The revised function + uses `n.buses.location` rather than the index strings. Components inherit + the location of the bus they connect to with the highest spatial resolution. + + - The file `supply.csv` was **removed**; the file `price_statistics.csv` + was **removed and integrated** into `metrics.csv`; the files + `supply_energy.csv`, `nodal_supply_energy.csv`, `cfs.csv`, + `nodal_cfs.csv` were **renamed** to `energy_balance.csv`, + `nodal_energy_balance.csv`, `capacity_factors.csv`, + `nodal_capacity_factors.csv`. + + - The order of the MultiIndex levels changed but are now consistently named + and documented; the index level "component" now uses capitalised component + names rather than lower case list names (e.g. "Generator" instead of + "generators"). + + - The plotting functions in [plot_summary][] have been updated to reflect + the changes in the summary files. + +* Unified the functions `load_costs` in [add_electricity][] and + `prepare_costs` in [prepare_sector_network][] into a single function + `load_costs` in [add_electricity][]. For sector-coupled networks, + annualised investment costs are now referred to as "capital_cost" instead of + "fixed". ([#1566](https://github.com/PyPSA/pypsa-eur/pull/1566), + [#1567](https://github.com/PyPSA/pypsa-eur/pull/1567)) + +* In [prepare_sector_network][], split shipping and aviation sector from + `add_industry()` into separate function and configuration setting. To mirror + previous behaviour of setting `sector: industry: true`, also set ``sector: + shipping: true` and `sector: aviation: true``. + ([#1607](https://github.com/PyPSA/pypsa-eur/pull/1607)) + +* Replaced renewable capacity estimation from OPSD VRE data with an estimation + based on Global Energy Monitor (GEM) data. The corresponding setting was + renamed from `from_opsd` to `from_gem`. + ([#1481](https://github.com/PyPSA/pypsa-eur/pull/1481)) + +* Functionality reduction: The technology mapping from `powerplantmatching` + now has to be a 1:1 rather than a 1:n mapping. + ([#1481](https://github.com/PyPSA/pypsa-eur/pull/1481)) + +* Geothermal heat potentials are now restricted to those in close proximity to + future district heating areas as projected by Manz et al. 2024. + ([#1516](https://github.com/PyPSA/pypsa-eur/pull/1516)) + +* Introduced the option to vent heat in all heating systems at given marginal + cost and added a small marginal cost for water tank charging to improve + numerics. Renamed config setting for marginal cost of home-battery charging to + `marginal_cost_home_battery_storage`. + ([#1563](https://github.com/PyPSA/pypsa-eur/pull/1563)) + +* Included the fuel name as part of the carrier attribute for CHP plants added + in [prepare_sector_network][]. + ([#1622](https://github.com/PyPSA/pypsa-eur/pull/1622)) + +* Updated EIA hydro-electricity statistics up to end of 2023. + ([#1543](https://github.com/PyPSA/pypsa-eur/pull/1543)) + +* Reduce pipeline entrypoints to country coverage. Exclude Russia and Belarus. + ([#1582](https://github.com/PyPSA/pypsa-eur/pull/1582)) + +* Rules of `validate.smk` have been removed to consolidate the volume of code + to maintain. ([#1581](https://github.com/PyPSA/pypsa-eur/pull/1581)) + +* Use consistent function scope and avoid use of global variables to make + functions in `add_*`, `prepare_*` and `solve_*` modular and portable. + ([#1537](https://github.com/PyPSA/pypsa-eur/pull/1537), + [#1549](https://github.com/PyPSA/pypsa-eur/pull/1549)) + +* Enable running `mock_snakemake` from a separate working directory. + ([#1571](https://github.com/PyPSA/pypsa-eur/pull/1571)) + +* Add customisable memory logging frequency for [solve_network][]. + ([#1521](https://github.com/PyPSA/pypsa-eur/pull/1521)) + +* The `config/config.yaml` will no longer be created when running snakemake. It will + still be used by the workflow if it exists, but ignored otherwise and is not required. + See [defaultconfig](configuration.md#defaultconfig) for more information. + ([#1649](https://github.com/PyPSA/pypsa-eur/pull/1649)) + +**Bugfixes and Compatibility** + +* Support for Snakemake 9. This is the new minimum version. + ([#1619](https://github.com/PyPSA/pypsa-eur/pull/1619)) + +* Support newer HiGHS versions. ([#1528](https://github.com/PyPSA/pypsa-eur/pull/1528)) + +* Use `pyscipopt` from PyPI. ([#1524](https://github.com/PyPSA/pypsa-eur/pull/1524)) + +* Conda: Remove defaults channel from `conda`` setup and use strict channel + priority. ([#1554](https://github.com/PyPSA/pypsa-eur/pull/1554)) + +* Fail on solving status 'warning' because results are likely not valid. + ([#1591](https://github.com/PyPSA/pypsa-eur/pull/1591)) + +* Bugfix in [build_snapshot_weightings][]. The resampling produces a contiguous date + range. In case the original index was not contiguous, all rows with zero + weight must be dropped (corresponding to time steps not included in the + original snapshots). ([#1613](https://github.com/PyPSA/pypsa-eur/pull/1613)) + +* Bugfix in [build_snapshot_weightings][]. Avoid that aggregated snapshot indices land + on February 29th in leap years when `enable: drop_leap_day: true`. + ([#1613](https://github.com/PyPSA/pypsa-eur/pull/1613)) + +* Bugfix: Handled missing geothermal potential data for the United Kingdom if + geothermal is included for direct utilisation or as heat pump source. The + config parameter ``sector: district_heating: limited_heat_sources: geothermal: + ignore_missing_regions`` can be used to either terminate the workflow throwing + an error (default: `true`) or assign 0 values to missing regions and + continue the workflow (`false`). ([#1617](https://github.com/PyPSA/pypsa-eur/pull/1617)) + +* Bugfix: Changed setting `central_heat_vent` (default: `true`), because the + water tanks charger and discharger were used as heat vents. + ([#1556](https://github.com/PyPSA/pypsa-eur/pull/1556)) + +* Bugfix: Fix `if` clause in [prepare_sector_network][] function + `add_methanol()` ([#1632](https://github.com/PyPSA/pypsa-eur/pull/1632)). + +* Bugfix: Fix matching of Swiss regions (CH) in unsustainable biomass potential + calculation. ([#1585](https://github.com/PyPSA/pypsa-eur/pull/1585)) + +* Bugfix: Fix nuclear `p_max_pu` time series for greenfield nuclear. + ([#1519](https://github.com/PyPSA/pypsa-eur/pull/1519)) + +* Bugfix: Ensure correct `dtype` for the "reversed" column of links. + ([#1525](https://github.com/PyPSA/pypsa-eur/pull/1525)) + +* Bugfix: Ignore keyboard interrupt in memory logging subprocess. + ([#1555](https://github.com/PyPSA/pypsa-eur/pull/1555)) + +* Bugfix: Change WDPA download rules to use shutil instead + of shell commands to properly function on Windows. + ([#1575](https://github.com/PyPSA/pypsa-eur/pull/1575)) + +* Bugfix: Added setting `run: use_shadow_directory:` (default: `true`) which + sets the `shadow` parameter of the snakemake workflow. Configuring to + `true` sets snakemake `shadow` parameter to `shalloow`, `false` to + `Ǹone`. Should be set to `false`` for those cases, where snakemake has an + issue with finding missing input/output files in solving rules. + ([#1535](https://github.com/PyPSA/pypsa-eur/pull/1535)) + + +## Open-TYNDP v0.1 (14th April 2025) +**Features** + +* Added option to use the TYNDP H2 topology including the TYNDP H2 reference grid, + H2 Z1 and Z2 setup, production, reconversion and storage technologies (https://github.com/open-energy-transition/open-tyndp/pull/17/). + +* Introduce a new base network using TYNDP 2024 data (https://github.com/open-energy-transition/open-tyndp/pull/18/). + +**Changes** + +* Add fictive hydrogen demand using industry (https://github.com/open-energy-transition/open-tyndp/pull/25/). + +* Refactoring of `add_storage_and_grids` in `prepare_sector_network` into multiple distinct functions + for easier readability and adjustability (https://github.com/open-energy-transition/open-tyndp/pull/20/). + + +## PyPSA-Eur v2025.01.0 (24th January 2025) + +!!! note + With this version, PyPSA-Eur switches to [CalVer](https://calver.org/) versioning. + +**Features** + +* Introduce geothermal district heating, including direct utilisation and heat + pumps, using potentials from [Manz et al. 2024: Spatial analysis of renewable and excess heat potentials for climate-neutral district heating in Europe](https://www.sciencedirect.com/science/article/pii/S0960148124001769). + ([#1359](https://github.com/PyPSA/pypsa-eur/pull/1359)) + +* Added option to reduce central heating forward temperatures by annual + percentage (see rule `build_central_heating_temperature_profiles`). This + makes COP profiles and heat pump efficiencies planning-horizon-dependent. + Myopic and perfect foresight modes were adjusted accordingly to update COPs of + existing heat pumps in preceding years to adjusted temperatures. + ([#1290](https://github.com/PyPSA/pypsa-eur/pull/1290)) + +* Allow CHPs to use different fuel sources such as gas, oil, coal, and methanol. + Note that the cost assumptions are based on a gas CHP (except for solid + biomass-fired CHP). ([#1392](https://github.com/PyPSA/pypsa-eur/pull/1392), + [#1414](https://github.com/PyPSA/pypsa-eur/pull/1414)) + +* Add a rule to create a `filegraph` dag and rename `dag` rule as `rulegraph`. ([#1574](https://github.com/PyPSA/pypsa-eur/pull/1574)) + +**Breaking Changes** + +* Rearranged workflow to cluster the electricity network before calculating + renewable profiles and adding further electricity system components. + ([#1201](https://github.com/PyPSA/pypsa-eur/pull/1201)) + + - Moved rules `simplify_network` and `cluster_network` before + `add_electricity` and `build_renewable_profiles`. + + - Split rule `build_renewable_profiles` into two separate rules, + `determine_availability_matrix` for land eligibility analysis and + `build_renewable_profiles`, which now only computes the profiles and total + potentials from the pre-computed availability matrix. + + - Removed variables `weight`, `underwater_fraction`, and `potential` + from the output of `build_renewable_profiles` as it is no longer needed. + + - HAC-clustering is now based on wind speeds and irradiation time series + rather than capacity factors of wind and solar power plants. + + - Added new rule `build_hac_features` that aggregates cutout weather data to + base regions in preparation for `cluster_network`. + + - Removed `{simpl}` wildcard and all associated code of the `m` suffix of + the `{cluster}` wildcard. This means that the option to pre-cluster the + network in `simplify_network` was removed. It will be superseded by + clustering renewable profiles and potentials within clustered regions by + resource classes soon. + + - Added new rule `add_transmission_projects_and_dlr` which adds the outputs + from `build_line_rating` and `build_transmission_projects` to the output + of `base_network`. + + - The rule `add_extra_components` was integrated into `add_electricity` + + - Added new rule `build_electricity_demand_base` to determine the load + distribution of the substations in the base network (which was previously + done in `add_electricity`). This time series is used as weights for + kmeans-clustering in `cluster_network` and is later added to the network + in `add_electricity` in aggregated form. + + - The weights of the kmeans clustering algorithm are now exclusively based on + the load distribution. Previously, they also included the distribution of + thermal capacity. + + - Since the networks no longer start with the whole electricity system added + pre-clustering, the files have been renamed from `elec...nc` to + `base...nc` to identify them as derivatives of `base.nc`. + + - The scripts `simplify_network.py` and `cluster_network.py` were + simplified to become less nested and profited from the removed need to deal + with cost data. + + - New configuration options to calculate connection costs of offshore wind + plants. Offshore connection costs are now calculated based on the underwater + distance to the shoreline plus a configurable `landfall_length` which + defaults to 10 km. Previously the distance to the region's centroid was + used, which is not practical when the regions are already aggregated. + +* Removed `{ll}` wildcard. This is now a configuration option ``electricity: + transmission_limit:`, defaulting to `vopt``. All previous options of the + `{ll}` wildcard are also now available within the `{opts}` wildcard (e.g. + as `-lv1.25-`). ([#1472](https://github.com/PyPSA/pypsa-eur/pull/1472)) + +* Breaking change: The location of several network files has changed to + distinguish more clearly between solved and unsolved networks. Unsolved + networks that were previously stored in `results/{run}/prenetworks` are now + placed in `resources/{run}/networks`. Solved networks that were previously + stored in `results/{run}/postnetworks` are now stored in + `results/{run}/networks`. Brownfield networks are identified by a + `_brownfield` suffix in their filename. + +* Replaced the store representation of biogenic carriers (solid biomass, biogas, + bioliquids, MSW) in [prepare_sector_network][] with generators using + attributes `e_sum_min` and `e_sum_max` to enforce minimum usage and limit + maximum potential, respectively. + ([#1373](https://github.com/PyPSA/pypsa-eur/pull/1373)) + +* Aligned the configuration setting for the CO2 network with other similar + settings (changed from `co2network` to `co2_network`). + ([#1438](https://github.com/PyPSA/pypsa-eur/pull/1438)) + +* Added options `biosng_cc` and `biomass_to_liquid_cc` to separate the base + technology from the option to capture carbon from it. + ([#1298](https://github.com/PyPSA/pypsa-eur/pull/1298)) + +**Changes** + +* The building process of the base network from OpenStreetMap was revised. The + code was rewritten to improve the speed, accuracy and to preserve the topology + including original substation locations, wherever possible. The latest + `osm-prebuilt` data is version v0.6 at https://zenodo.org/records/14144752. + ([#1384](https://github.com/PyPSA/pypsa-eur/pull/1384), + [#1387](https://github.com/PyPSA/pypsa-eur/pull/1387), + [#1431](https://github.com/PyPSA/pypsa-eur/pull/1431)) + +* The shapes for countries and administrative regions have been updated. The + workflow has been modified to use higher resolution and more harmonised shapes + (NUTS3 2021 01M data and OSM administration level 1 for non-NUTS3 countries, + such as BA, MD, UA, and XK). Data sources for population and GDP per capita + p.c. have been updated to [JRC ARDECO](https://urban.jrc.ec.europa.eu/ardeco), using values for 2019. The rule + `build_gdp_pop_non_nuts3` is now integrated into [build_shapes][] and + extended to build regional values for all non-NUTS3 countries. + ([#1479](https://github.com/PyPSA/pypsa-eur/pull/1479)) + +* The default configuration for the emission reduction path in myopic pathway + planning mode has been changed to align more closely with policy targets + (`co2_budget:`). ([#1399](https://github.com/PyPSA/pypsa-eur/pull/1399)) + +* Consider the planning horizon for biomass potentials calculation. Previously, + the biomass potential year could be chosen independently of the current + planning horizon. ([#1311](https://github.com/PyPSA/pypsa-eur/pull/1311)) + +* Update locations and capacities of ammonia plants. + ([#1471](https://github.com/PyPSA/pypsa-eur/pull/1471)) + +* NEP transmission projects are updated to HTLS lines. + ([#1348](https://github.com/PyPSA/pypsa-eur/pull/1348)) + +* Added 98% imperfect capture rate of Allam cycle gas turbine. + ([#1298](https://github.com/PyPSA/pypsa-eur/pull/1298)) + +* Improved `sanitize_carrier` function by filling in colors of missing + carriers. ([#1400](https://github.com/PyPSA/pypsa-eur/pull/1400)) + +* In post-discretizing network elements, add a configuration option to allow a + fractional last unit size. ([#1309](https://github.com/PyPSA/pypsa-eur/pull/1309)) + +**Bugfixes and Compatibility** + +* The length factor on the transmission lines haversine length was applied + twice, once when calculating costs and once when clustering the network. Now + it is only applied when calculating costs. + ([#1511](https://github.com/PyPSA/pypsa-eur/pull/1511)) + +* Vehicle-to-grid dispatch capacity is now limited by the fraction of vehicles + participating in demand-side-management, halving the dispatch capacity under + the default demand-side management participation rate of 0.5. + ([#1423](https://github.com/PyPSA/pypsa-eur/pull/1423)) + +* Demand for ammonia was double-counted at current/near-term planning horizons + with `sector: ammonia: true`. ([#1312](https://github.com/PyPSA/pypsa-eur/pull/1312)) + +* Duplicates found in [build_transmission_projects][] are now correctly + removed from the network. ([#1360](https://github.com/PyPSA/pypsa-eur/pull/1360)) + +* Ensure `s_max_pu` are correctly set for transmission projects. + ([#1323](https://github.com/PyPSA/pypsa-eur/pull/1323)) + +* Correctly reduce gas pipeline retrofit potentials in myopic pathway planning + mode. ([#1258](https://github.com/PyPSA/pypsa-eur/pull/1258)) + +* The missing lifetime attribute was added to hydrogen steel tanks, which is + important for pathway planning. ([#1510](https://github.com/PyPSA/pypsa-eur/pull/1510)) + +* Ensure all links with capital costs have a lifetime. This is important for + pathway planning. ([#1319](https://github.com/PyPSA/pypsa-eur/pull/1319)) + +* Resolved a bug which occurred when multiple DC links are connected to the same + DC bus and the DC bus is connected to an AC bus via a converter. In this case, + the DC links were wrongly simplified, completely dropping the shared DC bus. + ([#1381](https://github.com/PyPSA/pypsa-eur/pull/1381), + [#1507](https://github.com/PyPSA/pypsa-eur/pull/1507)) + +* Waste CHPs are now added only to buses with district heating. Previously they + were added to all regions. ([#1407](https://github.com/PyPSA/pypsa-eur/pull/1407)) + +* Fixed VOM, emissions and efficiencies of methanol-to-kerosene links. + ([#1317](https://github.com/PyPSA/pypsa-eur/pull/1317), + [#1320](https://github.com/PyPSA/pypsa-eur/pull/1320), + [#1376](https://github.com/PyPSA/pypsa-eur/pull/1376)) + +* Existing heating data in `build_existing_heating_distribution` and the + indexing of existing heat pumps for the COP correction in + [add_brownfield][] have been adjusted so that myopic pathways work with the + geothermal district heating. ([#1453](https://github.com/PyPSA/pypsa-eur/pull/1453)) + +* Adjusted `efficiency2` (to atmosphere) for bioliquids-to-oil link in + [prepare_sector_network][] to correctly offset the corresponding oil + emissions. ([#1410](https://github.com/PyPSA/pypsa-eur/pull/1410)) + +* Add `{sector_opts}` wildcard to [build_snapshot_weightings][]. + ([#1307](https://github.com/PyPSA/pypsa-eur/pull/1307)) + +* Resolved a problem where excluding certain countries from `countries` + configuration led to clustering errors. + ([#1308](https://github.com/PyPSA/pypsa-eur/pull/1308)) + +* The environment `envs/retrieve.yaml` was removed. Retrieval rules now use + `envs/environment.yaml`. ([#1509](https://github.com/PyPSA/pypsa-eur/pull/1509)) + +* Logging files are created more comprehensively. + ([#1508](https://github.com/PyPSA/pypsa-eur/pull/1508), + [#1421](https://github.com/PyPSA/pypsa-eur/pull/1421)) + +* Link for monthly CO2 prices was fixed. + ([#1485](https://github.com/PyPSA/pypsa-eur/pull/1485)) + +* Current `rasterio` versions supported. + ([#1480](https://github.com/PyPSA/pypsa-eur/pull/1480)) + +* Compatibility with `powerplantmatching<=0.6`. + ([#1490](https://github.com/PyPSA/pypsa-eur/pull/1490)) + +* Compatibility with `pypsa==0.32`. + ([#1316](https://github.com/PyPSA/pypsa-eur/pull/1316), + [#1445](https://github.com/PyPSA/pypsa-eur/pull/1445)) + +* Maximum `snakemake` version is currently 8.24. + ([#1440](https://github.com/PyPSA/pypsa-eur/pull/1440)) + +* Initial steps towards unit testing are taken. + ([#1466](https://github.com/PyPSA/pypsa-eur/pull/1466), + [#1438](https://github.com/PyPSA/pypsa-eur/pull/1438), + [#1432](https://github.com/PyPSA/pypsa-eur/pull/1432)) + +* The installation via `make install` now prioritizes `mamba` over `conda` + for faster installation. Conda is still used as a fallback. The command ``make + install` now also supports passing the name of the environment, e.g. `make + install name=my-project``. ([#1461](https://github.com/PyPSA/pypsa-eur/pull/1461)) + +* Ruff is now used for linting and formatting. It is used within pre-commit, so + no changes are needed. But we recommend to set it up locally as well. + ([#1474](https://github.com/PyPSA/pypsa-eur/pull/1474)) + +* Updating all base shapes (country_shapes, europe_shape, nuts3_shapes, ...). The workflow has been modified to use higher resolution and more harmonised shapes (NUTS3 2021 01M data and OSM administration level 1 for non-NUTS3 countries, such as BA, MD, UA, and XK). Data sources for population and GDP p.c. have been updated to JRC ARDECO https://urban.jrc.ec.europa.eu/ardeco/ -- 2019 values are used. `build_gdp_pop_non_nuts3` (originally created to build regional GDP p.c. and population data for MD and UA) is now integrated into `build_shapes` and extended to build regional values for all non-NUTS3 countries using cutouts of the updated datasets `GDP_per_capita_PPP_1990_2015_v2.nc` and `ppp_2019_1km_Aggregated.tif`, + + +## PyPSA-Eur 0.13.0 (13th September 2024) + +**Features** + +* Add new methanol-based technologies: methanol-to-power, methanol reforming, + methanol-to-kerosene, methanol-to-olefins/aromatics, biomass-to-methanol with + and without carbon capture. ([#1207](https://github.com/PyPSA/pypsa-eur/pull/1207)) + +* Add function `modify_attribute` to [prepare_sector_network][] which allows to adjust any attribute of any + PyPSA component either by a multiplication with a factor or setting an + absolute value. These adjustments can also depend on the planning horizons and + are set in the config under `adjustments`. + ([#1244](https://github.com/PyPSA/pypsa-eur/pull/1244)) + +* Add version control to osm-prebuilt: + `config["electricity"]["osm-prebuilt-version"]`. Defaults to latest Zenodo + release, i.e. v0.4, Config is only considered when selecting `osm-prebuilt` + as `base_network`. ([#1293](https://github.com/PyPSA/pypsa-eur/pull/1293)) + +**Changes** + +* Use JRC-IDEES thermal energy service instead of final energy demand for + buildings heating demand. Final energy includes losses in legacy equipment. + Efficiencies of existing heating capacities are lowered according to the + conversion of final energy to thermal energy service. For overnight scenarios + or future planning horizons this change leads to a reduction in heat supply + and, therefore, system cost. ([#1255](https://github.com/PyPSA/pypsa-eur/pull/1255)) + +* Updated district heating supply temperatures based on [Euroheat's DHC Market Outlook 2024](https://api.euroheat.org/uploads/Market_Outlook_2024_beeecd62d4.pdf) + and [AGFW-Hauptbericht 2022](https://www.agfw.de/securedl/sdl-eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MjU2MjI2MTUsImV4cCI6MTcyNTcxMjYxNSwidXNlciI6MCwiZ3JvdXBzIjpbMCwtMV0sImZpbGUiOiJmaWxlYWRtaW4vdXNlcl91cGxvYWQvWmFobGVuX3VuZF9TdGF0aXN0aWtlbi9IYXVwdGJlcmljaHRfMjAyMi9BR0ZXX0hhdXB0YmVyaWNodF8yMDIyLnBkZiIsInBhZ2UiOjQzNn0.Bhma3PKg9uJnC57Ixi2p9STW5-II9VXPTDXS544M208/AGFW_Hauptbericht_2022.pdf). + `min_forward_temperature` and `return_temperature` (not given by Euroheat) are + extrapolated based on German values. ([#1264](https://github.com/PyPSA/pypsa-eur/pull/1264)) + +* Refined implementation of unsustainable biomass. + ([#1275](https://github.com/PyPSA/pypsa-eur/pull/1275), + [#1271](https://github.com/PyPSA/pypsa-eur/pull/1271), + [#1254](https://github.com/PyPSA/pypsa-eur/pull/1254), + [#1266](https://github.com/PyPSA/pypsa-eur/pull/1266)) + +* Biomass transport costs are now stored in the `data` folder. Extraction from + PDF file is skipped. ([#1272](https://github.com/PyPSA/pypsa-eur/pull/1272)) + +* Increased the resolution of NUTS3 and NUTS2 shapes from 1:60M to 1:3M. The + shapefiles are now directly retrieved with the `retrieve_nuts_shapes` rule. + ([#1286](https://github.com/PyPSA/pypsa-eur/pull/1286)) + +* Uses of Snakemake's `storage()` function are integrated into retrieval + rules. This simplifies the use of `mock_snakemake` and places downloaded + data more transparently into the `data` directory. + ([#1274](https://github.com/PyPSA/pypsa-eur/pull/1274)) + +* Updated data bundle to remove files which are now directly downloaded in the + rules. This reduces the size of the data bundle. + ([#1291](https://github.com/PyPSA/pypsa-eur/pull/1291)) + +* Update NEP transmission projects to include `Startnetz`. + ([#1263](https://github.com/PyPSA/pypsa-eur/pull/1263)) + +* Auto-update `envs/environment.fixed.yaml`. + ([#1281](https://github.com/PyPSA/pypsa-eur/pull/1281)) + +**Bugfixes and Compatibility** + +* Updated osm-prebuilt network to version 0.4 + (https://doi.org/10.5281/zenodo.13759222). Added Kosovo (XK) as dedicated + region. Fixed major 330 kV line in Moldova (MD) + (https://www.openstreetmap.org/way/33360284). + ([#1293](https://github.com/PyPSA/pypsa-eur/pull/1293)) + +* Made the overdimensioning factor for heating systems specific for + central/decentral heating, defaults to no overdimensionining for central + heating and no changes to decentral heating compared to previous version. + ([#1259](https://github.com/PyPSA/pypsa-eur/pull/1259)) + +* The carrier of stores was previously silently overwritten by their bus' + carrier when building global emission constraints. + ([#1262](https://github.com/PyPSA/pypsa-eur/pull/1262)) + +* The fossil oil generator was incorrectly dropped when ``sector: + oil_refining_emissions`` was greater than zero. ([#1257](https://github.com/PyPSA/pypsa-eur/pull/1257)) + +* Correctly account for the CO2 emissions of municipal solid waste. + ([#1256](https://github.com/PyPSA/pypsa-eur/pull/1256)) + +* Added a missing space in the component name of retrofitted gas boilers. + ([#1289](https://github.com/PyPSA/pypsa-eur/pull/1289)) + +* Global Energy Monitor datasets are temporarily mirrored on alternative + servers. ([#1265](https://github.com/PyPSA/pypsa-eur/pull/1265)) + +* Fixed plotting of hydrogen networks with myopic pathway optimisation. + ([#1270](https://github.com/PyPSA/pypsa-eur/pull/1270)) + +* Fixed internet connection check. + ([#1280](https://github.com/PyPSA/pypsa-eur/pull/1280)) + +**Documentation** + +* The sources of nearly all data files are now listed in the documentation. + ([#1284](https://github.com/PyPSA/pypsa-eur/pull/1284)) + + +## PyPSA-Eur 0.12.0 (30th August 2024) + +**Data Updates and Extensions** + +* Switch to OpenStreetMap (OSM) data for modelling the high-voltage transmission + grid. The new OSM-based grid is is now the default. The previous ENTSO-E grid + data is now deprecated. It can still be used by setting ``electricity: + base_network: entsoegridkit``. The new default setting "osm-prebuilt" + downloads the latest prebuilt snapshots from Zenodo. The setting "osm-raw" + retrieves and cleans the raw OSM data and subsequently builds the network. + ([#1079](https://github.com/PyPSA/pypsa-eur/pull/1079)) + +* Update energy balances from JRC-IDEES-2015 to [JRC-IDEES-2021](https://publications.jrc.ec.europa.eu/repository/handle/JRC137809). The + reference year was changed from 2015 to 2019. + ([#1167](https://github.com/PyPSA/pypsa-eur/pull/1167)) + +* Updated pre-built [weather data cutouts](https://zenodo.org/records/12791128). These are now merged cutouts with + solar irradiation from the new SARAH-3 dataset while taking all other + variables from ERA5. Cutouts are now available for multiple years (2010, 2013, + 2019, and 2023). The overall download size was cut in half. + ([#1176](https://github.com/PyPSA/pypsa-eur/pull/1176)) + +* Included data from the [Global Steel Plant Tracker](https://globalenergymonitor.org/projects/global-steel-plant-tracker/) + provided by Global Energy Monitor. The data includes among other attributes + the locations, ages, operating status, relining dates, manufacturing process + and capacities of steel plants in Europe. This data is used as a spatial + distribution key for the steel production, which is now separated by process + type (EAF, DRI + EAF, integrated). + ([#1241](https://github.com/PyPSA/pypsa-eur/pull/1241)) + +* Added data on the locations and capacities of ammonia plants in Europe. This + data is used as a spatial distribution key for the ammonia demand. The data + manually collected with sources noted in `data/ammonia_plants.csv`. + ([#1241](https://github.com/PyPSA/pypsa-eur/pull/1241)) + +* Added data on the locations and capacities of cement plants in Europe that are + not included in the Hotmaps industrial database. The data sourced from the + [USGS 2019 Minerals Yearbooks](https://www.usgs.gov/centers/national-minerals-information-center/international-minerals-statistics-and-information) + of specific countries is used as a spatial distribution key for the cement + demand. The data is stored in `data/cement-plants-noneu.csv`. + ([#1241](https://github.com/PyPSA/pypsa-eur/pull/1241)) + +* Added data on the locations and capacities of refineries in Europe that are + not included in the Hotmaps industrial database. The data is mostly sourced + from the [Wikipedia list of oil refineries](https://en.wikipedia.org/wiki/List_of_oil_refineries). The data is stored + in `data/refineries-noneu.csv`. + ([#1241](https://github.com/PyPSA/pypsa-eur/pull/1241)) + +* Retrieve share of urban population from [World Bank API](https://data.worldbank.org/indicator/SP.URB.TOTL.IN.ZS). The data + originates from the United Nations Population Division. Previously, a file + `data/urban_percent.csv` with an undocumented source was used. + ([#1248](https://github.com/PyPSA/pypsa-eur/pull/1248)) + +* Updated Global Energy Monitor's Europe Gas Tracker to May 2024 version. + ([#1235](https://github.com/PyPSA/pypsa-eur/pull/1235)) + +* Updated country-specific Energy Availability Factors (EAFs) for nuclear power + plants based on [IAEA 2021-2023 reported country averages](https://pris.iaea.org/PRIS/WorldStatistics/ThreeYrsEnergyAvailabilityFactor.aspx). + ([#1236](https://github.com/PyPSA/pypsa-eur/pull/1236)) + +* Updated technology-data to v0.9.2, with added methanol and biomass + assumptions. + +* Updated EEZ shapes to v12. This data is now automatically retrieved and was + removed from the data bundle. ([#1188](https://github.com/PyPSA/pypsa-eur/pull/1188), + [#1210](https://github.com/PyPSA/pypsa-eur/pull/1210)) + +* The country shapes from Naturalearth are now automatically retrieved and are + removed from the data bundle. ([#1190](https://github.com/PyPSA/pypsa-eur/pull/1190)) + +**New Features** + +* Improved biomass representation: + + * Added unsustainable biomass potentials for solid, gaseous, and liquid biomass + based on current consumption levels from Eurostat energy balances. The + potentials can be phased-out and/or substituted by the phase-in of sustainable + biomass types using the config parameters ``biomass: + share_unsustainable_use_retained` and `biomass: + share_sustainable_potential_available``. + ([#1139](https://github.com/PyPSA/pypsa-eur/pull/1139)) + + * Added energy penalty for BECC applications. + ([#1130](https://github.com/PyPSA/pypsa-eur/pull/1130)) + + * Added option to enable the import of solid biomass. + ([#1194](https://github.com/PyPSA/pypsa-eur/pull/1194)) + + * Added option to produce electrobiofuels from solid biomass and hydrogen. This + process combined BtL and Fischer-Tropsch to efficiently use the available + biogenic carbon. ([#1193](https://github.com/PyPSA/pypsa-eur/pull/1193)) + + * Added option to split municipal solid waste from solid biomass. + ([#1195](https://github.com/PyPSA/pypsa-eur/pull/1195), + [#1134](https://github.com/PyPSA/pypsa-eur/pull/1134)) + + * Added option to produce hydrogen from solid biomass with or without carbon + capture. ([#1213](https://github.com/PyPSA/pypsa-eur/pull/1213)) + +* Improved district heating representation: + + * Added option to use country-specific district heating forward and return + temperatures. Defaults to lower temperatures in Scandinavia. + ([#1180](https://github.com/PyPSA/pypsa-eur/pull/1180)) + + * Made central heating supply temperatures dynamic based on an adaptation of a + reference curve from Pieper et al. (2019) + (https://www.sciencedirect.com/science/article/pii/S0360544219305857?via%3Dihub). + ([#1206](https://github.com/PyPSA/pypsa-eur/pull/1206)/) + + * Changed heat pump COP approximation for central heating to be based on + [Jensen et al. (2018)](https://backend.orbit.dtu.dk/ws/portalfiles/portal/151965635/MAIN_Final.pdf) + and a default forward temperature of 90C. This is more realistic for + district heating than the previously used approximation method. + ([#1176](https://github.com/PyPSA/pypsa-eur/pull/1176)) + + * Added option for various power-to-X processes to specify their share of waste + heat that can be used in district heating. The default was changed from 100% + to 25%. ([#1141](https://github.com/PyPSA/pypsa-eur/pull/1141)) + +* Added option to specify emissions fuel processing (e.g. oil in petrochemical + refinieries) with setting `industry: oil_refining_emissions:`. + +* Added Enhanced Geothermal Systems for generation of electricity and district heat. + Cost and available capacity assumptions based on [Aghahosseini et al. (2020)](https://www.sciencedirect.com/science/article/pii/S0306261920312551). + See configuration `sector: enhanced_geothermal` for details; by default switched off. + +* Represent Kosovo (XK) as separate country. + ([#1249](https://github.com/PyPSA/pypsa-eur/pull/1249)) + +* Add option to specify carbon sequestration potentials per investment period. + ([#1228](https://github.com/PyPSA/pypsa-eur/pull/1228)) + +* Add option to completely eliminate the use of fossil fuels. + ([#1187](https://github.com/PyPSA/pypsa-eur/pull/1187)) + +* Added more modular and flexible handling of planned transmission reinforcement + projects (e.g. TYNDP). See configuration settings `transmission_projects:`. + ([#1085](https://github.com/PyPSA/pypsa-eur/pull/1085)) + +* Added option to smooth wind turbine power curves with a Gaussian kernel density. + ([#1209](https://github.com/PyPSA/pypsa-eur/pull/1209)). + +* Added option `solving: curtailment_mode`` which fixes the dispatch profiles + of generators with time-varying p_max_pu by setting `p_min_pu = p_max_pu` + and adds an auxiliary curtailment generator with negative sign (to absorb + excess power) at every AC bus. This can speed up the solving process as the + curtailment decision is aggregated into a single generator per region. + ([#1177](https://github.com/PyPSA/pypsa-eur/pull/1177)) + +* Added capital costs to all liquid carbonaceous fuel stores. + ([#1234](https://github.com/PyPSA/pypsa-eur/pull/1234)) + +**Breaking Changes** + +* Due to memory issues, the feature `n.shapes` is temporarily disabled. + ([#1238](https://github.com/PyPSA/pypsa-eur/pull/1238)) + +* Renamed the carrier of batteries in BEVs from `battery storage` to `EV + battery` and the corresponding bus carrier from `Li ion` to `EV battery`. This + is to avoid confusion with stationary battery storage. + ([#1116](https://github.com/PyPSA/pypsa-eur/pull/1116)) + +**Changes** + +* Powerplants can now be assigned to all buses, not just substations. + ([#1239](https://github.com/PyPSA/pypsa-eur/pull/1239)) + +* Avoid adding existing gas pipelines repeatedly for different planning + horizons. + ([#1162](https://github.com/PyPSA/pypsa-eur/pull/1162)[#1162](https://github.com/PyPSA/pypsa-eur/pull/1162)) + +* Move custom busmaps to + `data/busmaps/elec_s{simpl}_{clusters}_{base_network}.csv`. This allows for + different busmaps depending on the base network. + ([#1231](https://github.com/PyPSA/pypsa-eur/pull/1231)) + +* For countries not contained in the NUTS3-specific datasets (i.e. MD and UA), + the mapping of GDP per capita and population per bus region used to spatially + distribute electricity demand is now endogenised in a new rule + `build_gdp_ppp_non_nuts3`. The databundle has been updated accordingly. + ([#1146](https://github.com/PyPSA/pypsa-eur/pull/1146)) + +* Enable parallelism in [determine_availability_matrix_MD_UA][] and remove + plots. This requires the use of temporary files. + ([#1170](https://github.com/PyPSA/pypsa-eur/pull/1170)) + +* In [base_network][], replace own voronoi polygon calculation function with + Geopandas `gdf.voronoi_polygons` method. + ([#1172](https://github.com/PyPSA/pypsa-eur/pull/1172)) + +* In simplifying polygons in [build_shapes][] default to no tolerance. + ([#1137](https://github.com/PyPSA/pypsa-eur/pull/1137)) + +* Updated filtering in [determine_availability_matrix_MD_UA][] to improve + speed. ([#1146](https://github.com/PyPSA/pypsa-eur/pull/1146)) + +* Removed unused data files and rules. + ([#1246](https://github.com/PyPSA/pypsa-eur/pull/1246), + [#1203](https://github.com/PyPSA/pypsa-eur/pull/1203)) + +* The `{scope}` wildcard was removed, since its outputs were not used. + ([#1171](https://github.com/PyPSA/pypsa-eur/pull/1171)) + +* Unify how the oil bus is added. + +* Set `p_nom = p_nom_min` for generators with `baseyear == grouping_year` in + [add_existing_baseyear][]. This has no effect on the optimization but helps + to correctly report already installed capacities using `n.statistics()`. + +* Cutouts are no longer marked as `protected()`. + ([#1220](https://github.com/PyPSA/pypsa-eur/pull/1220)) + +**Bugfixes and Compatibility** + +* Bugfix in [simplify_network][] for spatially resolving Corsica. + ([#1215](https://github.com/PyPSA/pypsa-eur/pull/1215)) + +* Bugfix for running without spatial resolution. + ([#1183](https://github.com/PyPSA/pypsa-eur/pull/1183)) + +* Bugfix: Impose minimum value of zero for district heating progress between + current and future market share in [build_district_heat_share][]. + ([#1168](https://github.com/PyPSA/pypsa-eur/pull/1168)) + +* Bugfix: Correctly read in threshold capacity below which to remove components + from previous planning horizons in [add_brownfield][]. + +* Bugfix for passing function arguments in rule [solve_operations_network][]. + +* Bugfix avoiding infinity values in the intermediate industry sector ratios. + ([#1227](https://github.com/PyPSA/pypsa-eur/pull/1227)) + +* Bugfix: Add floating wind to cost update function in + [prepare_sector_network][]. ([#1106](https://github.com/PyPSA/pypsa-eur/pull/1106)) + +* Fixed PDF encoding in `build_biomass_transport_costs`. + ([#1219](https://github.com/PyPSA/pypsa-eur/pull/1219)) + +* Dropped `pycountry` dependency in favour of `country_converter`. + ([#1188](https://github.com/PyPSA/pypsa-eur/pull/1188)) + +* Use temporary mirror for broken link to Eurostat energy balances (April 2023). + ([#1147](https://github.com/PyPSA/pypsa-eur/pull/1147)) + +* Compatibility with geopandas 1.0+. + ([#1136](https://github.com/PyPSA/pypsa-eur/pull/1136)) + +* Compatibility with snakemake 8.14+. + ([#1112](https://github.com/PyPSA/pypsa-eur/pull/1112)) + +* Address various deprecations. + +* Allow running the sector model for isolated non-EU28 countries, by + filling missing sectoral data with defaults, average EU values or + zeros, if not available. + ([open-energy-transition/pypsa-eur#1](https://github.com/open-energy-transition/pypsa-eur/pull/1)) + +* Enable retaining existing conventional capacities added in the power + only model for sector coupled applications. + ([open-energy-transition/pypsa-eur#4](https://github.com/open-energy-transition/pypsa-eur/pull/4)) + + +## PyPSA-Eur 0.11.0 (25th May 2024) + +**New Features** + +* Introduced scenario management to support the simultaneous execution of + multiple scenarios with a single `snakemake` call. A `scenarios.yaml` file + allows customizable scenario names with configuration overrides. To enable, + set `run: scenarios: true` and define the list of scenario names under + `run: name:` in the configuration file. The scenario file's top-level keys + must match the defined scenario names. + ([#724](https://github.com/PyPSA/pypsa-eur/pull/724), + [#975](https://github.com/PyPSA/pypsa-eur/pull/975), + [#989](https://github.com/PyPSA/pypsa-eur/pull/989), + [#993](https://github.com/PyPSA/pypsa-eur/pull/993), + [#1011](https://github.com/PyPSA/pypsa-eur/pull/1011)) + + - A scenarios template file `config/scenarios.template.yaml` is included and + copied to `config/scenarios.yaml` on first use. + - The scenario file can be changed via `run: scenarios: file:`. + - Activating scenario management with `run: scenarios: enable: true` + introduces a new wildcard `{run}`. Configuration settings may now depend + on this wildcard. A new `config_provider()` function is used in the + `Snakefile` and `.smk` files to handle wildcard values. + - Scenario files can be programmatically created using + `config/create_scenarios.py`. This script can be run with ``snakemake -j1 + create_scenarios``. + - The setting `run: name: all` will run all scenarios in + `config/scenarios.yaml`. Otherwise, only the scenarios listed under ``run: + name:`` will run. + - The setting `run: shared_resources:` indicates whether resources should be + encapsulated by `run: name:`. The special setting ``run: shared_resources: + base` shares resources until `add_electricity`` that do not contain + wildcards other than `{"technology", "year", "scope"}`. + - Added new configuration options for all `{opts}` and `{sector_opts}` + wildcard values to create a unique configuration file (`config.yaml`) per + PyPSA network file using `update_config_from_wildcards()`. This function + updates the `snakemake.config` object with settings from wildcards. + - The cost data was moved from `data/costs_{year}.csv` to + `resources/costs_{year}.csv`. The `retrieve_cost_data` rule now calls a + Python script. + - Time clustering settings moved to `clustering: temporal:` from + `snapshots:`, simplifying scenario management. + - Collection rules have a new wildcard `run=config["run"]["name"]` to + collect outputs across scenarios. + - Scenarios can be encapsulated in a directory using `run: prefix:`. + - The `{sector_opts}` wildcard is no longer used by default. All scenario + definitions are now in `config.yaml`. + - **Warning:** Scenario management with myopic or perfect foresight pathway + optimization requires the first investment period to be shared across all + scenarios. The `wildcard_constraints` for the `add_existing_baseyear` + rule do not accept wildcard-aware input functions. + +* Enhanced support for choosing different weather years. + ([#204](https://github.com/PyPSA/pypsa-eur/pull/204)) + + - Processed energy statistics from Eurostat (1990-2021) and IDEES (2000-2015) + are stored for all available years and filtered by the year in ``energy: + energy_totals_year:``. + - Added option to supplement electricity load data with synthetic time series + for years not in OPSD (from https://zenodo.org/records/10820928, ``load: + supplement_synthetic:``). + - Total annual heat demand for years not in Eurostat (1990-2021) or IDEES + (2000-2015) is scaled based on a regression between heating degree days and + heat demand for 2007-2021, assuming a similar building stock. + - Added option to scale annual hydro-electricity generation data for years not + in EIA (1980-2021) based on a regression between annual generation and total + runoff per country for 1980-2021 (``renewable: hydro: + eia_approximate_missing:``). + - Added option to normalize annual hydro generation data by the installed + capacity reported by EIA (1980-2021) to eliminate changes due to newly built + capacity (``renewable: hydro: eia_approximate_missing: + eia_correct_by_capacity:``). + - Added option to make hydro generation data independent of weather year + (`renewable: hydro: eia_approximate_missing: eia_norm_year:`). + - Added option to drop leap days (`enable: drop_leap_day:`). + - Added option to make electric load data independent of weather year (``load: + fixed_year:``). + - Include time series of Swiss passenger vehicles from the Swiss Federal + Statistical Office. + - Updated hydro-electricity generation and capacity data from EIA. + - The easiest way to use multiple weather years is with the new scenario + management. An example `create_scenarios.py` script is available in this + [Github gist](https://gist.github.com/fneum/47b857862dd9148a22eca5a2e85caa9a). + +* New renewable technologies: + + - Solar PV with single-axis horizontal tracking (N-S axis), carrier: + `solar-hsat`. ([#1066](https://github.com/PyPSA/pypsa-eur/pull/1066)) + - Floating offshore wind technology for water depths below 60m, carrier: + `offwind-float`. ([#773](https://github.com/PyPSA/pypsa-eur/pull/773)) + +* Added default values for power distribution losses, assuming uniform 3% losses + on distribution grid links. These are deducted from national load time series + to avoid double counting. Extensions for country-specific loss factors and + planning horizon developments are planned. + +* Added `industry: HVC_environment_sequestration_fraction:` to specify the + fraction of carbon in plastics that is permanently sequestered in landfills. + The default assumption is that all carbon in plastics is eventually released + to the atmosphere. ([#1060](https://github.com/PyPSA/pypsa-eur/pull/1060)) + +* Added options for building waste-to-energy plants with and without carbon + capture to consume non-recycled and non-sequestered plastics. Config settings: + `industry: waste_to_energy:` and `industry: waste_to_energy_cc`. This + excludes municipal solid waste. ([#1060](https://github.com/PyPSA/pypsa-eur/pull/1060)) + +* Added option to post-discretize line and link capacities based on unit sizes + and rounding thresholds in the configuration under ``solving: options: + post_discretization:``. This is disabled by default. + ([#1064](https://github.com/PyPSA/pypsa-eur/pull/1064)) + +* Time aggregation for sector-coupled networks is now its own rule + [build_snapshot_weightings][]. Time aggregation is constant over planning horizons + of the same network when using time step segmentation. + ([#1065](https://github.com/PyPSA/pypsa-eur/pull/1065), + [#1075](https://github.com/PyPSA/pypsa-eur/pull/1075)) + +* Added config `run: shared_resources: exclude:` to specify files excluded + from shared resources with `run: shared_resources: base`. The function + `_helpers/get_run_path()` now takes an additional keyword argument + `exclude_from_shared` with a list of files that should not be shared. + ([#1050](https://github.com/PyPSA/pypsa-eur/pull/1050)) + +* Added existing biomass boilers in [add_existing_baseyear][]. + ([#951](https://github.com/PyPSA/pypsa-eur/pull/951)) + +* Added new HVDC transmission projects from [TYNDP 2024 draft projects](https://tyndp.entsoe.eu/news/176-pan-european-electricity-transmission-projects-and-33-storage-projects-will-be-assessed-in-tyndp-2024). + ([#982](https://github.com/PyPSA/pypsa-eur/pull/982)) + +* Linearly interpolated missing investment periods in year-dependent + configuration options. ([#943](https://github.com/PyPSA/pypsa-eur/pull/943)) + +* Added shapes to the `netCDF` files for different stages of the network + object in `base_network`, `simplify_network`, and `cluster_network`. The + `build_bus_regions` rule is now integrated into the `base_network` rule. + ([#1013](https://github.com/PyPSA/pypsa-eur/pull/1013), + [#1051](https://github.com/PyPSA/pypsa-eur/pull/1051)) + +* Added config `land_transport_demand_factor` to model growth in land + transport demand for different time horizons. + +* Allowed dictionary for `aviation_demand_factor` to specify changes in + aviation demand by investment period. + +* Allowed more solvers in clustering (Xpress, COPT, Gurobi, CPLEX, SCIP, MOSEK). + ([#949](https://github.com/PyPSA/pypsa-eur/pull/949)) + +* Added option to download cost data from custom fork of `technology-data`. + ([#970](https://github.com/PyPSA/pypsa-eur/pull/970)) + +* Added `nodal_supply_energy` to [make_summary][]. + ([#1046](https://github.com/PyPSA/pypsa-eur/pull/1046)) + +**Breaking Changes** + +* Upgraded to Snakemake v8.5+. This version is the new minimum requirement. To + upgrade an existing environment, run ``conda install -c bioconda + snakemake-minimal">=8.5"` and `pip install snakemake-storage-plugin-http``. + ([#825](https://github.com/PyPSA/pypsa-eur/pull/825)) + +* Removed exogenously set share of rooftop PV (`costs: rooftop_share:`). + Rooftop and utility-scale PV are now separate technologies with endogenous + shares. + +* Removed rule `copy_config`. Instead, a config file is created for each + network output of the `solve_*` rules, with the same content as `n.meta`. + ([#965](https://github.com/PyPSA/pypsa-eur/pull/965)) + +* Moved switch `run: shared_resources:` to `run: shared_resources: policy:`. + +**Changes** + +* Updated, merged, and reduced data bundle: + ([#1020](https://github.com/PyPSA/pypsa-eur/pull/1020), + [#1027](https://github.com/PyPSA/pypsa-eur/pull/1027)) + + - Merged electricity-only and sector-coupled data bundles into one bundle. + This removed the `retrieve_sector_databundle` rule. + - Included rasterised `natura.tiff` in the data bundle and removed the + `retrieve_natura_raster` rule. + - Removed the `build_natura_raster` rule due to its infrequent use and + significant data bundle size increase. + - Removed outdated files from the data bundle (e.g., Eurostat energy + balances). + - Reduced the spatial scope of GEBCO bathymetry data to Europe to save space. + - Removed a separate data bundle for tutorials. + - Directly downloaded the [Hotmaps Industrial Database](https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database/-/blob/master/data/Industrial_Database.csv) + from the source, removing `Industrial_Database.csv` from the data bundle. + +* Updated energy statistics: ([#947](https://github.com/PyPSA/pypsa-eur/pull/947), + [#973](https://github.com/PyPSA/pypsa-eur/pull/973), + [#990](https://github.com/PyPSA/pypsa-eur/pull/990), + [#1025](https://github.com/PyPSA/pypsa-eur/pull/1025), + [#1074](https://github.com/PyPSA/pypsa-eur/pull/1074)) + + - Updated Eurostat data to the 2023 version in [build_energy_totals][]. + - Updated the latest Swiss energy totals to the 2023 version. + - Scaled JRC-IDEES data using the ratio of Eurostat data for energy totals + years after 2015 and 2015. + - Updated default energy totals year to 2019. + - Updated energy balances for residential demands (space, water, cooking) in + JRC-IDEES data with newer Eurostat values. + +* Improved documentation: ([#1017](https://github.com/PyPSA/pypsa-eur/pull/1017), + [#1014](https://github.com/PyPSA/pypsa-eur/pull/1014)) + + - Clarified that `solving: rolling_horizon:` only works for + [solve_operations_network][], not for networks with sector-coupling or + investment variables. + - Clarified suffix usage in `add_existing_baseyear`. + - Added documentation section for contributing documentation. + +* Included gas and oil fields and saline aquifers for estimating carbon + sequestration potentials. ([#1010](https://github.com/PyPSA/pypsa-eur/pull/1010), + [#983](https://github.com/PyPSA/pypsa-eur/pull/983)) + +* Doubled solar rooftop potentials to roughly 1 TW for Europe based on recent + European Commission reports. + +* Consistently sourced data on existing renewable capacities from + `powerplantmatching`. Removed `retrieve_irena` rule. Updated the dataset + to include 2023 values. ([#1018](https://github.com/PyPSA/pypsa-eur/pull/1018)) + +* Added methanol consumption in industry as reported in the DECHEMA report + directly as methanol demand. ([#1068](https://github.com/PyPSA/pypsa-eur/pull/1068)) + +* Adapted disabling of transmission expansion in myopic foresight optimizations + when the limit is reached to handle cost limits. + ([#952](https://github.com/PyPSA/pypsa-eur/pull/952), + [#1076](https://github.com/PyPSA/pypsa-eur/pull/1076)) + +* Improved the behavior of `agg_p_nom_limits`: Moved configuration to + `solving`; added the ability to aggregate all `offwind` types; added + option to consider existing capacities; added option to distinguish by + planning horizon. ([#1023](https://github.com/PyPSA/pypsa-eur/pull/1023)) + +* Disabled `electricity: everywhere_powerplants`` by default to save memory in + [simplify_network][]. + +* Moved non-essential example configuration files to `config/examples`. + +* Outputs of the retrieve rules are no longer marked as `protected()`. + +* Improved carbon budget distribution plot. + ([#1070](https://github.com/PyPSA/pypsa-eur/pull/1070)) + +* Moved all graphics to `doc/img`. + ([#1052](https://github.com/PyPSA/pypsa-eur/pull/1052)) + +* Connection costs calculated in [simplify_network][] are no longer written + to file. ([#1031](https://github.com/PyPSA/pypsa-eur/pull/1031)) + +**Bugs and Compatibility** + +* Updated `technology-data` to version v0.9.0. + +* Bumped minimum `powerplantmatching` version to v0.5.15. + ([#1057](https://github.com/PyPSA/pypsa-eur/pull/1057)) + +* Bugfix: The configuration setting ``electricity: + estimate_renewable_capacities: enable:`` for rule [add_electricity][] is + not compatible with `foresight: myopic`. The logic now skips adding existing + renewable capacities in [add_electricity][] if the foresight mode is + `myopic`. ([#1080](https://github.com/PyPSA/pypsa-eur/pull/1080)) + +* Bugfix: Ensure gas-fired power plants are correctly added as OCGT or CCGT in + [add_electricity][]. Previously, they were always added as OCGT. + +* Bugfix: Fix distinction of temperature-dependent correction factors for the + energy demand of electric vehicles and ICEs fuel cell cars. + ([#957](https://github.com/PyPSA/pypsa-eur/pull/957)) + +* Bugfix: Ensure all industry coal demands are considered when using + `sector_ratios_fraction_future`. + ([#1047](https://github.com/PyPSA/pypsa-eur/pull/1047)) + +* Bugfix: Add existing heat pumps to low-voltage level. + ([#948](https://github.com/PyPSA/pypsa-eur/pull/948)) + +* Fixed gas network retrofitting to hydrogen in [add_brownfield][] for myopic + pathway studies. ([#1036](https://github.com/PyPSA/pypsa-eur/pull/1036)) + +* Bugfix: Consider decommissioning of existing renewable assets in + [add_existing_baseyear][]. ([#1001](https://github.com/PyPSA/pypsa-eur/pull/1001), + [#959](https://github.com/PyPSA/pypsa-eur/pull/959)) + +* Bugfix: Adjust build year groups of existing capacities for consistency with + optimized capacities per planning horizon. The previous setup neglected some + existing heating capacities. ([#1019](https://github.com/PyPSA/pypsa-eur/pull/1019)) + +* Bugfix: Corrected a bug causing power plants to operate after their + `DateOut`. Added additional grouping years before 1980. + ([#958](https://github.com/PyPSA/pypsa-eur/pull/958)) + +* Bugfix: Allow modeling sector-coupled landlocked regions by handling the + absence of offshore wind. ([#944](https://github.com/PyPSA/pypsa-eur/pull/944)) + +* Bugfix: Correct approximation of hydropower generation if Portugal or Spain + are not included. ([#1054](https://github.com/PyPSA/pypsa-eur/pull/1054)) + +* Bugfix: In [build_electricity_demand][], ensure load data is only added if + the country is included in the configuration. + ([#1054](https://github.com/PyPSA/pypsa-eur/pull/1054)) + +* Bugfix: Skip heat bus for CHPs in areas without central heating. + ([#1021](https://github.com/PyPSA/pypsa-eur/pull/1021)) + +* Bugfix: Avoid duplicated offshore regions. + +* Fixed type error with `m` option in [cluster_network][]. + ([#986](https://github.com/PyPSA/pypsa-eur/pull/986)) + +* Fixed error with `symbol` column of buses in [simplify_network][]. + ([#987](https://github.com/PyPSA/pypsa-eur/pull/987)) + +* Fixed index of existing capacities in + `add_power_capacities_installed_before_baseyear` with `m` option. + ([#1002](https://github.com/PyPSA/pypsa-eur/pull/1002)) + +* Fixed reading in custom busmaps in [cluster_network][]. + ([#1008](https://github.com/PyPSA/pypsa-eur/pull/1008)) + +* Fixed `p_nom_min` of renewables generators for myopic approach and added + check of existing capacities in `add_land_use_constraint_m`. + ([#1022](https://github.com/PyPSA/pypsa-eur/pull/1022), + [#1029](https://github.com/PyPSA/pypsa-eur/pull/1029)) + +* Fixed duplicated years and grouping years reference in + `add_land_use_constraint_m`. ([#991](https://github.com/PyPSA/pypsa-eur/pull/991), + [#968](https://github.com/PyPSA/pypsa-eur/pull/968)) + +* Fixed filling of missing data in + `build_industry_sector_ratios_intermediate`. + ([#1004](https://github.com/PyPSA/pypsa-eur/pull/1004)) + +* Fixed file name encoding in optional rule [build_biomass_transport_costs][] + depending on the operating system. + ([#769](https://github.com/PyPSA/pypsa-eur/pull/769)) + +* Technical fix for constraint function `add_operational_reserve_margin`. + ([#1071](https://github.com/PyPSA/pypsa-eur/pull/1071)) + +* Technical fix for constraint function `add_BAU_constraints`. + ([#1024](https://github.com/PyPSA/pypsa-eur/pull/1024)) + +* Fixed network clustering and simplification issues caused by adding TYNDP + links. ([#1067](https://github.com/PyPSA/pypsa-eur/pull/1067)) + +* Bugfix: Ensure correct indexing of weights in [cluster_network][]. + ([#988](https://github.com/PyPSA/pypsa-eur/pull/988)) + +* Bugfix: Only sanitize locations when there are buses with a location. + ([#971](https://github.com/PyPSA/pypsa-eur/pull/971)) + + +## PyPSA-Eur 0.10.0 (19th February 2024) + +**New Features** + +* Improved representation of industry transition pathways. A new script was + added to interpolate industry sector ratios from today's status quo to future + systems (i.e. specific emissions and demands for energy and feedstocks). For + each country we gradually switch industry processes from today's specific + energy carrier usage per ton material output to the best-in-class energy + consumption of tomorrow. This is done on a per-country basis. The ratio of + today to tomorrow's energy consumption is set with the ``industry: + sector_ratios_fraction_future:`` parameter + ([#929](https://github.com/PyPSA/pypsa-eur/pull/929)). + +* Add new default to overdimension heating in individual buildings. This allows + them to cover heat demand peaks e.g. 10% higher than those in the data. The + disadvantage of manipulating the costs is that the capacity is then not quite + right. This way at least the costs are right + ([#918](https://github.com/PyPSA/pypsa-eur/pull/918)). + +* Allow industrial coal demand to be regional so its emissions can be included + in regional emission limits ([#923](https://github.com/PyPSA/pypsa-eur/pull/923)). + +* Add option to specify to set a default heating lifetime for existing heating + (`existing_capacities: default_heating_lifetime:`) + ([#918](https://github.com/PyPSA/pypsa-eur/pull/918)). + +* Added option to specify turbine and solar panel models for specific years as a + dictionary (e.g. `renewable: onwind: resource: turbine:`). The years will be + interpreted as years from when the the corresponding turbine model substitutes + the previous model for new installations. This will only have an effect on + workflows with foresight `"myopic"` and still needs to be added foresight + option `"perfect"` ([#912](https://github.com/PyPSA/pypsa-eur/pull/912)). + +* New configuration option `everywhere_powerplants` to build conventional + powerplants everywhere, irrespective of existing powerplants locations, in the + network ([#850](https://github.com/PyPSA/pypsa-eur/pull/850)). + +* Add the option to customise map projection in plotting config under + `plotting: projection: name` ([#898](https://github.com/PyPSA/pypsa-eur/pull/898)). + +* Add support for the linopy `io_api` option under ``solving: options: + io_api:`. Set to `"direct"`` to increase model reading and writing + performance for the highs and gurobi solvers on slow file systems + ([#892](https://github.com/PyPSA/pypsa-eur/pull/892)). + +* It is now possible to determine the directory for shared resources by setting + `shared_resources` to a string ([#906](https://github.com/PyPSA/pypsa-eur/pull/906)). + +* Improve `mock_snakemake()` for usage in Snakemake modules + ([#869](https://github.com/PyPSA/pypsa-eur/pull/869)). + +**Breaking Changes** + +* Remove long-deprecated function `attach_extendable_generators` in + [add_electricity][]. + +* Remove option for wave energy as technology data is not maintained. + +* The order of buses (bus0, bus1, ...) for DAC components has changed to meet + the convention of the other components. Therefore, `bus0` refers to the + electricity bus (input), `bus1` to the heat bus (input), 'bus2' to the CO2 + atmosphere bus (input), and `bus3` to the CO2 storage bus (output) + ([#901](https://github.com/PyPSA/pypsa-eur/pull/901)). + +**Changes** + +* Upgrade default techno-economic assumptions to `technology-data` v0.8.0. + +* Update hydrogen pipeline losses to latest data from Danish Energy Agency + ([#933](https://github.com/PyPSA/pypsa-eur/pull/933)). + +* Move building of daily heat profile to its own rule + [build_hourly_heat_demand][] from [prepare_sector_network][] + ([#884](https://github.com/PyPSA/pypsa-eur/pull/884)). + +* In [build_energy_totals][], district heating shares are now reported in a + separate file ([#884](https://github.com/PyPSA/pypsa-eur/pull/884)). + +* Move calculation of district heating share to its own rule + [build_district_heat_share][] + ([#884](https://github.com/PyPSA/pypsa-eur/pull/884)). + +* Move building of distribution of existing heating to own rule + [build_existing_heating_distribution][]. This makes the distribution of + existing heating to urban/rural, residential/services and spatially more + transparent ([#884](https://github.com/PyPSA/pypsa-eur/pull/884)). + +* Default settings for recycling rates and primary product shares of high-value + chemicals have been set in accordance with the values used in [Neumann et al. (2023)](https://doi.org/10.1016/j.joule.2023.06.016) linearly interpolated + between 2020 and 2050. The recycling rates are based on data from [Agora Energiewende (2021)](https://static.agora-energiewende.de/fileadmin/Projekte/2021/2021_02_EU_CEAP/A-EW_254_Mobilising-circular-economy_study_WEB.pdf). + +* Air-sourced heat pumps can now also be built in rural areas. Previously, only + ground-sourced heat pumps were considered for this category + ([#890](https://github.com/PyPSA/pypsa-eur/pull/890)). + +* The default configuration `config/config.default.yaml` is now automatically + used as a base configuration file. The file `config/config.yaml` can now be + used to only define deviations from the default configuration. The + `config/config.default.yaml` is still copied into `config/config.yaml` on + first usage ([#925](https://github.com/PyPSA/pypsa-eur/pull/925)). + +* Regions are assigned to all buses with unique coordinates in the network with + a preference given to substations. Previously, only substations had assigned + regions, but this could lead to issues when a high spatial resolution was + applied ([#922](https://github.com/PyPSA/pypsa-eur/pull/922)). + +* Define global constraint for CO2 emissions on the final state of charge of the + CO2 atmosphere store. This gives a more sparse constraint that should improve + the performance of the solving process + ([#862](https://github.com/PyPSA/pypsa-eur/pull/862)). + +* Switched the energy totals year from 2011 to 2013 to comply with the assumed + default weather year ([#934](https://github.com/PyPSA/pypsa-eur/pull/934)). + +* Cluster residential and services heat buses by default. Can be disabled with + `cluster_heat_buses: false` ([#877](https://github.com/PyPSA/pypsa-eur/pull/877)). + +* The rule `plot_network` has been split into separate rules for plotting + electricity, hydrogen and gas networks + ([#900](https://github.com/PyPSA/pypsa-eur/pull/900)). + +* To determine the optimal topology to meet the number of clusters, the workflow + used pyomo in combination with `ipopt` or `gurobi`. This dependency has + been replaced by using `linopy` in combination with `scipopt` or + `gurobi`. The environment file has been updated accordingly + ([#903](https://github.com/PyPSA/pypsa-eur/pull/903)). + +* The `highs` solver was added to the default environment file. + +* New default solver settings for COPT solver + ([#882](https://github.com/PyPSA/pypsa-eur/pull/882)). + +* Data retrieval rules now use their own minimal conda environment. This can + avoid unnecessary reruns of the workflow + ([#888](https://github.com/PyPSA/pypsa-eur/pull/888)). + +* Merged two OPSD time series data versions into such that the option ``load: + power_statistics:`` becomes superfluous and was hence removed + ([#924](https://github.com/PyPSA/pypsa-eur/pull/924)). + +* The filtering of power plants in the `config.default.yaml` has been updated + regarding phased-out power plants in 2023. + +* Include all countries in ammonia production resource. This is so that the full + EU28 ammonia demand can be correctly subtracted in the rule + [build_industry_sector_ratios][] + ([#931](https://github.com/PyPSA/pypsa-eur/pull/931)). + +* Correctly source the existing heating technologies for buildings since the + source URL has changed. It represents the year 2012 and is only for buildings, + not district heating ([#918](https://github.com/PyPSA/pypsa-eur/pull/918)). + +* Add warning when BEV availability weekly profile has negative values in + `build_transport_demand` ([#858](https://github.com/PyPSA/pypsa-eur/pull/858)). + +* Time series clipping for very small values was added for Links + ([#870](https://github.com/PyPSA/pypsa-eur/pull/870)). + +* A `test.sh` script was added to the repository to run the tests locally. + +* The CI now tests additionally against `master` versions of PyPSA, atlite and + powerplantmatching ([#904](https://github.com/PyPSA/pypsa-eur/pull/904)). + +* A function `sanitize_locations()` was added to improve the coverage of the + `location` attribute of network components. + +**Bugs and Compatibility** + +* Bugfix: Do not reduce district heat share when building population-weighted + energy statistics. Previously the district heating share was being multiplied + by the population weighting, reducing the DH share with multiple nodes + ([#884](https://github.com/PyPSA/pypsa-eur/pull/884)). + +* Bugfix: The industry coal emissions for industry were not properly tracked + ([#923](https://github.com/PyPSA/pypsa-eur/pull/923)). + +* Bugfix: Correct units of subtracted chlorine and methanol demand in + [build_industry_sector_ratios][] + ([#930](https://github.com/PyPSA/pypsa-eur/pull/930)). + +* Various minor bugfixes to the perfect foresight workflow, though perfect + foresight must still be considered experimental + ([#910](https://github.com/PyPSA/pypsa-eur/pull/910)). + +* Fix plotting of retrofitted hydrogen pipelines with myopic pathway + optimisation ([#937](https://github.com/PyPSA/pypsa-eur/pull/937)). + +* Bugfix: Correct technology keys for the electricity production plotting to + work out the box. + +* Bugfix: Assure entering of code block which corrects Norwegian heat demand + ([#870](https://github.com/PyPSA/pypsa-eur/pull/870)). + +* Stacktrace of uncaught exceptions should now be correctly included inside log + files (via `configure_logging(..)`) + ([#875](https://github.com/PyPSA/pypsa-eur/pull/875)). + +* Bugfix: Correctly read out number of solver threads from configuration file + ([#889](https://github.com/PyPSA/pypsa-eur/pull/889)). + +* Made copying default config file compatible with snakemake module + ([#894](https://github.com/PyPSA/pypsa-eur/pull/894)). + +* Compatibility with `pandas=2.2` + ([#861](https://github.com/PyPSA/pypsa-eur/pull/861)). + +Special thanks for this release to Koen van Greevenbroek ([koen-vg](https://github.com/koen-vg)) for various new features, bugfixes and taking +care of deprecations. + + +## PyPSA-Eur 0.9.0 (5th January 2024) + +**New Features** + +* Add option to specify losses for bidirectional links, e.g. pipelines or HVDC + links, in configuration file under `sector: transmission_efficiency:`. Users + can specify static or length-dependent values as well as a length-dependent + electricity demand for compression, which is implemented as a multi-link to + the local electricity buses. The bidirectional links will then be split into + two unidirectional links with linked capacities ([#739](https://github.com/PyPSA/pypsa-eur/pull/739)). + +* Merged option to extend geographical scope to Ukraine and Moldova. These + countries are excluded by default and is currently constrained to power-sector + only parts of the workflow. A special config file + `config/config.entsoe-all.yaml` was added as an example to run the workflow + with all ENTSO-E member countries (including observer members like Ukraine and + Moldova). Moldova can currently only be included in conjunction with Ukraine + due to the absence of demand data. The Crimean power system is manually + reconnected to the main Ukrainian grid with the configuration option + `reconnect_crimea` ([#321](https://github.com/PyPSA/pypsa-eur/pull/321)). + +* New experimental support for multi-decade optimisation with perfect foresight + (`foresight: perfect`). Maximum growth rates for carriers, global carbon + budget constraints and emission constraints for particular investment periods. + +* Add option to reference an additional source file where users can specify + custom `extra_functionality` constraints in the configuration file. The + default setting points to an empty hull at + `data/custom_extra_functionality.py` ([#824](https://github.com/PyPSA/pypsa-eur/pull/824)). + +* Add locations, capacities and costs of existing gas storage using Global + Energy Monitor's [Europe Gas Tracker](https://globalenergymonitor.org/projects/europe-gas-tracker) + ([#835](https://github.com/PyPSA/pypsa-eur/pull/835)). + +* Add option to use [LUISA Base Map](https://publications.jrc.ec.europa.eu/repository/handle/JRC124621) 50m land + coverage dataset for land eligibility analysis in + [build_renewable_profiles][]. Settings are analogous to the CORINE dataset + but with the key `luisa:` in the configuration file. To leverage the + dataset's full advantages, set the excluder resolution to 50m + (`excluder_resolution: 50`). For land category codes, see [Annex 1 of the technical documentation](https://publications.jrc.ec.europa.eu/repository/bitstream/JRC124621/technical_report_luisa_basemap_2018_v7_final.pdf) + ([#842](https://github.com/PyPSA/pypsa-eur/pull/842)). + +* Add option to capture CO2 contained in biogas when upgrading (``sector: + biogas_to_gas_cc``) ([#615](https://github.com/PyPSA/pypsa-eur/pull/615)). + +* If load shedding is activated, it is now applied to all carriers, not only + electricity ([#784](https://github.com/PyPSA/pypsa-eur/pull/784)). + +* Add option for heat vents in district heating (``sector: + central_heat_vent:``). The combination of must-run conditions for some + power-to-X processes, waste heat usage enabled and decreasing heating demand, + can lead to infeasibilities in pathway optimisation for some investment + periods since larger Fischer-Tropsch capacities are needed in early years but + the waste heat exceeds the heat demand in later investment periods. + ([#791](https://github.com/PyPSA/pypsa-eur/pull/791)). + +* Allow possibility to go from copperplated to regionally resolved methanol and + oil demand with switches `sector: regional_methanol_demand: true` and + `sector: regional_oil_demand: true`. This allows nodal/regional CO2 + constraints to be applied ([#827](https://github.com/PyPSA/pypsa-eur/pull/827)). + +* Allow retrofitting of existing gas boilers to hydrogen boilers in pathway + optimisation. + +* Add option to add time-varying CO2 emission prices (electricity-only, ``costs: + emission_prices: co2_monthly_prices: true``). This is linked to the new + `{opts}` wildcard option `Ept`. + +* Network clustering can now consider efficiency classes when aggregating + carriers. The option `clustering: consider_efficiency_classes:` aggregates + each carriers into the top 10-quantile (high), the bottom 90-quantile (low), + and everything in between (medium). + +* Added option `conventional: dynamic_fuel_price:` to consider the monthly + fluctuating fuel prices for conventional generators. Refer to the CSV file + `data/validation/monthly_fuel_price.csv`. + +* For hydro-electricity, add switches `flatten_dispatch` to consider an upper + limit for the hydro dispatch. The limit is given by the average capacity + factor plus the buffer given in `flatten_dispatch_buffer`. + +* Extend options for waste heat usage from Haber-Bosch, methanolisation and + methanation ([#834](https://github.com/PyPSA/pypsa-eur/pull/834)). + +* Add new `sector_opts` wildcard option "nowasteheat" to disable all waste + heat usage ([#834](https://github.com/PyPSA/pypsa-eur/pull/834)). + +* Add new rule `retrieve_irena` to automatically retrieve up-to-date values + for existing renewables capacities ([#756](https://github.com/PyPSA/pypsa-eur/pull/756)). + +* Print Irreducible Infeasible Subset (IIS) if model is infeasible. Only for + solvers with IIS support ([#841](https://github.com/PyPSA/pypsa-eur/pull/841)). + +* More wildcard options now have a corresponding config entry. If the wildcard + is given, then its value is used. If the wildcard is not given but the options + in config are enabled, then the value from config is used. If neither is + given, the options are skipped ([#827](https://github.com/PyPSA/pypsa-eur/pull/827)). + +* Validate downloads from Zenodo using MD5 checksums. This identifies corrupted + or incomplete downloads ([#821](https://github.com/PyPSA/pypsa-eur/pull/821)). + +* Add rule `sync` to synchronise with a remote machine using the `rsync` + library. Configuration settings are found under `remote:`. + +**Breaking Changes** + +* Remove all negative loads on the `co2 atmosphere` bus representing emissions + for e.g. fixed fossil demands for transport oil. Instead these are handled + more transparently with a fixed transport oil demand and a link taking care of + the emissions to the `co2 atmosphere` bus. This is also a preparation for + endogenous transport optimisation, where demand will be subject to + optimisation (e.g. fuel switching in the transport sector) + ([#827](https://github.com/PyPSA/pypsa-eur/pull/827)). + +* Process emissions from steam crackers (i.e. naphtha processing for HVC) are + now piped from the consumption link to the process emissions bus where the + model can decide about carbon capture. Previously the process emissions for + naphtha were a fixed load ([#827](https://github.com/PyPSA/pypsa-eur/pull/827)). + +* Distinguish between stored and sequestered CO2. Stored CO2 is stored + overground in tanks and can be used for CCU (e.g. methanolisation). + Sequestered CO2 is stored underground and can no longer be used for CCU. This + distinction is made because storage in tanks is more expensive than + underground storage. The link that connects stored and sequestered CO2 is + unidirectional ([#844](https://github.com/PyPSA/pypsa-eur/pull/844)). + +* Files extracted from sector-coupled data bundle have been moved from `data/` + to `data/sector-bundle`. + +* Split configuration to enable SMR and SMR CC (`sector: smr:` and ``sector: + smr_cc:``) ([#757](https://github.com/PyPSA/pypsa-eur/pull/757)). + +* Add separate option to add resistive heaters to the technology choices + (`sector: resistive_heaters:`). Previously they were always added when + boilers were added ([#808](https://github.com/PyPSA/pypsa-eur/pull/808)). + +* Remove HELMETH option (`sector: helmeth:`). + +* Remove "conservative" renewable potentials estimation option + ([#838](https://github.com/PyPSA/pypsa-eur/pull/838)). + +* With this release we stop posting updates to the network pre-builts. + +**Changes** + +* Updated Global Energy Monitor LNG terminal data to March 2023 version + ([#707](https://github.com/PyPSA/pypsa-eur/pull/707)). + +* For industry distribution, use EPRTR as fallback if ETS data is not available + ([#721](https://github.com/PyPSA/pypsa-eur/pull/721)). + +* It is now possible to specify years for biomass potentials which do not exist + in the JRC-ENSPRESO database, e.g. 2037. These are linearly interpolated + ([#744](https://github.com/PyPSA/pypsa-eur/pull/744)). + +* In pathway mode, the biomass potential is linked to the investment year + ([#744](https://github.com/PyPSA/pypsa-eur/pull/744)). + +* Increase allowed deployment density of solar to 5.1 MW/sqkm by default. + +* Default to full electrification of land transport by 2050. + +* Provide exogenous transition settings in 5-year steps. + +* Default to approximating transmission losses in HVAC lines + (`transmission_losses: 2`). + +* Use electrolysis waste heat by default. + +* Set minimum part loads for PtX processes to 30% for methanolisation and + methanation, and to 70% for Fischer-Tropsch synthesis. + +* Add VOM as marginal cost to PtX processes + ([#830](https://github.com/PyPSA/pypsa-eur/pull/830)). + +* Add pelletizing costs for biomass boilers ([#833](https://github.com/PyPSA/pypsa-eur/pull/833)). + +* Update default offshore wind turbine model to "NREL Reference 2020 ATB 5.5 MW" + ([#832](https://github.com/PyPSA/pypsa-eur/pull/832)). + +* Switch to using hydrogen and electricity inputs for Haber-Bosch from + https://github.com/PyPSA/technology-data ([#831](https://github.com/PyPSA/pypsa-eur/pull/831)). + +* The configuration setting for country focus weights when clustering the + network has been moved from `focus_weights:` to ``clustering: + focus_weights:``. Backwards compatibility to old config files is maintained + ([#794](https://github.com/PyPSA/pypsa-eur/pull/794)). + +* The `mock_snakemake` function can now be used with a Snakefile from a + different directory using the new `root_dir` argument + ([#771](https://github.com/PyPSA/pypsa-eur/pull/771)). + +* Rule `purge` now initiates a dialog to confirm if purge is desired + ([#745](https://github.com/PyPSA/pypsa-eur/pull/745)). + +* Files downloaded from zenodo are now write-protected to prevent accidental + re-download ([#730](https://github.com/PyPSA/pypsa-eur/pull/730)). + +* Performance improvements for rule `build_ship_raster` + ([#845](https://github.com/PyPSA/pypsa-eur/pull/845)). + +* Improve time logging in [build_renewable_profiles][] + ([#837](https://github.com/PyPSA/pypsa-eur/pull/837)). + +* In myopic pathway optimisation, disable power grid expansion if line volume + already hit ([#840](https://github.com/PyPSA/pypsa-eur/pull/840)). + +* JRC-ENSPRESO data is now downloaded from a Zenodo mirror because the link was + unreliable ([#801](https://github.com/PyPSA/pypsa-eur/pull/801)). + +* Add focus weights option for clustering to documentation + ([#781](https://github.com/PyPSA/pypsa-eur/pull/781)). + +* Add proxy for biomass transport costs if no explicit biomass transport network + is considered ([#711](https://github.com/PyPSA/pypsa-eur/pull/711)). + +**Bugs and Compatibility** + +* The minimum PyPSA version is now 0.26.1. + +* Update to `tsam>=0.2.3` for performance improvements in temporal clustering. + +* Pin `snakemake` version to below 8.0.0, as the new version is not yet + supported. The next release will switch to the requirement `snakemake>=8`. + +* Bugfix: Add coke and coal demand for integrated steelworks + ([#718](https://github.com/PyPSA/pypsa-eur/pull/718)). + +* Bugfix: Make [build_renewable_profiles][] consider subsets of cutout time + scope ([#709](https://github.com/PyPSA/pypsa-eur/pull/709)). + +* Bugfix: In [simplify_network][], remove 'underground' column to avoid + consense error ([#714](https://github.com/PyPSA/pypsa-eur/pull/714)). + +* Bugfix: Fix in [add_existing_baseyear][] to account for the case when there + is no rural heating demand for some nodes in network + ([#706](https://github.com/PyPSA/pypsa-eur/pull/706)). + +* Bugfix: The unit of the capital cost of Haber-Bosch plants was corrected + ([#829](https://github.com/PyPSA/pypsa-eur/pull/829)). + +* The minimum capacity for renewable generators when using the myopic option has + been fixed ([#728](https://github.com/PyPSA/pypsa-eur/pull/728)). + +* Compatibility for running with single node and single country + ([#839](https://github.com/PyPSA/pypsa-eur/pull/839)). + +* A bug preventing the addition of custom powerplants specified in + `data/custom_powerplants.csv` was fixed. + ([#732](https://github.com/PyPSA/pypsa-eur/pull/732)) + +* Fix nodal fraction in `add_existing_year` when using distributed + generators ([#798](https://github.com/PyPSA/pypsa-eur/pull/798)). + +* Bugfix: District heating without progress caused division by zero + ([#796](https://github.com/PyPSA/pypsa-eur/pull/796)). + +* Bugfix: Drop duplicates in `build_industrial_distribution_keys`, which + can occur through the geopandas `.sjoin()` function if a point is located on + a border ([#726](https://github.com/PyPSA/pypsa-eur/pull/726)). + +* For network clustering fall back to `ipopt` when `highs` is designated + solver ([#795](https://github.com/PyPSA/pypsa-eur/pull/795)). + +* Fix typo in buses definition for oil boilers in `add_industry` in + [prepare_sector_network][] ([#812](https://github.com/PyPSA/pypsa-eur/pull/812)). + +* Resolve code issues for endogenous building retrofitting. Select correct + sector names, address deprecations, distinguish between district heating, + decentral heating in urban areas or rural areas for floor area calculations + ([#808](https://github.com/PyPSA/pypsa-eur/pull/808)). + +* Addressed various deprecations. + + +## PyPSA-Eur 0.8.1 (27th July 2023) + +**New Features** + +* Add option to consider dynamic line rating based on wind speeds and + temperature according to [Glaum and Hofmann (2022)](https://arxiv.org/abs/2208.04716). See configuration section ``lines: + dynamic_line_rating:`` for more details. ([#675](https://github.com/PyPSA/pypsa-eur/pull/675)) + +* Add option to include a piecewise linear approximation of transmission losses, + e.g. by setting `solving: options: transmission_losses: 2` for an + approximation with two tangents. ([#664](https://github.com/PyPSA/pypsa-eur/pull/664)) + +* Add plain hydrogen turbine as additional re-electrification option besides + hydrogen fuel cell. Add switches for both re-electrification options under + `sector: hydrogen_turbine:` and `sector: hydrogen_fuel_cell:`. + ([#647](https://github.com/PyPSA/pypsa-eur/pull/647)) + +* Added configuration option `lines: max_extension:` and ``links: + max_extension:``` to control the maximum capacity addition per line or link in + MW. ([#665](https://github.com/PyPSA/pypsa-eur/pull/665)) + +* A `param:` section in the snakemake rule definitions was added to track + changed settings in `config.yaml`. The goal is to automatically re-execute + rules where parameters have changed. See [Non-file parameters for rules](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules) + in the snakemake documentation. ([#663](https://github.com/PyPSA/pypsa-eur/pull/663)) + +* A new function named `sanitize_carrier` ensures that all unique carrier + names are present in the network's carriers attribute, and adds nice names and + colors for each carrier according to the provided configuration dictionary. + ([#653](https://github.com/PyPSA/pypsa-eur/pull/653), + [#690](https://github.com/PyPSA/pypsa-eur/pull/690)) + +* The configuration settings have been documented in more detail. + ([#685](https://github.com/PyPSA/pypsa-eur/pull/685)) + +**Breaking Changes** + +* The configuration files are now located in the `config` directory. This + includes the `config.default.yaml`, `config.yaml` as well as the test + configuration files which are now located in the `config/test` directory. + Config files that are still in the root directory will be ignored. + ([#640](https://github.com/PyPSA/pypsa-eur/pull/640)) + +* Renamed script and rule name from `build_load_data` to + `build_electricity_demand` and `retrieve_load_data` to + `retrieve_electricity_demand`. ([#642](https://github.com/PyPSA/pypsa-eur/pull/642), + [#652](https://github.com/PyPSA/pypsa-eur/pull/652)) + +* Updated to new spatial clustering module introduced in PyPSA v0.25. + ([#696](https://github.com/PyPSA/pypsa-eur/pull/696)) + +**Changes** + +* Handling networks with links with multiple inputs/outputs no longer requires + to override component attributes. + ([#695](https://github.com/PyPSA/pypsa-eur/pull/695)) + +* Added configuration option `enable: retrieve:` to control whether data + retrieval rules from snakemake are enabled or not. Th default setting `auto` + will automatically detect and enable/disable the rules based on internet + connectivity. ([#694](https://github.com/PyPSA/pypsa-eur/pull/694)) + +* Update to `technology-data` v0.6.0. + ([#704](https://github.com/PyPSA/pypsa-eur/pull/704)) + +* Handle data bundle extraction paths via `snakemake.output`. + +* Additional technologies are added to `tech_color` in the configuration files + to include previously unlisted carriers. + +* Doc: Added note that Windows is only tested in CI with WSL. + ([#697](https://github.com/PyPSA/pypsa-eur/issues/697)) + +* Doc: Add support section. ([#656](https://github.com/PyPSA/pypsa-eur/pull/656)) + +* Open `rasterio` files with `rioxarray`. + ([#474](https://github.com/PyPSA/pypsa-eur/pull/474)) + +* Migrate CI to `micromamba`. ([#700](https://github.com/PyPSA/pypsa-eur/pull/700)) + +**Bugs and Compatibility** + +* The new minimum PyPSA version is v0.25.1. + +* Removed `vresutils` dependency. + ([#662](https://github.com/PyPSA/pypsa-eur/pull/662)) + +* Adapt to new `powerplantmatching` version. + ([#687](https://github.com/PyPSA/pypsa-eur/pull/687), + [#701](https://github.com/PyPSA/pypsa-eur/pull/701)) + +* Bugfix: Correct typo in the CPLEX solver configuration in + `config.default.yaml`. ([#630](https://github.com/PyPSA/pypsa-eur/pull/630)) + +* Bugfix: Error in `add_electricity` where carriers were added multiple times + to the network, resulting in a non-unique carriers error. + +* Bugfix of optional reserve constraint. + ([#645](https://github.com/PyPSA/pypsa-eur/pull/645)) + +* Fix broken equity constraints logic. + ([#679](https://github.com/PyPSA/pypsa-eur/pull/679)) + +* Fix addition of load shedding generators. + ([#649](https://github.com/PyPSA/pypsa-eur/pull/649)) + +* Fix automatic building of documentation on readthedocs.org. + ([#658](https://github.com/PyPSA/pypsa-eur/pull/658)) + +* Bugfix: Update network clustering to avoid adding deleted links in clustered + network. ([#678](https://github.com/PyPSA/pypsa-eur/pull/678)) + +* Address `geopandas` deprecations. + ([#678](https://github.com/PyPSA/pypsa-eur/pull/678)) + +* Fix bug with underground hydrogen storage creation, where for some small model + regions no cavern storage is available. + ([#672](https://github.com/PyPSA/pypsa-eur/pull/672)) + + +* Addressed deprecation warnings for `pandas=2.0`. `pandas=2.0` is now minimum requirement. + + +## PyPSA-Eur 0.8.0 (18th March 2023) + +!!! note + This is the first release of PyPSA-Eur which incorporates its sector-coupled extension PyPSA-Eur-Sec (v0.7.0). + PyPSA-Eur can now directly be used for high-resolution energy system modelling with sector-coupling + including industry, transport, buildings, biomass, and detailed carbon management. The PyPSA-Eur-Sec repository is now deprecated. + +* The [solve_network][] script now uses the `linopy` backend of PyPSA and is applied for both electricity-only and sector-coupled models. This + requires an adjustment of custom `extra_functionality`. + See the [migration guide](https://pypsa.readthedocs.io/en/latest/examples/optimization-with-linopy-migrate-extra-functionalities.html) in the PyPSA documentation. + +* The configuration file `config.default.yaml` now also includes settings for + sector-coupled models, which will be ignored when the user runs + electricity-only studies. Common settings have been aligned. + +* Unified handling of scenario runs. Users can name their scenarios in ``run: + name:``, which will encapsulate results in a correspondingly named folder + under `results`. Additionally, users can select to encapsulate the `resources` folder + in the same way, through the setting `run: shared_resources:`. + +* The solver configurations in `config.default.yaml` are now modularized. To + change the set of solver options, change to value in ``solving: solver: + options:` to one of the keys in `solving: solver_options:``. + +* The `Snakefile` has been modularised. Rules are now organised in the + `rules` directory. + +* Unified wildcard for transmission line expansion from `{lv}` and `{ll}` to + `{ll}`. + +* Renamed collection rules to distinguish between sector-coupled and + electricity-only runs: `cluster_networks`, `extra_components_networks`, + `prepare_elec_networks`, `prepare_sector_networks`, + `solve_elec_networks`, `solve_sector_networks`, `plot_networks`, + `all`. + +* Some rules with a small computational footprint have been declared as `localrules`. + +* Added new utility rules `purge` for clearing workflow outputs from the + directory, `doc` to build the documentation, and `dag` to create a + workflow graph. + +* The workflow can now be used with the `snakemake --use-conda` directive. In + this way, Snakemake can automatically handle the installation of dependencies. + +* Data retrieval rules now retry download twice in case of connection problems. + +* The cutouts are now marked as `protected()` in the workflow to avoid + accidental recomputation. + +* The files contained in `data/bundle` are now marked as `ancient()` as they + are not expected to be altered by workflow changes. + +* Preparation scripts for sector-coupled models have been improved to only run + for the subset of selected countries rather than all European countries. + +* Added largely automated country code conversion using `country_converter`.. + +* Test coverage extended to an electricity-only run and sector-coupled runs for + overnight and myopic foresight scenarios for Ubuntu, MacOS and Windows. + +* Apply `black` and `snakefmt` code formatting. + +* Implemented REUSE compatibility for merged code. + +* Merged documentations of PyPSA-Eur and PyPSA-Eur-Sec. + +* Added a tutorial for running sector-coupled models to the documentation + ([tutorial_sector](tutorial_sector.md)). + +* Deleted `config.tutorial.yaml`, which is superseded by + `test/config.electricity.yaml`. + +* The `mock_snakemake` function now also takes configuration files as inputs. + +* The helper scripts `helper.py` and `_helpers.py` have been merged into + `_helpers.py`. + +* The unused rule `plot_p_nom_max` has been removed. + +* The rule `solve_network` from PyPSA-Eur-Sec was renamed to + `solve_sector_network`. + +* The plotting scripts from PyPSA-Eur (electricity-only) have been removed and + are superseded by those from PyPSA-Eur-Sec (sector-coupled). + + +## PyPSA-Eur Releases (pre-merge) + +### PyPSA-Eur 0.7.0 (16th February 2023) + + +**New Features** + +* Carriers of generators can now be excluded from aggregation in clustering + network and simplify network (see `exclude_carriers`). + +* Added control for removing stubs in [simplify_network][] with options + `remove_stubs` and `remove_stubs_across_countries`. + +* Add control for showing a progressbar in `atlite` processes + (`show_progress`). Disabling the progressbar saves a lot of time. + +* Added control for resolution of land eligibility analysis (see + `excluder_resolution`). + + +**Breaking Changes** + +* The config entry `snapshots: closed:` was renamed to ``snapshots: + inclusive:` to address the upstream deprecation with `pandas=1.4``. The + previous setting `None` is no longer supported and replaced by `both`, see + the [pandas documentation](https://pandas.pydata.org/docs/reference/api/pandas.date_range.html). + Minimum version is now `pandas>=1.4`. + +* The configuration setting `summary_dir` was removed. + + +**Changes** + +* Configuration defaults to new `technology-data` version 0.5.0. + +* Fixed CRS warnings when projection of datasets was not specified. + +* Cleaned shape unary unions. + +* Increased resource requirements for some rules. + +* Updated documentation. + +* The documentation now uses the `sphinx_book_theme`. + + +**Bugs and Compatibility** + + +* Bugfix: Corrected extent of natural protection areas in `build_natura_raster`. + +* Bugfix: Use correct load variables for formulating reserve constraints. + +* Bugfix: Use all available energy-to-power ratios for hydropower plants. + +* Bugfix: The most recent processing of the `entsoegridkit` extract required + further manual corrections. Also, the connection points of TYNDP links were + corrected. + +* Bugfix: Handle absence of hydropower inflow in `EQ` constraint. + +* Compatibility with `pyomo>=6.4.3` in [cluster_network][]. + +* Upgrade to `shapely>=2`. + +* Updated version of CI cache action to version 3. +* +* Updated dependency constraints in `environment.yaml`. + +* Address various deprecation warnings. + + + +### PyPSA-Eur 0.6.1 (20th September 2022) + +* Individual commits are now tested against pre-commit hooks. This includes + black style formatting, sorting of package imports, Snakefile formatting and + others. Installation instructions can for the pre-commit can be found [here](https://pre-commit.com/). + +* Pre-commit CI is now part of the repository's CI. + +* The software now supports running the workflow with different settings within + the same directory. A new config section `run` was created that specifies + under which scenario `name` the created resources, networks and results + should be stored. If `name` is not specified, the workflow uses the default + paths. The entry `shared_cutouts` specifies whether the run should use + cutouts from the default root directory or use run-specific cutouts. + +* The heuristic distribution of today's renewable capacity installations is now + enabled by default. + +* The marginal costs of conventional generators are now taking the plant-specific + efficiency into account where available. + +### PyPSA-Eur 0.6.0 (10th September 2022) + +* Functionality to consider shipping routes when calculating the available area + for offshore technologies were added. Data for the shipping density comes from + the [Global Shipping Traffic Density dataset](https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density). + +* When transforming all transmission lines to a unified voltage level of 380kV, + the workflow now preserves the transmission capacity rather than electrical + impedance and reactance. + +* Memory resources are now specified for all rules. + +* Filtering of power plant data was adjusted to new versions of + `powerplantmatching`. + +* The resolution of land exclusion calculation is now a configurable option. See + setting `excluder_resolution`. + + +### PyPSA-Eur 0.5.0 (27th July 2022) + +**New Features** + +* New network topology extracted from the ENTSO-E interactive map. +* Added existing renewable capacities for all countries based on IRENA + statistics (IRENASTAT) using new `powerplantmatching` version: +* The corresponding `config` entries changed from `estimate_renewable_capacities_from_capacity_stats` to `estimate_renewable_capacities`. +* The estimation is endabled by setting the subkey `enable` to `True`. +* Configuration of reference year for capacities can be configured (default: `2020`) +* The list of renewables provided by the OPSD database can be used as a basis, using the tag `from_opsd: True`. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution. +* Uniform expansion limit of renewable build-up based on existing capacities + can be configured using `expansion_limit` option (default: `false`; + limited to determined renewable potentials) +* Distribution of country-level capacities proportional to maximum annual + energy yield for each bus region +* The config key `renewable_capacities_from_OPSD` is deprecated and was moved + under the section, `estimate_renewable_capacities`. To enable it, set + `from_opsd` to `True`. + +* Add operational reserve margin constraint analogous to [GenX implementation](https://genxproject.github.io/GenX/dev/core/#Reserves). Can be activated + with config setting `electricity: operational_reserve:`. + +* Implement country-specific Energy Availability Factors (EAFs) for nuclear + power plants based on IAEA 2018-2020 reported country averages. These are + specified `data/nuclear_p_max_pu.csv` and translate to static `p_max_pu` + values. + +* Add function to add global constraint on use of gas in [prepare_network][]. + This can be activated by including the keyword `CH4L` in the `{opts}` + wildcard which enforces the limit set in `electricity: gaslimit:` given in + MWh thermal. Alternatively, it is possible to append a number in the `{opts}` + wildcard, e.g. `CH4L200` which limits the gas use to 200 TWh thermal. + +* Add option to alter marginal costs of a carrier through `{opts}` wildcard: + `+m`, e.g. `gas+m2.5`, will multiply the default marginal + cost for gas by factor 2.5. + +* Hierarchical clustering was introduced. Distance metric is calculated from + renewable potentials on hourly (feature entry ends with `-time`) or annual + (feature entry in config end with `-cap`) values. + +* Greedy modularity clustering was introduced. Distance metric is based on electrical distance taking into account the impedance of all transmission lines of the network. + +* Techno-economic parameters of technologies (e.g. costs and efficiencies) will + now be retrieved from a separate repository [PyPSA/technology-data](https://github.com/pypsa/technology-data) that collects assumptions from a + variety of sources. It is activated by default with ``enable: + retrieve_cost_data: true` and controlled with `costs: year:` and `costs: + version:`. The location of this data changed from `data/costs.csv`` to + `resources/costs.csv` [[#184](https://github.com/PyPSA/pypsa-eur/pull/184)]. + +* A new section `conventional` was added to the config file. This section + contains configurations for conventional carriers. + +* Add configuration option to implement arbitrary generator attributes for + conventional generation technologies. + +* Add option to set CO2 emission prices through `{opts}` wildcard: `Ep`, + e.g. `Ep180`, will set the EUR/tCO2 price. + +**Changes** + +* Add an efficiency factor of 88.55% to offshore wind capacity factors as a + proxy for wake losses. More rigorous modelling is [planned](https://github.com/PyPSA/pypsa-eur/issues/153) [[#277](https://github.com/PyPSA/pypsa-eur/pull/277)]. + +* Following discussion in [#285](https://github.com/PyPSA/pypsa-eur/issues/285) we have disabled the + correction factor for solar PV capacity factors by default while satellite + data is used. A correction factor of 0.854337 is recommended if reanalysis + data like ERA5 is used. + +* The default deployment density of AC- and DC-connected offshore wind capacity + is reduced from 3 MW/sqkm to a more conservative estimate of 2 MW/sqkm [[#280](https://github.com/PyPSA/pypsa-eur/pull/280)]. + +* The inclusion of renewable carriers is now specified in the config entry + `renewable_carriers`. Before this was done by commenting/uncommenting + sub-sections in the `renewable` config section. + +* Now, all carriers that should be extendable have to be listed in the config + entry `extendable_carriers`. Before, renewable carriers were always set to + be extendable. For backwards compatibility, the workflow is still looking at + the listed carriers under the `renewable` key. In the future, all of them + have to be listed under `extendable_carriers`. + +* It is now possible to set conventional power plants as extendable by adding + them to the list of extendable `Generator` carriers in the config. + +* Listing conventional carriers in `extendable_carriers` but not in + `conventional_carriers`, sets the corresponding conventional power plants as + extendable without a lower capacity bound of today's capacities. + +* Now, conventional carriers have an assigned capital cost by default. + +* The `build_year` and `lifetime` column are now defined for conventional + power plants. + +* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and + additional variables. + +* Resource definitions for memory usage now follow [Snakemake standard resource definition](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#standard-resources) + `mem_mb` rather than `mem`. + +* The powerplants that have been shut down by 2021 are filtered out. + +* Updated historical [EIA hydro generation data](https://www.eia.gov/international/data/world). + +* Network building is made deterministic by supplying a fixed random state to + network clustering routines. + +* Clustering strategies for generator and bus attributes can now be specified directly in the `config/config.yaml`. + +* Iterative solving with impedance updates is skipped if there are no expandable + lines. + +* The unused argument `simple_hvdc_costs` in [add_electricity][] was + removed. + +* Switch from Germany to Belgium for continuous integration and tutorial to save + resources. + +* It is now possible to skip the progressbar for land eligibility calculations for additional speedup. + +**Bugs and Compatibility** + +* Fix crs bug. Change crs 4236 to 4326. + +* `powerplantmatching>=0.5.1` is now required for `IRENASTATS`. + +* Update rasterio version to correctly calculate exclusion raster. + +* It is now possible to run the workflow with only landlocked countries. + +* Bugfixes for manual load adjustments across years. + +* Enable parallel computing with new dask version. + +* Restore compatibility of `mock_snakemake` with latest Snakemake versions. + +* Script `build_bus_regions`: move voronoi partition from vresutils to script. + +* Script `add_electricity`: remove `vresutils.costdata.annuity` dependency. + +* Fix the plot_network snakemake rule. + +* Compatibility with pandas 1.4. Address deprecations. + +* Restore Windows compatibility by using `shutil.move` rather than `mv`. + + +### Synchronisation Release - Ukraine and Moldova (17th March 2022) + +On March 16, 2022, the transmission networks of Ukraine and Moldova have +successfully been [synchronised with the continental European grid](https://www.entsoe.eu/news/2022/03/16/continental-europe-successful-synchronisation-with-ukraine-and-moldova-power-systems/). We have taken +this as an opportunity to add the power systems of Ukraine and Moldova to +PyPSA-Eur. This includes: + +![](img/synchronisation.png){width=500} + +* the transmission network topology from the [ENTSO-E interactive map](https://www.entsoe.eu/data/map/). + +* existing power plants (incl. nuclear, coal, gas and hydro) from the [powerplantmatching](https://github.com/fresna/powerplantmatching) tool + +* country-level load time series from ENTSO-E through the [OPSD platform](https://data.open-power-system-data.org/time_series/2020-10-06), which are then distributed heuristically to substations by GDP and population density. + +* wind and solar profiles based on ERA5 and SARAH-2 weather data + +* hydro profiles based on historical [EIA generation data](https://www.eia.gov/international/data/world) + +* a simplified calculation of wind and solar potentials based on the [Copernicus Land Cover dataset](https://land.copernicus.eu/global/products/lc). + +* electrical characteristics of 750 kV transmission lines + +The Crimean power system is currently disconnected from the main Ukrainian grid and, hence, not included. + +This release is not on the `master` branch. It can be used with + +```bash +git clone https://github.com/pypsa/pypsa-eur +git checkout synchronisation-release +``` + + +### PyPSA-Eur 0.4.0 (22th September 2021) + +**New Features and Changes** + +* With this release, we change the license from copyleft GPLv3 to the more + liberal MIT license with the consent of all contributors + [[#276](https://github.com/PyPSA/pypsa-eur/pull/276)]. + +* Switch to the new major `atlite` release v0.2. The version upgrade comes + along with significant speed up for the rule `build_renewable_profiles.py` + (~factor 2). A lot of the code which calculated the land-use availability is now + outsourced and does not rely on `glaes`, `geokit` anymore. This facilitates + the environment building and version compatibility of `gdal`, `libgdal` with + other packages [[#224](https://github.com/PyPSA/pypsa-eur/pull/224)]. + +* Implemented changes to `n.snapshot_weightings` in new PyPSA version v0.18 + (cf. [PyPSA/PyPSA/#227](https://github.com/PyPSA/PyPSA/pull/227)) + [[#259](https://github.com/PyPSA/pypsa-eur/pull/259)]. + +* Add option to pre-aggregate nodes without power injections (positive or + negative, i.e. generation or demand) to electrically closest nodes or neighbors + in `simplify_network`. Defaults to `False`. This affects nodes that are no + substations or have no offshore connection. + +* In [simplify_network][], bus columns with no longer correct entries are + removed (symbol, tags, under_construction, substation_lv, substation_off) + [[#219](https://github.com/PyPSA/pypsa-eur/pull/219)] + +* Add option to include marginal costs of links representing fuel cells, + electrolysis, and battery inverters + [[#232](https://github.com/PyPSA/pypsa-eur/pull/232)]. + +* The rule and script `build_country_flh` are removed as they are no longer + used or maintained. + +* The connection cost of generators in [simplify_network][] are now reported + in `resources/connection_costs_s{simpl}.csv` + [[#261](https://github.com/PyPSA/pypsa-eur/pull/261)]. + +* The tutorial cutout was renamed from `cutouts/europe-2013-era5.nc` to + `cutouts/be-03-2013-era5.nc` to accommodate tutorial and productive + cutouts side-by-side. + +* The flag `keep_all_available_areas` in the configuration for renewable + potentials was deprecated and now defaults to `True`. + +* Update dependencies in `envs/environment.yaml` + [[#257](https://github.com/PyPSA/pypsa-eur/pull/257)] + +* Continuous integration testing switches to Github Actions from Travis CI + [[#252](https://github.com/PyPSA/pypsa-eur/pull/252)]. + +* Documentation on readthedocs.io is now built with `pip` only and no longer + requires `conda` [[#267](https://github.com/PyPSA/pypsa-eur/pull/267)]. + +* Use `Citation.cff` [[#273](https://github.com/PyPSA/pypsa-eur/pull/273)]. + +**Bugs and Compatibility** + + +* Support for PyPSA v0.18 [[#268](https://github.com/PyPSA/pypsa-eur/pull/268)]. + +* Minimum Python version set to `3.8`. + +* Removed `six` dependency [[#245](https://github.com/PyPSA/pypsa-eur/pull/245)]. + +* Update `plot_network` and [make_summary][] rules to latest PyPSA + versions [[#270](https://github.com/PyPSA/pypsa-eur/pull/270)]. + +* Keep converter links to store components when using the `ATK` + wildcard and only remove DC links [[#214](https://github.com/PyPSA/pypsa-eur/pull/214)]. + +* Value for `co2base` in `config.yaml` adjusted to 1.487e9 t CO2-eq + (from 3.1e9 t CO2-eq). The new value represents emissions related to the + electricity sector for EU+UK+Balkan. The old value was too high and used when + the emissions wildcard in `{opts}` was used + [[#233](https://github.com/PyPSA/pypsa-eur/pull/233)]. + +* Add escape in [base_network][] if all TYNDP links are already + contained in the network + [[#246](https://github.com/PyPSA/pypsa-eur/pull/246)]. + +* In [solve_operations_network][] the optimised capacities are now + fixed for all extendable links, not only HVDC links + [[#244](https://github.com/PyPSA/pypsa-eur/pull/244)]. + +* The `focus_weights` are now also considered when pre-clustering in + the [simplify_network][] rule + [[#241](https://github.com/PyPSA/pypsa-eur/pull/241)]. + +* in `build_renewable_profile` where offshore wind profiles could + no longer be created [[#249](https://github.com/PyPSA/pypsa-eur/pull/249)]. + +* Lower expansion limit of extendable carriers is now set to the + existing capacity, i.e. `p_nom_min = p_nom` (0 before). Simultaneously, the + upper limit (`p_nom_max`) is now the maximum of the installed capacity + (`p_nom`) and the previous estimate based on land availability (`p_nom_max`) + [[#260](https://github.com/PyPSA/pypsa-eur/pull/260)]. + +* Solving an operations network now includes optimized store capacities + as well. Before only lines, links, generators and storage units were considered + [[#269](https://github.com/PyPSA/pypsa-eur/pull/269)]. + +* With `load_shedding: true` in the solving options of `config.yaml` + load shedding generators are only added at the AC buses, excluding buses for H2 + and battery stores [[#269](https://github.com/PyPSA/pypsa-eur/pull/269)]. + +* Delete duplicated capital costs at battery discharge link + [[#240](https://github.com/PyPSA/pypsa-eur/pull/240)]. + +* Propagate the solver log file name to the solver. Previously, the + PyPSA network solving functions were not told about the solver logfile specified + in the Snakemake file [[#247](https://github.com/PyPSA/pypsa-eur/pull/247)] + +### PyPSA-Eur 0.3.0 (7th December 2020) + +**New Features** + +Using the `{opts}` wildcard for scenario: + +* An option is introduced which adds constraints such that each country or node produces on average a minimal share of its total consumption itself. + For example `EQ0.5c` set in the `{opts}` wildcard requires each country to produce on average at least 50% of its consumption. Additionally, + the option `ATK` requires autarky at each node and removes all means of power transmission through lines and links. `ATKc` only removes + cross-border transfer capacities. + [[#166](https://github.com/PyPSA/pypsa-eur/pull/166)]. + +* Added an option to alter the capital cost (`c`) or installable potentials (`p`) of carriers by a factor via `carrier+{c,p}factor` in the `{opts}` wildcard. + This can be useful for exploring uncertain cost parameters. + Example: `solar+c0.5` reduces the capital cost of solar to 50% of original values + [[#167](https://github.com/PyPSA/pypsa-eur/pull/167), [#207](https://github.com/PyPSA/pypsa-eur/pull/207)]. + +* Added an option to the `{opts}` wildcard that applies a time series segmentation algorithm based on renewables, hydro inflow and load time series + to produce a given total number of adjacent snapshots of varying lengths. + This feature is an alternative to downsampling the temporal resolution by simply averaging and + uses the [tsam](https://tsam.readthedocs.io/en/latest/index.html) package + [[#186](https://github.com/PyPSA/pypsa-eur/pull/186)]. + + +More OPSD integration: + +* Add renewable power plants from [OPSD](https://data.open-power-system-data.org/renewable_power_plants/2020-08-25) to the network for specified technologies. + This will overwrite the capacities calculated from the heuristic approach in :func:`estimate_renewable_capacities()` + [[#212](https://github.com/PyPSA/pypsa-eur/pull/212)]. + +* Electricity consumption data is now retrieved directly from the [OPSD website](https://data.open-power-system-data.org/time_series/2019-06-05) using the rule [build_electricity_demand][]. + The user can decide whether to take the ENTSO-E power statistics data (default) or the ENTSO-E transparency data + [[#211](https://github.com/PyPSA/pypsa-eur/pull/211)]. + +Other: + +* Added an option to use custom busmaps in rule [cluster_network][]. To use this feature set `enable: custom_busmap: true`. + Then, the rule looks for custom busmaps at `data/custom_busmap_elec_s{simpl}_{clusters}.csv`, + which should have the same format as `resources/busmap_elec_s{simpl}_{clusters}.csv`. + i.e. the index should contain the buses of `networks/elec_s{simpl}.nc` + [[#193](https://github.com/PyPSA/pypsa-eur/pull/193)]. + +* Line and link capacities can be capped in the `config.yaml` at `lines: s_nom_max:` and `links: p_nom_max`: + [[#166](https://github.com/PyPSA/pypsa-eur/pull/166)]. + +* Added Google Cloud Platform tutorial (for Windows users) + [[#177](https://github.com/PyPSA/pypsa-eur/pull/177)]. + +**Changes** + +* Don't remove capital costs from lines and links, when imposing a line volume limit (`lv`) or a line cost limit (`lc`). + Previously, these were removed to move the expansion in direction of the limit + [[#183](https://github.com/PyPSA/pypsa-eur/pull/183)]. + +* The mappings for clustered lines and buses produced by the [simplify_network][] and [cluster_network][] rules + changed from Hierarchical Data Format (`.h5`) to Comma-Separated Values format (`.csv`) for ease of use. + [[#198](https://github.com/PyPSA/pypsa-eur/pull/198)] + +* The N-1 security margin for transmission lines is now fixed to a provided value in `config.yaml`, + removing an undocumented linear interpolation between 0.5 and 0.7 in the range between 37 and 200 nodes. + [[#199](https://github.com/PyPSA/pypsa-eur/pull/199)]. + +* Modelling hydrogen and battery storage with Store and Link components is now the default, + rather than using StorageUnit components with fixed power-to-energy ratio + [[#205](https://github.com/PyPSA/pypsa-eur/pull/205)]. + +* Use `mamba` (https://github.com/mamba-org/mamba) for faster Travis CI builds + [[#196](https://github.com/PyPSA/pypsa-eur/pull/196)]. + +* Multiple smaller changes: Removed unused `{network}` wildcard, moved environment files to dedicated `envs` folder, + removed sector-coupling components from configuration files, updated documentation colors, minor refactoring and code cleaning + [[#190](https://github.com/PyPSA/pypsa-eur/pull 190)]. + +**Bugs and Compatibility** + +* Add compatibility for pyomo 5.7.0 in [cluster_network][] and [simplify_network][] + [[#172](https://github.com/PyPSA/pypsa-eur/pull/172)]. + +* Fixed a bug for storage units such that individual store and dispatch efficiencies are correctly taken account of rather than only their round-trip efficiencies. + In the cost database (`data/costs.csv`) the efficiency of battery inverters should be stated as per discharge/charge rather than per roundtrip + [[#202](https://github.com/PyPSA/pypsa-eur/pull/202)]. + +* Corrected exogenous emission price setting (in `config: cost: emission price:`), + which now correctly accounts for the efficiency and effective emission of the generators + [[#171](https://github.com/PyPSA/pypsa-eur/pull/171)]. + +* Corrected HVDC link connections (a) between Norway and Denmark and (b) mainland Italy, Corsica (FR) and Sardinia (IT) + as well as for East-Western and Anglo-Scottish interconnectors + [[#181](https://github.com/PyPSA/pypsa-eur/pull/181), [#206](https://github.com/PyPSA/pypsa-eur/pull/206)]. + +* Fix bug of clustering `offwind-{ac,dc}` generators in the option of high-resolution generators for renewables. + Now, there are more sites for `offwind-{ac,dc}` available than network nodes. + Before, they were clustered to the resolution of the network (`elec_s1024_37m.nc`: 37 network nodes, 1024 generators) + [[#191](https://github.com/PyPSA/pypsa-eur/pull/191)]. + +* Raise a warning if `tech_colors` in the config are not defined for all carriers + [[#178](https://github.com/PyPSA/pypsa-eur/pull/178)]. + + +### PyPSA-Eur 0.2.0 (8th June 2020) + +* The optimization is now performed using the `pyomo=False` setting in the :func:`pypsa.lopf.network_lopf`. This speeds up the solving process significantly and consumes much less memory. The inclusion of additional constraints were adjusted to the new implementation. They are all passed to the :func:`network_lopf` function via the `extra_functionality` argument. The rule `trace_solve_network` was integrated into the rule [solve_network][] and can be activated via configuration with `solving: options: track_iterations: true`. The charging and discharging capacities of batteries modelled as store-link combination are now coupled [[#116](https://github.com/PyPSA/pypsa-eur/pull/116)]. + +* An updated extract of the [ENTSO-E Transmission System Map](https://www.entsoe.eu/data/map/) (including Malta) was added to the repository using the [GridKit](https://github.com/PyPSA/GridKit) tool. This tool has been updated to retrieve up-to-date map extracts using a single [script](https://github.com/PyPSA/GridKit/blob/master/entsoe/runall_in_docker.sh). The update extract features 5322 buses, 6574 lines, 46 links. [[#118](https://github.com/PyPSA/pypsa-eur/pull/118)]. + +* Added [FSFE REUSE](https://reuse.software) compliant license information. Documentation now licensed under CC-BY-4.0 [[#160](https://github.com/PyPSA/pypsa-eur/pull/160)]. + +* Added a 30 minute [video introduction](https://pypsa-eur.readthedocs.io/en/latest/introduction.html) and a 20 minute [video tutorial](https://pypsa-eur.readthedocs.io/en/latest/tutorial.html) + +* Networks now store a color and a nicely formatted name for each carrier, accessible via `n.carrier['color']` and `n.carrier['nice_name'] `(networks after `elec.nc`). + +* Added an option to skip iterative solving usually performed to update the line impedances of expanded lines at `solving: options: skip_iterations:`. + +* `snakemake` rules for retrieving cutouts and the natura raster can now be disabled independently from their respective rules to build them; via `config.*yaml` [[#136](https://github.com/PyPSA/pypsa-eur/pull/136)]. + +* Removed the `id` column for custom power plants in `data/custom_powerplants.csv` to avoid custom power plants with conflicting ids getting attached to the wrong bus [[#131](https://github.com/PyPSA/pypsa-eur/pull/131)]. + +* Add option `renewables: {carrier}: keep_all_available_areas:` to use all available weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed [[#150](https://github.com/PyPSA/pypsa-eur/pull/150)]. + +* Added a function `_helpers.load_network()` which loads a network with overridden components specified in `snakemake.config['override_components']` [[#128](https://github.com/PyPSA/pypsa-eur/pull/128)]. + +* Bugfix in [base_network][] which now finds all closest links, not only the first entry [[#143](https://github.com/PyPSA/pypsa-eur/pull/143)]. + +* Bugfix in [cluster_network][] which now skips recalculation of link parameters if there are no links [[#149](https://github.com/PyPSA/pypsa-eur/pull/149)]. + +* Added information on pull requests to contribution guidelines [[#151](https://github.com/PyPSA/pypsa-eur/pull/151)]. + +* Improved documentation on open-source solver setup and added usage warnings. + +* Updated `conda` environment regarding `pypsa`, `pyproj`, `gurobi`, `lxml`. This release requires PyPSA v0.17.0. + +### PyPSA-Eur 0.1.0 (9th January 2020) + +This is the first release of PyPSA-Eur, a model of the European power system at the transmission network level. Recent changes include: + +* Documentation on installation, workflows and configuration settings is now available online at [pypsa-eur.readthedocs.io](https://pypsa-eur.readthedocs.io) [[#65](https://github.com/PyPSA/pypsa-eur/pull/65)]. + +* The `conda` environment files were updated and extended [[#81](https://github.com/PyPSA/pypsa-eur/pull/81)]. + +* The power plant database was updated with extensive filtering options via `pandas.query` functionality [[#84](https://github.com/PyPSA/pypsa-eur/pull/84) and [#94](https://github.com/PyPSA/pypsa-eur/pull/94)]. + +* Continuous integration testing with [Travis CI](https://travis-ci.org) is now included for Linux, Mac and Windows [[#82](https://github.com/PyPSA/pypsa-eur/pull/82)]. + +* Data dependencies were moved to [zenodo](https://zenodo.org/) and are now versioned [[#60](https://github.com/PyPSA/pypsa-eur/issues/60)]. + +* Data dependencies are now retrieved directly from within the snakemake workflow [[#86](https://github.com/PyPSA/pypsa-eur/pull/86)]. + +* Emission prices can be added to marginal costs of generators through the keywords `Ep` in the `{opts}` wildcard [[#100](https://github.com/PyPSA/pypsa-eur/pull/100)]. + +* An option is introduced to add extendable nuclear power plants to the network [[#98](https://github.com/PyPSA/pypsa-eur/pull/98)]. + +* Focus weights can now be specified for particular countries for the network clustering, which allows to set a proportion of the total number of clusters for particular countries [[#87](https://github.com/PyPSA/pypsa-eur/pull/87)]. + +* A new rule `add_extra_components` allows to add additional components to the network only after clustering. It is thereby possible to model storage units (e.g. battery and hydrogen) in more detail via a combination of `Store`, `Link` and `Bus` elements [[#97](https://github.com/PyPSA/pypsa-eur/pull/97)]. + +* Hydrogen pipelines (including cost assumptions) can now be added alongside clustered network connections in the rule `add_extra_components` . Set `electricity: extendable_carriers: Link: [H2 pipeline]` and ensure hydrogen storage is modelled as a `Store`. This is a first simplified stage [[#108](https://github.com/PyPSA/pypsa-eur/pull/108)]. + +* Logfiles for all rules of the `snakemake` workflow are now written in the folder `log/` [[#102](https://github.com/PyPSA/pypsa-eur/pull/102)]. + +* The new function `_helpers.mock_snakemake` creates a `snakemake` object which mimics the actual `snakemake` object produced by workflow by parsing the `Snakefile` and setting all paths for inputs, outputs, and logs. This allows running all scripts within a (I)python terminal (or just by calling `python `) and thereby facilitates developing and debugging scripts significantly [[#107](https://github.com/PyPSA/pypsa-eur/pull/107)]. + + +## PyPSA-Eur-Sec Releases (pre-merge) + +### PyPSA-Eur-Sec 0.7.0 (16th February 2023) + +This release includes many new features. Highlights include new gas +infrastructure data with retrofitting options for hydrogen transport, improved +carbon management and infrastructure planning, regionalised potentials for +hydrogen underground storage and carbon sequestration, new applications for +biomass, and explicit modelling of methanol and ammonia as separate energy +carriers. + +This release is known to work with [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) Version 0.7.0 and [Technology Data](https://github.com/PyPSA/technology-data) Version 0.5.0. + +**Gas Transmission Network** + +* New rule `retrieve_gas_infrastructure_data` that downloads and extracts the + SciGRID_gas [IGGIELGN](https://zenodo.org/records/4767098) dataset from + zenodo. It includes data on the transmission routes, pipe diameters, + capacities, pressure, and whether the pipeline is bidirectional and carries + H-Gas or L-Gas. + +* New rule `build_gas_network` processes and cleans the pipeline data from + SciGRID_gas. Missing or uncertain pipeline capacities can be inferred by + diameter. + +* New rule `build_gas_input_locations` compiles the LNG import capacities + (from the Global Energy Monitor's [Europe Gas Tracker](https://globalenergymonitor.org/projects/europe-gas-tracker/), pipeline + entry capacities and local production capacities for each region of the model. + These are the regions where fossil gas can eventually enter the model. + +* New rule `cluster_gas_network` that clusters the gas transmission network + data to the model resolution. Cross-regional pipeline capacities are + aggregated (while pressure and diameter compatibility is ignored), + intra-regional pipelines are dropped. Lengths are recalculated based on the + regions' centroids. + +* With the option `sector: gas_network:`, the existing gas network is added + with a lossless transport model. A length-weighted [k-edge augmentation algorithm](https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation) + can be run to add new candidate gas pipelines such that all regions of the + model can be connected to the gas network. The number of candidates can be + controlled via the setting `sector: gas_network_connectivity_upgrade:`. When + the gas network is activated, all the gas demands are regionally disaggregated + as well. + +* New constraint allows endogenous retrofitting of gas pipelines to hydrogen + pipelines. This option is activated via the setting `sector: H2_retrofit:`. + For every unit of gas pipeline capacity dismantled, ``sector: + H2_retrofit_capacity_per_CH4`` units are made available as hydrogen pipeline + capacity in the corresponding corridor. These repurposed hydrogen pipelines + have lower costs than new hydrogen pipelines. Both new and repurposed + pipelines can be built simultaneously. The retrofitting option ``sector: + H2_retrofit:`` also works with a copperplated methane infrastructure, i.e. + when `sector: gas_network: false`. + +* New hydrogen pipelines can now be built where there are already power or gas + transmission routes. Previously, only the electricity transmission routes were + considered. + +**Carbon Management and Biomass** + +* Add option to spatially resolve carrier representing stored carbon dioxide + (`co2_spatial`). This allows for more detailed modelling of CCUTS, e.g. + regarding the capturing of industrial process emissions, usage as feedstock + for electrofuels, transport of carbon dioxide, and geological sequestration + sites. + +* Add option for regionally-resolved geological carbon dioxide sequestration + potentials through new rule `build_sequestration_potentials` based on + [CO2StoP](https://setis.ec.europa.eu/european-co2-storage-database_en). This + can be controlled in the section `regional_co2_sequestration_potential` of + the `config.yaml`. It includes options to select the level of conservatism, + whether onshore potentials should be included, the respective upper and lower + limits per region, and an annualisation parameter for the cumulative + potential. The defaults are preliminary and will be validated the next + release. + +* Add option to sweep the global CO2 sequestration potentials with keyword + `seq200` in the `{sector_opts}` wildcard (for limit of 200 Mt CO2). + +* Add option to include [Allam cycle gas power plants](https://en.wikipedia.org/wiki/Allam_power_cycle) (`allam_cycle`). + +* Add option for planning a new carbon dioxide network (`co2network`). + +* Separate option to regionally resolve biomass (`biomass_spatial`) from + option to allow biomass transport (`biomass_transport`). + +* Add option for biomass boilers (wood pellets) for decentral heating. + +* Add option for BioSNG (methane from biomass) with and without carbon capture. + +* Add option for BtL (biomass to liquid fuel/oil) with and without carbon + capture. + + +**Other new features** + +* Add regionalised hydrogen salt cavern storage potentials from [Technical Potential of Salt Caverns for Hydrogen Storage in Europe](https://doi.org/10.20944/preprints201910.0187.v1). This data is compiled in + a new rule `build_salt_cavern_potentials`. + +* Add option to resolve ammonia as separate energy carrier with Haber-Bosch + synthesis, ammonia cracking, storage and industrial demand. The ammonia + carrier can be nodally resolved or copperplated across Europe (see + `ammonia`). + +* Add methanol as energy carrier, methanolisation as process, and option for + methanol demand in shipping sector. + +* Shipping demand now defaults to methanol rather than liquefied hydrogen + until 2050. + +* Demand for liquid hydrogen in international shipping is now geographically + distributed by port trade volumes in a new rule `build_shipping_demand` + using data from the [World Bank Data Catalogue](https://datacatalog.worldbank.org/search/dataset/0038118/Global---International-Ports). + Domestic shipping remains distributed by population. + +* Add option to aggregate network temporally using representative snapshots or + segments (with [tsam](https://github.com/FZJ-IEK3-VSA/tsam)). + +* Add option for minimum part load for Fischer-Tropsch plants (default: 90%) and + methanolisation plants (default: 50%). + +* Add option to use waste heat of electrolysis in district heating networks + (`use_electrolysis_waste_heat`). + +* Add option for coal CHPs with carbon capture (see `coal_cc`). + +* In overnight optimisation, it is now possible to specify a year for the + technology cost projections separate from the planning horizon. + +* New config options for changing energy demands in aviation + (`aviation_demand_factor`) and HVC industry (`HVC_demand_factor`), as well + as explicit ICE shares for land transport (`land_transport_ice_share`) and + agriculture machinery (`agriculture_machinery_oil_share`). + +* It is now possible to merge residential and services heat buses to reduce the + problem size (see `cluster_heat_nodes`). + +* Added option to tweak (almost) any configuration parameter through the + `{sector_opts}` wildcard. The regional_co2_sequestration_potential is + triggered by the prefix `CF+` after which it is possible to pipe to any + setting that does not contain underscores (`_`). Example: + `CF+sector+v2g+false` disables vehicle-to-grid flexibility. + +* Option `retrieve_sector_databundle` to automatically retrieve and extract + data bundle. + +* Removed the need to clone `technology-data` repository in a parallel + directory. The new approach automatically retrieves the technology data from + remote in the rule `retrieve_cost_data`. + +* Improved network plots including better legends, hydrogen retrofitting network + display, and change to EqualEarth projection. A new color scheme for + technologies was also introduced. + +* Add two new rules `build_transport_demand` and + `build_population_weighted_energy_totals` using code previously contained in + `prepare_sector_network`. + +* Rules that convert weather data with `atlite` now largely run separately for + categories residential, rural and total. + +* Units are assigned to the buses. These only provide a better understanding. + The specifications of the units are not taken into account in the + optimisation, which means that no automatic conversion of units takes place. + +* Configuration file and wildcards are now stored under `n.meta` in every + PyPSA network. + +* Updated [data bundle](https://zenodo.org/records/5824485/files/pypsa-eur-sec-data-bundle.tar.gz) + that includes the hydrogan salt cavern storage potentials. + +* Updated and extended documentation in + + +* Added new rule `copy_conda_env` that exports a list of packages with which + the workflow was executed. + +* Add basic continuous integration using Github Actions. + +* Add basic `rsync` setup. + +**Bugfixes** + +* The CO2 sequestration limit implemented as GlobalConstraint (introduced in the + previous version) caused a failure to read in the shadow prices of other + global constraints. + +* Correct capital cost of Fischer-Tropsch according to new units in + `technology-data` repository. + +* Fix unit conversion error for thermal energy storage. + +* For myopic pathway optimisation, set optimised capacities of power grid + expansion of previous iteration as minimum capacity for next iteration. + +* Further rather minor bugfixes for myopic optimisation code (see [#256](https://github.com/PyPSA/pypsa-eur-sec/pull/256)). + + +Many thanks to all who contributed to this release! + + +### PyPSA-Eur-Sec 0.6.0 (4 October 2021) + +This release includes +improvements regarding the basic chemical production, +the addition of plastics recycling, +the addition of the agriculture, forestry and fishing sector, +more regionally resolved biomass potentials, +CO2 pipeline transport and storage, and +more options in setting exogenous transition paths, +besides many performance improvements. + +This release is known to work with [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) Version 0.4.0, [Technology Data](https://github.com/PyPSA/technology-data) Version 0.3.0 and +[PyPSA](https://github.com/PyPSA/PyPSA) Version 0.18.0. + +Please note that the data bundle has also been updated. + + +**General** + +* With this release, we change the license from copyleft GPLv3 to the more + liberal MIT license with the consent of all contributors. + + +**New features and functionality** + +* Distinguish costs for home battery storage and inverter from utility-scale + battery costs. + +* Separate basic chemicals into HVC (high-value chemicals), chlorine, methanol and ammonia + [[#166](https://github.com/PyPSA/PyPSA-Eur-Sec/pull/166)]. + +* Add option to specify reuse, primary production, and mechanical and chemical + recycling fraction of platics + [[#166](https://github.com/PyPSA/PyPSA-Eur-Sec/pull/166)]. + +* Include energy demands and CO2 emissions for the agriculture, forestry and fishing sector. + It is included by default through the option `A` in the `sector_opts` wildcard. + Part of the emissions (1.A.4.c) was previously assigned to "industry non-elec" in the `co2_totals.csv`. + Hence, excluding the agriculture sector will now lead to a tighter CO2 limit. + Energy demands are taken from the JRC IDEES database (missing countries filled with eurostat data) + and are split into + electricity (lighting, ventilation, specific electricity uses, pumping devices (electric)), + heat (specific heat uses, low enthalpy heat) + machinery oil (motor drives, farming machine drives, pumping devices (diesel)). + Heat demand is assigned at "services rural heat" buses. + Electricity demands are added to low-voltage buses. + Time series for demands are constant and distributed inside countries by population + [[#147](https://github.com/PyPSA/PyPSA-Eur-Sec/pull/147)]. + +* Include today's district heating shares in myopic optimisation and add option + to specify exogenous path for district heating share increase under ``sector: + district_heating:`` [[#149](https://github.com/PyPSA/PyPSA-Eur-Sec/pull/149)]. + +* Added option for hydrogen liquefaction costs for hydrogen demand in shipping. + This introduces a new `H2 liquid` bus at each location. It is activated via + `sector: shipping_hydrogen_liquefaction: true`. + +* The share of shipping transformed into hydrogen fuel cell can be now defined + for different years in the `config.yaml` file. The carbon emission from the + remaining share is treated as a negative load on the atmospheric carbon dioxide + bus, just like aviation and land transport emissions. + +* The transformation of the Steel and Aluminium production can be now defined + for different years in the `config.yaml` file. + +* Include the option to alter the maximum energy capacity of a store via the + `carrier+factor` in the `{sector_opts}` wildcard. This can be useful for + sensitivity analyses. Example: `co2 stored+e2` multiplies the `e_nom_max` by + factor 2. In this example, `e_nom_max` represents the CO2 sequestration + potential in Europe. + +* Use [JRC ENSPRESO database](https://data.jrc.ec.europa.eu/dataset/74ed5a04-7d74-4807-9eab-b94774309d9f) to + spatially disaggregate biomass potentials to PyPSA-Eur regions based on + overlaps with NUTS2 regions from ENSPRESO (proportional to area) ([#151](https://github.com/PyPSA/pypsa-eur-sec/pull/151)). + +* Add option to regionally disaggregate biomass potential to individual nodes + (previously given per country, then distributed by population density within) + and allow the transport of solid biomass. The transport costs are determined + based on the [JRC-EU-Times Bioenergy report](http://dx.doi.org/10.2790/01017) in the new optional rule + `build_biomass_transport_costs`. Biomass transport can be activated with the + setting `sector: biomass_transport: true`. + +* Add option to regionally resolve CO2 storage and add CO2 pipeline transport + because geological storage potential, + CO2 utilisation sites and CO2 capture sites may be separated. The CO2 network + is built from zero based on the topology of the electricity grid (greenfield). + Pipelines are assumed to be bidirectional and lossless. Furthermore, neither + retrofitting of natural gas pipelines (required pressures are too high, 80-160 + bar vs <80 bar) nor other modes of CO2 transport (by ship, road or rail) are + considered. The regional representation of CO2 is activated with the config + setting `sector: co2_network: true` but is deactivated by default. The + global limit for CO2 sequestration now applies to the sum of all CO2 stores + via an `extra_functionality` constraint. + +* The myopic option can now be used together with different clustering for the + generators and the network. The existing renewable capacities are split evenly + among the regions in every country [[#144](https://github.com/PyPSA/PyPSA-Eur-Sec/pull/144)]. + +* Add optional function to use `geopy` to locate entries of the Hotmaps + database of industrial sites with missing location based on city and country, + which reduces missing entries by half. It can be activated by setting + `industry: hotmaps_locate_missing: true`, takes a few minutes longer, and + should only be used if spatial resolution is coarser than city level. + + +**Performance and Structure** + +* Extended use of `multiprocessing` for much better performance + (from up to 20 minutes to less than one minute). + +* Handle most input files (or base directories) via `snakemake.input`. + +* Use of `mock_snakemake` from PyPSA-Eur. + +* Update `solve_network` rule to match implementation in PyPSA-Eur by using + `n.ilopf()` and remove outdated code using `pyomo`. + Allows the new setting to skip iterated impedance updates with ``solving: + options: skip_iterations: true``. + +* The component attributes that are to be overridden are now stored in the folder + `data/override_component_attrs` analogous to `pypsa/component_attrs`. + This reduces verbosity and also allows circumventing the `n.madd()` hack + for individual components with non-default attributes. + This data is also tracked in the Snakefile. + A function `helper.override_component_attrs` was added that loads this data + and can pass the overridden component attributes into `pypsa.Network()`. + +* Add various parameters to `config.default.yaml` which were previously hardcoded inside the scripts + (e.g. energy reference years, BEV settings, solar thermal collector models, geomap colours). + +* Removed stale industry demand rules `build_industrial_energy_demand_per_country` + and `build_industrial_demand`. These are superseded with more regionally resolved rules. + +* Use simpler and shorter `gdf.sjoin()` function to allocate industrial sites + from the Hotmaps database to onshore regions. + This change also fixes a bug: + The previous version allocated sites to the closest bus, + but at country borders (where Voronoi cells are distorted by the borders), + this had resulted in e.g. a Spanish site close to the French border + being wrongly allocated to the French bus if the bus center was closer. + +* Retrofitting rule is now only triggered if endogeneously optimised. + +* Show progress in build rules with `tqdm` progress bars. + +* Reduced verbosity of `Snakefile` through directory prefixes. + +* Improve legibility of `config.default.yaml` and remove unused options. + +* Use the country-specific time zone mappings from `pytz` rather than a manual mapping. + +* A function `add_carrier_buses()` was added to the `prepare_network` rule to reduce code duplication. + +* In the `prepare_network` rule the cost and potential adjustment was moved into an + own function `maybe_adjust_costs_and_potentials()`. + +* Use `matplotlibrc` to set the default plotting style and backend. + +* Added benchmark files for each rule. + +* Consistent use of `__main__` block and further unspecific code cleaning. + +* Updated data bundle and moved data bundle to zenodo.org ([10.5281/zenodo.5546517](https://doi.org/10.5281/zenodo.5546517)). + + +**Bugfixes and Compatibility** + +* Compatibility with `atlite>=0.2`. Older versions of `atlite` will no longer work. + +* Corrected calculation of "gas for industry" carbon capture efficiency. + +* Implemented changes to `n.snapshot_weightings` in PyPSA v0.18.0. + +* Compatibility with `xarray` version 0.19. + +* New dependencies: `tqdm`, `atlite>=0.2.4`, `pytz` and `geopy` (optional). + These are included in the environment specifications of PyPSA-Eur v0.4.0. + +Many thanks to all who contributed to this release! + + +### PyPSA-Eur-Sec 0.5.0 (21st May 2021) + +This release includes improvements to the cost database for building retrofits, carbon budget management and wildcard settings, as well as an important bugfix for the emissions from land transport. + +This release is known to work with [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) Version 0.3.0 and [Technology Data](https://github.com/PyPSA/technology-data) Version 0.2.0. + +Please note that the data bundle has also been updated. + +New features and bugfixes: + +* The cost database for retrofitting of the thermal envelope of buildings has been updated. Now, for calculating the space heat savings of a building, losses by thermal bridges and ventilation are included as well as heat gains (internal and by solar radiation). See the section [retro](sector.md#rule-build_retro_cost) for more details on the retrofitting module. +* For the myopic investment option, a carbon budget and a type of decay (exponential or beta) can be selected in the `config.yaml` file to distribute the budget across the `planning_horizons`. For example, `cb40ex0` in the `{sector_opts}` wildcard will distribute a carbon budget of 40 GtCO2 following an exponential decay with initial growth rate 0. +* Added an option to alter the capital cost or maximum capacity of carriers by a factor via `carrier+factor` in the `{sector_opts}` wildcard. This can be useful for exploring uncertain cost parameters. Example: `solar+c0.5` reduces the `capital_cost` of solar to 50\% of original values. Similarly `solar+p3` multiplies the `p_nom_max` by 3. +* Rename the bus for European liquid hydrocarbons from `Fischer-Tropsch` to `EU oil`, since it can be supplied not just with the Fischer-Tropsch process, but also with fossil oil. +* Bugfix: The new separation of land transport by carrier in Version 0.4.0 failed to account for the carbon dioxide emissions from internal combustion engines in land transport. This is now treated as a negative load on the atmospheric carbon dioxide bus, just like aviation emissions. +* Bugfix: Fix reading in of `pypsa-eur/resources/powerplants.csv` to PyPSA-Eur Version 0.3.0 (use column attribute name `DateIn` instead of old `YearDecommissioned`). +* Bugfix: Make sure that `Store` components (battery and H2) are also removed from PyPSA-Eur, so they can be added later by PyPSA-Eur-Sec. + +Thanks to Lisa Zeyen (KIT) for the retrofitting improvements and Marta Victoria (Aarhus University) for the carbon budget and wildcard management. + +### PyPSA-Eur-Sec 0.4.0 (11th December 2020) + +This release includes a more accurate nodal disaggregation of industry demand within each country, fixes to CHP and CCS representations, as well as changes to some configuration settings. + +It has been released to coincide with [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) Version 0.3.0 and [Technology Data](https://github.com/PyPSA/technology-data) Version 0.2.0, and is known to work with these releases. + +New features: + +* The [Hotmaps Industrial Database](https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database) is used to disaggregate the industrial demand spatially to the nodes inside each country (previously it was distributed by population density). +* Electricity demand from industry is now separated from the regular electricity demand and distributed according to the industry demand. Only the remaining regular electricity demand for households and services is distributed according to GDP and population. +* A cost database for the retrofitting of the thermal envelope of residential and services buildings has been integrated, as well as endogenous optimisation of the level of retrofitting. This is described in the paper [Mitigating heat demand peaks in buildings in a highly renewable European energy system](https://arxiv.org/abs/2012.01831). Retrofitting can be activated both exogenously and endogenously from the `config.yaml`. +* The biomass and gas combined heat and power (CHP) parameters `c_v` and `c_b` were read in assuming they were extraction plants rather than back pressure plants. The data is now corrected in [Technology Data](https://github.com/PyPSA/technology-data) Version 0.2.0 to the correct DEA back pressure assumptions and they are now implemented as single links with a fixed ratio of electricity to heat output (even as extraction plants, they were always sitting on the backpressure line in simulations, so there was no point in modelling the full heat-electricity feasibility polygon). The old assumptions underestimated the heat output. +* The Danish Energy Agency released [new assumptions for carbon capture](https://ens.dk/en/our-services/projections-and-models/technology-data/technology-data-industrial-process-heat-and) in October 2020, which have now been incorporated in PyPSA-Eur-Sec, including direct air capture (DAC) and post-combustion capture on CHPs, cement kilns and other industrial facilities. The electricity and heat demand for DAC is modelled for each node (with heat coming from district heating), but currently the electricity and heat demand for industrial capture is not modelled very cleanly (for process heat, 10% of the energy is assumed to go to carbon capture) - a new issue will be opened on this. +* Land transport is separated by energy carrier (fossil, hydrogen fuel cell electric vehicle, and electric vehicle), but still needs to be separated into heavy and light vehicles (the data is there, just not the code yet). +* For assumptions that change with the investment year, there is a new time-dependent format in the `config.yaml` using a dictionary with keys for each year. Implemented examples include the CO2 budget, exogenous retrofitting share and land transport energy carrier; more parameters will be dynamised like this in future. +* Some assumptions have been moved out of the code and into the `config.yaml`, including the carbon sequestration potential and cost, the heat pump sink temperature, reductions in demand for high value chemicals, and some BEV DSM parameters and transport efficiencies. +* Documentation on [supply_demand](supply_demand.md) options has been added. + +Many thanks to Fraunhofer ISI for opening the hotmaps database and to Lisa Zeyen (KIT) for implementing the building retrofitting. + + +### PyPSA-Eur-Sec 0.3.0 (27th September 2020) + +This releases focuses on improvements to industry demand and the generation of intermediate files for demand for basic materials. There are still inconsistencies with CCS and waste management that need to be improved. + +It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69), PyPSA v0.17.1 and technology-data v0.1.0. Please note that the data bundle has also been updated. + + +New features: + +* In previous version of PyPSA-Eur-Sec the energy demand for industry was calculated directly for each location. Now, instead, the production of each material (steel, cement, aluminium) at each location is calculated as an intermediate data file, before the energy demand is calculated from it. This allows us in future to have competing industrial processes for supplying the same material demand. +* The script `build_industrial_production_per_country_tomorrow.py` determines the future industrial production of materials based on today's levels as well as assumed recycling and demand change measures. +* The energy demand for each industry sector and each location in 2015 is also calculated, so that it can be later incorporated in the pathway optimization. +* Ammonia production data is taken from the USGS and deducted from JRC-IDEES's "basic chemicals" so that it ammonia can be handled separately from the others (olefins, aromatics and chlorine). +* Solid biomass is no longer allowed to be used for process heat in cement and basic chemicals, since the wastes and residues cannot be guaranteed to reach the high temperatures required. Instead, solid biomass is used in the paper and pulp as well as food, beverages and tobacco industries, where required temperatures are lower (see [DOI:10.1002/er.3436](https://doi.org/10.1002/er.3436) and [DOI:10.1007/s12053-017-9571-y](https://doi.org/10.1007/s12053-017-9571-y)). +* National installable potentials for salt caverns are now applied. +* When electricity distribution grids are activated, new industry electricity demand, resistive heaters and micro-CHPs are now connected to the lower voltage levels. +* Gas distribution grid costs are included for gas boilers and micro-CHPs. +* Installable potentials for rooftop PV are included with an assumption of 1 kWp per person. +* Some intermediate files produced by scripts have been moved from the folder `data` to the folder `resources`. Now `data` only includes input data, while `resources` only includes intermediate files necessary for building the network models. Please note that the data bundle has also been updated. +* Biomass potentials for different years and scenarios from the JRC are generated in an intermediate file, so that a selection can be made more explicitly by specifying the biomass types from the `config.yaml`. + + +### PyPSA-Eur-Sec 0.2.0 (21st August 2020) + +This release introduces pathway optimization over many years (e.g. 2020, 2030, 2040, 2050) with myopic foresight, as well as outsourcing the technology assumptions to the [technology-data](https://github.com/PyPSA/technology-data) repository. + +It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69), PyPSA v0.17.1 and technology-data v0.1.0. + +New features: + +* Option for pathway optimization with myopic foresight, based on the paper [Early decarbonisation of the European Energy system pays off (2020)](https://arxiv.org/abs/2004.11009). Investments are optimized sequentially for multiple years (e.g. 2020, 2030, 2040, 2050) taking account of existing assets built in previous years and their lifetimes. The script uses data on the existing assets for electricity and building heating technologies, but there are no assumptions yet for existing transport and industry (if you include these, the model will greenfield them). There are also some [outstanding issues](https://github.com/PyPSA/pypsa-eur-sec/issues/19#issuecomment-678194802) on e.g. the distribution of existing wind, solar and heating technologies within each country. To use myopic foresight, set `foresight : 'myopic'` in the `config.yaml` instead of the default `foresight : 'overnight'`. An example configuration can be found in `config.myopic.yaml`. More details on the implementation can be found in [myopic](foresight.md). + +* Technology assumptions (costs, efficiencies, etc.) are no longer stored in the repository. Instead, you have to install the [technology-data](https://github.com/PyPSA/technology-data) database in a parallel directory. These assumptions are largely based on the [Danish Energy Agency Technology Data](https://ens.dk/en/our-services/projections-and-models/technology-data). More details on the installation can be found in [installation](installation.md). + +* Logs and benchmarks are now stored with the other model outputs in `results/run-name/`. + +* All buses now have a `location` attribute, e.g. bus `DE0 3 urban central heat` has a `location` of `DE0 3`. + +* All assets have a `lifetime` attribute (integer in years). For the myopic foresight, a `build_year` attribute is also stored. + +* Costs for solar and onshore and offshore wind are recalculated by PyPSA-Eur-Sec based on the investment year, including the AC or DC connection costs for offshore wind. + +Many thanks to Marta Victoria for implementing the myopic foresight, and Marta Victoria, Kun Zhu and Lisa Zeyen for developing the technology assumptions database. + + +### PyPSA-Eur-Sec 0.1.0 (8th July 2020) + +This is the first proper release of PyPSA-Eur-Sec, a model of the European energy system at the transmission network level that covers the full ENTSO-E area. + +It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69) and PyPSA v0.17.0. + +We are making this release since in version 0.2.0 we will introduce changes to allow myopic investment planning that will require minor changes for users of the overnight investment planning. + +PyPSA-Eur-Sec builds on the electricity generation and transmission +model [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) to add demand +and supply for the following sectors: transport, space and water +heating, biomass, industry and industrial feedstocks. This completes +the energy system and includes all greenhouse gas emitters except +waste management, agriculture, forestry and land use. + +PyPSA-Eur-Sec was initially based on the model PyPSA-Eur-Sec-30 (Version 0.0.1 below) described +in the paper [Synergies of sector coupling and transmission +reinforcement in a cost-optimised, highly renewable European energy +system](https://arxiv.org/abs/1801.05290) (2018) but it differs by +being based on the higher resolution electricity transmission model +[PyPSA-Eur](https://github.com/PyPSA/pypsa-eur) rather than a +one-node-per-country model, and by including biomass, industry, +industrial feedstocks, aviation, shipping, better carbon management, +carbon capture and usage/sequestration, and gas networks. + + +PyPSA-Eur-Sec includes PyPSA-Eur as a +[snakemake](https://snakemake.readthedocs.io/en/stable/index.html) +[subworkflow](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#snakefiles-sub-workflows). PyPSA-Eur-Sec +uses PyPSA-Eur to build the clustered transmission model along with +wind, solar PV and hydroelectricity potentials and time series. Then +PyPSA-Eur-Sec adds other conventional generators, storage units and +the additional sectors. + + + + +### PyPSA-Eur-Sec 0.0.2 (4th September 2020) + +This version, also called PyPSA-Eur-Sec-30-Path, built on +PyPSA-Eur-Sec 0.0.1 (also called PyPSA-Eur-Sec-30) to include myopic +pathway optimisation for the paper [Early decarbonisation of the +European energy system pays off](https://arxiv.org/abs/2004.11009) +(2020). The myopic pathway optimisation was then merged into the main +PyPSA-Eur-Sec codebase in Version 0.2.0 above. + +This model has [its own github repository](https://github.com/martavp/pypsa-eur-sec-30-path) and is [archived +on Zenodo](https://zenodo.org/records/4014807). + + + +### PyPSA-Eur-Sec 0.0.1 (12th January 2018) + +This is the first published version of PyPSA-Eur-Sec, also called +PyPSA-Eur-Sec-30. It was first used in the research paper [Synergies of +sector coupling and transmission reinforcement in a cost-optimised, +highly renewable European energy system](https://arxiv.org/abs/1801.05290) (2018). The model covers 30 +European countries with one node per country. It includes demand and +supply for electricity, space and water heating in buildings, and land +transport. + +It is [archived on Zenodo](https://zenodo.org/records/1146666). + + +## Release Process + +* Checkout a new release branch `git checkout -b release-v0.x.x`. + +* Finalise release notes at `doc/release_notes.rst`. + +* Update `envs/environment.fixed.yaml` via + `conda env export -n pypsa-eur -f envs/environment.fixed.yaml --no-builds` + from an up-to-date `pypsa-eur` environment. + +* Update version number in `doc/conf.py`, `CITATION.cff` and `*config.*.yaml`. + +* Make a `git commit`. + +* Open, review and merge pull request for branch `release-v0.x.x`. + Make sure to close issues and PRs or the release milestone with it (e.g. closes #X). + +* Tag a release on Github via `git tag v0.x.x`, `git push`, `git push --tags`. Include release notes in the tag message. + +* Make a [GitHub release](https://github.com/PyPSA/pypsa-eur-sec/releases), which automatically triggers archiving to the [zenodo code repository](https://doi.org/10.5281/zenodo.3520874) with [MIT license](https://opensource.org/licenses/MIT). + +* Send announcement on the [PyPSA mailing list](https://groups.google.com/forum/#!forum/pypsa). diff --git a/doc/release_notes.rst b/doc/release_notes.rst deleted file mode 100644 index 05c2ce4933..0000000000 --- a/doc/release_notes.rst +++ /dev/null @@ -1,4103 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. SPDX-FileCopyrightText: Open Energy Transition gGmbH -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Release Notes -########################################## - -Upcoming Open-TYNDP Release -================ - -**Features** - -* Add Snakemake rules to launch the ``PyPSA-Explorer`` with pre-solved SB networks from previous releases (https://github.com/open-energy-transition/open-tyndp/pull/724). - -**Changes** - -* Add ``Undefined for generation`` hydrogen demand to the Market Model data for the Hydrogen Supply benchmark (https://github.com/open-energy-transition/open-tyndp/pull/718). - -* Update CBA workflow to accept different pre-solved SB network versions as input (https://github.com/open-energy-transition/open-tyndp/pull/725). - -* Add pixi tasks for running CBA workflow up until checkpoint `clean_projects` (https://github.com/open-energy-transition/open-tyndp/pull/726). - -* Update pixi task names and definitions to align between SB and CBA workflows (https://github.com/open-energy-transition/open-tyndp/pull/735). - -* Use only electricity-sourced emissions for and and change signs of B2 and B4 indicators (https://github.com/open-energy-transition/open-tyndp/pull/709). - -* Pass through and validate default solving options for CBA solve (https://github.com/open-energy-transition/open-tyndp/pull/708): - - - Make breaking change by moving ``cba.solving.options.horizon`` and ``cba.solving.options.overlap`` to ``cba.solving.horizon`` and ``cba.solving.overlap``, respectively. - - Add ``include_objective_constant`` and ``assign_all_duals`` to solving config validator. - - Add ``gurobi-simplex`` as solver option. - -**Bugfixes and Compatibility** - -**Documentation** - -* Update benchmarking documentation tables and figures for v0.7.1 (https://github.com/open-energy-transition/open-tyndp/pull/711). - -**Developers Note** - -* Change GitHub issue templates to comply with ISO security checks (https://github.com/open-energy-transition/open-tyndp/pull/714, https://github.com/open-energy-transition/open-tyndp/pull/730). - - -Upcoming PyPSA-Eur Release -================ - -* Add configuration schema updater that allows changes to be made in soft-forks without touching base PyPSA-Eur files (#2014). - -* Adjust ``powerplants_filter`` to include power plants operational in 2025. - -* Rewrite mapping of power plant sites to model regions / buses. Previously, power plants were mapped to the nearest bus in the same country. - Now, power plants are mapped using a spatial join to the onshore and offshore regions. - This change is necessary as the administrative clustering does not conform to the previous nearest-bus mapping. - -* Removed some outdated hotfixes in `build_powerplants.py`. - -* Estimate renewable capacities using plant-level data from Powerplantmatching, instead of only Global Energy Monitor (GEM) data. The setting ``from_gem`` is renamed to ``from_powerplantmatching``. - -* New setting ``from_irenastat`` to use IRENASTAT data to supplement potential plant-level data from Powerplantmatching for renewable capacity estimation. This step can now be skipped if sufficient plant-level data is available from Powerplantmatching. - -* Update default year for renewable capacity estimation to 2024 (latest available). - -* Include waste-to-energy plants in electricity-only networks. - -* Add 2030 to power plant grouping years by default. - -* Do not apply ``powerplantmatching`` phase-out heuristic in :mod:`build_powerplants`. - -* Bugfix: Ensure renewable carriers are not added as conventional power plants (if included in ``powerplants.csv``) - -* Bugfix: Improved handling of grouping years in :mod:`add_existing_baseyear`. - -* Added ``solving.options.store_model`` config option to store the linopy model as NetCDF file after solving. Not supported with rolling horizon. Configuration setting can not be set per scenario, only globally. -* Update Swiss energy balances from the Swiss Federal Office of Energy (SFOE) to the latest version (October 2025). - The data is no longer stored in the repository, but directly retrieved from the SFOE website and processed in the ``build_swiss_energy_balances`` rule. - -* Added prebuilt OSM network v0.7 (https://zenodo.org/records/18619025) using updated workflow. - -* Fix unit commitment compatibility with PyPSA ≥ 1.0 component API to allow usage of unit commitment (https://github.com/PyPSA/pypsa-eur/pull/2049). - -* Update energy balances from JRC-IDEES-2021 to `JRC-IDEES-2023 - `__. The - default reference year was changed from 2019 to 2023. -* Removed config options `sector:MWh_MeOH_per_tCO2`, `MWh_MeOH_per_MWh_H2`, and `MWh_MeOH_per_MWh_elec` in favour of corresponding data points from technology-data. -* Download and process Eurostat energy balances from API. This replaces the discontinued ZIP bulk download. - -* The function `rescale_idees_from_eurostat` was removed. - -* New rule `build_eurostat_balances` to build energy balances from Eurostat data. Outsourced from `build_energy_totals` -* Updated CO2 emission allowance prices data source to Instrat API for real-time pricing data. -* Improved OSM network building process (https://github.com/PyPSA/pypsa-eur/pull/2030): Introducing support for temporal attributes (start_date, construction tags) and pure DC buses (switching stations). The interactive network map has been completely rebuilt using PyDeck/deck.gl with GPU acceleration and includes custom JS controls, offering fuzzy search, clickable OSM references, URL-based view sharing (#theme/zoom/lat/lon), and substantially improved performance. Additionally, a generalised plot from https://www.nature.com/articles/s41597-025-04550-7 enables systematic comparison of network topology changes over time. Cleaned naming scheme (https://github.com/PyPSA/pypsa-eur/pull/2052). - -* Add powerplantmatching v0.8.0 to data versions. - -* Add script path getter helper method to allow for rule inheritance in nested snakefiles. - -* Include new storage technologies such as li-ion, vanadium, lfp, lair, pair and iron-air. These technologies can now be configured as either store-link combinations or standalone storage units. - Implemented in both `add_electricity.py` and `prepare_sector_network.py` (https://github.com/PyPSA/pypsa-eur/pull/1961). - -* Updated data sources for country-level electricity demand time series. In addition to the OPSD data (``retrieve_electricity_demand_opsd``, demand time series - are now downloaded via the ENTSO-E Transparency Platform API (``retrieve_electricity_demand_entsoe`` environment variable ``ENTSOE_API_KEY`` required) - and from the NESO data portal for Great Britain and Northern Ireland (``retrieve_electricity_demand_neso``). - Manual corrections and gap filling methods have been applied and checked for data until the end of 2025. - (https://github.com/PyPSA/pypsa-eur/pull/1828). - -* Applied scaling of kW and GW to MW for custom_costs as well (https://github.com/PyPSA/pypsa-eur/pull/2023). - -* Fix wildcards error in `clean_osm_data` rule message introduced in github.com/PyPSA/pypsa-eur/pull/1846 by replacing `wildcards.country` with expanded `config["countries"]` list (https://github.com/PyPSA/pypsa-eur/pull/2022). - -* Fix `None` default config parameter from creating zero availability for offshore wind (#2019). - -* Remove snakemake's slurm plugin from windows installations (https://github.com/PyPSA/pypsa-eur/pull/2009). - -* Added Xpress solver configuration options (``xpress-default`` and ``xpress-gpu``) with barrier method settings optimized for large-scale linear programming problems. - -* Added missing bidding zone data sources to data layer (https://github.com/PyPSA/pypsa-eur/pull/1991). - -* Fix virtual bus naming when building the transmission network from raw OSM data to use persistent names (https://github.com/PyPSA/pypsa-eur/pull/1956). - -* Fix column selection when preparing OSM pre-built releases (https://github.com/PyPSA/pypsa-eur/pull/1956). - -* Fix: capital-cost of solar-hsat did not get adjusted to current planning_horizon in myopic optimization - -* Removed the ``secrets`` configuration section and disallow setting Gurobi license credentials (WLSACCESSID, WLSSECRET, LICENSEID) in config files to prevent accidental exposure of sensitive credentials. Use environment variables or license files instead (https://github.com/PyPSA/pypsa-eur/pull/1989). - -* Fix ConsistencyError for Links without buses when `gas_network: true`, but no `conventional_generation` (https://github.com/PyPSA/pypsa-eur/pull/1971) - -* Fix ConsistencyError for Links without buses when `industry: true`, but no `conventional_generation` or `biomass` (https://github.com/PyPSA/pypsa-eur/pull/1971) - -* Fix `mock_snakemake` due to breaking `snakemake` upstream API changes, i.e., requiring passing a `LoggerManager` instance (https://github.com/PyPSA/pypsa-eur/pull/1984). - -* Added technology-data v0.13.4 (https://github.com/PyPSA/technology-data/releases/tag/v0.13.4) to data versions (https://github.com/PyPSA/pypsa-eur/pull/1985). - -* Important: PyPSA-Eur now uses a validation schema for configuration files. The schema - also contains the default values for all known configuration options, which means - `config/config.default.yaml` still exists and can be used, but will be automatically - exported from the schema. Changes to the default config, therefore now require the - schema to be updated. Find a detailed explanation in the contributors documentation - (https://github.com/PyPSA/pypsa-eur/pull/1912). - -* Fix bugs when using PyPSA-Eur as a Snakemake module by making sure that all file paths are defined relative to a rule's input or an output (https://github.com/PyPSA/pypsa-eur/pull/1967). - -* Fix compatibility of rules `build_gas_input_locations` and `build_gas_network` with pyogrio >=0.12.0 (https://github.com/PyPSA/pypsa-eur/pull/1955). - -* Added interactive (html) balance maps `results/maps/interactive/` (https://github.com/PyPSA/pypsa-eur/pull/1935) based on https://docs.pypsa.org/latest/user-guide/plotting/explore/. Settings for interactive maps can be found in `plotting.default.yaml` under `plotting["balance_map_interactive"]`. - -* Relocated and modified static (pdf) balance maps to `results/maps/static/` (https://github.com/PyPSA/pypsa-eur/pull/1935) for better organization. - -* With https://github.com/PyPSA/pypsa-eur/pull/1935, note that bus carriers for balance maps containing spaces need to be specified with underscores `_` in the configuration file, e.g., `co2_stored` instead of `co2 stored`. This is to ensure compatibility with queue managers like slurm. - -* Fix building osm network using overpass API (https://github.com/PyPSA/pypsa-eur/pull/1940). - -* Added configuration option to set overpass API URL, maximum retries, timeout and user agent information (https://github.com/PyPSA/pypsa-eur/pull/1940 and https://pypsa-eur.readthedocs.io/en/latest/configuration.html#overpass_api). For a list of public overpass APIs see `here `_. - -* Refactored `solve_network.py` and `solve_operations_network.py` to separate optimization problem preparation from solving, enabling inspection of optimization problems before solve execution. - -* Added example configurations for rolling horizon and iterative optimization modes in `config/examples/`. - -* Added existing biomass decentral/rural residential and services heating capacity. - -* Fix parsing in Swiss passenger cars data (https://github.com/PyPSA/pypsa-eur/pull/1934 and https://github.com/PyPSA/pypsa-eur/pull/1936). - -* Fix: ValueError with `cop_heat_pump` in `prepare_sector_network.py` if `tim_dep_hp_cop` is `false`. - -* Fixed OSM raw data cleaning to include `section` line relation role. - -* Fixed missing raw OSM HVDC links defined using the ``power=circuit`` tag (NOTE: ``type=route``+``route=power`` is `deprecated `_). - -* Fixed bugs with load shedding due to incorrect use of `sign` argument in `n.add` and `np.isscalar` (https://github.com/PyPSA/pypsa-eur/pull/1908). - -* chore: disable PTES dynamic capacity by default - -* Add CO2 emission prices configurable per planning horizon for sector-coupled models. - The CO2 price is added as a marginal cost on the `co2 atmosphere` Store. - -* Add `custom storage plugin `_ to handle retrievals from zenodo to address recurring failures. - -* Move to [pixi](https://pixi.sh/latest/) for robust cross-platform dependency management. - -* Fix: Allocate heat pump CAPEX on heat instead of electricity bus instead and remove nominal efficiency from CAPEX calculation - -* Fix: Configsettings for `heat_pump_cop_approximation` are now correctly passed to `CentralHeatingCopApproximator.py` - -* Fix: Allocate heat pump CAPEX on heat instead of electricity bus instead and remove nominal efficiency from CAPEX calculation - -* Fix: Configsettings for `heat_pump_cop_approximation` are now correctly passed to `CentralHeatingCopApproximator.py` - -* Fix: Deprecation warnings from `pandas>=2.3.0` (https://github.com/PyPSA/pypsa-eur/pull/1898) - -* Feature: Introduce a new method to overwrite costs (https://github.com/PyPSA/pypsa-eur/pull/1752, https://github.com/PyPSA/pypsa-eur/pull/1879). Modifications to the default techno-economic assumptions can now be configured via `costs:custom_cost_fn`, which applies changes to the `resources/costs_{planning_horizons}.csv` files. The default configuration includes minor adjustments to stabilize optimization results. The existing implementation via `costs:overwrites` and `costs:capital_cost`/`costs:marginal_cost` parameters remains available but will be deprecated in a future release. - -* Fixed `AttributeError` in `prepare_sector_network.py` when running sector-coupled - PyPSA-Eur with only one country and cluster. - (https://github.com/PyPSA/pypsa-eur/pull/1835) - -* Added river-water and sea-water sourced heat pumps as well as interactive bus-balance plots and heat-source maps. Also introduced district heating areas in which heat sources must be located. - -* Added automatic retry for some (Zenodo) HTTP requests to handle transient errors - like rate limiting and server errors. - -* Fixed `ValueError` in `prepare_sector_network.py` in function `add_storage_and_grids` - when running with few nodes such that they are all already connected by existing gas - lines. (https://github.com/PyPSA/pypsa-eur/pull/1780) - -* Fixed `AttributeError` in `prepare_sector_network.py` when running sector-coupled - PyPSA-Eur with only one country. (https://github.com/PyPSA/pypsa-eur/pull/1778) - -* Fixed `FileNotFoundError` bugs preventing pypsa from being run as a Snakemake - module. The cause of this bug was that intermediate zip files in rules were being - saved in directories that didn't exist yet (without creating the parent directories). - This didn't fail when using PyPSA-Eur as a standalone module, because the directory - was the same as the rule's output file. However, when using PyPSA-Eur as a Snakemake - module, this was not the case as Snakemake prepends a prefix to all the input and - output files, but not to any file locations listed as parameters. The fix was to save - intermediate zip files at the top directory level. This was fixed for many rules in - `retrieve.smk`, i.e., `retrieve_eez`, `retrieve_nuts_2021_shapes`, - `retrieve_nuts_2013_shapes`, `retrieve_worldbank_urban_population`, - `retrieve_co2stop`, `download_wdpa`, `download_wdpa_marine`, `retrieve_eurostat_data`. - (https://github.com/PyPSA/pypsa-eur/pull/1768) - -* Updated standing losses for PTES, central TTES, and decentral TTES, previously calculated using the ``tes_tau`` parameter, to the latest DEA technology data, and updated costs version to v0.13.3. - -* Introduce a new base network using TYNDP 2024 data (https://github.com/PyPSA/pypsa-eur/pull/1646). This base network can be used with `tyndp` as `base_network`. It models NTC transmission capacities between TYNDP bidding zones using unidirectional `links`. This implementation neglects KVL and is referred to as a transport model. This is consistent with the TYNDP 2024 methodology. - -* Fixed missing costs name for geothermal-sourced heat pump and allowed geothermal heat pumps in test configs. - -* Changed error handling for non-extendable heat storage in energy-to-power ratio constraints to warning. - -* Allow expandable CCGTs by default - -* Updated `build_osm_network` and `clean_osm_data` to handle voltage levels below 220 kV (down to 63 kV). When `base_network` is set to `osm_raw`, an electricity grid from voltage levels AC 63 kV to 750 kV can be created (experimental feature). For an example, see the example configuration in `config/examples/config-distribution-grid-experimental.yaml`. - -* Added integration with the OETC platform - -* Fix `retrieve_eurostat_data` and `retrieve_eurostat_household_data` on Windows by avoiding a double access to a temporary file. - (https://github.com/PyPSA/pypsa-eur/pull/1825) - -* Update GEM steel plant tracker and use initial release of GEM cement plant tracker. - -* Added integration with the OETC platform - -* Remove pinned environment files mention in the pre-commit-config-yaml (https://github.com/PyPSA/pypsa-eur/pull/1837) - -* Add user-readable messages to each rule (https://github.com/PyPSA/pypsa-eur/pull/1846) - -* Increase minimum required `pypsa` version to 0.33.2 (https://github.com/PyPSA/pypsa-eur/pull/1849) - -* Running perfect foresight is now marked as unstable and may not work as expected. - -* Add residential heat demand-side management (DSM) based on `smartEn study `_ methodology. See new settings under `sector: residential_heat`. - -* Remove the hotfix in `progress_retrieve` and check that the directory exists (https://github.com/PyPSA/pypsa-eur/pull/1840). - -* Added minimum unit dispatch setting option for electrolysis - -* Feature: All input data to the model is now version controlled. The data versions are listed in `data/versions.csv` and can be configured in the configfile. (https://github.com/PyPSA/pypsa-eur/pull/1675) - -* Deprecate `shared_cutouts`: This configuration entry is no longer supported. Cutouts are always shared. - To use scenario specific cutouts with different time or spatial resolution, make sure to name those cutouts differently in the `atlite:` configuration entry. - -* Move cutouts into `data/cutouts/` directory for consistency. Note: This will trigger all cutouts to be re-downloaded or rebuild. If you need to retain downloaded cutouts, move them manually into `data/cutouts/`. - -* Deprecate the ability to determine ``cutout`` bounds based on ``regions_onshore`` and ``regions_offshore``. - Instead ``cutouts`` need to have their bounds explicitly defined in the configuration file. - -* Moved configuration for ``cutout`` preparation into a nested dictionary ``prepare_kwargs``. - This allows to pass any keyword argument supported by ``atlite.Cutout.prepare()`` like ``tmpdir``. - -* Deprecate the configuration options ``enable: retrieve``, ``enable: retrieve_databundle``, and ``enable: retrieve_cost_data``. - Instead, the rules are always included in the workflow. If no internet connection is available, the rules will fail. - -* Misc: Empty folders that are automatically generated by ``snakemake`` have been added to the repository, e.g. ``resources/`` and ``results/``. - The ``purge`` rule now removes their contents but keeps the folders (https://github.com/PyPSA/pypsa-eur/pull/1764). - -* Misc: Automatically update the DAGs shown in the documentation (https://github.com/PyPSA/pypsa-eur/pull/1880). - -* Fix the WDPA links to function on Windows (https://github.com/PyPSA/pypsa-eur/pull/2008). - -* Fix: An issue with the download and extraction of WDPA and WDPA Marine data (https://github.com/PyPSA/pypsa-eur/issues/2005). - -* The lockfile update workflow now excludes packages published within the last 7 days to reduce the risk of pulling in broken or yanked releases (https://github.com/PyPSA/pypsa-eur/pull/2130). - - -Open-TYNDP v0.7.1 (19th May 2026) -======================================== - -**Bugfixes and Compatibility** - -* Restrict linopy to <0.7.0 to work around a bug in linopy v0.7.0 where generator constraints are violated, resulting in a negative objective function value. This is a temporary pin until the issue is resolved upstream (https://github.com/open-energy-transition/open-tyndp/pull/705). - - -Open-TYNDP v0.7 (19th May 2026) -======================================== - -**Features** - -* Implement demand side response (DSR) components and price bands (https://github.com/open-energy-transition/open-tyndp/pull/598). This is configurable via ``electricity.constrain_dsr`` and ``cba.constrain_dsr`` in the configuration file. - -* Add functionality to use different sources (ENTSO-E and ENTSOs) of H2 reference grid data via ``sector.h2_reference_grid_source`` (https://github.com/open-energy-transition/open-tyndp/pull/611). - -* Add configuration switch to patch faulty electricity demand profiles with Market Model output data (https://github.com/open-energy-transition/open-tyndp/pull/647). - -* Refactor the TYNDP carrier mappings into a central CSV file, adding consistent nice names to all carriers (https://github.com/open-energy-transition/open-tyndp/pull/658). - -* Add ``tyndp-archive`` as a new data source backed by an Open-TYNDP Google Cloud Storage bucket (``open-tyndp-data-store``) where archived datasets are mirrored. This enables fully reproducible runs without depending on third-party data providers (https://github.com/open-energy-transition/open-tyndp/pull/682). Six datasets currently remain to be retrieved from primary sources due to licensing constraints. - -**Changes** - -* Modify B1 indicator calculation to only use OPEX and not total system cost (OPEX + CAPEX) (https://github.com/open-energy-transition/open-tyndp/pull/668). - -* Add dumped energy to power generation benchmarking (https://github.com/open-energy-transition/open-tyndp/pull/615). - -* Add numbers of hours of demand shedding to benchmarking (https://github.com/open-energy-transition/open-tyndp/pull/657). - -* Disable OCGT as an extendable carrier and add load shedding for H2 and AC (https://github.com/open-energy-transition/open-tyndp/pull/547). - -* Add imports to H2 Market Model (MM) supply benchmark (https://github.com/open-energy-transition/open-tyndp/pull/604). - -* Add cross-border flows to the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/609). - -* Improve price benchmarking excluding load-shedding to account for sector-coupling effects by lowering the carrier-specific threshold used to filter marginal prices (https://github.com/open-energy-transition/open-tyndp/pull/701). - -* Add option to patch offshore hubs interconnectors with Market Model data (https://github.com/open-energy-transition/open-tyndp/pull/654). The patch is optionally applied and is enabled with ``sector:offshore_hubs_tyndp:patch_crossborder_with_mm``. - -* Apply derived bus name mappings when computing offshore hubs interconnector benchmarks (https://github.com/open-energy-transition/open-tyndp/pull/656). - -* Add separate solver option for CBA MSV extraction (``cba.msv_extraction.solving``) and move CBA solve logs to ``results/cba/logs/`` (https://github.com/open-energy-transition/open-tyndp/pull/627). - -* Change the number of threads used for CBA MSV extraction (``solve_cba_msv_extraction``) to ``solver_threads`` to speed up high-resolution runs when using commercial solvers (https://github.com/open-energy-transition/open-tyndp/pull/649). - -* Refactor CBA workflow to only temporarily save CBA project networks in ``resources/`` (https://github.com/open-energy-transition/open-tyndp/pull/652). - -* Disable noise added to costs in CBA solves, via ``cba.msv_extraction.solving.options.noisy_costs`` and ``cba.solving.options.noisy_costs`` (https://github.com/open-energy-transition/open-tyndp/pull/687). - -**Bugfixes and Compatibility** - -* Fix flows in balance maps (https://github.com/open-energy-transition/open-tyndp/pull/608). - -* Improve EU-wide prices with Pan-European values (https://github.com/open-energy-transition/open-tyndp/pull/607). - -* Adjust ``build_statistics`` to be compatible with not modelling the electricity distribution grid with low voltage buses (https://github.com/open-energy-transition/open-tyndp/pull/634). - -* Fix NaN values of ``marginal_cost_original`` in solved networks (https://github.com/open-energy-transition/open-tyndp/pull/613). - -* Fix labeling of climate years in CBA indicators output CSVs (https://github.com/open-energy-transition/open-tyndp/pull/620). - -* Fix CBA workflow to correctly handle simple runs and collection (multi-climate year) runs (https://github.com/open-energy-transition/open-tyndp/pull/625). - -* Adjust DSR and demand shedding mapping across data sources to benchmark them accurately (https://github.com/open-energy-transition/open-tyndp/pull/645). - -* Fix mapping of biofuels in the Final Energy Demand table of the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/667). - -* Fix DSR benchmarking of installed capacities and add notes to plots (https://github.com/open-energy-transition/open-tyndp/pull/663). - -* Fix CRS compatibility between ``entsoepy`` and ``electricitymaps`` bidding zone shapes (https://github.com/open-energy-transition/open-tyndp/pull/672). - -* Refactor the extraction of cross-border flows used by the benchmarking framework to use ``n.statistics`` (https://github.com/open-energy-transition/open-tyndp/pull/680). - -* Update PEMMDB version reference to correct version v2.5 in the documentation (https://github.com/open-energy-transition/open-tyndp/pull/681). - -* Fix units in B4 indicator calculation (https://github.com/open-energy-transition/open-tyndp/pull/693). - -* Fix missing native electricity demand mapping for the Market Model in the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/692). This enables the load-weighted average Pan-EU Market Model price calculation and per-node electricity demand validation. - -* Refactor the ``plot_benchmarks`` script in order to reduce memory requirements and accelerate processing (https://github.com/open-energy-transition/open-tyndp/pull/696). - -* Improve performance of ``build_statistics`` by adjusting snapshot weightings within networks to be applied automatically within ``n.statistics`` instead of manually in ``build_statistics`` (https://github.com/open-energy-transition/open-tyndp/pull/674). - -* Fix prices on interactive maps to exclude load shedding (https://github.com/open-energy-transition/open-tyndp/pull/689). - -* Fix the interconnector normalisation by mapping the bus names prior to their normalisation for all the cross-border benchmarks (https://github.com/open-energy-transition/open-tyndp/pull/703). - -**Documentation** - -* Restructure documentation: split benchmarking into SB and CBA sections, add PyPSA-Eur pages (https://github.com/open-energy-transition/open-tyndp/pull/676). - -* Add hint on specifying physical RAM limit for Snakemake to use when scheduling jobs (https://github.com/open-energy-transition/open-tyndp/pull/699). - -**Developers Note** - -* Upload Windows installer as unzipped artifact (https://github.com/open-energy-transition/open-tyndp/pull/621). - -* Improve robustness of ``retrieve_bidding_zones_entsoepy`` by using ``requests`` instead of ``geopandas`` to retrieve data (https://github.com/open-energy-transition/open-tyndp/pull/644). - -* Save current git version label and commit in network metadata for improved versioning of runs (https://github.com/open-energy-transition/open-tyndp/pull/675). - -* Add buttons to the interactive balance maps and decrease file size (https://github.com/open-energy-transition/open-tyndp/pull/669). - - -Open-TYNDP v0.6.1 (2nd April 2026) -======================================== - -**Bugfixes and Compatibility** - -* Fix EU27 benchmark aggregation for non-price tables (https://github.com/open-energy-transition/open-tyndp/pull/600). - -**Documentation** - -* Update citations to version-agnostic DOIs (https://github.com/open-energy-transition/open-tyndp/pull/602). - - -Open-TYNDP v0.6 (1st April 2026) -======================================== - -**Features** - -* Implement rolling horizon optimisation with marginal storage values (water values) for seasonal storage components, maintaining operation of long-term stores close to perfect foresight optimization (https://github.com/open-energy-transition/open-tyndp/pull/441). - -* Add SMR (grey hydrogen) and SMR + Carbon Capture (blue hydrogen) capacities and assumptions from TYNDP 2024 hydrogen data and enable H2 load shedding with cost of 3000 EUR/MWh_H2 (https://github.com/open-energy-transition/open-tyndp/pull/490). - -* Add Other RES capacities and generation profiles from PEMMDB (https://github.com/open-energy-transition/open-tyndp/pull/521). - -* Add Other Non-RES capacities and price bands from PEMMDB (https://github.com/open-energy-transition/open-tyndp/pull/535). - -* Add H2 cavern and tank storages with existing energy and charge/discharge capacities (https://github.com/open-energy-transition/open-tyndp/pull/552). Optionally, for the DE/GA scenarios, expansion limits are added for these capacities for the expendable cavern storages. - -* Add PEMMDB common data assumptions from ERAA 2025 for power plant type specific efficiencies and VOM (https://github.com/open-energy-transition/open-tyndp/pull/541). - -* Add Battery Store capacities from PEMMDB (https://github.com/open-energy-transition/open-tyndp/pull/253/). - -* Add the 2035 hydrogen reference grid for NT 2040 using the Grid Investment Dataset (https://github.com/open-energy-transition/open-tyndp/pull/537). - -* Collect results of multi weather year CBAs and calculate weighted average KPIs and plot them (https://github.com/open-energy-transition/open-tyndp/pull/529). - -* Add an option to use the H2 demand from the Market Model Outputs (``sector:h2_demand_patch_with_mm``, enabled by default) (https://github.com/open-energy-transition/open-tyndp/pull/531). This option overwrites the default H2 demand from the Demand Profiles of the TYNDP 2024 Scenarios. It is now also possible to compare against Market Model Outputs in the benchmarking framework. - -* Improve hydro modelling assumptions used for Run-of-River (ROR), pondage and reservoir (https://github.com/open-energy-transition/open-tyndp/pull/567). - -* Improve biomass and biogas assumptions: subtract Other-RES biomass demand from solid biomass FED, update biomass-to-liquid efficiencies with the Supply Tool values, and align Other-RES and non-upgraded biogas with FED benchmarks (https://github.com/open-energy-transition/open-tyndp/pull/570). - -* Add option to model carrier-specific load shedding with associated shedding costs (https://github.com/open-energy-transition/open-tyndp/pull/494). - -* Add option to model carrier-specific load sinks with associated costs (https://github.com/open-energy-transition/open-tyndp/pull/505). - -* Add preprocessing of Market Model benchmark data (prices, crossborder flows, supply, capacity) on country level (https://github.com/open-energy-transition/open-tyndp/pull/467). - -* Extend benchmarking to support spatial resolution at bus and country level (https://github.com/open-energy-transition/open-tyndp/pull/543), configured via ``benchmarking.spatial.by_bus`` and ``benchmarking.spatial.by_country``. - -* Add electricity and hydrogen price benchmarking tables to the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/574). - -**Changes** - -* Add option to run CBA using pre-solved SB networks from Zenodo, bypassing the SB workflow which speeds up execution (https://github.com/open-energy-transition/open-tyndp/pull/478). This can be enabled by setting `cba:cba_scenario_input:use_presolved` to `true` in the configuration file. **Note:** Pre-solved networks use default open-tyndp settings. If your config differs from defaults, SB and CBA assumptions may not align. - -* Populate link attributes for new links in CBA (https://github.com/open-energy-transition/open-tyndp/pull/522). - -* Implement option to remove noisy costs from CBA indicators calculations (https://github.com/open-energy-transition/open-tyndp/pull/523). - -* Add an option to apply the CBA fixes of the electrical reference network to the SB network as well (enabled by default) (https://github.com/open-energy-transition/open-tyndp/pull/527). - -* Add an option to set negative capacities of links from TOOT removal to zero instead of removing them (https://github.com/open-energy-transition/open-tyndp/pull/542). - -* Rename OCGT as slack generator for benchmarking (https://github.com/open-energy-transition/open-tyndp/pull/573). - -* Connect isolated offshore wind farms to the grid using a copperplate assumption for NT scenario (https://github.com/open-energy-transition/open-tyndp/pull/568). - -* Remove non-extendable TYNDP assets with zero capacity from network to reduce network size (https://github.com/open-energy-transition/open-tyndp/pull/583). - -**Bugfixes and Compatibility** - -* Add fallback to use 2040 networks/data when planning horizon selected in CBA is not 2030 or 2040 (https://github.com/open-energy-transition/open-tyndp/pull/520). - -* Fix GH workflow to attach windows installer to release (https://github.com/open-energy-transition/open-tyndp/pull/501). - -* Fix inconsistency in the naming of CBA indicators benchmark plots (https://github.com/open-energy-transition/open-tyndp/pull/509). - -* Fix topology issue affecting the hydrogen interactive maps (https://github.com/open-energy-transition/open-tyndp/pull/533). - -* Fix for myopic handling of cumulative capacities of renewable assets (https://github.com/open-energy-transition/open-tyndp/pull/564). - -* Fix NaNs that are introduced in B1 indicator calculation when using `cba.remove_noisy_costs` (https://github.com/open-energy-transition/open-tyndp/pull/578). - -* Remove outdated config overwrites for electrolysis efficiency to use planning year dependent ``custom_cost.csv`` values (https://github.com/open-energy-transition/open-tyndp/pull/582). - -* Fix incorrect country assignment for the ``BEIOH01`` offshore hub and add an explicit country mapping (https://github.com/open-energy-transition/open-tyndp/pull/591). - -**Documentation** - -* Add dedicated documentation page for the CBA rolling horizon dispatch pipeline, covering all preparation stages (network simplification, reference network, MSV extraction, rolling horizon preparation, project preparation, solve, indicators), configuration reference, and key design assumptions (https://github.com/open-energy-transition/open-tyndp/pull/572). - -* Add description of CBA config settings and how to run single vs collection (climate years) scenarios (https://github.com/open-energy-transition/open-tyndp/pull/584). - -* Add FAQ for Windows usage and corrupt environments (https://github.com/open-energy-transition/open-tyndp/pull/549). - -**Developers Note** - -* Refactor the ``validation`` folder within ``benchmarks/tyndp-2024`` to ensure consistency in naming conventions (https://github.com/open-energy-transition/open-tyndp/pull/550). - -Open-TYNDP v0.5.1 (18th February 2026) -======================================== - -**Features** - -* Sign Windows installers using Azure Artifact Signing (https://github.com/open-energy-transition/open-tyndp/pull/471). - -**Changes** - -* Refactor the temporal aggregation of a sector-coupled model as a separate rule (https://github.com/open-energy-transition/open-tyndp/pull/469). It renames previous `temporal_aggregation` as `build_snapshot_weightings` and introduces a new rule `temporal_aggregation` after `prepare_sector_network` that effectively applies the aggregation. - -* Harmonize renewable profiles across all assets regardless of build year (https://github.com/open-energy-transition/open-tyndp/pull/473). When `existing_capacities:uniform_renewable_profiles` is enabled, brownfield generators receive the current planning horizon's profiles instead of their vintage profiles. - -**Bugfixes and Compatibility** - -* Fix Windows uninstaller launched from installer to report failure on success (https://github.com/open-energy-transition/open-tyndp/pull/472). - -* Fix for myopic pathway optimization using the TYNDP H2 reference grid to account for cumulative capacities between planning horizons and add back CH-IT H2 pipeline connections (https://github.com/open-energy-transition/open-tyndp/pull/475). - -* Fix for GB connections in 2035 reference grid based on the Grid Investment Dataset (https://github.com/open-energy-transition/open-tyndp/pull/489). - -* Allow specifying the build_year of investment candidates to be added as new links to the 2040 reference grid via the config file and add both 2030 and 2035 projects to 2040 reference grid (https://github.com/open-energy-transition/open-tyndp/pull/496). - -* Use conda-forge dependency for PyPSA-Explorer package instead of pypi (https://github.com/open-energy-transition/open-tyndp/pull/491). - -**Documentation** - -* Update benchmarking indicators and figures to v0.5 (https://github.com/open-energy-transition/open-tyndp/pull/465). - -* Update the Citation for improved reference of original work and add Zenodo archive (https://github.com/open-energy-transition/open-tyndp/pull/459). - -**Developers Note** - -* Verify checksums of data packages downloaded through GCP (https://github.com/open-energy-transition/open-tyndp/pull/486). - -* Pin grpcio<1.78 to silence warnings that are cluttering the log (https://github.com/open-energy-transition/open-tyndp/pull/498). - - -Open-TYNDP v0.5 (10th February 2026) -======================================== - -**Features** - -* Add the PINT project network preparation for Cost-Benefit Analysis (CBA) and adjust workflow to single reference grid (https://github.com/open-energy-transition/open-tyndp/pull/353). - -* Add TYNDP hydro technologies and associated PEMMDB capacities and inflows (https://github.com/open-energy-transition/open-tyndp/pull/338). The following technologies are introduced: `hydro-ror`, `hydro-reservoir`, `hydro-pondage`, `hydro-phs` and `hydro-phs-pure`. - -* Scaled EV electricity demand and adjusted EV parameters to match TYNDP 2024 assumptions (EV charging efficiency, EV charging rate, capacity available for DSM, car efficiency) (https://github.com/open-energy-transition/open-tyndp/pull/409). - -* Add the 2035 reference grid for NT 2040 using the Grid Investment Dataset (https://github.com/open-energy-transition/open-tyndp/pull/340). - -* Introduce calculation of B2 indicator in the Cost-Benefit Analysis (CBA) based on changes in total system CO2 emissions (https://github.com/open-energy-transition/open-tyndp/pull/348). - -* Introduce calculation of B3 indicators in the Cost-Benefit Analysis (CBA) based on renewable energy integration (https://github.com/open-energy-transition/open-tyndp/pull/350). - -* Introduce calculation of B4 indicator in the Cost-Benefit Analysis (CBA) based on changes in non-CO2 emissions (https://github.com/open-energy-transition/open-tyndp/pull/398). - -* Set short-term storage to cyclic in CBA dispatch (https://github.com/open-energy-transition/open-tyndp/pull/385). - -* Add availability profiles for nuclear power plants (https://github.com/open-energy-transition/open-tyndp/pull/447). The profiles are derived from the Market Outputs files for the NT scenario. Generation time series are normalized to per-unit values and resampled weekly, retaining the maximum availability factor per week to account for maintenance schedules and forced outages. - -* Add PyPSA-Explorer to workflow (https://github.com/open-energy-transition/open-tyndp/pull/443). The explorer will launch automatically in a new browser tab. - -* Add automated plotting for CBA indicators (https://github.com/open-energy-transition/open-tyndp/pull/352). - -* Add benchmarking of CBA indicators against TYNDP 2024 reported values (https://github.com/open-energy-transition/open-tyndp/pull/405). - -* Add Market Model outputs to the benchmarking framework (https://github.com/open-energy-transition/open-tyndp/pull/458). Additional minor fixes: SMR and SMR with CCS are now reported as a single group, and e-fuels are excluded from hydrogen demand since they are already accounted for in the exogenous demand. - -**Changes** - -* Improve general assumptions for NT scenario (https://github.com/open-energy-transition/open-tyndp/pull/430). This includes refining assumptions relating to efficiencies, fuel costs and extendable technologies. - -* Extend PyPSA-Eur validation schema for configuration files to Open-TYNDP specific configurations (see https://github.com/PyPSA/pypsa-eur/pull/1912) (https://github.com/open-energy-transition/open-tyndp/pull/419). Find a detailed explanation in the contributors documentation. - -* Assign CBA method assignment of projects before creation of project network, using data from CBA Implementation Guide (https://github.com/open-energy-transition/open-tyndp/pull/426). - -* Fix project capacities in CBA reference network (https://github.com/open-energy-transition/open-tyndp/pull/450). - -* Add preprocessing of Market Model benchmark data (https://github.com/open-energy-transition/open-tyndp/pull/372). All relevant Market Model output data is mapped to the naming convention used in the benchmarking plots. - -* Enable ``io_api`` direct mode for CBA rolling horizon to improve performance (https://github.com/open-energy-transition/open-tyndp/pull/402). - -**Bugfixes and Compatibility** - -* Add virtual TYNDP nodes for IT and LU to `clusted_pop_layout` to enable consistent use of its index when selecting modelled electricity nodes (https://github.com/open-energy-transition/open-tyndp/pull/360). - -* Enable unlimited capacity for primary fuel generators in CBA rolling horizon (https://github.com/open-energy-transition/open-tyndp/pull/408). - -* Fix processing of H2 demand profiles and PEMMDB profiles for compatibility with the climate year being a leap year like 2008 (https://github.com/open-energy-transition/open-tyndp/pull/414). - -* Fix to allow for bidirectional electricity and hydrogen interconnections between offshore hubs (https://github.com/open-energy-transition/open-tyndp/pull/445). To shore connections remain unidirectional as defined in the inputs. - -* Improve power generation benchmarking for renewables (https://github.com/open-energy-transition/open-tyndp/pull/457). Reported values now include curtailment. - -**Documentation** - -* Add documentation describing the CBA workflow and CBA indicators (https://github.com/open-energy-transition/open-tyndp/pull/392). - -* Explain the Open TYNDP implementation of the scenario approach (https://github.com/open-energy-transition/open-tyndp/pull/449). - -* Add FAQ entry for PyPSA v1 compatibility issue (https://github.com/open-energy-transition/open-tyndp/pull/381). - -**Developers Note** - -* Add scenario column to the `custom_costs.csv` file to allow for shared adjustments across scenarios (https://github.com/open-energy-transition/open-tyndp/pull/361). - -* Align the data structure of the TYNDP archives with that of upstream (https://github.com/open-energy-transition/open-tyndp/pull/451). These changes ensure that all the data is retrieved in an identical structure to the primary source, and as individual compressed archives. - -* Reformat CBA indicators output CSV to long format and to include units (https://github.com/open-energy-transition/open-tyndp/pull/401). - - -Open-TYNDP v0.4.2 (23rd January 2026) -======================================== - - -**Features** - -* Add automated Windows installer for easy setup on Windows systems (https://github.com/open-energy-transition/open-tyndp/pull/333). The installer bundles pixi, the repository, and sets up the conda environment automatically. Installer executables are automatically built and attached to GitHub releases. See ``utils/windows-installer/`` for details. - -* Integrate Open-TYNDP specific data into the data versioning system introduced upstream (see https://github.com/PyPSA/pypsa-eur/pull/1675) (https://github.com/open-energy-transition/open-tyndp/pull/363). Consequently, the rule `retrieve_additional_tyndp_data` is deprecated. - -**Bugfixes and Compatibility** - -* Fix Windows compatibility issues and make other minor improvements (https://github.com/open-energy-transition/open-tyndp/pull/357). - -* Correct handling of electrolyzer capacities between optimization years (https://github.com/open-energy-transition/open-tyndp/pull/370). - -**Documentation** - -* Add innovation roadmap comparison, mapping existing or new developments in PyPSA-Eur and Open TYNDP to desired features for TYNDP 2026 (https://github.com/open-energy-transition/open-tyndp/pull/341) - - -Open-TYNDP v0.4.1 (23rd December 2025) -======================================== - - -**Bugfixes and Compatibility** - -* Retrieve countries_centroids.geojson using brotli encoding (https://github.com/open-energy-transition/open-tyndp/pull/334). - -* Ensure backward compatibility for custom offshore constraints (https://github.com/open-energy-transition/open-tyndp/pull/339). - - -Open-TYNDP v0.4 (16th December 2025) -======================================== - - -**Features** - -* Introduce a workflow structure for performing Cost-Benefit Analysis (CBA) using both TOOT (Take One Out at a Time) and PINT (Put In at a Time) methodologies for TYNDP transmission and storage projects on top of the SB results (https://github.com/open-energy-transition/open-tyndp/pull/149). The workflow structure has rules for retrieving CBA project data, processing transmission and storage projects from Excel exports, creating reference networks, building individual project networks, solving network optimizations, and computing CBA indicators. - -* Add the TOOT reference network preparation for CBA (https://github.com/open-energy-transition/open-tyndp/pull/199). - -* Add the TOOT project network preparation for CBA (https://github.com/open-energy-transition/open-tyndp/pull/211). - -* Add weekly rolling horizon optimization for CBA networks (https://github.com/open-energy-transition/open-tyndp/pull/217). Implements ``solve_cba_network`` rule for optimizing dispatch of TOOT and PINT reference and project networks. - -* Introduce calculation of B1 indicator in the Cost-Benefit Analysis (CBA) based on changes in total system costs (https://github.com/open-energy-transition/open-tyndp/pull/186). - -* Add TYNDP conventional thermal generation using PEMMDB capacities, must-runs and availabilities (https://github.com/open-energy-transition/open-tyndp/pull/195). - -* Add TYNDP electrolyzer capacities for the National Trends scenario using PEMMDB data (https://github.com/open-energy-transition/open-tyndp/pull/248). - -* Add the TYNDP hydrogen demand as an exogenously set demand (process data https://github.com/open-energy-transition/open-tyndp/pull/169, attach demand to the network https://github.com/open-energy-transition/open-tyndp/pull/230). - -* Add the TYNDP gas demand as an exogenously set demand (process data https://github.com/open-energy-transition/open-tyndp/pull/208, attach demand to the network https://github.com/open-energy-transition/open-tyndp/pull/220). Introduces ``sector:gas_demand_exogenously`` configuration to decide whether to attach this demand to the network. Introduces ``benchmarking:remove_last_day`` to optionally remove the last day of the year, ensuring the benchmarked values have exactly 52 weeks. Removes ``sector:use_industry_load`` configuration as industry is now integrated in the exogenous demand. - -* Add CO2 emission prices configurable per planning horizon for sector-coupled models (https://github.com/open-energy-transition/open-tyndp/pull/198). The CO2 price is added as a marginal cost on the ``co2 atmosphere`` Store. - -* Improve the overall benchmarking framework by correcting bus mappings for methane supply, biomass supply, and BtL for FED; grouping H2 pipeline imports together (low carbon and renewables); using a new H2 demand figure (Fig. 10 instead of 54) with correct grouping of exogenous demands; reducing EU-wide statistics to EU27 where possible; and improving biomass supply benchmarking with a new figure (Fig. 22 instead of 59) (https://github.com/open-energy-transition/open-tyndp/pull/281). - -**Breaking Changes** - -* Move all SB scripts to `scripts/sb/` and rules to `rules/sb.smk`, and renamed CBA rules file from `rules/cba/main.smk` to `rules/cba.smk` for consistency (https://github.com/open-energy-transition/open-tyndp/pull/278). - -* Rename `clean_tyndp_demand` to `clean_tyndp_electricity_demand` for clarity (https://github.com/open-energy-transition/open-tyndp/pull/272). - -**Changes** - -* Improve electricity demand processing and benchmarking to achieve an exact match between the benchmarked and reference values (https://github.com/open-energy-transition/open-tyndp/pull/192). - -* Adjust solid biomass and biogas potentials to match TYNDP assumptions across all planning horizons, removed unsustainable biomass and biogas shares from potential, and added configuration options to force biomass and biogas potentials (https://github.com/open-energy-transition/open-tyndp/pull/236). - -* Adjust the benchmarking configurations to report an approximation of imports for fossil fuels (https://github.com/open-energy-transition/open-tyndp/pull/237) and ensure that the final energy demand for biofuels is reflected correctly (https://github.com/open-energy-transition/open-tyndp/pull/239). - -* Add an intermediate scaling factor for hydro plants to match PEMMDB capacities (https://github.com/open-energy-transition/open-tyndp/pull/238, https://github.com/open-energy-transition/open-tyndp/pull/240). - -* Adjust the oil land transport demand in order to adjust the liquids demand (https://github.com/open-energy-transition/open-tyndp/pull/250). - -* Add the TYNDP CCS assumptions as sequestration potentials (https://github.com/open-energy-transition/open-tyndp/pull/244). - -**Bugfixes and Compatibility** - -* Fix benchmarking workflow to account for not spatially resolved methane demand and more missing data (https://github.com/open-energy-transition/open-tyndp/pull/205). - -* Fix `make tyndp` with the introduction of collect rules for `rulegraph` and `filegraph` (https://github.com/open-energy-transition/open-tyndp/pull/214). - -* Correctly attach planning year dependent renewable profiles from PECD to solar and onwind generators (https://github.com/open-energy-transition/open-tyndp/pull/265). - -* Correctly attach solar-pv-rooftop generators to low-voltage buses when modelling an electricity distribution grid representation (https://github.com/open-energy-transition/open-tyndp/pull/273). - -* Address infeasibilities for DE and GA by adjusting the trajectory of DE00 for the larger existing capacity and by fixing a broadcasting bug in the offshore constraints (https://github.com/open-energy-transition/open-tyndp/pull/283). - -* Make sector and TYNDP dependent inputs optional in `prepare_sector_network` to avoid triggering unnecessary prerequisite rules and disable `solar_thermal` (https://github.com/open-energy-transition/open-tyndp/pull/293). - -* Remove `wget` commands from `retrieve` rules to improve Windows compatibility (https://github.com/open-energy-transition/open-tyndp/pull/304). - -* Change the projection for maps to LambertAzimuthalEqualArea and PlateCaree to align with TYNDP 2024 reports (https://github.com/open-energy-transition/open-tyndp/pull/282). - -**Documentation** - -* Add a FAQ to the documentation (https://github.com/open-energy-transition/open-tyndp/pull/276). - -* Add more FAQ questions, set the default solver to HiGHS and fix the default temporal resolution to 52SEG (https://github.com/open-energy-transition/open-tyndp/pull/303). - -**Developers Note** - -* Ensure compatibility with PyPSA v1 (https://github.com/open-energy-transition/open-tyndp/pull/219). - - -Open-TYNDP v0.3 (24th October 2025) -======================================== - - -**Features** - -* Introduce a benchmarking framework that assesses Open-TYNDP model quality against published TYNDP 2024 data and Visualisation Platform data (https://github.com/open-energy-transition/open-tyndp/pull/73, https://github.com/open-energy-transition/open-tyndp/pull/117). This framework is fully integrated into the Open-TYNDP workflow, with benchmarking results included in the outputs. The methodology leverages a multi-criteria approach proposed by `Wen et al. (2022) `__. The rules cover processing raw data from TYNDP 2024 Scenarios packages, extracting Open-TYNDP statistics, computing accuracy metrics, and creating comparison figures. The data are benchmarked against the published TYNDP 2024 data, with figures presenting both sources for comparison. - -* Add complete processing and preparation of PECD v3.1 renewable profiles for all renewable technologies: Solar PV rooftop, Solar PV utility, Onshore Wind, Offshore Wind, and Solar CSP (https://github.com/open-energy-transition/open-tyndp/pull/71). These profiles are used in TYNDP 2024 and replace the default ERA5- and SARAH3-based profiles processed with Atlite. The data processing infrastructure for renewable profile creation is complete, but full integration into the model workflow will follow in a subsequent PRs (https://github.com/open-energy-transition/open-tyndp/pull/115, https://github.com/open-energy-transition/open-tyndp/pull/139). - -* Introduce processing of PEMMDB v2.5 hydro inflows data for different hydro technologies: Run of River, Pondage, Reservoir, Pumped Storage Open Loop, and Pumped Storage Closed Loop (https://github.com/open-energy-transition/open-tyndp/pull/77). The data processing infrastructure for hydro inflow profiles is complete, but full integration into the model workflow will follow in a subsequent release. - -* Introduce processing and preparation of PEMMDB v2.5 capacity data, including must-run and availability constraints, and expansion trajectories for conventional and renewable power generation, electrolysers, batteries, and Demand Side Response (DSR) (https://github.com/open-energy-transition/open-tyndp/pull/97). The data processing infrastructure for PEMMDB v2.5 is complete, but full integration into the model workflow will follow in a subsequent release. - -* Integrate solar PV and onshore wind technologies using PEMMDB v2.5 capacity data and PECD v3.1 renewable profiles in the model (https://github.com/open-energy-transition/open-tyndp/pull/115, https://github.com/open-energy-transition/open-tyndp/pull/139). Offshore wind statistics are also improved to include hydrogen generator capacities (in ``MW_e``). - -**Changes** - -* Generalise the TYNDP data retrieval rule for improved flexibility (https://github.com/open-energy-transition/open-tyndp/pull/101). This rule is intended for removal once all required data has been integrated into the `Zenodo databundle `_. - -* Allow retrieval of PyPSA-Eur cutouts for additional climate years that are not available on Zenodo via direct retrieval from Google Cloud Platform (GCP) (https://github.com/open-energy-transition/open-tyndp/pull/109). Currently, this feature is available for climate year 2009. - -* Introduce PECD pre-built dataset to significantly reduce data retrieval requirements (https://github.com/open-energy-transition/open-tyndp/pull/123). Users can either retrieve pre-processed PECD data for climate years 1995, 2008, and 2009 from GCP storage, or build from raw data for any year between 1982 and 2019. - -**Bugfixes and Compatibility** - -* Fix bugs in PyPSA-Eur's nuclear implementation related to inconsistent modelling as both generators and links, missing country-specific `p_max_pu` profiles, and missing uranium generators (https://github.com/open-energy-transition/open-tyndp/pull/105). Additionally, reintroduce default hydro `renewable_carrier` until TYNDP-specific hydro technologies are fully integrated. - -**Developers Note** - -* Scripts now use absolute imports. When using ``mock_snakemake``, adding the working directory to the PYTHONPATH or in your IDE is required (https://github.com/open-energy-transition/open-tyndp/pull/138). - - -PyPSA-Eur v2025.07.0 (11th July 2025, merged 24th July 2025) -===================================== - - -**Features** - -* Introduce the ability to use the bidding zones as administrative zones for the - clustering. This also introduces the ability to create a custom ``busmap`` - from custom ``busshapes``. To use bidding zones as clustering mode, a ``bz`` - mode has been introduced for ``administrative`` clustering. This feature is - compatible with the general NUTS clustering approach. Custom ``busshapes`` - must be provided as - ``data/busshapes/base_s_{clusters}_{base_network}.geojson``. - (https://github.com/PyPSA/pypsa-eur/pull/1578) - -* Added aquifer thermal energy storage (ATES) to district heating. Some - parameters (CAPEX, standing losses) might require tuning by the user. - Eligibility computation is simplified. Turned off by default. - (https://github.com/PyPSA/pypsa-eur/pull/1665) - -* Added supplemental heating of thermal energy storage (PTES). This can be - enabled by setting: ``sector: district_heating: ptes: supplemental_heating: - true``. To enable a boosting heat pump as the supplemental heating - technology, use: ``sector: district_heating: ptes: supplemental_heating: - booster_heat_pump: true``. (https://github.com/PyPSA/pypsa-eur/pull/1692) - -**Breaking Changes** - -* Consolidated gap-filling strategies options under a new configuration section - `load: fill_gaps`. (https://github.com/PyPSA/pypsa-eur/pull/1677) - -* Replaced pinned environment files with conda-lock generated lock files for - better dependency resolution and cross-platform reproducibility. Deprecated - old ``-pinned.yaml`` files with migration instructions. These files will not - be updated anymore and will be removed in a future release. - (https://github.com/PyPSA/pypsa-eur/pull/1660) - -**Changes** - -* Adjusted a series of default values in ``config.default.yaml``. - -* Non-sequestered high-value chemicals (e.g. plastic waste) is now allocated - based on the population instead of production. It can be either burned without - energetic utilization or, optionally, in CHPs. - (https://github.com/PyPSA/pypsa-eur/pull/1625) - -* Allow district heating potentials to be specified as a dictionary, with - country codes as keys for `district_heating: potential:`. - (https://github.com/PyPSA/pypsa-eur/pull/1742) - -* Added configuration option for setting ``links: p_min_pu``. - (https://github.com/PyPSA/pypsa-eur/pull/1637) - -* Use of ``agg_p_nom_limits`` now allows aggregating all ``solar`` electric - technologies. Offshore floating wind (``offwind-float``) was added. - (https://github.com/PyPSA/pypsa-eur/pull/1725, - https://github.com/PyPSA/pypsa-eur/pull/1727) - -* The file ``config/config.yaml`` is now fully optional. - (https://github.com/PyPSA/pypsa-eur/pull/1745) - -* Small plotting improvements. - (https://github.com/PyPSA/pypsa-eur/pull/1694https://github.com/PyPSA/pypsa-eur/pull/1727) - -* The `plotting|map|color_geomap` was renamed to `plotting|map|geomap_colors` to align - with the new PyPSA API. - -**Bugfixes and Compatibility** - -* Select correct capital costs for floating offshore wind. Previously, the same - as for offshore wind were used. (https://github.com/PyPSA/pypsa-eur/pull/1701) - -* Efficiency correction for electrobiofuels. - (https://github.com/PyPSA/pypsa-eur/pull/1683) - -* Configuration settings for heat pump COP approximation are now correctly - used. (https://github.com/PyPSA/pypsa-eur/pull/1729) - -* In :mod:`add_existing_baseyear`, renewable carriers are only added if listed - in ``electricity: renewable_carriers:``. - (https://github.com/PyPSA/pypsa-eur/pull/1717) - -* Ensure that distribution losses are only deducted from electricity demand when - distribution losses are modelled. - (https://github.com/PyPSA/pypsa-eur/pull/1668) - -* Sanitize columns in :mod:`add_brownfield`. - (https://github.com/PyPSA/pypsa-eur/pull/1676) - -* Adjustments to upcoming PyPSA API changes. - (https://github.com/PyPSA/pypsa-eur/pull/1720, - https://github.com/PyPSA/pypsa-eur/pull/1750) - -* Ensure consistent use of wildcards in :mod:`build_renewable_profiles` for - ``run: shared_resources: policy: base``. - (https://github.com/PyPSA/pypsa-eur/pull/1641) - -* Ensure solver logs are written to file. - (https://github.com/PyPSA/pypsa-eur/pull/1684) - -* DAG generation (`rulegraph` and `filegraph`) now correctly utilizes all - configuration sources (default, file-based, and command-line overrides), - resolving an issue where visualizations could misrepresent the actual workflow - execution plan. SVG output format has also been added for these graphs, and - error handling during graph generation has been enhanced. - (https://github.com/PyPSA/pypsa-eur/pull/1678) - -* Chore: Replace licensing information in ``.reuse/dep5`` with ``REUSE.toml`` to - be compliant with REUSE 3.2 - (https://reuse.software/spec-3.2/#licensing-information). - (https://github.com/PyPSA/pypsa-eur/pull/1739) - -* Windows compatibility improvements. - (https://github.com/PyPSA/pypsa-eur/pull/1602, - https://github.com/PyPSA/pypsa-eur/pull/1702) - -**Developers Note** - -* Scripts now use absolute imports. When using ``mock_snakemake``, adding the - working directory to the PYTHONPATH or in your IDE is required. - (https://github.com/PyPSA/pypsa-eur/pull/1643) - - -Open-TYNDP v0.2 (23rd July 2025) -======================================== - -**Features** - -* Introduce TYNDP offshore wind hubs via `sector:offshore_hubs_tyndp` configuration (https://github.com/open-energy-transition/open-tyndp/pull/54). This feature implements an offshore grid topology with both electric and hydrogen infrastructure, offshore electrolysers, and detailed wind farm characteristics. Three wind farm types are supported: AC-radial (ac-r), DC-radial (dc-r) and DC-hubs (dc-oh). Each is compatible with fixed-bottom (fb) or floating (fl) foundations. Wind farms connected to hubs can produce hydrogen directly through a dedicated P2G unit, while electricity can be supplied to the network or converted to hydrogen via offshore electrolysers connected to the hubs. The network includes existing capacities, with capacity expansion constrained by technological potential and evolving zone potential. - -* Add processing and preparation of TYNDP 2024 PECD v3.1 renewable profiles, replacing default ERA5-based profiles processed with Atlite (https://github.com/open-energy-transition/open-tyndp/pull/53). Initial implementation first addresses profiles for offshore technologies. - -* Add TYNDP hydrogen import potentials and corridors from outside of the modelled countries (https://github.com/open-energy-transition/open-tyndp/pull/36). Notably this includes pipelines and shipping imports from North Africa, Ukraine and Norway. Different import potentials are available for each of the planning years which are differentiated by wildcards. - -* Add the TYNDP electricity demand as an exogenously set demand (https://github.com/open-energy-transition/open-tyndp/pull/14). This requires the default PyPSA-Eur modelling to be explicitly disabled. The TYNDP electricity demand depends on the planning year, necessitating a different approach to the default PyPSA-Eur one. Wildcards are introduced and load is attached in `prepare_sector_network`. - -* Add a dedicated `Open-TYNDP documentation `__ website (https://github.com/open-energy-transition/open-tyndp/pull/80). - -**Changes** - -* Feat: update cutout retrieval of 1w cutout (https://github.com/open-energy-transition/open-tyndp/pull/41) - -* Refactor: TYNDP H2 reference grid in line with using planning_horizon for filtering the tyndp year (https://github.com/open-energy-transition/open-tyndp/pull/37) - -* Add a TYNDP specific CI (https://github.com/open-energy-transition/open-tyndp/pull/26) - -* Remove ch-ibit H2 pipeline capacity for 2030 H2 reference grid (https://github.com/open-energy-transition/open-tyndp/pull/27) - -**Bugfixes and Compatibility** - -* Fix: fix the docstring of build_tyndp_h2_network.py (https://github.com/open-energy-transition/open-tyndp/pull/40) - -* Refactor: rename `build_tyndp_h2_import_potentials` to `build_tyndp_h2_imports` (https://github.com/open-energy-transition/open-tyndp/pull/50) - -* Refactor: consolidate `tyndp_scenario` configurations into a single configuration entry (https://github.com/open-energy-transition/open-tyndp/pull/51) - - -Open-TYNDP v0.1 (14th April 2025) -======================================== - -**Features** - -* Added option to use the TYNDP H2 topology including the TYNDP H2 reference grid, - H2 Z1 and Z2 setup, production, reconversion and storage technologies (https://github.com/open-energy-transition/open-tyndp/pull/17/). - -* Introduce a new base network using TYNDP 2024 data (https://github.com/open-energy-transition/open-tyndp/pull/18/). - -**Changes** - -* Add fictive hydrogen demand using industry (https://github.com/open-energy-transition/open-tyndp/pull/25/). - -* Refactoring of ``add_storage_and_grids`` in ``prepare_sector_network`` into multiple distinct functions - for easier readability and adjustability (https://github.com/open-energy-transition/open-tyndp/pull/20/). - - -PyPSA-Eur v2025.04.0 (6th April 2025) -======================================== - -**Features** - - -* Allowing **network clustering based on administrative boundaries** (i.e., - NUTS0/country-level to NUTS3). To make use of this setting, set ``clustering: - mode: administrative`` and ``scenario: clusters: ["adm"]``. Optionally, - include a dictionary of individual country codes and their target NUTS level - resolution (0 to 3). Note that non-NUTS countries 'BA', 'MD', 'UA', and 'XK' - can only be clustered to level 0 and 1. - (https://github.com/PyPSA/pypsa-eur/pull/1502, - https://github.com/PyPSA/pypsa-eur/pull/1580) - - - Moved setting ``enable: custom_busmap`` to ``clustering: mode: custom_busmap``. - -* Added support for spanning **multiple consecutive, non-consecutive or - meteorological (July-June) weather years** in one optimisation model. The - annualised capital costs, energy limits and loads are multiplied by the number - of years. To calculate the total annualised system costs, divide the total - costs by the number of years. To include multiple years, configure the range - in ``snapshots:`` and provide the list of associated cutouts in ``atlite: - default_cutouts:``. (https://github.com/PyPSA/pypsa-eur/pull/1613) - - - All cutout references in ``config.default.yaml`` can now be specified by a - list of cutouts which will be concatenated along the time dimension. - - - All cutout references in ``config.default.yaml`` now default to ``atlite: - default_cutout:``. - - - In :mod:`build_hydro_profile`, when subannual periods are used but full-year - cutouts are available, the hydro profile is now first calculated for the - full year(s) and then sliced to the subannual periods. This is to align - better with the normalization process that uses annual EIA statistics. - - - In :mod:`time_aggregation`, the resampling will now be applied separately - for each year covered in the snapshots. This prevents snapshots that - overflow into the next year, which simplifies running non-contiguous - periods. - - - The files ``data/era5-annual-{HDD,runoff}-per-country.csv`` are now daily - resolved and were moved into the data bundle - ``data/bundle/era5-{HDD,runoff}-per-country.csv``. - -* Support for multiple **resource classes for wind and solar** to use more - accurate renewable potentials and time series when the spatial resolution - is low (https://github.com/PyPSA/pypsa-eur/pull/1481): - - - Splits renewable potentials and time series into a configurable number of - resource classes per carrier and clustered region. The binning is linear - based on the average capacity factors. - - - With the setting ``renewables: onwind: resource_classes: 4``, each region - would have four onshore wind generators, each with different potential - (``p_nom_max``) and capacity factor (``p_max_pu``). The same applies to - solar PV and offshore wind. - - - The default number of resource classes is kept at one per cluster. - - - In :mod:`build_renewable_profiles`, a new dimension "bin" is added to the - output (``xarray.Dataset``). The resource classes are numbered from 0 - (lowest) to N (highest). - - - Additionally, a new ``.geojson`` file of clustered regions split by resource - classes is exported, which is is used in :mod:`add_electricity` and - :mod:`build_clustered_solar_rooftop_potentials` to assign existing wind and - solar capacities to the correct combination of bus and resource class. - Within a clustered region, the resource classes do not have to be - contiguous. - -* Added simplified representation of **renewable energy imports** - (https://github.com/PyPSA/pypsa-eur/pull/1583): - - - Can be activated with ``sector: imports: enable: true``. - - - Allows hydrogen, ammonia, methanol, gas and Fischer-Tropsch oil with - configurable prices (``sector: imports: prices:``). - - - Methane imports use existing LNG terminal entry points, hydrogen imports use - existing pipeline entry points. - - - Simplification: Import prices are uniform across all regions. - - - Carbon content of imported fuels is handled like biomass. - - - Total volume of imports can be limited with ``sector: imports: limit:``. The - limit includes synthetic and biomass imports (``sector: - solid_biomass_import:``), but not fossil fuel imports. - -* Improved **automated plotting** of results - (https://github.com/PyPSA/pypsa-eur/pull/1589, - https://github.com/PyPSA/pypsa-eur/pull/1590, - https://github.com/PyPSA/pypsa-eur/pull/1626): - - - Moved plotting configuration from ``config/config.default.yaml`` to - ``config/plotting.default.yaml``. The plotting configuration is now separated - from the main configuration file. - - - Added rule :mod:`plot_balance_maps` for plotting energy balance maps. The plots - are saved in ``results/maps/*`` and can be configured in - ``plotting.default.yaml`` under ``plotting: balance_maps``. - - - Added new rule :mod:`plot_balance_timeseries` to plot energy balance time - series for the whole year at daily resolution and for each month at - model-native resolution. - - - Added new rule :mod:`plot_heatmap_timeseries` for plotting configuration of - heatmap time series, including options for marginal prices, utilisation rates, - and state of charge. - -* Extended pre-built `weather data cutouts - `__. Cutouts are now available for the - years 1996, 2010, 2012, 2013, 2019, 2020 and 2023. - (https://github.com/PyPSA/pypsa-eur/pull/1559) - -* Added option to specify the cutout directory in the configuration file. This - allows to the user to specify the directory where the cutouts are stored. Use - it by setting ``atlite: cutout_directory:`` in the configuration file. - (https://github.com/PyPSA/pypsa-eur/pull/1515) - -- Implemented an energy-to-power ratio constraint for thermal energy storage - (TES), linking the storage capacity to the corresponding charger capacity. - Additionally, chargers and dischargers are now sized proportionally through a - unified constraint. (https://github.com/PyPSA/pypsa-eur/pull/1546) - -* Added option to calculate dynamic storage capacities for pit thermal energy - storage using the ``e_max_pu`` attribute. The dynamic capacities are - calculated in the new rule :mod:`build_tes_capacity_profiles`. - (https://github.com/PyPSA/pypsa-eur/pull/1612) - -* Added a configuration to disable transmission efficiency for some carriers. - (https://github.com/PyPSA/pypsa-eur/pull/1631) - -* Added the options to overwrite investment, lifetime, FOM, VOM, efficiency and - fuel attributes from the configuration file under ``costs: overwrites:``. This - mimics the existing capital and marginal cost behaviour. - (https://github.com/PyPSA/pypsa-eur/pull/1532, - https://github.com/PyPSA/pypsa-eur/pull/1565) - -* Added rule :mod:`build_co2_sequestration_potentials`, which processes the raw - data from `CO2Stop - `_. Integrated - from separate repository (https://github.com/ericzhou571/Co2Storage). - (https://github.com/PyPSA/pypsa-eur/pull/1606) - -* Added option to pass ``linopy.Model`` keyword arguments through - ``config.default.yaml``. (https://github.com/PyPSA/pypsa-eur/pull/1596) - -* Added option to create ``snakemake filegraph`` and ``snakemake rulegraph``. - (https://github.com/PyPSA/pypsa-eur/pull/1574) - -**Changes** - -* Refactor of :mod:`make_summary` - (https://github.com/PyPSA/pypsa-eur/pull/1573): - - - Computes summaries for only a single network at a time. - - - Concatenation is outsourced to new rule :mod:`make_global_summary`. - - - Rule no longer depends on network plots; use the ``all`` collection rule to - generate summaries and plots. - - - Calculation of cumulative costs for myopic foresight networks was moved to - :mod:`make_cumulative_costs`. - - - Rewrote functions in :mod:`make_summary` to use PyPSA statistics module - more. - - - Inferral of component locations was made more robust. The revised function - uses ``n.buses.location`` rather than the index strings. Components inherit - the location of the bus they connect to with the highest spatial resolution. - - - The file ``supply.csv`` was **removed**; the file ``price_statistics.csv`` - was **removed and integrated** into ``metrics.csv``; the files - ``supply_energy.csv``, ``nodal_supply_energy.csv``, ``cfs.csv``, - ``nodal_cfs.csv`` were **renamed** to ``energy_balance.csv``, - ``nodal_energy_balance.csv``, ``capacity_factors.csv``, - ``nodal_capacity_factors.csv``. - - - The order of the MultiIndex levels changed but are now consistently named - and documented; the index level "component" now uses capitalised component - names rather than lower case list names (e.g. "Generator" instead of - "generators"). - - - The plotting functions in :mod:`plot_summary` have been updated to reflect - the changes in the summary files. - -* Unified the functions ``load_costs`` in :mod:`add_electricity` and - ``prepare_costs`` in :mod:`prepare_sector_network` into a single function - ``load_costs`` in :mod:`add_electricity`. For sector-coupled networks, - annualised investment costs are now referred to as "capital_cost" instead of - "fixed". (https://github.com/PyPSA/pypsa-eur/pull/1566, - https://github.com/PyPSA/pypsa-eur/pull/1567) - -* In :mod:`prepare_sector_network`, split shipping and aviation sector from - ``add_industry()`` into separate function and configuration setting. To mirror - previous behaviour of setting ``sector: industry: true``, also set ``sector: - shipping: true`` and ``sector: aviation: true``. - (https://github.com/PyPSA/pypsa-eur/pull/1607) - -* Replaced renewable capacity estimation from OPSD VRE data with an estimation - based on Global Energy Monitor (GEM) data. The corresponding setting was - renamed from ``from_opsd`` to ``from_gem``. - (https://github.com/PyPSA/pypsa-eur/pull/1481) - -* Functionality reduction: The technology mapping from ``powerplantmatching`` - now has to be a 1:1 rather than a 1:n mapping. - (https://github.com/PyPSA/pypsa-eur/pull/1481) - -* Geothermal heat potentials are now restricted to those in close proximity to - future district heating areas as projected by Manz et al. 2024. - (https://github.com/PyPSA/pypsa-eur/pull/1516) - -* Introduced the option to vent heat in all heating systems at given marginal - cost and added a small marginal cost for water tank charging to improve - numerics. Renamed config setting for marginal cost of home-battery charging to - ``marginal_cost_home_battery_storage``. - (https://github.com/PyPSA/pypsa-eur/pull/1563) - -* Included the fuel name as part of the carrier attribute for CHP plants added - in :mod:`prepare_sector_network`. - (https://github.com/PyPSA/pypsa-eur/pull/1622) - -* Updated EIA hydro-electricity statistics up to end of 2023. - (https://github.com/PyPSA/pypsa-eur/pull/1543) - -* Reduce pipeline entrypoints to country coverage. Exclude Russia and Belarus. - (https://github.com/PyPSA/pypsa-eur/pull/1582) - -* Rules of ``validate.smk`` have been removed to consolidate the volume of code - to maintain. (https://github.com/PyPSA/pypsa-eur/pull/1581) - -* Use consistent function scope and avoid use of global variables to make - functions in ``add_*``, ``prepare_*`` and ``solve_*`` modular and portable. - (https://github.com/PyPSA/pypsa-eur/pull/1537, - https://github.com/PyPSA/pypsa-eur/pull/1549) - -* Enable running ``mock_snakemake`` from a separate working directory. - (https://github.com/PyPSA/pypsa-eur/pull/1571) - -* Add customisable memory logging frequency for :mod:`solve_network`. - (https://github.com/PyPSA/pypsa-eur/pull/1521) - -* The ``config/config.yaml`` will no longer be created when running snakemake. It will - still be used by the workflow if it exists, but ignored otherwise and is not required. - See :ref:`defaultconfig` for more information. - (https://github.com/PyPSA/pypsa-eur/pull/1649) - -**Bugfixes and Compatibility** - -* Support for Snakemake 9. This is the new minimum version. - (https://github.com/PyPSA/pypsa-eur/pull/1619) - -* Support newer HiGHS versions. (https://github.com/PyPSA/pypsa-eur/pull/1528) - -* Use ``pyscipopt`` from PyPI. (https://github.com/PyPSA/pypsa-eur/pull/1524) - -* Conda: Remove defaults channel from `conda`` setup and use strict channel - priority. (https://github.com/PyPSA/pypsa-eur/pull/1554) - -* Fail on solving status 'warning' because results are likely not valid. - (https://github.com/PyPSA/pypsa-eur/pull/1591) - -* Bugfix in :mod:`time_aggregation`. The resampling produces a contiguous date - range. In case the original index was not contiguous, all rows with zero - weight must be dropped (corresponding to time steps not included in the - original snapshots). (https://github.com/PyPSA/pypsa-eur/pull/1613) - -* Bugfix in :mod:`time_aggregation`. Avoid that aggregated snapshot indices land - on February 29th in leap years when ``enable: drop_leap_day: true``. - (https://github.com/PyPSA/pypsa-eur/pull/1613) - -* Bugfix: Handled missing geothermal potential data for the United Kingdom if - geothermal is included for direct utilisation or as heat pump source. The - config parameter ``sector: district_heating: limited_heat_sources: geothermal: - ignore_missing_regions`` can be used to either terminate the workflow throwing - an error (default: ``true``) or assign 0 values to missing regions and - continue the workflow (``false``). (https://github.com/PyPSA/pypsa-eur/pull/1617) - -* Bugfix: Changed setting ``central_heat_vent`` (default: ``true``), because the - water tanks charger and discharger were used as heat vents. - (https://github.com/PyPSA/pypsa-eur/pull/1556) - -* Bugfix: Fix ``if`` clause in :mod:`prepare_sector_network` function - ``add_methanol()`` (https://github.com/PyPSA/pypsa-eur/pull/1632). - -* Bugfix: Fix matching of Swiss regions (CH) in unsustainable biomass potential - calculation. (https://github.com/PyPSA/pypsa-eur/pull/1585) - -* Bugfix: Fix nuclear ``p_max_pu`` time series for greenfield nuclear. - (https://github.com/PyPSA/pypsa-eur/pull/1519) - -* Bugfix: Ensure correct ``dtype`` for the "reversed" column of links. - (https://github.com/PyPSA/pypsa-eur/pull/1525) - -* Bugfix: Ignore keyboard interrupt in memory logging subprocess. - (https://github.com/PyPSA/pypsa-eur/pull/1555) - -* Bugfix: Change WDPA download rules to use shutil instead - of shell commands to properly function on Windows. - (https://github.com/PyPSA/pypsa-eur/pull/1575) - -* Bugfix: Added setting ``run: use_shadow_directory:`` (default: ``true``) which - sets the ``shadow`` parameter of the snakemake workflow. Configuring to - ``true`` sets snakemake ``shadow`` parameter to ``shalloow``, ``false`` to - `Ǹone``. Should be set to ``false`` for those cases, where snakemake has an - issue with finding missing input/output files in solving rules. - (https://github.com/PyPSA/pypsa-eur/pull/1535) - - -PyPSA-Eur v2025.01.0 (24th January 2025) -======================================== - -.. note:: - With this version, PyPSA-Eur switches to `CalVer `__ versioning. - -**Features** - -* Introduce geothermal district heating, including direct utilisation and heat - pumps, using potentials from `Manz et al. 2024: Spatial analysis of renewable - and excess heat potentials for climate-neutral district heating in Europe - `__. - (https://github.com/PyPSA/pypsa-eur/pull/1359) - -* Added option to reduce central heating forward temperatures by annual - percentage (see rule :mod:`build_central_heating_temperature_profiles`). This - makes COP profiles and heat pump efficiencies planning-horizon-dependent. - Myopic and perfect foresight modes were adjusted accordingly to update COPs of - existing heat pumps in preceding years to adjusted temperatures. - (https://github.com/PyPSA/pypsa-eur/pull/1290) - -* Allow CHPs to use different fuel sources such as gas, oil, coal, and methanol. - Note that the cost assumptions are based on a gas CHP (except for solid - biomass-fired CHP). (https://github.com/PyPSA/pypsa-eur/pull/1392, - https://github.com/PyPSA/pypsa-eur/pull/1414) - -* Add a rule to create a `filegraph` dag and rename `dag` rule as `rulegraph`. (https://github.com/PyPSA/pypsa-eur/pull/1574) - -**Breaking Changes** - -* Rearranged workflow to cluster the electricity network before calculating - renewable profiles and adding further electricity system components. - (https://github.com/PyPSA/pypsa-eur/pull/1201) - - - Moved rules ``simplify_network`` and ``cluster_network`` before - ``add_electricity`` and ``build_renewable_profiles``. - - - Split rule ``build_renewable_profiles`` into two separate rules, - ``determine_availability_matrix`` for land eligibility analysis and - ``build_renewable_profiles``, which now only computes the profiles and total - potentials from the pre-computed availability matrix. - - - Removed variables ``weight``, ``underwater_fraction``, and ``potential`` - from the output of ``build_renewable_profiles`` as it is no longer needed. - - - HAC-clustering is now based on wind speeds and irradiation time series - rather than capacity factors of wind and solar power plants. - - - Added new rule ``build_hac_features`` that aggregates cutout weather data to - base regions in preparation for ``cluster_network``. - - - Removed ``{simpl}`` wildcard and all associated code of the ``m`` suffix of - the ``{cluster}`` wildcard. This means that the option to pre-cluster the - network in ``simplify_network`` was removed. It will be superseded by - clustering renewable profiles and potentials within clustered regions by - resource classes soon. - - - Added new rule ``add_transmission_projects_and_dlr`` which adds the outputs - from ``build_line_rating`` and ``build_transmission_projects`` to the output - of ``base_network``. - - - The rule ``add_extra_components`` was integrated into ``add_electricity`` - - - Added new rule ``build_electricity_demand_base`` to determine the load - distribution of the substations in the base network (which was previously - done in ``add_electricity``). This time series is used as weights for - kmeans-clustering in ``cluster_network`` and is later added to the network - in ``add_electricity`` in aggregated form. - - - The weights of the kmeans clustering algorithm are now exclusively based on - the load distribution. Previously, they also included the distribution of - thermal capacity. - - - Since the networks no longer start with the whole electricity system added - pre-clustering, the files have been renamed from ``elec...nc`` to - ``base...nc`` to identify them as derivatives of ``base.nc``. - - - The scripts ``simplify_network.py`` and ``cluster_network.py`` were - simplified to become less nested and profited from the removed need to deal - with cost data. - - - New configuration options to calculate connection costs of offshore wind - plants. Offshore connection costs are now calculated based on the underwater - distance to the shoreline plus a configurable ``landfall_length`` which - defaults to 10 km. Previously the distance to the region's centroid was - used, which is not practical when the regions are already aggregated. - -* Removed ``{ll}`` wildcard. This is now a configuration option ``electricity: - transmission_limit:``, defaulting to ``vopt``. All previous options of the - ``{ll}`` wildcard are also now available within the ``{opts}`` wildcard (e.g. - as ``-lv1.25-``). (https://github.com/PyPSA/pypsa-eur/pull/1472) - -* Breaking change: The location of several network files has changed to - distinguish more clearly between solved and unsolved networks. Unsolved - networks that were previously stored in ``results/{run}/prenetworks`` are now - placed in ``resources/{run}/networks``. Solved networks that were previously - stored in ``results/{run}/postnetworks`` are now stored in - ``results/{run}/networks``. Brownfield networks are identified by a - ``_brownfield`` suffix in their filename. - -* Replaced the store representation of biogenic carriers (solid biomass, biogas, - bioliquids, MSW) in :mod:`prepare_sector_network` with generators using - attributes ``e_sum_min`` and ``e_sum_max`` to enforce minimum usage and limit - maximum potential, respectively. - (https://github.com/PyPSA/pypsa-eur/pull/1373) - -* Aligned the configuration setting for the CO2 network with other similar - settings (changed from ``co2network`` to ``co2_network``). - (https://github.com/PyPSA/pypsa-eur/pull/1438) - -* Added options ``biosng_cc`` and ``biomass_to_liquid_cc`` to separate the base - technology from the option to capture carbon from it. - (https://github.com/PyPSA/pypsa-eur/pull/1298) - -**Changes** - -* The building process of the base network from OpenStreetMap was revised. The - code was rewritten to improve the speed, accuracy and to preserve the topology - including original substation locations, wherever possible. The latest - ``osm-prebuilt`` data is version v0.6 at https://zenodo.org/records/14144752. - (https://github.com/PyPSA/pypsa-eur/pull/1384, - https://github.com/PyPSA/pypsa-eur/pull/1387, - https://github.com/PyPSA/pypsa-eur/pull/1431) - -* The shapes for countries and administrative regions have been updated. The - workflow has been modified to use higher resolution and more harmonised shapes - (NUTS3 2021 01M data and OSM administration level 1 for non-NUTS3 countries, - such as BA, MD, UA, and XK). Data sources for population and GDP per capita - p.c. have been updated to `JRC ARDECO - `__, using values for 2019. The rule - ``build_gdp_pop_non_nuts3`` is now integrated into :mod:`build_shapes` and - extended to build regional values for all non-NUTS3 countries. - (https://github.com/PyPSA/pypsa-eur/pull/1479) - -* The default configuration for the emission reduction path in myopic pathway - planning mode has been changed to align more closely with policy targets - (``co2_budget:``). (https://github.com/PyPSA/pypsa-eur/pull/1399) - -* Consider the planning horizon for biomass potentials calculation. Previously, - the biomass potential year could be chosen independently of the current - planning horizon. (https://github.com/PyPSA/pypsa-eur/pull/1311) - -* Update locations and capacities of ammonia plants. - (https://github.com/PyPSA/pypsa-eur/pull/1471) - -* NEP transmission projects are updated to HTLS lines. - (https://github.com/PyPSA/pypsa-eur/pull/1348) - -* Added 98% imperfect capture rate of Allam cycle gas turbine. - (https://github.com/PyPSA/pypsa-eur/pull/1298) - -* Improved ``sanitize_carrier`` function by filling in colors of missing - carriers. (https://github.com/PyPSA/pypsa-eur/pull/1400) - -* In post-discretizing network elements, add a configuration option to allow a - fractional last unit size. (https://github.com/PyPSA/pypsa-eur/pull/1309) - -**Bugfixes and Compatibility** - -* The length factor on the transmission lines haversine length was applied - twice, once when calculating costs and once when clustering the network. Now - it is only applied when calculating costs. - (https://github.com/PyPSA/pypsa-eur/pull/1511) - -* Vehicle-to-grid dispatch capacity is now limited by the fraction of vehicles - participating in demand-side-management, halving the dispatch capacity under - the default demand-side management participation rate of 0.5. - (https://github.com/PyPSA/pypsa-eur/pull/1423) - -* Demand for ammonia was double-counted at current/near-term planning horizons - with ``sector: ammonia: true``. (https://github.com/PyPSA/pypsa-eur/pull/1312) - -* Duplicates found in :mod:`build_transmission_projects` are now correctly - removed from the network. (https://github.com/PyPSA/pypsa-eur/pull/1360) - -* Ensure ``s_max_pu`` are correctly set for transmission projects. - (https://github.com/PyPSA/pypsa-eur/pull/1323) - -* Correctly reduce gas pipeline retrofit potentials in myopic pathway planning - mode. (https://github.com/PyPSA/pypsa-eur/pull/1258) - -* The missing lifetime attribute was added to hydrogen steel tanks, which is - important for pathway planning. (https://github.com/PyPSA/pypsa-eur/pull/1510) - -* Ensure all links with capital costs have a lifetime. This is important for - pathway planning. (https://github.com/PyPSA/pypsa-eur/pull/1319) - -* Resolved a bug which occurred when multiple DC links are connected to the same - DC bus and the DC bus is connected to an AC bus via a converter. In this case, - the DC links were wrongly simplified, completely dropping the shared DC bus. - (https://github.com/PyPSA/pypsa-eur/pull/1381, - https://github.com/PyPSA/pypsa-eur/pull/1507) - -* Waste CHPs are now added only to buses with district heating. Previously they - were added to all regions. (https://github.com/PyPSA/pypsa-eur/pull/1407) - -* Fixed VOM, emissions and efficiencies of methanol-to-kerosene links. - (https://github.com/PyPSA/pypsa-eur/pull/1317, - https://github.com/PyPSA/pypsa-eur/pull/1320, - https://github.com/PyPSA/pypsa-eur/pull/1376) - -* Existing heating data in ``build_existing_heating_distribution`` and the - indexing of existing heat pumps for the COP correction in - :mod:`add_brownfield` have been adjusted so that myopic pathways work with the - geothermal district heating. (https://github.com/PyPSA/pypsa-eur/pull/1453) - -* Adjusted ``efficiency2`` (to atmosphere) for bioliquids-to-oil link in - :mod:`prepare_sector_network` to correctly offset the corresponding oil - emissions. (https://github.com/PyPSA/pypsa-eur/pull/1410) - -* Add ``{sector_opts}`` wildcard to :mod:`time_aggregation`. - (https://github.com/PyPSA/pypsa-eur/pull/1307) - -* Resolved a problem where excluding certain countries from ``countries`` - configuration led to clustering errors. - (https://github.com/PyPSA/pypsa-eur/pull/1308) - -* The environment ``envs/retrieve.yaml`` was removed. Retrieval rules now use - ``envs/environment.yaml``. (https://github.com/PyPSA/pypsa-eur/pull/1509) - -* Logging files are created more comprehensively. - (https://github.com/PyPSA/pypsa-eur/pull/1508, - https://github.com/PyPSA/pypsa-eur/pull/1421) - -* Link for monthly CO2 prices was fixed. - (https://github.com/PyPSA/pypsa-eur/pull/1485) - -* Current ``rasterio`` versions supported. - (https://github.com/PyPSA/pypsa-eur/pull/1480) - -* Compatibility with ``powerplantmatching<=0.6``. - (https://github.com/PyPSA/pypsa-eur/pull/1490) - -* Compatibility with ``pypsa==0.32``. - (https://github.com/PyPSA/pypsa-eur/pull/1316, - https://github.com/PyPSA/pypsa-eur/pull/1445) - -* Maximum ``snakemake`` version is currently 8.24. - (https://github.com/PyPSA/pypsa-eur/pull/1440) - -* Initial steps towards unit testing are taken. - (https://github.com/PyPSA/pypsa-eur/pull/1466, - https://github.com/PyPSA/pypsa-eur/pull/1438, - https://github.com/PyPSA/pypsa-eur/pull/1432) - -* The installation via ``make install`` now prioritizes ``mamba`` over ``conda`` - for faster installation. Conda is still used as a fallback. The command ``make - install`` now also supports passing the name of the environment, e.g. ``make - install name=my-project``. (https://github.com/PyPSA/pypsa-eur/pull/1461) - -* Ruff is now used for linting and formatting. It is used within pre-commit, so - no changes are needed. But we recommend to set it up locally as well. - (https://github.com/PyPSA/pypsa-eur/pull/1474) - -* Updating all base shapes (country_shapes, europe_shape, nuts3_shapes, ...). The workflow has been modified to use higher resolution and more harmonised shapes (NUTS3 2021 01M data and OSM administration level 1 for non-NUTS3 countries, such as BA, MD, UA, and XK). Data sources for population and GDP p.c. have been updated to JRC ARDECO https://urban.jrc.ec.europa.eu/ardeco/ -- 2019 values are used. `build_gdp_pop_non_nuts3` (originally created to build regional GDP p.c. and population data for MD and UA) is now integrated into `build_shapes` and extended to build regional values for all non-NUTS3 countries using cutouts of the updated datasets `GDP_per_capita_PPP_1990_2015_v2.nc` and `ppp_2019_1km_Aggregated.tif`, - -PyPSA-Eur 0.13.0 (13th September 2024) -====================================== - -**Features** - -* Add new methanol-based technologies: methanol-to-power, methanol reforming, - methanol-to-kerosene, methanol-to-olefins/aromatics, biomass-to-methanol with - and without carbon capture. (https://github.com/PyPSA/pypsa-eur/pull/1207) - -* Add function ``modify_attribute`` to :mod:`prepare_sector_network` which allows to adjust any attribute of any - PyPSA component either by a multiplication with a factor or setting an - absolute value. These adjustments can also depend on the planning horizons and - are set in the config under ``adjustments``. - (https://github.com/PyPSA/pypsa-eur/pull/1244) - -* Add version control to osm-prebuilt: - ``config["electricity"]["osm-prebuilt-version"]``. Defaults to latest Zenodo - release, i.e. v0.4, Config is only considered when selecting ``osm-prebuilt`` - as ``base_network``. (https://github.com/PyPSA/pypsa-eur/pull/1293) - -**Changes** - -* Use JRC-IDEES thermal energy service instead of final energy demand for - buildings heating demand. Final energy includes losses in legacy equipment. - Efficiencies of existing heating capacities are lowered according to the - conversion of final energy to thermal energy service. For overnight scenarios - or future planning horizons this change leads to a reduction in heat supply - and, therefore, system cost. (https://github.com/PyPSA/pypsa-eur/pull/1255) - -* Updated district heating supply temperatures based on `Euroheat's DHC Market - Outlook - 2024`__ - and `AGFW-Hauptbericht 2022 - `__. - ``min_forward_temperature`` and ``return_temperature`` (not given by Euroheat) are - extrapolated based on German values. (https://github.com/PyPSA/pypsa-eur/pull/1264) - -* Refined implementation of unsustainable biomass. - (https://github.com/PyPSA/pypsa-eur/pull/1275, - https://github.com/PyPSA/pypsa-eur/pull/1271, - https://github.com/PyPSA/pypsa-eur/pull/1254, - https://github.com/PyPSA/pypsa-eur/pull/1266) - -* Biomass transport costs are now stored in the ``data`` folder. Extraction from - PDF file is skipped. (https://github.com/PyPSA/pypsa-eur/pull/1272) - -* Increased the resolution of NUTS3 and NUTS2 shapes from 1:60M to 1:3M. The - shapefiles are now directly retrieved with the ``retrieve_nuts_shapes`` rule. - (https://github.com/PyPSA/pypsa-eur/pull/1286) - -* Uses of Snakemake's ``storage()`` function are integrated into retrieval - rules. This simplifies the use of ``mock_snakemake`` and places downloaded - data more transparently into the ``data`` directory. - (https://github.com/PyPSA/pypsa-eur/pull/1274) - -* Updated data bundle to remove files which are now directly downloaded in the - rules. This reduces the size of the data bundle. - (https://github.com/PyPSA/pypsa-eur/pull/1291) - -* Update NEP transmission projects to include `Startnetz`. - (https://github.com/PyPSA/pypsa-eur/pull/1263) - -* Auto-update ``envs/environment.fixed.yaml``. - (https://github.com/PyPSA/pypsa-eur/pull/1281) - -**Bugfixes and Compatibility** - -* Updated osm-prebuilt network to version 0.4 - (https://doi.org/10.5281/zenodo.13759222). Added Kosovo (XK) as dedicated - region. Fixed major 330 kV line in Moldova (MD) - (https://www.openstreetmap.org/way/33360284). - (https://github.com/PyPSA/pypsa-eur/pull/1293) - -* Made the overdimensioning factor for heating systems specific for - central/decentral heating, defaults to no overdimensionining for central - heating and no changes to decentral heating compared to previous version. - (https://github.com/PyPSA/pypsa-eur/pull/1259) - -* The carrier of stores was previously silently overwritten by their bus' - carrier when building global emission constraints. - (https://github.com/PyPSA/pypsa-eur/pull/1262) - -* The fossil oil generator was incorrectly dropped when ``sector: - oil_refining_emissions`` was greater than zero. (https://github.com/PyPSA/pypsa-eur/pull/1257) - -* Correctly account for the CO2 emissions of municipal solid waste. - (https://github.com/PyPSA/pypsa-eur/pull/1256) - -* Added a missing space in the component name of retrofitted gas boilers. - (https://github.com/PyPSA/pypsa-eur/pull/1289) - -* Global Energy Monitor datasets are temporarily mirrored on alternative - servers. (https://github.com/PyPSA/pypsa-eur/pull/1265) - -* Fixed plotting of hydrogen networks with myopic pathway optimisation. - (https://github.com/PyPSA/pypsa-eur/pull/1270) - -* Fixed internet connection check. - (https://github.com/PyPSA/pypsa-eur/pull/1280) - -**Documentation** - -* The sources of nearly all data files are now listed in the documentation. - (https://github.com/PyPSA/pypsa-eur/pull/1284) - -PyPSA-Eur 0.12.0 (30th August 2024) -=================================== - -**Data Updates and Extensions** - -* Switch to OpenStreetMap (OSM) data for modelling the high-voltage transmission - grid. The new OSM-based grid is is now the default. The previous ENTSO-E grid - data is now deprecated. It can still be used by setting ``electricity: - base_network: entsoegridkit``. The new default setting "osm-prebuilt" - downloads the latest prebuilt snapshots from Zenodo. The setting "osm-raw" - retrieves and cleans the raw OSM data and subsequently builds the network. - (https://github.com/PyPSA/pypsa-eur/pull/1079) - -* Update energy balances from JRC-IDEES-2015 to `JRC-IDEES-2021 - `__. The - reference year was changed from 2015 to 2019. - (https://github.com/PyPSA/pypsa-eur/pull/1167) - -* Updated pre-built `weather data cutouts - `__. These are now merged cutouts with - solar irradiation from the new SARAH-3 dataset while taking all other - variables from ERA5. Cutouts are now available for multiple years (2010, 2013, - 2019, and 2023). The overall download size was cut in half. - (https://github.com/PyPSA/pypsa-eur/pull/1176) - -* Included data from the `Global Steel Plant Tracker - `__ - provided by Global Energy Monitor. The data includes among other attributes - the locations, ages, operating status, relining dates, manufacturing process - and capacities of steel plants in Europe. This data is used as a spatial - distribution key for the steel production, which is now separated by process - type (EAF, DRI + EAF, integrated). - (https://github.com/PyPSA/pypsa-eur/pull/1241) - -* Added data on the locations and capacities of ammonia plants in Europe. This - data is used as a spatial distribution key for the ammonia demand. The data - manually collected with sources noted in ``data/ammonia_plants.csv``. - (https://github.com/PyPSA/pypsa-eur/pull/1241) - -* Added data on the locations and capacities of cement plants in Europe that are - not included in the Hotmaps industrial database. The data sourced from the - `USGS 2019 Minerals Yearbooks - `__ - of specific countries is used as a spatial distribution key for the cement - demand. The data is stored in ``data/cement-plants-noneu.csv``. - (https://github.com/PyPSA/pypsa-eur/pull/1241) - -* Added data on the locations and capacities of refineries in Europe that are - not included in the Hotmaps industrial database. The data is mostly sourced - from the `Wikipedia list of oil refineries - `__. The data is stored - in ``data/refineries-noneu.csv``. - (https://github.com/PyPSA/pypsa-eur/pull/1241) - -* Retrieve share of urban population from `World Bank API - `__. The data - originates from the United Nations Population Division. Previously, a file - ``data/urban_percent.csv`` with an undocumented source was used. - (https://github.com/PyPSA/pypsa-eur/pull/1248) - -* Updated Global Energy Monitor's Europe Gas Tracker to May 2024 version. - (https://github.com/PyPSA/pypsa-eur/pull/1235) - -* Updated country-specific Energy Availability Factors (EAFs) for nuclear power - plants based on `IAEA 2021-2023 reported country averages - `__. - (https://github.com/PyPSA/pypsa-eur/pull/1236) - -* Updated technology-data to v0.9.2, with added methanol and biomass - assumptions. - -* Updated EEZ shapes to v12. This data is now automatically retrieved and was - removed from the data bundle. (https://github.com/PyPSA/pypsa-eur/pull/1188, - https://github.com/PyPSA/pypsa-eur/pull/1210) - -* The country shapes from Naturalearth are now automatically retrieved and are - removed from the data bundle. (https://github.com/PyPSA/pypsa-eur/pull/1190) - -**New Features** - -* Improved biomass representation: - - * Added unsustainable biomass potentials for solid, gaseous, and liquid biomass - based on current consumption levels from Eurostat energy balances. The - potentials can be phased-out and/or substituted by the phase-in of sustainable - biomass types using the config parameters ``biomass: - share_unsustainable_use_retained`` and ``biomass: - share_sustainable_potential_available``. - (https://github.com/PyPSA/pypsa-eur/pull/1139) - - * Added energy penalty for BECC applications. - (https://github.com/PyPSA/pypsa-eur/pull/1130) - - * Added option to enable the import of solid biomass. - (https://github.com/PyPSA/pypsa-eur/pull/1194) - - * Added option to produce electrobiofuels from solid biomass and hydrogen. This - process combined BtL and Fischer-Tropsch to efficiently use the available - biogenic carbon. (https://github.com/PyPSA/pypsa-eur/pull/1193) - - * Added option to split municipal solid waste from solid biomass. - (https://github.com/PyPSA/pypsa-eur/pull/1195, - https://github.com/PyPSA/pypsa-eur/pull/1134) - - * Added option to produce hydrogen from solid biomass with or without carbon - capture. (https://github.com/PyPSA/pypsa-eur/pull/1213) - -* Improved district heating representation: - - * Added option to use country-specific district heating forward and return - temperatures. Defaults to lower temperatures in Scandinavia. - (https://github.com/PyPSA/pypsa-eur/pull/1180) - - * Made central heating supply temperatures dynamic based on an adaptation of a - reference curve from Pieper et al. (2019) - (https://www.sciencedirect.com/science/article/pii/S0360544219305857?via%3Dihub). - (https://github.com/PyPSA/pypsa-eur/pull/1206/) - - * Changed heat pump COP approximation for central heating to be based on - `Jensen et al. (2018) - `__ - and a default forward temperature of 90C. This is more realistic for - district heating than the previously used approximation method. - (https://github.com/PyPSA/pypsa-eur/pull/1176) - - * Added option for various power-to-X processes to specify their share of waste - heat that can be used in district heating. The default was changed from 100% - to 25%. (https://github.com/PyPSA/pypsa-eur/pull/1141) - -* Added option to specify emissions fuel processing (e.g. oil in petrochemical - refinieries) with setting ``industry: oil_refining_emissions:``. - -* Added Enhanced Geothermal Systems for generation of electricity and district heat. - Cost and available capacity assumptions based on `Aghahosseini et al. (2020) - `__. - See configuration ``sector: enhanced_geothermal`` for details; by default switched off. - -* Represent Kosovo (XK) as separate country. - (https://github.com/PyPSA/pypsa-eur/pull/1249) - -* Add option to specify carbon sequestration potentials per investment period. - (https://github.com/PyPSA/pypsa-eur/pull/1228) - -* Add option to completely eliminate the use of fossil fuels. - (https://github.com/PyPSA/pypsa-eur/pull/1187) - -* Added more modular and flexible handling of planned transmission reinforcement - projects (e.g. TYNDP). See configuration settings ``transmission_projects:``. - (https://github.com/PyPSA/pypsa-eur/pull/1085) - -* Added option to smooth wind turbine power curves with a Gaussian kernel density. - (https://github.com/PyPSA/pypsa-eur/pull/1209). - -* Added option ``solving: curtailment_mode``` which fixes the dispatch profiles - of generators with time-varying p_max_pu by setting ``p_min_pu = p_max_pu`` - and adds an auxiliary curtailment generator with negative sign (to absorb - excess power) at every AC bus. This can speed up the solving process as the - curtailment decision is aggregated into a single generator per region. - (https://github.com/PyPSA/pypsa-eur/pull/1177) - -* Added capital costs to all liquid carbonaceous fuel stores. - (https://github.com/PyPSA/pypsa-eur/pull/1234) - -**Breaking Changes** - -* Due to memory issues, the feature ``n.shapes`` is temporarily disabled. - (https://github.com/PyPSA/pypsa-eur/pull/1238) - -* Renamed the carrier of batteries in BEVs from `battery storage` to `EV - battery` and the corresponding bus carrier from `Li ion` to `EV battery`. This - is to avoid confusion with stationary battery storage. - (https://github.com/PyPSA/pypsa-eur/pull/1116) - -**Changes** - -* Powerplants can now be assigned to all buses, not just substations. - (https://github.com/PyPSA/pypsa-eur/pull/1239) - -* Avoid adding existing gas pipelines repeatedly for different planning - horizons. - (https://github.com/PyPSA/pypsa-eur/pull/1162https://github.com/PyPSA/pypsa-eur/pull/1162) - -* Move custom busmaps to - ``data/busmaps/elec_s{simpl}_{clusters}_{base_network}.csv``. This allows for - different busmaps depending on the base network. - (https://github.com/PyPSA/pypsa-eur/pull/1231) - -* For countries not contained in the NUTS3-specific datasets (i.e. MD and UA), - the mapping of GDP per capita and population per bus region used to spatially - distribute electricity demand is now endogenised in a new rule - :mod:`build_gdp_ppp_non_nuts3`. The databundle has been updated accordingly. - (https://github.com/PyPSA/pypsa-eur/pull/1146) - -* Enable parallelism in :mod:`determine_availability_matrix_MD_UA.py` and remove - plots. This requires the use of temporary files. - (https://github.com/PyPSA/pypsa-eur/pull/1170) - -* In :mod:`base_network`, replace own voronoi polygon calculation function with - Geopandas `gdf.voronoi_polygons` method. - (https://github.com/PyPSA/pypsa-eur/pull/1172) - -* In simplifying polygons in :mod:`build_shapes` default to no tolerance. - (https://github.com/PyPSA/pypsa-eur/pull/1137) - -* Updated filtering in :mod:`determine_availability_matrix_MD_UA.py` to improve - speed. (https://github.com/PyPSA/pypsa-eur/pull/1146) - -* Removed unused data files and rules. - (https://github.com/PyPSA/pypsa-eur/pull/1246, - https://github.com/PyPSA/pypsa-eur/pull/1203) - -* The ``{scope}`` wildcard was removed, since its outputs were not used. - (https://github.com/PyPSA/pypsa-eur/pull/1171) - -* Unify how the oil bus is added. - -* Set ``p_nom = p_nom_min`` for generators with ``baseyear == grouping_year`` in - :mod:`add_existing_baseyear`. This has no effect on the optimization but helps - to correctly report already installed capacities using ``n.statistics()``. - -* Cutouts are no longer marked as ``protected()``. - (https://github.com/PyPSA/pypsa-eur/pull/1220) - -**Bugfixes and Compatibility** - -* Bugfix in :mod:`simplify_network` for spatially resolving Corsica. - (https://github.com/PyPSA/pypsa-eur/pull/1215) - -* Bugfix for running without spatial resolution. - (https://github.com/PyPSA/pypsa-eur/pull/1183) - -* Bugfix: Impose minimum value of zero for district heating progress between - current and future market share in :mod:`build_district_heat_share`. - (https://github.com/PyPSA/pypsa-eur/pull/1168) - -* Bugfix: Correctly read in threshold capacity below which to remove components - from previous planning horizons in :mod:`add_brownfield`. - -* Bugfix for passing function arguments in rule :mod:`solve_operations_network`. - -* Bugfix avoiding infinity values in the intermediate industry sector ratios. - (https://github.com/PyPSA/pypsa-eur/pull/1227) - -* Bugfix: Add floating wind to cost update function in - :mod:`prepare_sector_network`. (https://github.com/PyPSA/pypsa-eur/pull/1106) - -* Fixed PDF encoding in ``build_biomass_transport_costs``. - (https://github.com/PyPSA/pypsa-eur/pull/1219) - -* Dropped ``pycountry`` dependency in favour of ``country_converter``. - (https://github.com/PyPSA/pypsa-eur/pull/1188) - -* Use temporary mirror for broken link to Eurostat energy balances (April 2023). - (https://github.com/PyPSA/pypsa-eur/pull/1147) - -* Compatibility with geopandas 1.0+. - (https://github.com/PyPSA/pypsa-eur/pull/1136) - -* Compatibility with snakemake 8.14+. - (https://github.com/PyPSA/pypsa-eur/pull/1112) - -* Address various deprecations. - - -* Allow running the sector model for isolated non-EU28 countries, by filling missing sectoral - data with defaults, average EU values or zeros, if not available. - -* Enable retaining existing conventional capacities added in the power only model for sector coupeled applications. - -PyPSA-Eur 0.11.0 (25th May 2024) -===================================== - -**New Features** - -* Introduced scenario management to support the simultaneous execution of - multiple scenarios with a single ``snakemake`` call. A ``scenarios.yaml`` file - allows customizable scenario names with configuration overrides. To enable, - set ``run: scenarios: true`` and define the list of scenario names under - ``run: name:`` in the configuration file. The scenario file's top-level keys - must match the defined scenario names. - (https://github.com/PyPSA/pypsa-eur/pull/724, - https://github.com/PyPSA/pypsa-eur/pull/975, - https://github.com/PyPSA/pypsa-eur/pull/989, - https://github.com/PyPSA/pypsa-eur/pull/993, - https://github.com/PyPSA/pypsa-eur/pull/1011) - - - A scenarios template file ``config/scenarios.template.yaml`` is included and - copied to ``config/scenarios.yaml`` on first use. - - The scenario file can be changed via ``run: scenarios: file:``. - - Activating scenario management with ``run: scenarios: enable: true`` - introduces a new wildcard ``{run}``. Configuration settings may now depend - on this wildcard. A new ``config_provider()`` function is used in the - ``Snakefile`` and ``.smk`` files to handle wildcard values. - - Scenario files can be programmatically created using - ``config/create_scenarios.py``. This script can be run with ``snakemake -j1 - create_scenarios``. - - The setting ``run: name: all`` will run all scenarios in - ``config/scenarios.yaml``. Otherwise, only the scenarios listed under ``run: - name:`` will run. - - The setting ``run: shared_resources:`` indicates whether resources should be - encapsulated by ``run: name:``. The special setting ``run: shared_resources: - base`` shares resources until ``add_electricity`` that do not contain - wildcards other than ``{"technology", "year", "scope"}``. - - Added new configuration options for all ``{opts}`` and ``{sector_opts}`` - wildcard values to create a unique configuration file (``config.yaml``) per - PyPSA network file using ``update_config_from_wildcards()``. This function - updates the ``snakemake.config`` object with settings from wildcards. - - The cost data was moved from ``data/costs_{year}.csv`` to - ``resources/costs_{year}.csv``. The ``retrieve_cost_data`` rule now calls a - Python script. - - Time clustering settings moved to ``clustering: temporal:`` from - ``snapshots:``, simplifying scenario management. - - Collection rules have a new wildcard ``run=config["run"]["name"]`` to - collect outputs across scenarios. - - Scenarios can be encapsulated in a directory using ``run: prefix:``. - - The ``{sector_opts}`` wildcard is no longer used by default. All scenario - definitions are now in ``config.yaml``. - - **Warning:** Scenario management with myopic or perfect foresight pathway - optimization requires the first investment period to be shared across all - scenarios. The ``wildcard_constraints`` for the ``add_existing_baseyear`` - rule do not accept wildcard-aware input functions. - -* Enhanced support for choosing different weather years. - (https://github.com/PyPSA/pypsa-eur/pull/204) - - - Processed energy statistics from Eurostat (1990-2021) and IDEES (2000-2015) - are stored for all available years and filtered by the year in ``energy: - energy_totals_year:``. - - Added option to supplement electricity load data with synthetic time series - for years not in OPSD (from https://zenodo.org/records/10820928, ``load: - supplement_synthetic:``). - - Total annual heat demand for years not in Eurostat (1990-2021) or IDEES - (2000-2015) is scaled based on a regression between heating degree days and - heat demand for 2007-2021, assuming a similar building stock. - - Added option to scale annual hydro-electricity generation data for years not - in EIA (1980-2021) based on a regression between annual generation and total - runoff per country for 1980-2021 (``renewable: hydro: - eia_approximate_missing:``). - - Added option to normalize annual hydro generation data by the installed - capacity reported by EIA (1980-2021) to eliminate changes due to newly built - capacity (``renewable: hydro: eia_approximate_missing: - eia_correct_by_capacity:``). - - Added option to make hydro generation data independent of weather year - (``renewable: hydro: eia_approximate_missing: eia_norm_year:``). - - Added option to drop leap days (``enable: drop_leap_day:``). - - Added option to make electric load data independent of weather year (``load: - fixed_year:``). - - Include time series of Swiss passenger vehicles from the Swiss Federal - Statistical Office. - - Updated hydro-electricity generation and capacity data from EIA. - - The easiest way to use multiple weather years is with the new scenario - management. An example `create_scenarios.py` script is available in this - `Github gist - `__. - -* New renewable technologies: - - - Solar PV with single-axis horizontal tracking (N-S axis), carrier: - ``solar-hsat``. (https://github.com/PyPSA/pypsa-eur/pull/1066) - - Floating offshore wind technology for water depths below 60m, carrier: - ``offwind-float``. (https://github.com/PyPSA/pypsa-eur/pull/773) - -* Added default values for power distribution losses, assuming uniform 3% losses - on distribution grid links. These are deducted from national load time series - to avoid double counting. Extensions for country-specific loss factors and - planning horizon developments are planned. - -* Added ``industry: HVC_environment_sequestration_fraction:`` to specify the - fraction of carbon in plastics that is permanently sequestered in landfills. - The default assumption is that all carbon in plastics is eventually released - to the atmosphere. (https://github.com/PyPSA/pypsa-eur/pull/1060) - -* Added options for building waste-to-energy plants with and without carbon - capture to consume non-recycled and non-sequestered plastics. Config settings: - ``industry: waste_to_energy:`` and ``industry: waste_to_energy_cc``. This - excludes municipal solid waste. (https://github.com/PyPSA/pypsa-eur/pull/1060) - -* Added option to post-discretize line and link capacities based on unit sizes - and rounding thresholds in the configuration under ``solving: options: - post_discretization:``. This is disabled by default. - (https://github.com/PyPSA/pypsa-eur/pull/1064) - -* Time aggregation for sector-coupled networks is now its own rule - :mod:`time_aggregation`. Time aggregation is constant over planning horizons - of the same network when using time step segmentation. - (https://github.com/PyPSA/pypsa-eur/pull/1065, - https://github.com/PyPSA/pypsa-eur/pull/1075) - -* Added config ``run: shared_resources: exclude:`` to specify files excluded - from shared resources with ``run: shared_resources: base``. The function - ``_helpers/get_run_path()`` now takes an additional keyword argument - ``exclude_from_shared`` with a list of files that should not be shared. - (https://github.com/PyPSA/pypsa-eur/pull/1050) - -* Added existing biomass boilers in :mod:`add_existing_baseyear`. - (https://github.com/PyPSA/pypsa-eur/pull/951) - -* Added new HVDC transmission projects from `TYNDP 2024 draft projects - `__. - (https://github.com/PyPSA/pypsa-eur/pull/982) - -* Linearly interpolated missing investment periods in year-dependent - configuration options. (https://github.com/PyPSA/pypsa-eur/pull/943) - -* Added shapes to the ``netCDF`` files for different stages of the network - object in `base_network`, `simplify_network`, and `cluster_network`. The - `build_bus_regions` rule is now integrated into the `base_network` rule. - (https://github.com/PyPSA/pypsa-eur/pull/1013, - https://github.com/PyPSA/pypsa-eur/pull/1051) - -* Added config ``land_transport_demand_factor`` to model growth in land - transport demand for different time horizons. - -* Allowed dictionary for ``aviation_demand_factor`` to specify changes in - aviation demand by investment period. - -* Allowed more solvers in clustering (Xpress, COPT, Gurobi, CPLEX, SCIP, MOSEK). - (https://github.com/PyPSA/pypsa-eur/pull/949) - -* Added option to download cost data from custom fork of ``technology-data``. - (https://github.com/PyPSA/pypsa-eur/pull/970) - -* Added ``nodal_supply_energy`` to :mod:`make_summary`. - (https://github.com/PyPSA/pypsa-eur/pull/1046) - -**Breaking Changes** - -* Upgraded to Snakemake v8.5+. This version is the new minimum requirement. To - upgrade an existing environment, run ``conda install -c bioconda - snakemake-minimal">=8.5"`` and ``pip install snakemake-storage-plugin-http``. - (https://github.com/PyPSA/pypsa-eur/pull/825) - -* Removed exogenously set share of rooftop PV (``costs: rooftop_share:``). - Rooftop and utility-scale PV are now separate technologies with endogenous - shares. - -* Removed rule ``copy_config``. Instead, a config file is created for each - network output of the ``solve_*`` rules, with the same content as ``n.meta``. - (https://github.com/PyPSA/pypsa-eur/pull/965) - -* Moved switch ``run: shared_resources:`` to ``run: shared_resources: policy:``. - -**Changes** - -* Updated, merged, and reduced data bundle: - (https://github.com/PyPSA/pypsa-eur/pull/1020, - https://github.com/PyPSA/pypsa-eur/pull/1027) - - - Merged electricity-only and sector-coupled data bundles into one bundle. - This removed the ``retrieve_sector_databundle`` rule. - - Included rasterised ``natura.tiff`` in the data bundle and removed the - ``retrieve_natura_raster`` rule. - - Removed the ``build_natura_raster`` rule due to its infrequent use and - significant data bundle size increase. - - Removed outdated files from the data bundle (e.g., Eurostat energy - balances). - - Reduced the spatial scope of GEBCO bathymetry data to Europe to save space. - - Removed a separate data bundle for tutorials. - - Directly downloaded the `Hotmaps Industrial Database - `__ - from the source, removing ``Industrial_Database.csv`` from the data bundle. - -* Updated energy statistics: (https://github.com/PyPSA/pypsa-eur/pull/947, - https://github.com/PyPSA/pypsa-eur/pull/973, - https://github.com/PyPSA/pypsa-eur/pull/990, - https://github.com/PyPSA/pypsa-eur/pull/1025, - https://github.com/PyPSA/pypsa-eur/pull/1074) - - - Updated Eurostat data to the 2023 version in :mod:`build_energy_totals`. - - Updated the latest Swiss energy totals to the 2023 version. - - Scaled JRC-IDEES data using the ratio of Eurostat data for energy totals - years after 2015 and 2015. - - Updated default energy totals year to 2019. - - Updated energy balances for residential demands (space, water, cooking) in - JRC-IDEES data with newer Eurostat values. - -* Improved documentation: (https://github.com/PyPSA/pypsa-eur/pull/1017, - https://github.com/PyPSA/pypsa-eur/pull/1014) - - - Clarified that ``solving: rolling_horizon:`` only works for - :mod:`solve_operations_network`, not for networks with sector-coupling or - investment variables. - - Clarified suffix usage in `add_existing_baseyear`. - - Added documentation section for contributing documentation. - -* Included gas and oil fields and saline aquifers for estimating carbon - sequestration potentials. (https://github.com/PyPSA/pypsa-eur/pull/1010, - https://github.com/PyPSA/pypsa-eur/pull/983) - -* Doubled solar rooftop potentials to roughly 1 TW for Europe based on recent - European Commission reports. - -* Consistently sourced data on existing renewable capacities from - ``powerplantmatching``. Removed ``retrieve_irena`` rule. Updated the dataset - to include 2023 values. (https://github.com/PyPSA/pypsa-eur/pull/1018) - -* Added methanol consumption in industry as reported in the DECHEMA report - directly as methanol demand. (https://github.com/PyPSA/pypsa-eur/pull/1068) - -* Adapted disabling of transmission expansion in myopic foresight optimizations - when the limit is reached to handle cost limits. - (https://github.com/PyPSA/pypsa-eur/pull/952, - https://github.com/PyPSA/pypsa-eur/pull/1076) - -* Improved the behavior of ``agg_p_nom_limits``: Moved configuration to - ``solving``; added the ability to aggregate all ``offwind`` types; added - option to consider existing capacities; added option to distinguish by - planning horizon. (https://github.com/PyPSA/pypsa-eur/pull/1023) - -* Disabled ``electricity: everywhere_powerplants``` by default to save memory in - :mod:`simplify_network`. - -* Moved non-essential example configuration files to ``config/examples``. - -* Outputs of the retrieve rules are no longer marked as ``protected()``. - -* Improved carbon budget distribution plot. - (https://github.com/PyPSA/pypsa-eur/pull/1070) - -* Moved all graphics to ``doc/img``. - (https://github.com/PyPSA/pypsa-eur/pull/1052) - -* Connection costs calculated in :mod:`simplify_network` are no longer written - to file. (https://github.com/PyPSA/pypsa-eur/pull/1031) - -**Bugs and Compatibility** - -* Updated ``technology-data`` to version v0.9.0. - -* Bumped minimum ``powerplantmatching`` version to v0.5.15. - (https://github.com/PyPSA/pypsa-eur/pull/1057) - -* Bugfix: The configuration setting ``electricity: - estimate_renewable_capacities: enable:`` for rule :mod:`add_electricity` is - not compatible with ``foresight: myopic``. The logic now skips adding existing - renewable capacities in :mod:`add_electricity` if the foresight mode is - ``myopic``. (https://github.com/PyPSA/pypsa-eur/pull/1080) - -* Bugfix: Ensure gas-fired power plants are correctly added as OCGT or CCGT in - :mod:`add_electricity`. Previously, they were always added as OCGT. - -* Bugfix: Fix distinction of temperature-dependent correction factors for the - energy demand of electric vehicles and ICEs fuel cell cars. - (https://github.com/PyPSA/pypsa-eur/pull/957) - -* Bugfix: Ensure all industry coal demands are considered when using - ``sector_ratios_fraction_future``. - (https://github.com/PyPSA/pypsa-eur/pull/1047) - -* Bugfix: Add existing heat pumps to low-voltage level. - (https://github.com/PyPSA/pypsa-eur/pull/948) - -* Fixed gas network retrofitting to hydrogen in :mod:`add_brownfield` for myopic - pathway studies. (https://github.com/PyPSA/pypsa-eur/pull/1036) - -* Bugfix: Consider decommissioning of existing renewable assets in - :mod:`add_existing_baseyear`. (https://github.com/PyPSA/pypsa-eur/pull/1001, - https://github.com/PyPSA/pypsa-eur/pull/959) - -* Bugfix: Adjust build year groups of existing capacities for consistency with - optimized capacities per planning horizon. The previous setup neglected some - existing heating capacities. (https://github.com/PyPSA/pypsa-eur/pull/1019) - -* Bugfix: Corrected a bug causing power plants to operate after their - ``DateOut``. Added additional grouping years before 1980. - (https://github.com/PyPSA/pypsa-eur/pull/958) - -* Bugfix: Allow modeling sector-coupled landlocked regions by handling the - absence of offshore wind. (https://github.com/PyPSA/pypsa-eur/pull/944) - -* Bugfix: Correct approximation of hydropower generation if Portugal or Spain - are not included. (https://github.com/PyPSA/pypsa-eur/pull/1054) - -* Bugfix: In :mod:`build_electricity_demand`, ensure load data is only added if - the country is included in the configuration. - (https://github.com/PyPSA/pypsa-eur/pull/1054) - -* Bugfix: Skip heat bus for CHPs in areas without central heating. - (https://github.com/PyPSA/pypsa-eur/pull/1021) - -* Bugfix: Avoid duplicated offshore regions. - -* Fixed type error with ``m`` option in :mod:`cluster_network`. - (https://github.com/PyPSA/pypsa-eur/pull/986) - -* Fixed error with ``symbol`` column of buses in :mod:`simplify_network`. - (https://github.com/PyPSA/pypsa-eur/pull/987) - -* Fixed index of existing capacities in - ``add_power_capacities_installed_before_baseyear`` with ``m`` option. - (https://github.com/PyPSA/pypsa-eur/pull/1002) - -* Fixed reading in custom busmaps in :mod:`cluster_network`. - (https://github.com/PyPSA/pypsa-eur/pull/1008) - -* Fixed ``p_nom_min`` of renewables generators for myopic approach and added - check of existing capacities in ``add_land_use_constraint_m``. - (https://github.com/PyPSA/pypsa-eur/pull/1022, - https://github.com/PyPSA/pypsa-eur/pull/1029) - -* Fixed duplicated years and grouping years reference in - ``add_land_use_constraint_m``. (https://github.com/PyPSA/pypsa-eur/pull/991, - https://github.com/PyPSA/pypsa-eur/pull/968) - -* Fixed filling of missing data in - ``build_industry_sector_ratios_intermediate``. - (https://github.com/PyPSA/pypsa-eur/pull/1004) - -* Fixed file name encoding in optional rule :mod:`build_biomass_transport_costs` - depending on the operating system. - (https://github.com/PyPSA/pypsa-eur/pull/769) - -* Technical fix for constraint function ``add_operational_reserve_margin``. - (https://github.com/PyPSA/pypsa-eur/pull/1071) - -* Technical fix for constraint function ``add_BAU_constraints``. - (https://github.com/PyPSA/pypsa-eur/pull/1024) - -* Fixed network clustering and simplification issues caused by adding TYNDP - links. (https://github.com/PyPSA/pypsa-eur/pull/1067) - -* Bugfix: Ensure correct indexing of weights in :mod:`cluster_network`. - (https://github.com/PyPSA/pypsa-eur/pull/988) - -* Bugfix: Only sanitize locations when there are buses with a location. - (https://github.com/PyPSA/pypsa-eur/pull/971) - -PyPSA-Eur 0.10.0 (19th February 2024) -===================================== - -**New Features** - -* Improved representation of industry transition pathways. A new script was - added to interpolate industry sector ratios from today's status quo to future - systems (i.e. specific emissions and demands for energy and feedstocks). For - each country we gradually switch industry processes from today's specific - energy carrier usage per ton material output to the best-in-class energy - consumption of tomorrow. This is done on a per-country basis. The ratio of - today to tomorrow's energy consumption is set with the ``industry: - sector_ratios_fraction_future:`` parameter - (https://github.com/PyPSA/pypsa-eur/pull/929). - -* Add new default to overdimension heating in individual buildings. This allows - them to cover heat demand peaks e.g. 10% higher than those in the data. The - disadvantage of manipulating the costs is that the capacity is then not quite - right. This way at least the costs are right - (https://github.com/PyPSA/pypsa-eur/pull/918). - -* Allow industrial coal demand to be regional so its emissions can be included - in regional emission limits (https://github.com/PyPSA/pypsa-eur/pull/923). - -* Add option to specify to set a default heating lifetime for existing heating - (``existing_capacities: default_heating_lifetime:``) - (https://github.com/PyPSA/pypsa-eur/pull/918). - -* Added option to specify turbine and solar panel models for specific years as a - dictionary (e.g. ``renewable: onwind: resource: turbine:``). The years will be - interpreted as years from when the the corresponding turbine model substitutes - the previous model for new installations. This will only have an effect on - workflows with foresight ``"myopic"`` and still needs to be added foresight - option ``"perfect"`` (https://github.com/PyPSA/pypsa-eur/pull/912). - -* New configuration option ``everywhere_powerplants`` to build conventional - powerplants everywhere, irrespective of existing powerplants locations, in the - network (https://github.com/PyPSA/pypsa-eur/pull/850). - -* Add the option to customise map projection in plotting config under - ``plotting: projection: name`` (https://github.com/PyPSA/pypsa-eur/pull/898). - -* Add support for the linopy ``io_api`` option under ``solving: options: - io_api:``. Set to ``"direct"`` to increase model reading and writing - performance for the highs and gurobi solvers on slow file systems - (https://github.com/PyPSA/pypsa-eur/pull/892). - -* It is now possible to determine the directory for shared resources by setting - `shared_resources` to a string (https://github.com/PyPSA/pypsa-eur/pull/906). - -* Improve ``mock_snakemake()`` for usage in Snakemake modules - (https://github.com/PyPSA/pypsa-eur/pull/869). - -**Breaking Changes** - -* Remove long-deprecated function ``attach_extendable_generators`` in - :mod:`add_electricity`. - -* Remove option for wave energy as technology data is not maintained. - -* The order of buses (bus0, bus1, ...) for DAC components has changed to meet - the convention of the other components. Therefore, `bus0` refers to the - electricity bus (input), `bus1` to the heat bus (input), 'bus2' to the CO2 - atmosphere bus (input), and `bus3` to the CO2 storage bus (output) - (https://github.com/PyPSA/pypsa-eur/pull/901). - -**Changes** - -* Upgrade default techno-economic assumptions to ``technology-data`` v0.8.0. - -* Update hydrogen pipeline losses to latest data from Danish Energy Agency - (https://github.com/PyPSA/pypsa-eur/pull/933). - -* Move building of daily heat profile to its own rule - :mod:`build_hourly_heat_demand` from :mod:`prepare_sector_network` - (https://github.com/PyPSA/pypsa-eur/pull/884). - -* In :mod:`build_energy_totals`, district heating shares are now reported in a - separate file (https://github.com/PyPSA/pypsa-eur/pull/884). - -* Move calculation of district heating share to its own rule - :mod:`build_district_heat_share` - (https://github.com/PyPSA/pypsa-eur/pull/884). - -* Move building of distribution of existing heating to own rule - :mod:`build_existing_heating_distribution`. This makes the distribution of - existing heating to urban/rural, residential/services and spatially more - transparent (https://github.com/PyPSA/pypsa-eur/pull/884). - -* Default settings for recycling rates and primary product shares of high-value - chemicals have been set in accordance with the values used in `Neumann et al. - (2023) `__ linearly interpolated - between 2020 and 2050. The recycling rates are based on data from `Agora - Energiewende (2021) - `__. - -* Air-sourced heat pumps can now also be built in rural areas. Previously, only - ground-sourced heat pumps were considered for this category - (https://github.com/PyPSA/pypsa-eur/pull/890). - -* The default configuration ``config/config.default.yaml`` is now automatically - used as a base configuration file. The file ``config/config.yaml`` can now be - used to only define deviations from the default configuration. The - ``config/config.default.yaml`` is still copied into ``config/config.yaml`` on - first usage (https://github.com/PyPSA/pypsa-eur/pull/925). - -* Regions are assigned to all buses with unique coordinates in the network with - a preference given to substations. Previously, only substations had assigned - regions, but this could lead to issues when a high spatial resolution was - applied (https://github.com/PyPSA/pypsa-eur/pull/922). - -* Define global constraint for CO2 emissions on the final state of charge of the - CO2 atmosphere store. This gives a more sparse constraint that should improve - the performance of the solving process - (https://github.com/PyPSA/pypsa-eur/pull/862). - -* Switched the energy totals year from 2011 to 2013 to comply with the assumed - default weather year (https://github.com/PyPSA/pypsa-eur/pull/934). - -* Cluster residential and services heat buses by default. Can be disabled with - ``cluster_heat_buses: false`` (https://github.com/PyPSA/pypsa-eur/pull/877). - -* The rule ``plot_network`` has been split into separate rules for plotting - electricity, hydrogen and gas networks - (https://github.com/PyPSA/pypsa-eur/pull/900). - -* To determine the optimal topology to meet the number of clusters, the workflow - used pyomo in combination with ``ipopt`` or ``gurobi``. This dependency has - been replaced by using ``linopy`` in combination with ``scipopt`` or - ``gurobi``. The environment file has been updated accordingly - (https://github.com/PyPSA/pypsa-eur/pull/903). - -* The ``highs`` solver was added to the default environment file. - -* New default solver settings for COPT solver - (https://github.com/PyPSA/pypsa-eur/pull/882). - -* Data retrieval rules now use their own minimal conda environment. This can - avoid unnecessary reruns of the workflow - (https://github.com/PyPSA/pypsa-eur/pull/888). - -* Merged two OPSD time series data versions into such that the option ``load: - power_statistics:`` becomes superfluous and was hence removed - (https://github.com/PyPSA/pypsa-eur/pull/924). - -* The filtering of power plants in the ``config.default.yaml`` has been updated - regarding phased-out power plants in 2023. - -* Include all countries in ammonia production resource. This is so that the full - EU28 ammonia demand can be correctly subtracted in the rule - :mod:`build_industry_sector_ratios` - (https://github.com/PyPSA/pypsa-eur/pull/931). - -* Correctly source the existing heating technologies for buildings since the - source URL has changed. It represents the year 2012 and is only for buildings, - not district heating (https://github.com/PyPSA/pypsa-eur/pull/918). - -* Add warning when BEV availability weekly profile has negative values in - `build_transport_demand` (https://github.com/PyPSA/pypsa-eur/pull/858). - -* Time series clipping for very small values was added for Links - (https://github.com/PyPSA/pypsa-eur/pull/870). - -* A ``test.sh`` script was added to the repository to run the tests locally. - -* The CI now tests additionally against ``master`` versions of PyPSA, atlite and - powerplantmatching (https://github.com/PyPSA/pypsa-eur/pull/904). - -* A function ``sanitize_locations()`` was added to improve the coverage of the - ``location`` attribute of network components. - -**Bugs and Compatibility** - -* Bugfix: Do not reduce district heat share when building population-weighted - energy statistics. Previously the district heating share was being multiplied - by the population weighting, reducing the DH share with multiple nodes - (https://github.com/PyPSA/pypsa-eur/pull/884). - -* Bugfix: The industry coal emissions for industry were not properly tracked - (https://github.com/PyPSA/pypsa-eur/pull/923). - -* Bugfix: Correct units of subtracted chlorine and methanol demand in - :mod:`build_industry_sector_ratios` - (https://github.com/PyPSA/pypsa-eur/pull/930). - -* Various minor bugfixes to the perfect foresight workflow, though perfect - foresight must still be considered experimental - (https://github.com/PyPSA/pypsa-eur/pull/910). - -* Fix plotting of retrofitted hydrogen pipelines with myopic pathway - optimisation (https://github.com/PyPSA/pypsa-eur/pull/937). - -* Bugfix: Correct technology keys for the electricity production plotting to - work out the box. - -* Bugfix: Assure entering of code block which corrects Norwegian heat demand - (https://github.com/PyPSA/pypsa-eur/pull/870). - -* Stacktrace of uncaught exceptions should now be correctly included inside log - files (via `configure_logging(..)`) - (https://github.com/PyPSA/pypsa-eur/pull/875). - -* Bugfix: Correctly read out number of solver threads from configuration file - (https://github.com/PyPSA/pypsa-eur/pull/889). - -* Made copying default config file compatible with snakemake module - (https://github.com/PyPSA/pypsa-eur/pull/894). - -* Compatibility with ``pandas=2.2`` - (https://github.com/PyPSA/pypsa-eur/pull/861). - -Special thanks for this release to Koen van Greevenbroek (`@koen-vg -`__) for various new features, bugfixes and taking -care of deprecations. - - -PyPSA-Eur 0.9.0 (5th January 2024) -================================== - -**New Features** - -* Add option to specify losses for bidirectional links, e.g. pipelines or HVDC - links, in configuration file under ``sector: transmission_efficiency:``. Users - can specify static or length-dependent values as well as a length-dependent - electricity demand for compression, which is implemented as a multi-link to - the local electricity buses. The bidirectional links will then be split into - two unidirectional links with linked capacities (https://github.com/PyPSA/pypsa-eur/pull/739). - -* Merged option to extend geographical scope to Ukraine and Moldova. These - countries are excluded by default and is currently constrained to power-sector - only parts of the workflow. A special config file - `config/config.entsoe-all.yaml` was added as an example to run the workflow - with all ENTSO-E member countries (including observer members like Ukraine and - Moldova). Moldova can currently only be included in conjunction with Ukraine - due to the absence of demand data. The Crimean power system is manually - reconnected to the main Ukrainian grid with the configuration option - `reconnect_crimea` (https://github.com/PyPSA/pypsa-eur/pull/321). - -* New experimental support for multi-decade optimisation with perfect foresight - (``foresight: perfect``). Maximum growth rates for carriers, global carbon - budget constraints and emission constraints for particular investment periods. - -* Add option to reference an additional source file where users can specify - custom ``extra_functionality`` constraints in the configuration file. The - default setting points to an empty hull at - ``data/custom_extra_functionality.py`` (https://github.com/PyPSA/pypsa-eur/pull/824). - -* Add locations, capacities and costs of existing gas storage using Global - Energy Monitor's `Europe Gas Tracker - `__ - (https://github.com/PyPSA/pypsa-eur/pull/835). - -* Add option to use `LUISA Base Map - `__ 50m land - coverage dataset for land eligibility analysis in - :mod:`build_renewable_profiles`. Settings are analogous to the CORINE dataset - but with the key ``luisa:`` in the configuration file. To leverage the - dataset's full advantages, set the excluder resolution to 50m - (``excluder_resolution: 50``). For land category codes, see `Annex 1 of the - technical documentation - `__ - (https://github.com/PyPSA/pypsa-eur/pull/842). - -* Add option to capture CO2 contained in biogas when upgrading (``sector: - biogas_to_gas_cc``) (https://github.com/PyPSA/pypsa-eur/pull/615). - -* If load shedding is activated, it is now applied to all carriers, not only - electricity (https://github.com/PyPSA/pypsa-eur/pull/784). - -* Add option for heat vents in district heating (``sector: - central_heat_vent:``). The combination of must-run conditions for some - power-to-X processes, waste heat usage enabled and decreasing heating demand, - can lead to infeasibilities in pathway optimisation for some investment - periods since larger Fischer-Tropsch capacities are needed in early years but - the waste heat exceeds the heat demand in later investment periods. - (https://github.com/PyPSA/pypsa-eur/pull/791). - -* Allow possibility to go from copperplated to regionally resolved methanol and - oil demand with switches ``sector: regional_methanol_demand: true`` and - ``sector: regional_oil_demand: true``. This allows nodal/regional CO2 - constraints to be applied (https://github.com/PyPSA/pypsa-eur/pull/827). - -* Allow retrofitting of existing gas boilers to hydrogen boilers in pathway - optimisation. - -* Add option to add time-varying CO2 emission prices (electricity-only, ``costs: - emission_prices: co2_monthly_prices: true``). This is linked to the new - ``{opts}`` wildcard option ``Ept``. - -* Network clustering can now consider efficiency classes when aggregating - carriers. The option ``clustering: consider_efficiency_classes:`` aggregates - each carriers into the top 10-quantile (high), the bottom 90-quantile (low), - and everything in between (medium). - -* Added option ``conventional: dynamic_fuel_price:`` to consider the monthly - fluctuating fuel prices for conventional generators. Refer to the CSV file - ``data/validation/monthly_fuel_price.csv``. - -* For hydro-electricity, add switches ``flatten_dispatch`` to consider an upper - limit for the hydro dispatch. The limit is given by the average capacity - factor plus the buffer given in ``flatten_dispatch_buffer``. - -* Extend options for waste heat usage from Haber-Bosch, methanolisation and - methanation (https://github.com/PyPSA/pypsa-eur/pull/834). - -* Add new ``sector_opts`` wildcard option "nowasteheat" to disable all waste - heat usage (https://github.com/PyPSA/pypsa-eur/pull/834). - -* Add new rule ``retrieve_irena`` to automatically retrieve up-to-date values - for existing renewables capacities (https://github.com/PyPSA/pypsa-eur/pull/756). - -* Print Irreducible Infeasible Subset (IIS) if model is infeasible. Only for - solvers with IIS support (https://github.com/PyPSA/pypsa-eur/pull/841). - -* More wildcard options now have a corresponding config entry. If the wildcard - is given, then its value is used. If the wildcard is not given but the options - in config are enabled, then the value from config is used. If neither is - given, the options are skipped (https://github.com/PyPSA/pypsa-eur/pull/827). - -* Validate downloads from Zenodo using MD5 checksums. This identifies corrupted - or incomplete downloads (https://github.com/PyPSA/pypsa-eur/pull/821). - -* Add rule ``sync`` to synchronise with a remote machine using the ``rsync`` - library. Configuration settings are found under ``remote:``. - -**Breaking Changes** - -* Remove all negative loads on the ``co2 atmosphere`` bus representing emissions - for e.g. fixed fossil demands for transport oil. Instead these are handled - more transparently with a fixed transport oil demand and a link taking care of - the emissions to the ``co2 atmosphere`` bus. This is also a preparation for - endogenous transport optimisation, where demand will be subject to - optimisation (e.g. fuel switching in the transport sector) - (https://github.com/PyPSA/pypsa-eur/pull/827). - -* Process emissions from steam crackers (i.e. naphtha processing for HVC) are - now piped from the consumption link to the process emissions bus where the - model can decide about carbon capture. Previously the process emissions for - naphtha were a fixed load (https://github.com/PyPSA/pypsa-eur/pull/827). - -* Distinguish between stored and sequestered CO2. Stored CO2 is stored - overground in tanks and can be used for CCU (e.g. methanolisation). - Sequestered CO2 is stored underground and can no longer be used for CCU. This - distinction is made because storage in tanks is more expensive than - underground storage. The link that connects stored and sequestered CO2 is - unidirectional (https://github.com/PyPSA/pypsa-eur/pull/844). - -* Files extracted from sector-coupled data bundle have been moved from ``data/`` - to ``data/sector-bundle``. - -* Split configuration to enable SMR and SMR CC (``sector: smr:`` and ``sector: - smr_cc:``) (https://github.com/PyPSA/pypsa-eur/pull/757). - -* Add separate option to add resistive heaters to the technology choices - (``sector: resistive_heaters:``). Previously they were always added when - boilers were added (https://github.com/PyPSA/pypsa-eur/pull/808). - -* Remove HELMETH option (``sector: helmeth:``). - -* Remove "conservative" renewable potentials estimation option - (https://github.com/PyPSA/pypsa-eur/pull/838). - -* With this release we stop posting updates to the network pre-builts. - -**Changes** - -* Updated Global Energy Monitor LNG terminal data to March 2023 version - (https://github.com/PyPSA/pypsa-eur/pull/707). - -* For industry distribution, use EPRTR as fallback if ETS data is not available - (https://github.com/PyPSA/pypsa-eur/pull/721). - -* It is now possible to specify years for biomass potentials which do not exist - in the JRC-ENSPRESO database, e.g. 2037. These are linearly interpolated - (https://github.com/PyPSA/pypsa-eur/pull/744). - -* In pathway mode, the biomass potential is linked to the investment year - (https://github.com/PyPSA/pypsa-eur/pull/744). - -* Increase allowed deployment density of solar to 5.1 MW/sqkm by default. - -* Default to full electrification of land transport by 2050. - -* Provide exogenous transition settings in 5-year steps. - -* Default to approximating transmission losses in HVAC lines - (``transmission_losses: 2``). - -* Use electrolysis waste heat by default. - -* Set minimum part loads for PtX processes to 30% for methanolisation and - methanation, and to 70% for Fischer-Tropsch synthesis. - -* Add VOM as marginal cost to PtX processes - (https://github.com/PyPSA/pypsa-eur/pull/830). - -* Add pelletizing costs for biomass boilers (https://github.com/PyPSA/pypsa-eur/pull/833). - -* Update default offshore wind turbine model to "NREL Reference 2020 ATB 5.5 MW" - (https://github.com/PyPSA/pypsa-eur/pull/832). - -* Switch to using hydrogen and electricity inputs for Haber-Bosch from - https://github.com/PyPSA/technology-data (https://github.com/PyPSA/pypsa-eur/pull/831). - -* The configuration setting for country focus weights when clustering the - network has been moved from ``focus_weights:`` to ``clustering: - focus_weights:``. Backwards compatibility to old config files is maintained - (https://github.com/PyPSA/pypsa-eur/pull/794). - -* The ``mock_snakemake`` function can now be used with a Snakefile from a - different directory using the new ``root_dir`` argument - (https://github.com/PyPSA/pypsa-eur/pull/771). - -* Rule ``purge`` now initiates a dialog to confirm if purge is desired - (https://github.com/PyPSA/pypsa-eur/pull/745). - -* Files downloaded from zenodo are now write-protected to prevent accidental - re-download (https://github.com/PyPSA/pypsa-eur/pull/730). - -* Performance improvements for rule ``build_ship_raster`` - (https://github.com/PyPSA/pypsa-eur/pull/845). - -* Improve time logging in :mod:`build_renewable_profiles` - (https://github.com/PyPSA/pypsa-eur/pull/837). - -* In myopic pathway optimisation, disable power grid expansion if line volume - already hit (https://github.com/PyPSA/pypsa-eur/pull/840). - -* JRC-ENSPRESO data is now downloaded from a Zenodo mirror because the link was - unreliable (https://github.com/PyPSA/pypsa-eur/pull/801). - -* Add focus weights option for clustering to documentation - (https://github.com/PyPSA/pypsa-eur/pull/781). - -* Add proxy for biomass transport costs if no explicit biomass transport network - is considered (https://github.com/PyPSA/pypsa-eur/pull/711). - -**Bugs and Compatibility** - -* The minimum PyPSA version is now 0.26.1. - -* Update to ``tsam>=0.2.3`` for performance improvements in temporal clustering. - -* Pin ``snakemake`` version to below 8.0.0, as the new version is not yet - supported. The next release will switch to the requirement ``snakemake>=8``. - -* Bugfix: Add coke and coal demand for integrated steelworks - (https://github.com/PyPSA/pypsa-eur/pull/718). - -* Bugfix: Make :mod:`build_renewable_profiles` consider subsets of cutout time - scope (https://github.com/PyPSA/pypsa-eur/pull/709). - -* Bugfix: In :mod:`simplify network`, remove 'underground' column to avoid - consense error (https://github.com/PyPSA/pypsa-eur/pull/714). - -* Bugfix: Fix in :mod:`add_existing_baseyear` to account for the case when there - is no rural heating demand for some nodes in network - (https://github.com/PyPSA/pypsa-eur/pull/706). - -* Bugfix: The unit of the capital cost of Haber-Bosch plants was corrected - (https://github.com/PyPSA/pypsa-eur/pull/829). - -* The minimum capacity for renewable generators when using the myopic option has - been fixed (https://github.com/PyPSA/pypsa-eur/pull/728). - -* Compatibility for running with single node and single country - (https://github.com/PyPSA/pypsa-eur/pull/839). - -* A bug preventing the addition of custom powerplants specified in - ``data/custom_powerplants.csv`` was fixed. - (https://github.com/PyPSA/pypsa-eur/pull/732) - -* Fix nodal fraction in :mod:`add_existing_year` when using distributed - generators (https://github.com/PyPSA/pypsa-eur/pull/798). - -* Bugfix: District heating without progress caused division by zero - (https://github.com/PyPSA/pypsa-eur/pull/796). - -* Bugfix: Drop duplicates in :mod:`build_industrial_distribution_keys`, which - can occur through the geopandas ``.sjoin()`` function if a point is located on - a border (https://github.com/PyPSA/pypsa-eur/pull/726). - -* For network clustering fall back to ``ipopt`` when ``highs`` is designated - solver (https://github.com/PyPSA/pypsa-eur/pull/795). - -* Fix typo in buses definition for oil boilers in ``add_industry`` in - :mod:`prepare_sector_network` (https://github.com/PyPSA/pypsa-eur/pull/812). - -* Resolve code issues for endogenous building retrofitting. Select correct - sector names, address deprecations, distinguish between district heating, - decentral heating in urban areas or rural areas for floor area calculations - (https://github.com/PyPSA/pypsa-eur/pull/808). - -* Addressed various deprecations. - - -PyPSA-Eur 0.8.1 (27th July 2023) -================================ - -**New Features** - -* Add option to consider dynamic line rating based on wind speeds and - temperature according to `Glaum and Hofmann (2022) - `__. See configuration section ``lines: - dynamic_line_rating:`` for more details. (https://github.com/PyPSA/pypsa-eur/pull/675) - -* Add option to include a piecewise linear approximation of transmission losses, - e.g. by setting ``solving: options: transmission_losses: 2`` for an - approximation with two tangents. (https://github.com/PyPSA/pypsa-eur/pull/664) - -* Add plain hydrogen turbine as additional re-electrification option besides - hydrogen fuel cell. Add switches for both re-electrification options under - ``sector: hydrogen_turbine:`` and ``sector: hydrogen_fuel_cell:``. - (https://github.com/PyPSA/pypsa-eur/pull/647) - -* Added configuration option ``lines: max_extension:`` and ``links: - max_extension:``` to control the maximum capacity addition per line or link in - MW. (https://github.com/PyPSA/pypsa-eur/pull/665) - -* A ``param:`` section in the snakemake rule definitions was added to track - changed settings in ``config.yaml``. The goal is to automatically re-execute - rules where parameters have changed. See `Non-file parameters for rules - `__ - in the snakemake documentation. (https://github.com/PyPSA/pypsa-eur/pull/663) - -* A new function named ``sanitize_carrier`` ensures that all unique carrier - names are present in the network's carriers attribute, and adds nice names and - colors for each carrier according to the provided configuration dictionary. - (https://github.com/PyPSA/pypsa-eur/pull/653, - https://github.com/PyPSA/pypsa-eur/pull/690) - -* The configuration settings have been documented in more detail. - (https://github.com/PyPSA/pypsa-eur/pull/685) - -**Breaking Changes** - -* The configuration files are now located in the ``config`` directory. This - includes the ``config.default.yaml``, ``config.yaml`` as well as the test - configuration files which are now located in the ``config/test`` directory. - Config files that are still in the root directory will be ignored. - (https://github.com/PyPSA/pypsa-eur/pull/640) - -* Renamed script and rule name from ``build_load_data`` to - ``build_electricity_demand`` and ``retrieve_load_data`` to - ``retrieve_electricity_demand``. (https://github.com/PyPSA/pypsa-eur/pull/642, - https://github.com/PyPSA/pypsa-eur/pull/652) - -* Updated to new spatial clustering module introduced in PyPSA v0.25. - (https://github.com/PyPSA/pypsa-eur/pull/696) - -**Changes** - -* Handling networks with links with multiple inputs/outputs no longer requires - to override component attributes. - (https://github.com/PyPSA/pypsa-eur/pull/695) - -* Added configuration option ``enable: retrieve:`` to control whether data - retrieval rules from snakemake are enabled or not. Th default setting ``auto`` - will automatically detect and enable/disable the rules based on internet - connectivity. (https://github.com/PyPSA/pypsa-eur/pull/694) - -* Update to ``technology-data`` v0.6.0. - (https://github.com/PyPSA/pypsa-eur/pull/704) - -* Handle data bundle extraction paths via ``snakemake.output``. - -* Additional technologies are added to ``tech_color`` in the configuration files - to include previously unlisted carriers. - -* Doc: Added note that Windows is only tested in CI with WSL. - (https://github.com/PyPSA/pypsa-eur/issues/697) - -* Doc: Add support section. (https://github.com/PyPSA/pypsa-eur/pull/656) - -* Open ``rasterio`` files with ``rioxarray``. - (https://github.com/PyPSA/pypsa-eur/pull/474) - -* Migrate CI to ``micromamba``. (https://github.com/PyPSA/pypsa-eur/pull/700) - -**Bugs and Compatibility** - -* The new minimum PyPSA version is v0.25.1. - -* Removed ``vresutils`` dependency. - (https://github.com/PyPSA/pypsa-eur/pull/662) - -* Adapt to new ``powerplantmatching`` version. - (https://github.com/PyPSA/pypsa-eur/pull/687, - https://github.com/PyPSA/pypsa-eur/pull/701) - -* Bugfix: Correct typo in the CPLEX solver configuration in - ``config.default.yaml``. (https://github.com/PyPSA/pypsa-eur/pull/630) - -* Bugfix: Error in ``add_electricity`` where carriers were added multiple times - to the network, resulting in a non-unique carriers error. - -* Bugfix of optional reserve constraint. - (https://github.com/PyPSA/pypsa-eur/pull/645) - -* Fix broken equity constraints logic. - (https://github.com/PyPSA/pypsa-eur/pull/679) - -* Fix addition of load shedding generators. - (https://github.com/PyPSA/pypsa-eur/pull/649) - -* Fix automatic building of documentation on readthedocs.org. - (https://github.com/PyPSA/pypsa-eur/pull/658) - -* Bugfix: Update network clustering to avoid adding deleted links in clustered - network. (https://github.com/PyPSA/pypsa-eur/pull/678) - -* Address ``geopandas`` deprecations. - (https://github.com/PyPSA/pypsa-eur/pull/678) - -* Fix bug with underground hydrogen storage creation, where for some small model - regions no cavern storage is available. - (https://github.com/PyPSA/pypsa-eur/pull/672) - - -* Addressed deprecation warnings for ``pandas=2.0``. ``pandas=2.0`` is now minimum requirement. - -PyPSA-Eur 0.8.0 (18th March 2023) -================================= - -.. note:: - This is the first release of PyPSA-Eur which incorporates its sector-coupled extension PyPSA-Eur-Sec (v0.7.0). - PyPSA-Eur can now directly be used for high-resolution energy system modelling with sector-coupling - including industry, transport, buildings, biomass, and detailed carbon management. The PyPSA-Eur-Sec repository is now deprecated. - -* The :mod:`solve_network` script now uses the ``linopy`` backend of PyPSA and is applied for both electricity-only and sector-coupled models. This - requires an adjustment of custom ``extra_functionality``. - See the `migration guide `__ in the PyPSA documentation. - -* The configuration file ``config.default.yaml`` now also includes settings for - sector-coupled models, which will be ignored when the user runs - electricity-only studies. Common settings have been aligned. - -* Unified handling of scenario runs. Users can name their scenarios in ``run: - name:``, which will encapsulate results in a correspondingly named folder - under ``results``. Additionally, users can select to encapsulate the ``resources`` folder - in the same way, through the setting ``run: shared_resources:``. - -* The solver configurations in ``config.default.yaml`` are now modularized. To - change the set of solver options, change to value in ``solving: solver: - options:`` to one of the keys in ``solving: solver_options:``. - -* The ``Snakefile`` has been modularised. Rules are now organised in the - ``rules`` directory. - -* Unified wildcard for transmission line expansion from ``{lv}`` and ``{ll}`` to - ``{ll}``. - -* Renamed collection rules to distinguish between sector-coupled and - electricity-only runs: ``cluster_networks``, ``extra_components_networks``, - ``prepare_elec_networks``, ``prepare_sector_networks``, - ``solve_elec_networks``, ``solve_sector_networks``, ``plot_networks``, - ``all``. - -* Some rules with a small computational footprint have been declared as ``localrules``. - -* Added new utility rules ``purge`` for clearing workflow outputs from the - directory, ``doc`` to build the documentation, and ``dag`` to create a - workflow graph. - -* The workflow can now be used with the ``snakemake --use-conda`` directive. In - this way, Snakemake can automatically handle the installation of dependencies. - -* Data retrieval rules now retry download twice in case of connection problems. - -* The cutouts are now marked as ``protected()`` in the workflow to avoid - accidental recomputation. - -* The files contained in ``data/bundle`` are now marked as ``ancient()`` as they - are not expected to be altered by workflow changes. - -* Preparation scripts for sector-coupled models have been improved to only run - for the subset of selected countries rather than all European countries. - -* Added largely automated country code conversion using ``country_converter``.. - -* Test coverage extended to an electricity-only run and sector-coupled runs for - overnight and myopic foresight scenarios for Ubuntu, MacOS and Windows. - -* Apply ``black`` and ``snakefmt`` code formatting. - -* Implemented REUSE compatibility for merged code. - -* Merged documentations of PyPSA-Eur and PyPSA-Eur-Sec. - -* Added a tutorial for running sector-coupled models to the documentation - (:ref:`tutorial_sector`). - -* Deleted ``config.tutorial.yaml``, which is superseded by - ``test/config.electricity.yaml``. - -* The ``mock_snakemake`` function now also takes configuration files as inputs. - -* The helper scripts ``helper.py`` and ``_helpers.py`` have been merged into - ``_helpers.py``. - -* The unused rule ``plot_p_nom_max`` has been removed. - -* The rule ``solve_network`` from PyPSA-Eur-Sec was renamed to - ``solve_sector_network``. - -* The plotting scripts from PyPSA-Eur (electricity-only) have been removed and - are superseded by those from PyPSA-Eur-Sec (sector-coupled). - -PyPSA-Eur Releases (pre-merge) -============================== - -PyPSA-Eur 0.7.0 (16th February 2023) ------------------------------------- - - -**New Features** - -* Carriers of generators can now be excluded from aggregation in clustering - network and simplify network (see ``exclude_carriers``). - -* Added control for removing stubs in :mod:`simplify_network` with options - ``remove_stubs`` and ``remove_stubs_across_countries``. - -* Add control for showing a progressbar in ``atlite`` processes - (``show_progress``). Disabling the progressbar saves a lot of time. - -* Added control for resolution of land eligibility analysis (see - ``excluder_resolution``). - - -**Breaking Changes** - -* The config entry ``snapshots: closed:`` was renamed to ``snapshots: - inclusive:`` to address the upstream deprecation with ``pandas=1.4``. The - previous setting ``None`` is no longer supported and replaced by ``both``, see - the `pandas documentation - `__. - Minimum version is now ``pandas>=1.4``. - -* The configuration setting ``summary_dir`` was removed. - - -**Changes** - -* Configuration defaults to new ``technology-data`` version 0.5.0. - -* Fixed CRS warnings when projection of datasets was not specified. - -* Cleaned shape unary unions. - -* Increased resource requirements for some rules. - -* Updated documentation. - -* The documentation now uses the ``sphinx_book_theme``. - - -**Bugs and Compatibility** - - -* Bugfix: Corrected extent of natural protection areas in :mod:`build_natura_raster`. - -* Bugfix: Use correct load variables for formulating reserve constraints. - -* Bugfix: Use all available energy-to-power ratios for hydropower plants. - -* Bugfix: The most recent processing of the ``entsoegridkit`` extract required - further manual corrections. Also, the connection points of TYNDP links were - corrected. - -* Bugfix: Handle absence of hydropower inflow in ``EQ`` constraint. - -* Compatibility with ``pyomo>=6.4.3`` in :mod:`cluster_network`. - -* Upgrade to ``shapely>=2``. - -* Updated version of CI cache action to version 3. -* -* Updated dependency constraints in ``environment.yaml``. - -* Address various deprecation warnings. - - - -PyPSA-Eur 0.6.1 (20th September 2022) -------------------------------------- - -* Individual commits are now tested against pre-commit hooks. This includes - black style formatting, sorting of package imports, Snakefile formatting and - others. Installation instructions can for the pre-commit can be found `here - `__. - -* Pre-commit CI is now part of the repository's CI. - -* The software now supports running the workflow with different settings within - the same directory. A new config section ``run`` was created that specifies - under which scenario ``name`` the created resources, networks and results - should be stored. If ``name`` is not specified, the workflow uses the default - paths. The entry ``shared_cutouts`` specifies whether the run should use - cutouts from the default root directory or use run-specific cutouts. - -* The heuristic distribution of today's renewable capacity installations is now - enabled by default. - -* The marginal costs of conventional generators are now taking the plant-specific - efficiency into account where available. - -PyPSA-Eur 0.6.0 (10th September 2022) -------------------------------------- - -* Functionality to consider shipping routes when calculating the available area - for offshore technologies were added. Data for the shipping density comes from - the `Global Shipping Traffic Density dataset - `__. - -* When transforming all transmission lines to a unified voltage level of 380kV, - the workflow now preserves the transmission capacity rather than electrical - impedance and reactance. - -* Memory resources are now specified for all rules. - -* Filtering of power plant data was adjusted to new versions of - ``powerplantmatching``. - -* The resolution of land exclusion calculation is now a configurable option. See - setting ``excluder_resolution``. - - -PyPSA-Eur 0.5.0 (27th July 2022) --------------------------------- - -**New Features** - -* New network topology extracted from the ENTSO-E interactive map. -* Added existing renewable capacities for all countries based on IRENA - statistics (IRENASTAT) using new ``powerplantmatching`` version: -* The corresponding ``config`` entries changed from ``estimate_renewable_capacities_from_capacity_stats`` to ``estimate_renewable_capacities``. -* The estimation is endabled by setting the subkey ``enable`` to ``True``. -* Configuration of reference year for capacities can be configured (default: ``2020``) -* The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution. -* Uniform expansion limit of renewable build-up based on existing capacities - can be configured using ``expansion_limit`` option (default: ``false``; - limited to determined renewable potentials) -* Distribution of country-level capacities proportional to maximum annual - energy yield for each bus region -* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved - under the section, ``estimate_renewable_capacities``. To enable it, set - ``from_opsd`` to ``True``. - -* Add operational reserve margin constraint analogous to `GenX implementation - `__. Can be activated - with config setting ``electricity: operational_reserve:``. - -* Implement country-specific Energy Availability Factors (EAFs) for nuclear - power plants based on IAEA 2018-2020 reported country averages. These are - specified ``data/nuclear_p_max_pu.csv`` and translate to static ``p_max_pu`` - values. - -* Add function to add global constraint on use of gas in :mod:`prepare_network`. - This can be activated by including the keyword ``CH4L`` in the ``{opts}`` - wildcard which enforces the limit set in ``electricity: gaslimit:`` given in - MWh thermal. Alternatively, it is possible to append a number in the ``{opts}`` - wildcard, e.g. ``CH4L200`` which limits the gas use to 200 TWh thermal. - -* Add option to alter marginal costs of a carrier through ``{opts}`` wildcard: - ``+m``, e.g. ``gas+m2.5``, will multiply the default marginal - cost for gas by factor 2.5. - -* Hierarchical clustering was introduced. Distance metric is calculated from - renewable potentials on hourly (feature entry ends with ``-time``) or annual - (feature entry in config end with ``-cap``) values. - -* Greedy modularity clustering was introduced. Distance metric is based on electrical distance taking into account the impedance of all transmission lines of the network. - -* Techno-economic parameters of technologies (e.g. costs and efficiencies) will - now be retrieved from a separate repository `PyPSA/technology-data - `__ that collects assumptions from a - variety of sources. It is activated by default with ``enable: - retrieve_cost_data: true`` and controlled with ``costs: year:`` and ``costs: - version:``. The location of this data changed from ``data/costs.csv`` to - ``resources/costs.csv`` [`#184 - `__]. - -* A new section ``conventional`` was added to the config file. This section - contains configurations for conventional carriers. - -* Add configuration option to implement arbitrary generator attributes for - conventional generation technologies. - -* Add option to set CO2 emission prices through ``{opts}`` wildcard: ``Ep``, - e.g. ``Ep180``, will set the EUR/tCO2 price. - -**Changes** - -* Add an efficiency factor of 88.55% to offshore wind capacity factors as a - proxy for wake losses. More rigorous modelling is `planned - `__ [`#277 - `__]. - -* Following discussion in `#285 - `__ we have disabled the - correction factor for solar PV capacity factors by default while satellite - data is used. A correction factor of 0.854337 is recommended if reanalysis - data like ERA5 is used. - -* The default deployment density of AC- and DC-connected offshore wind capacity - is reduced from 3 MW/sqkm to a more conservative estimate of 2 MW/sqkm [`#280 - `__]. - -* The inclusion of renewable carriers is now specified in the config entry - ``renewable_carriers``. Before this was done by commenting/uncommenting - sub-sections in the ``renewable`` config section. - -* Now, all carriers that should be extendable have to be listed in the config - entry ``extendable_carriers``. Before, renewable carriers were always set to - be extendable. For backwards compatibility, the workflow is still looking at - the listed carriers under the ``renewable`` key. In the future, all of them - have to be listed under ``extendable_carriers``. - -* It is now possible to set conventional power plants as extendable by adding - them to the list of extendable ``Generator`` carriers in the config. - -* Listing conventional carriers in ``extendable_carriers`` but not in - ``conventional_carriers``, sets the corresponding conventional power plants as - extendable without a lower capacity bound of today's capacities. - -* Now, conventional carriers have an assigned capital cost by default. - -* The ``build_year`` and ``lifetime`` column are now defined for conventional - power plants. - -* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and - additional variables. - -* Resource definitions for memory usage now follow `Snakemake standard resource - definition - `__ - ``mem_mb`` rather than ``mem``. - -* The powerplants that have been shut down by 2021 are filtered out. - -* Updated historical `EIA hydro generation data `__. - -* Network building is made deterministic by supplying a fixed random state to - network clustering routines. - -* Clustering strategies for generator and bus attributes can now be specified directly in the ``config/config.yaml``. - -* Iterative solving with impedance updates is skipped if there are no expandable - lines. - -* The unused argument ``simple_hvdc_costs`` in :mod:`add_electricity` was - removed. - -* Switch from Germany to Belgium for continuous integration and tutorial to save - resources. - -* It is now possible to skip the progressbar for land eligibility calculations for additional speedup. - -**Bugs and Compatibility** - -* Fix crs bug. Change crs 4236 to 4326. - -* ``powerplantmatching>=0.5.1`` is now required for ``IRENASTATS``. - -* Update rasterio version to correctly calculate exclusion raster. - -* It is now possible to run the workflow with only landlocked countries. - -* Bugfixes for manual load adjustments across years. - -* Enable parallel computing with new dask version. - -* Restore compatibility of ``mock_snakemake`` with latest Snakemake versions. - -* Script ``build_bus_regions``: move voronoi partition from vresutils to script. - -* Script ``add_electricity``: remove ``vresutils.costdata.annuity`` dependency. - -* Fix the plot_network snakemake rule. - -* Compatibility with pandas 1.4. Address deprecations. - -* Restore Windows compatibility by using ``shutil.move`` rather than ``mv``. - - -Synchronisation Release - Ukraine and Moldova (17th March 2022) ---------------------------------------------------------------- - -On March 16, 2022, the transmission networks of Ukraine and Moldova have -successfully been `synchronised with the continental European grid `__. We have taken -this as an opportunity to add the power systems of Ukraine and Moldova to -PyPSA-Eur. This includes: - -.. image:: img/synchronisation.png - :width: 500 - -* the transmission network topology from the `ENTSO-E interactive map `__. - -* existing power plants (incl. nuclear, coal, gas and hydro) from the `powerplantmatching `__ tool - -* country-level load time series from ENTSO-E through the `OPSD platform `__, which are then distributed heuristically to substations by GDP and population density. - -* wind and solar profiles based on ERA5 and SARAH-2 weather data - -* hydro profiles based on historical `EIA generation data `__ - -* a simplified calculation of wind and solar potentials based on the `Copernicus Land Cover dataset `__. - -* electrical characteristics of 750 kV transmission lines - -The Crimean power system is currently disconnected from the main Ukrainian grid and, hence, not included. - -This release is not on the ``master`` branch. It can be used with - -.. code-block:: bash - - git clone https://github.com/pypsa/pypsa-eur - git checkout synchronisation-release - - -PyPSA-Eur 0.4.0 (22th September 2021) -------------------------------------- - -**New Features and Changes** - -* With this release, we change the license from copyleft GPLv3 to the more - liberal MIT license with the consent of all contributors - [`#276 `__]. - -* Switch to the new major ``atlite`` release v0.2. The version upgrade comes - along with significant speed up for the rule ``build_renewable_profiles.py`` - (~factor 2). A lot of the code which calculated the land-use availability is now - outsourced and does not rely on ``glaes``, ``geokit`` anymore. This facilitates - the environment building and version compatibility of ``gdal``, ``libgdal`` with - other packages [`#224 `__]. - -* Implemented changes to ``n.snapshot_weightings`` in new PyPSA version v0.18 - (cf. `PyPSA/PyPSA/#227 `__) - [`#259 `__]. - -* Add option to pre-aggregate nodes without power injections (positive or - negative, i.e. generation or demand) to electrically closest nodes or neighbors - in ``simplify_network``. Defaults to ``False``. This affects nodes that are no - substations or have no offshore connection. - -* In :mod:`simplify_network`, bus columns with no longer correct entries are - removed (symbol, tags, under_construction, substation_lv, substation_off) - [`#219 `__] - -* Add option to include marginal costs of links representing fuel cells, - electrolysis, and battery inverters - [`#232 `__]. - -* The rule and script ``build_country_flh`` are removed as they are no longer - used or maintained. - -* The connection cost of generators in :mod:`simplify_network` are now reported - in ``resources/connection_costs_s{simpl}.csv`` - [`#261 `__]. - -* The tutorial cutout was renamed from ``cutouts/europe-2013-era5.nc`` to - ``cutouts/be-03-2013-era5.nc`` to accommodate tutorial and productive - cutouts side-by-side. - -* The flag ``keep_all_available_areas`` in the configuration for renewable - potentials was deprecated and now defaults to ``True``. - -* Update dependencies in ``envs/environment.yaml`` - [`#257 `__] - -* Continuous integration testing switches to Github Actions from Travis CI - [`#252 `__]. - -* Documentation on readthedocs.io is now built with ``pip`` only and no longer - requires ``conda`` [`#267 `__]. - -* Use ``Citation.cff`` [`#273 `__]. - -**Bugs and Compatibility** - - -* Support for PyPSA v0.18 [`#268 `__]. - -* Minimum Python version set to ``3.8``. - -* Removed ``six`` dependency [`#245 `__]. - -* Update :mod:`plot_network` and :mod:`make_summary` rules to latest PyPSA - versions [`#270 `__]. - -* Keep converter links to store components when using the ``ATK`` - wildcard and only remove DC links [`#214 `__]. - -* Value for ``co2base`` in ``config.yaml`` adjusted to 1.487e9 t CO2-eq - (from 3.1e9 t CO2-eq). The new value represents emissions related to the - electricity sector for EU+UK+Balkan. The old value was too high and used when - the emissions wildcard in ``{opts}`` was used - [`#233 `__]. - -* Add escape in :mod:`base_network` if all TYNDP links are already - contained in the network - [`#246 `__]. - -* In :mod:`solve_operations_network` the optimised capacities are now - fixed for all extendable links, not only HVDC links - [`#244 `__]. - -* The ``focus_weights`` are now also considered when pre-clustering in - the :mod:`simplify_network` rule - [`#241 `__]. - -* in :mod:`build_renewable_profile` where offshore wind profiles could - no longer be created [`#249 `__]. - -* Lower expansion limit of extendable carriers is now set to the - existing capacity, i.e. ``p_nom_min = p_nom`` (0 before). Simultaneously, the - upper limit (``p_nom_max``) is now the maximum of the installed capacity - (``p_nom``) and the previous estimate based on land availability (``p_nom_max``) - [`#260 `__]. - -* Solving an operations network now includes optimized store capacities - as well. Before only lines, links, generators and storage units were considered - [`#269 `__]. - -* With ``load_shedding: true`` in the solving options of ``config.yaml`` - load shedding generators are only added at the AC buses, excluding buses for H2 - and battery stores [`#269 `__]. - -* Delete duplicated capital costs at battery discharge link - [`#240 `__]. - -* Propagate the solver log file name to the solver. Previously, the - PyPSA network solving functions were not told about the solver logfile specified - in the Snakemake file [`#247 `__] - -PyPSA-Eur 0.3.0 (7th December 2020) ------------------------------------ - -**New Features** - -Using the ``{opts}`` wildcard for scenario: - -* An option is introduced which adds constraints such that each country or node produces on average a minimal share of its total consumption itself. - For example ``EQ0.5c`` set in the ``{opts}`` wildcard requires each country to produce on average at least 50% of its consumption. Additionally, - the option ``ATK`` requires autarky at each node and removes all means of power transmission through lines and links. ``ATKc`` only removes - cross-border transfer capacities. - [`#166 `__]. - -* Added an option to alter the capital cost (``c``) or installable potentials (``p``) of carriers by a factor via ``carrier+{c,p}factor`` in the ``{opts}`` wildcard. - This can be useful for exploring uncertain cost parameters. - Example: ``solar+c0.5`` reduces the capital cost of solar to 50% of original values - [`#167 `__, `#207 `__]. - -* Added an option to the ``{opts}`` wildcard that applies a time series segmentation algorithm based on renewables, hydro inflow and load time series - to produce a given total number of adjacent snapshots of varying lengths. - This feature is an alternative to downsampling the temporal resolution by simply averaging and - uses the `tsam `__ package - [`#186 `__]. - - -More OPSD integration: - -* Add renewable power plants from `OPSD `__ to the network for specified technologies. - This will overwrite the capacities calculated from the heuristic approach in :func:`estimate_renewable_capacities()` - [`#212 `__]. - -* Electricity consumption data is now retrieved directly from the `OPSD website `__ using the rule :mod:`build_electricity_demand`. - The user can decide whether to take the ENTSO-E power statistics data (default) or the ENTSO-E transparency data - [`#211 `__]. - -Other: - -* Added an option to use custom busmaps in rule :mod:`cluster_network`. To use this feature set ``enable: custom_busmap: true``. - Then, the rule looks for custom busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv``, - which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``. - i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc`` - [`#193 `__]. - -* Line and link capacities can be capped in the ``config.yaml`` at ``lines: s_nom_max:`` and ``links: p_nom_max``: - [`#166 `__]. - -* Added Google Cloud Platform tutorial (for Windows users) - [`#177 `__]. - -**Changes** - -* Don't remove capital costs from lines and links, when imposing a line volume limit (``lv``) or a line cost limit (``lc``). - Previously, these were removed to move the expansion in direction of the limit - [`#183 `__]. - -* The mappings for clustered lines and buses produced by the :mod:`simplify_network` and :mod:`cluster_network` rules - changed from Hierarchical Data Format (``.h5``) to Comma-Separated Values format (``.csv``) for ease of use. - [`#198 `__] - -* The N-1 security margin for transmission lines is now fixed to a provided value in ``config.yaml``, - removing an undocumented linear interpolation between 0.5 and 0.7 in the range between 37 and 200 nodes. - [`#199 `__]. - -* Modelling hydrogen and battery storage with Store and Link components is now the default, - rather than using StorageUnit components with fixed power-to-energy ratio - [`#205 `__]. - -* Use ``mamba`` (https://github.com/mamba-org/mamba) for faster Travis CI builds - [`#196 `__]. - -* Multiple smaller changes: Removed unused ``{network}`` wildcard, moved environment files to dedicated ``envs`` folder, - removed sector-coupling components from configuration files, updated documentation colors, minor refactoring and code cleaning - [`#190 `__]. - -**Bugs and Compatibility** - -* Add compatibility for pyomo 5.7.0 in :mod:`cluster_network` and :mod:`simplify_network` - [`#172 `__]. - -* Fixed a bug for storage units such that individual store and dispatch efficiencies are correctly taken account of rather than only their round-trip efficiencies. - In the cost database (``data/costs.csv``) the efficiency of battery inverters should be stated as per discharge/charge rather than per roundtrip - [`#202 `__]. - -* Corrected exogenous emission price setting (in ``config: cost: emission price:``), - which now correctly accounts for the efficiency and effective emission of the generators - [`#171 `__]. - -* Corrected HVDC link connections (a) between Norway and Denmark and (b) mainland Italy, Corsica (FR) and Sardinia (IT) - as well as for East-Western and Anglo-Scottish interconnectors - [`#181 `__, `#206 `__]. - -* Fix bug of clustering ``offwind-{ac,dc}`` generators in the option of high-resolution generators for renewables. - Now, there are more sites for ``offwind-{ac,dc}`` available than network nodes. - Before, they were clustered to the resolution of the network (``elec_s1024_37m.nc``: 37 network nodes, 1024 generators) - [`#191 `__]. - -* Raise a warning if ``tech_colors`` in the config are not defined for all carriers - [`#178 `__]. - - -PyPSA-Eur 0.2.0 (8th June 2020) -------------------------------- - -* The optimization is now performed using the ``pyomo=False`` setting in the :func:`pypsa.lopf.network_lopf`. This speeds up the solving process significantly and consumes much less memory. The inclusion of additional constraints were adjusted to the new implementation. They are all passed to the :func:`network_lopf` function via the ``extra_functionality`` argument. The rule ``trace_solve_network`` was integrated into the rule :mod:`solve_network` and can be activated via configuration with ``solving: options: track_iterations: true``. The charging and discharging capacities of batteries modelled as store-link combination are now coupled [`#116 `__]. - -* An updated extract of the `ENTSO-E Transmission System Map `__ (including Malta) was added to the repository using the `GridKit `__ tool. This tool has been updated to retrieve up-to-date map extracts using a single `script `__. The update extract features 5322 buses, 6574 lines, 46 links. [`#118 `__]. - -* Added `FSFE REUSE `__ compliant license information. Documentation now licensed under CC-BY-4.0 [`#160 `__]. - -* Added a 30 minute `video introduction `__ and a 20 minute `video tutorial `__ - -* Networks now store a color and a nicely formatted name for each carrier, accessible via ``n.carrier['color']`` and ``n.carrier['nice_name'] ``(networks after ``elec.nc``). - -* Added an option to skip iterative solving usually performed to update the line impedances of expanded lines at ``solving: options: skip_iterations:``. - -* ``snakemake`` rules for retrieving cutouts and the natura raster can now be disabled independently from their respective rules to build them; via ``config.*yaml`` [`#136 `__]. - -* Removed the ``id`` column for custom power plants in ``data/custom_powerplants.csv`` to avoid custom power plants with conflicting ids getting attached to the wrong bus [`#131 `__]. - -* Add option ``renewables: {carrier}: keep_all_available_areas:`` to use all available weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed [`#150 `__]. - -* Added a function ``_helpers.load_network()`` which loads a network with overridden components specified in ``snakemake.config['override_components']`` [`#128 `__]. - -* Bugfix in :mod:`base_network` which now finds all closest links, not only the first entry [`#143 `__]. - -* Bugfix in :mod:`cluster_network` which now skips recalculation of link parameters if there are no links [`#149 `__]. - -* Added information on pull requests to contribution guidelines [`#151 `__]. - -* Improved documentation on open-source solver setup and added usage warnings. - -* Updated ``conda`` environment regarding ``pypsa``, ``pyproj``, ``gurobi``, ``lxml``. This release requires PyPSA v0.17.0. - -PyPSA-Eur 0.1.0 (9th January 2020) ----------------------------------- - -This is the first release of PyPSA-Eur, a model of the European power system at the transmission network level. Recent changes include: - -* Documentation on installation, workflows and configuration settings is now available online at `pypsa-eur.readthedocs.io `__ [`#65 `__]. - -* The ``conda`` environment files were updated and extended [`#81 `__]. - -* The power plant database was updated with extensive filtering options via ``pandas.query`` functionality [`#84 `__ and `#94 `__]. - -* Continuous integration testing with `Travis CI `__ is now included for Linux, Mac and Windows [`#82 `__]. - -* Data dependencies were moved to `zenodo `__ and are now versioned [`#60 `__]. - -* Data dependencies are now retrieved directly from within the snakemake workflow [`#86 `__]. - -* Emission prices can be added to marginal costs of generators through the keywords ``Ep`` in the ``{opts}`` wildcard [`#100 `__]. - -* An option is introduced to add extendable nuclear power plants to the network [`#98 `__]. - -* Focus weights can now be specified for particular countries for the network clustering, which allows to set a proportion of the total number of clusters for particular countries [`#87 `__]. - -* A new rule :mod:`add_extra_components` allows to add additional components to the network only after clustering. It is thereby possible to model storage units (e.g. battery and hydrogen) in more detail via a combination of ``Store``, ``Link`` and ``Bus`` elements [`#97 `__]. - -* Hydrogen pipelines (including cost assumptions) can now be added alongside clustered network connections in the rule :mod:`add_extra_components` . Set ``electricity: extendable_carriers: Link: [H2 pipeline]`` and ensure hydrogen storage is modelled as a ``Store``. This is a first simplified stage [`#108 `__]. - -* Logfiles for all rules of the ``snakemake`` workflow are now written in the folder ``log/`` [`#102 `__]. - -* The new function ``_helpers.mock_snakemake`` creates a ``snakemake`` object which mimics the actual ``snakemake`` object produced by workflow by parsing the ``Snakefile`` and setting all paths for inputs, outputs, and logs. This allows running all scripts within a (I)python terminal (or just by calling ``python ``) and thereby facilitates developing and debugging scripts significantly [`#107 `__]. - - -PyPSA-Eur-Sec Releases (pre-merge) -================================== - -PyPSA-Eur-Sec 0.7.0 (16th February 2023) ----------------------------------------- - -This release includes many new features. Highlights include new gas -infrastructure data with retrofitting options for hydrogen transport, improved -carbon management and infrastructure planning, regionalised potentials for -hydrogen underground storage and carbon sequestration, new applications for -biomass, and explicit modelling of methanol and ammonia as separate energy -carriers. - -This release is known to work with `PyPSA-Eur -`__ Version 0.7.0 and `Technology Data -`__ Version 0.5.0. - -**Gas Transmission Network** - -* New rule ``retrieve_gas_infrastructure_data`` that downloads and extracts the - SciGRID_gas `IGGIELGN `__ dataset from - zenodo. It includes data on the transmission routes, pipe diameters, - capacities, pressure, and whether the pipeline is bidirectional and carries - H-Gas or L-Gas. - -* New rule ``build_gas_network`` processes and cleans the pipeline data from - SciGRID_gas. Missing or uncertain pipeline capacities can be inferred by - diameter. - -* New rule ``build_gas_input_locations`` compiles the LNG import capacities - (from the Global Energy Monitor's `Europe Gas Tracker - `__, pipeline - entry capacities and local production capacities for each region of the model. - These are the regions where fossil gas can eventually enter the model. - -* New rule ``cluster_gas_network`` that clusters the gas transmission network - data to the model resolution. Cross-regional pipeline capacities are - aggregated (while pressure and diameter compatibility is ignored), - intra-regional pipelines are dropped. Lengths are recalculated based on the - regions' centroids. - -* With the option ``sector: gas_network:``, the existing gas network is added - with a lossless transport model. A length-weighted `k-edge augmentation - algorithm - `__ - can be run to add new candidate gas pipelines such that all regions of the - model can be connected to the gas network. The number of candidates can be - controlled via the setting ``sector: gas_network_connectivity_upgrade:``. When - the gas network is activated, all the gas demands are regionally disaggregated - as well. - -* New constraint allows endogenous retrofitting of gas pipelines to hydrogen - pipelines. This option is activated via the setting ``sector: H2_retrofit:``. - For every unit of gas pipeline capacity dismantled, ``sector: - H2_retrofit_capacity_per_CH4`` units are made available as hydrogen pipeline - capacity in the corresponding corridor. These repurposed hydrogen pipelines - have lower costs than new hydrogen pipelines. Both new and repurposed - pipelines can be built simultaneously. The retrofitting option ``sector: - H2_retrofit:`` also works with a copperplated methane infrastructure, i.e. - when ``sector: gas_network: false``. - -* New hydrogen pipelines can now be built where there are already power or gas - transmission routes. Previously, only the electricity transmission routes were - considered. - -**Carbon Management and Biomass** - -* Add option to spatially resolve carrier representing stored carbon dioxide - (``co2_spatial``). This allows for more detailed modelling of CCUTS, e.g. - regarding the capturing of industrial process emissions, usage as feedstock - for electrofuels, transport of carbon dioxide, and geological sequestration - sites. - -* Add option for regionally-resolved geological carbon dioxide sequestration - potentials through new rule ``build_sequestration_potentials`` based on - `CO2StoP `__. This - can be controlled in the section ``regional_co2_sequestration_potential`` of - the ``config.yaml``. It includes options to select the level of conservatism, - whether onshore potentials should be included, the respective upper and lower - limits per region, and an annualisation parameter for the cumulative - potential. The defaults are preliminary and will be validated the next - release. - -* Add option to sweep the global CO2 sequestration potentials with keyword - ``seq200`` in the ``{sector_opts}`` wildcard (for limit of 200 Mt CO2). - -* Add option to include `Allam cycle gas power plants - `__ (``allam_cycle``). - -* Add option for planning a new carbon dioxide network (``co2network``). - -* Separate option to regionally resolve biomass (``biomass_spatial``) from - option to allow biomass transport (``biomass_transport``). - -* Add option for biomass boilers (wood pellets) for decentral heating. - -* Add option for BioSNG (methane from biomass) with and without carbon capture. - -* Add option for BtL (biomass to liquid fuel/oil) with and without carbon - capture. - - -**Other new features** - -* Add regionalised hydrogen salt cavern storage potentials from `Technical - Potential of Salt Caverns for Hydrogen Storage in Europe - `__. This data is compiled in - a new rule ``build_salt_cavern_potentials``. - -* Add option to resolve ammonia as separate energy carrier with Haber-Bosch - synthesis, ammonia cracking, storage and industrial demand. The ammonia - carrier can be nodally resolved or copperplated across Europe (see - ``ammonia``). - -* Add methanol as energy carrier, methanolisation as process, and option for - methanol demand in shipping sector. - -* Shipping demand now defaults to methanol rather than liquefied hydrogen - until 2050. - -* Demand for liquid hydrogen in international shipping is now geographically - distributed by port trade volumes in a new rule ``build_shipping_demand`` - using data from the `World Bank Data Catalogue - `__. - Domestic shipping remains distributed by population. - -* Add option to aggregate network temporally using representative snapshots or - segments (with `tsam `__). - -* Add option for minimum part load for Fischer-Tropsch plants (default: 90%) and - methanolisation plants (default: 50%). - -* Add option to use waste heat of electrolysis in district heating networks - (``use_electrolysis_waste_heat``). - -* Add option for coal CHPs with carbon capture (see ``coal_cc``). - -* In overnight optimisation, it is now possible to specify a year for the - technology cost projections separate from the planning horizon. - -* New config options for changing energy demands in aviation - (``aviation_demand_factor``) and HVC industry (``HVC_demand_factor``), as well - as explicit ICE shares for land transport (``land_transport_ice_share``) and - agriculture machinery (``agriculture_machinery_oil_share``). - -* It is now possible to merge residential and services heat buses to reduce the - problem size (see ``cluster_heat_nodes``). - -* Added option to tweak (almost) any configuration parameter through the - ``{sector_opts}`` wildcard. The regional_co2_sequestration_potential is - triggered by the prefix ``CF+`` after which it is possible to pipe to any - setting that does not contain underscores (``_``). Example: - ``CF+sector+v2g+false`` disables vehicle-to-grid flexibility. - -* Option ``retrieve_sector_databundle`` to automatically retrieve and extract - data bundle. - -* Removed the need to clone ``technology-data`` repository in a parallel - directory. The new approach automatically retrieves the technology data from - remote in the rule ``retrieve_cost_data``. - -* Improved network plots including better legends, hydrogen retrofitting network - display, and change to EqualEarth projection. A new color scheme for - technologies was also introduced. - -* Add two new rules ``build_transport_demand`` and - ``build_population_weighted_energy_totals`` using code previously contained in - ``prepare_sector_network``. - -* Rules that convert weather data with ``atlite`` now largely run separately for - categories residential, rural and total. - -* Units are assigned to the buses. These only provide a better understanding. - The specifications of the units are not taken into account in the - optimisation, which means that no automatic conversion of units takes place. - -* Configuration file and wildcards are now stored under ``n.meta`` in every - PyPSA network. - -* Updated `data bundle - `__ - that includes the hydrogan salt cavern storage potentials. - -* Updated and extended documentation in - - -* Added new rule ``copy_conda_env`` that exports a list of packages with which - the workflow was executed. - -* Add basic continuous integration using Github Actions. - -* Add basic ``rsync`` setup. - -**Bugfixes** - -* The CO2 sequestration limit implemented as GlobalConstraint (introduced in the - previous version) caused a failure to read in the shadow prices of other - global constraints. - -* Correct capital cost of Fischer-Tropsch according to new units in - ``technology-data`` repository. - -* Fix unit conversion error for thermal energy storage. - -* For myopic pathway optimisation, set optimised capacities of power grid - expansion of previous iteration as minimum capacity for next iteration. - -* Further rather minor bugfixes for myopic optimisation code (see `#256 - `__). - - -Many thanks to all who contributed to this release! - - -PyPSA-Eur-Sec 0.6.0 (4 October 2021) ------------------------------------- - -This release includes -improvements regarding the basic chemical production, -the addition of plastics recycling, -the addition of the agriculture, forestry and fishing sector, -more regionally resolved biomass potentials, -CO2 pipeline transport and storage, and -more options in setting exogenous transition paths, -besides many performance improvements. - -This release is known to work with `PyPSA-Eur -`__ Version 0.4.0, `Technology Data -`__ Version 0.3.0 and -`PyPSA `__ Version 0.18.0. - -Please note that the data bundle has also been updated. - - -**General** - -* With this release, we change the license from copyleft GPLv3 to the more - liberal MIT license with the consent of all contributors. - - -**New features and functionality** - -* Distinguish costs for home battery storage and inverter from utility-scale - battery costs. - -* Separate basic chemicals into HVC (high-value chemicals), chlorine, methanol and ammonia - [`#166 `__]. - -* Add option to specify reuse, primary production, and mechanical and chemical - recycling fraction of platics - [`#166 `__]. - -* Include energy demands and CO2 emissions for the agriculture, forestry and fishing sector. - It is included by default through the option ``A`` in the ``sector_opts`` wildcard. - Part of the emissions (1.A.4.c) was previously assigned to "industry non-elec" in the ``co2_totals.csv``. - Hence, excluding the agriculture sector will now lead to a tighter CO2 limit. - Energy demands are taken from the JRC IDEES database (missing countries filled with eurostat data) - and are split into - electricity (lighting, ventilation, specific electricity uses, pumping devices (electric)), - heat (specific heat uses, low enthalpy heat) - machinery oil (motor drives, farming machine drives, pumping devices (diesel)). - Heat demand is assigned at "services rural heat" buses. - Electricity demands are added to low-voltage buses. - Time series for demands are constant and distributed inside countries by population - [`#147 `__]. - -* Include today's district heating shares in myopic optimisation and add option - to specify exogenous path for district heating share increase under ``sector: - district_heating:`` [`#149 `__]. - -* Added option for hydrogen liquefaction costs for hydrogen demand in shipping. - This introduces a new ``H2 liquid`` bus at each location. It is activated via - ``sector: shipping_hydrogen_liquefaction: true``. - -* The share of shipping transformed into hydrogen fuel cell can be now defined - for different years in the ``config.yaml`` file. The carbon emission from the - remaining share is treated as a negative load on the atmospheric carbon dioxide - bus, just like aviation and land transport emissions. - -* The transformation of the Steel and Aluminium production can be now defined - for different years in the ``config.yaml`` file. - -* Include the option to alter the maximum energy capacity of a store via the - ``carrier+factor`` in the ``{sector_opts}`` wildcard. This can be useful for - sensitivity analyses. Example: ``co2 stored+e2`` multiplies the ``e_nom_max`` by - factor 2. In this example, ``e_nom_max`` represents the CO2 sequestration - potential in Europe. - -* Use `JRC ENSPRESO database `__ to - spatially disaggregate biomass potentials to PyPSA-Eur regions based on - overlaps with NUTS2 regions from ENSPRESO (proportional to area) (`#151 - `__). - -* Add option to regionally disaggregate biomass potential to individual nodes - (previously given per country, then distributed by population density within) - and allow the transport of solid biomass. The transport costs are determined - based on the `JRC-EU-Times Bioenergy report - `__ in the new optional rule - ``build_biomass_transport_costs``. Biomass transport can be activated with the - setting ``sector: biomass_transport: true``. - -* Add option to regionally resolve CO2 storage and add CO2 pipeline transport - because geological storage potential, - CO2 utilisation sites and CO2 capture sites may be separated. The CO2 network - is built from zero based on the topology of the electricity grid (greenfield). - Pipelines are assumed to be bidirectional and lossless. Furthermore, neither - retrofitting of natural gas pipelines (required pressures are too high, 80-160 - bar vs <80 bar) nor other modes of CO2 transport (by ship, road or rail) are - considered. The regional representation of CO2 is activated with the config - setting ``sector: co2_network: true`` but is deactivated by default. The - global limit for CO2 sequestration now applies to the sum of all CO2 stores - via an ``extra_functionality`` constraint. - -* The myopic option can now be used together with different clustering for the - generators and the network. The existing renewable capacities are split evenly - among the regions in every country [`#144 `__]. - -* Add optional function to use ``geopy`` to locate entries of the Hotmaps - database of industrial sites with missing location based on city and country, - which reduces missing entries by half. It can be activated by setting - ``industry: hotmaps_locate_missing: true``, takes a few minutes longer, and - should only be used if spatial resolution is coarser than city level. - - -**Performance and Structure** - -* Extended use of ``multiprocessing`` for much better performance - (from up to 20 minutes to less than one minute). - -* Handle most input files (or base directories) via ``snakemake.input``. - -* Use of ``mock_snakemake`` from PyPSA-Eur. - -* Update ``solve_network`` rule to match implementation in PyPSA-Eur by using - ``n.ilopf()`` and remove outdated code using ``pyomo``. - Allows the new setting to skip iterated impedance updates with ``solving: - options: skip_iterations: true``. - -* The component attributes that are to be overridden are now stored in the folder - ``data/override_component_attrs`` analogous to ``pypsa/component_attrs``. - This reduces verbosity and also allows circumventing the ``n.madd()`` hack - for individual components with non-default attributes. - This data is also tracked in the Snakefile. - A function ``helper.override_component_attrs`` was added that loads this data - and can pass the overridden component attributes into ``pypsa.Network()``. - -* Add various parameters to ``config.default.yaml`` which were previously hardcoded inside the scripts - (e.g. energy reference years, BEV settings, solar thermal collector models, geomap colours). - -* Removed stale industry demand rules ``build_industrial_energy_demand_per_country`` - and ``build_industrial_demand``. These are superseded with more regionally resolved rules. - -* Use simpler and shorter ``gdf.sjoin()`` function to allocate industrial sites - from the Hotmaps database to onshore regions. - This change also fixes a bug: - The previous version allocated sites to the closest bus, - but at country borders (where Voronoi cells are distorted by the borders), - this had resulted in e.g. a Spanish site close to the French border - being wrongly allocated to the French bus if the bus center was closer. - -* Retrofitting rule is now only triggered if endogeneously optimised. - -* Show progress in build rules with ``tqdm`` progress bars. - -* Reduced verbosity of ``Snakefile`` through directory prefixes. - -* Improve legibility of ``config.default.yaml`` and remove unused options. - -* Use the country-specific time zone mappings from ``pytz`` rather than a manual mapping. - -* A function ``add_carrier_buses()`` was added to the ``prepare_network`` rule to reduce code duplication. - -* In the ``prepare_network`` rule the cost and potential adjustment was moved into an - own function ``maybe_adjust_costs_and_potentials()``. - -* Use ``matplotlibrc`` to set the default plotting style and backend. - -* Added benchmark files for each rule. - -* Consistent use of ``__main__`` block and further unspecific code cleaning. - -* Updated data bundle and moved data bundle to zenodo.org (`10.5281/zenodo.5546517 `__). - - -**Bugfixes and Compatibility** - -* Compatibility with ``atlite>=0.2``. Older versions of ``atlite`` will no longer work. - -* Corrected calculation of "gas for industry" carbon capture efficiency. - -* Implemented changes to ``n.snapshot_weightings`` in PyPSA v0.18.0. - -* Compatibility with ``xarray`` version 0.19. - -* New dependencies: ``tqdm``, ``atlite>=0.2.4``, ``pytz`` and ``geopy`` (optional). - These are included in the environment specifications of PyPSA-Eur v0.4.0. - -Many thanks to all who contributed to this release! - - -PyPSA-Eur-Sec 0.5.0 (21st May 2021) ------------------------------------ - -This release includes improvements to the cost database for building retrofits, carbon budget management and wildcard settings, as well as an important bugfix for the emissions from land transport. - -This release is known to work with `PyPSA-Eur `__ Version 0.3.0 and `Technology Data `__ Version 0.2.0. - -Please note that the data bundle has also been updated. - -New features and bugfixes: - -* The cost database for retrofitting of the thermal envelope of buildings has been updated. Now, for calculating the space heat savings of a building, losses by thermal bridges and ventilation are included as well as heat gains (internal and by solar radiation). See the section :ref:`retro` for more details on the retrofitting module. -* For the myopic investment option, a carbon budget and a type of decay (exponential or beta) can be selected in the ``config.yaml`` file to distribute the budget across the ``planning_horizons``. For example, ``cb40ex0`` in the ``{sector_opts}`` wildcard will distribute a carbon budget of 40 GtCO2 following an exponential decay with initial growth rate 0. -* Added an option to alter the capital cost or maximum capacity of carriers by a factor via ``carrier+factor`` in the ``{sector_opts}`` wildcard. This can be useful for exploring uncertain cost parameters. Example: ``solar+c0.5`` reduces the ``capital_cost`` of solar to 50\% of original values. Similarly ``solar+p3`` multiplies the ``p_nom_max`` by 3. -* Rename the bus for European liquid hydrocarbons from ``Fischer-Tropsch`` to ``EU oil``, since it can be supplied not just with the Fischer-Tropsch process, but also with fossil oil. -* Bugfix: The new separation of land transport by carrier in Version 0.4.0 failed to account for the carbon dioxide emissions from internal combustion engines in land transport. This is now treated as a negative load on the atmospheric carbon dioxide bus, just like aviation emissions. -* Bugfix: Fix reading in of ``pypsa-eur/resources/powerplants.csv`` to PyPSA-Eur Version 0.3.0 (use column attribute name ``DateIn`` instead of old ``YearDecommissioned``). -* Bugfix: Make sure that ``Store`` components (battery and H2) are also removed from PyPSA-Eur, so they can be added later by PyPSA-Eur-Sec. - -Thanks to Lisa Zeyen (KIT) for the retrofitting improvements and Marta Victoria (Aarhus University) for the carbon budget and wildcard management. - -PyPSA-Eur-Sec 0.4.0 (11th December 2020) ----------------------------------------- - -This release includes a more accurate nodal disaggregation of industry demand within each country, fixes to CHP and CCS representations, as well as changes to some configuration settings. - -It has been released to coincide with `PyPSA-Eur `__ Version 0.3.0 and `Technology Data `__ Version 0.2.0, and is known to work with these releases. - -New features: - -* The `Hotmaps Industrial Database `__ is used to disaggregate the industrial demand spatially to the nodes inside each country (previously it was distributed by population density). -* Electricity demand from industry is now separated from the regular electricity demand and distributed according to the industry demand. Only the remaining regular electricity demand for households and services is distributed according to GDP and population. -* A cost database for the retrofitting of the thermal envelope of residential and services buildings has been integrated, as well as endogenous optimisation of the level of retrofitting. This is described in the paper `Mitigating heat demand peaks in buildings in a highly renewable European energy system `__. Retrofitting can be activated both exogenously and endogenously from the ``config.yaml``. -* The biomass and gas combined heat and power (CHP) parameters ``c_v`` and ``c_b`` were read in assuming they were extraction plants rather than back pressure plants. The data is now corrected in `Technology Data `__ Version 0.2.0 to the correct DEA back pressure assumptions and they are now implemented as single links with a fixed ratio of electricity to heat output (even as extraction plants, they were always sitting on the backpressure line in simulations, so there was no point in modelling the full heat-electricity feasibility polygon). The old assumptions underestimated the heat output. -* The Danish Energy Agency released `new assumptions for carbon capture `__ in October 2020, which have now been incorporated in PyPSA-Eur-Sec, including direct air capture (DAC) and post-combustion capture on CHPs, cement kilns and other industrial facilities. The electricity and heat demand for DAC is modelled for each node (with heat coming from district heating), but currently the electricity and heat demand for industrial capture is not modelled very cleanly (for process heat, 10% of the energy is assumed to go to carbon capture) - a new issue will be opened on this. -* Land transport is separated by energy carrier (fossil, hydrogen fuel cell electric vehicle, and electric vehicle), but still needs to be separated into heavy and light vehicles (the data is there, just not the code yet). -* For assumptions that change with the investment year, there is a new time-dependent format in the ``config.yaml`` using a dictionary with keys for each year. Implemented examples include the CO2 budget, exogenous retrofitting share and land transport energy carrier; more parameters will be dynamised like this in future. -* Some assumptions have been moved out of the code and into the ``config.yaml``, including the carbon sequestration potential and cost, the heat pump sink temperature, reductions in demand for high value chemicals, and some BEV DSM parameters and transport efficiencies. -* Documentation on :doc:`supply_demand` options has been added. - -Many thanks to Fraunhofer ISI for opening the hotmaps database and to Lisa Zeyen (KIT) for implementing the building retrofitting. - - -PyPSA-Eur-Sec 0.3.0 (27th September 2020) ------------------------------------------ - -This releases focuses on improvements to industry demand and the generation of intermediate files for demand for basic materials. There are still inconsistencies with CCS and waste management that need to be improved. - -It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69), PyPSA v0.17.1 and technology-data v0.1.0. Please note that the data bundle has also been updated. - - -New features: - -* In previous version of PyPSA-Eur-Sec the energy demand for industry was calculated directly for each location. Now, instead, the production of each material (steel, cement, aluminium) at each location is calculated as an intermediate data file, before the energy demand is calculated from it. This allows us in future to have competing industrial processes for supplying the same material demand. -* The script ``build_industrial_production_per_country_tomorrow.py`` determines the future industrial production of materials based on today's levels as well as assumed recycling and demand change measures. -* The energy demand for each industry sector and each location in 2015 is also calculated, so that it can be later incorporated in the pathway optimization. -* Ammonia production data is taken from the USGS and deducted from JRC-IDEES's "basic chemicals" so that it ammonia can be handled separately from the others (olefins, aromatics and chlorine). -* Solid biomass is no longer allowed to be used for process heat in cement and basic chemicals, since the wastes and residues cannot be guaranteed to reach the high temperatures required. Instead, solid biomass is used in the paper and pulp as well as food, beverages and tobacco industries, where required temperatures are lower (see `DOI:10.1002/er.3436 `__ and `DOI:10.1007/s12053-017-9571-y `__). -* National installable potentials for salt caverns are now applied. -* When electricity distribution grids are activated, new industry electricity demand, resistive heaters and micro-CHPs are now connected to the lower voltage levels. -* Gas distribution grid costs are included for gas boilers and micro-CHPs. -* Installable potentials for rooftop PV are included with an assumption of 1 kWp per person. -* Some intermediate files produced by scripts have been moved from the folder ``data`` to the folder ``resources``. Now ``data`` only includes input data, while ``resources`` only includes intermediate files necessary for building the network models. Please note that the data bundle has also been updated. -* Biomass potentials for different years and scenarios from the JRC are generated in an intermediate file, so that a selection can be made more explicitly by specifying the biomass types from the ``config.yaml``. - - -PyPSA-Eur-Sec 0.2.0 (21st August 2020) --------------------------------------- - -This release introduces pathway optimization over many years (e.g. 2020, 2030, 2040, 2050) with myopic foresight, as well as outsourcing the technology assumptions to the `technology-data `__ repository. - -It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69), PyPSA v0.17.1 and technology-data v0.1.0. - -New features: - -* Option for pathway optimization with myopic foresight, based on the paper `Early decarbonisation of the European Energy system pays off (2020) `__. Investments are optimized sequentially for multiple years (e.g. 2020, 2030, 2040, 2050) taking account of existing assets built in previous years and their lifetimes. The script uses data on the existing assets for electricity and building heating technologies, but there are no assumptions yet for existing transport and industry (if you include these, the model will greenfield them). There are also some `outstanding issues `__ on e.g. the distribution of existing wind, solar and heating technologies within each country. To use myopic foresight, set ``foresight : 'myopic'`` in the ``config.yaml`` instead of the default ``foresight : 'overnight'``. An example configuration can be found in ``config.myopic.yaml``. More details on the implementation can be found in :doc:`myopic`. - -* Technology assumptions (costs, efficiencies, etc.) are no longer stored in the repository. Instead, you have to install the `technology-data `__ database in a parallel directory. These assumptions are largely based on the `Danish Energy Agency Technology Data `__. More details on the installation can be found in :doc:`installation`. - -* Logs and benchmarks are now stored with the other model outputs in ``results/run-name/``. - -* All buses now have a ``location`` attribute, e.g. bus ``DE0 3 urban central heat`` has a ``location`` of ``DE0 3``. - -* All assets have a ``lifetime`` attribute (integer in years). For the myopic foresight, a ``build_year`` attribute is also stored. - -* Costs for solar and onshore and offshore wind are recalculated by PyPSA-Eur-Sec based on the investment year, including the AC or DC connection costs for offshore wind. - -Many thanks to Marta Victoria for implementing the myopic foresight, and Marta Victoria, Kun Zhu and Lisa Zeyen for developing the technology assumptions database. - - -PyPSA-Eur-Sec 0.1.0 (8th July 2020) ------------------------------------ - -This is the first proper release of PyPSA-Eur-Sec, a model of the European energy system at the transmission network level that covers the full ENTSO-E area. - -It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69) and PyPSA v0.17.0. - -We are making this release since in version 0.2.0 we will introduce changes to allow myopic investment planning that will require minor changes for users of the overnight investment planning. - -PyPSA-Eur-Sec builds on the electricity generation and transmission -model `PyPSA-Eur `__ to add demand -and supply for the following sectors: transport, space and water -heating, biomass, industry and industrial feedstocks. This completes -the energy system and includes all greenhouse gas emitters except -waste management, agriculture, forestry and land use. - -PyPSA-Eur-Sec was initially based on the model PyPSA-Eur-Sec-30 (Version 0.0.1 below) described -in the paper `Synergies of sector coupling and transmission -reinforcement in a cost-optimised, highly renewable European energy -system `__ (2018) but it differs by -being based on the higher resolution electricity transmission model -`PyPSA-Eur `__ rather than a -one-node-per-country model, and by including biomass, industry, -industrial feedstocks, aviation, shipping, better carbon management, -carbon capture and usage/sequestration, and gas networks. - - -PyPSA-Eur-Sec includes PyPSA-Eur as a -`snakemake `__ -`subworkflow `__. PyPSA-Eur-Sec -uses PyPSA-Eur to build the clustered transmission model along with -wind, solar PV and hydroelectricity potentials and time series. Then -PyPSA-Eur-Sec adds other conventional generators, storage units and -the additional sectors. - - - - -PyPSA-Eur-Sec 0.0.2 (4th September 2020) ----------------------------------------- - -This version, also called PyPSA-Eur-Sec-30-Path, built on -PyPSA-Eur-Sec 0.0.1 (also called PyPSA-Eur-Sec-30) to include myopic -pathway optimisation for the paper `Early decarbonisation of the -European energy system pays off `__ -(2020). The myopic pathway optimisation was then merged into the main -PyPSA-Eur-Sec codebase in Version 0.2.0 above. - -This model has `its own github repository -`__ and is `archived -on Zenodo `__. - - - -PyPSA-Eur-Sec 0.0.1 (12th January 2018) ---------------------------------------- - -This is the first published version of PyPSA-Eur-Sec, also called -PyPSA-Eur-Sec-30. It was first used in the research paper `Synergies of -sector coupling and transmission reinforcement in a cost-optimised, -highly renewable European energy system -`__ (2018). The model covers 30 -European countries with one node per country. It includes demand and -supply for electricity, space and water heating in buildings, and land -transport. - -It is `archived on Zenodo `__. - - -Release Process -=============== - -* Checkout a new release branch ``git checkout -b release-v0.x.x``. - -* Finalise release notes at ``doc/release_notes.rst``. - -* Update ``envs/environment.fixed.yaml`` via - ``conda env export -n pypsa-eur -f envs/environment.fixed.yaml --no-builds`` - from an up-to-date ``pypsa-eur`` environment. - -* Update version number in ``doc/conf.py``, ``CITATION.cff`` and ``*config.*.yaml``. - -* Make a ``git commit``. - -* Open, review and merge pull request for branch ``release-v0.x.x``. - Make sure to close issues and PRs or the release milestone with it (e.g. closes #X). - -* Tag a release on Github via ``git tag v0.x.x``, ``git push``, ``git push --tags``. Include release notes in the tag message. - -* Make a `GitHub release `__, which automatically triggers archiving to the `zenodo code repository `__ with `MIT license `__. - -* Send announcement on the `PyPSA mailing list `__. diff --git a/doc/retrieve.md b/doc/retrieve.md new file mode 100644 index 0000000000..d45d9a2434 --- /dev/null +++ b/doc/retrieve.md @@ -0,0 +1,128 @@ + + + + + +# Retrieving Data {#data} + +Not all data dependencies are shipped with the git repository, since git is not suited for handling large changing files. +Instead we use separate steps in the workflow (`rules` executed by `snakemake`) to download external data using the `retrieve_` rules. + +Data is generally retrieved in a version-controlled manner, enabling control over input data versions, reproducibility and consistency of modelling runs. +The rules download data into subfolders in the `data/` directory, following the structure +`data/{dataset}/{source}/{version}`, e.g. `data/jrc_idees/primary/March-2025-V1/`. +Which specific data version is retrieved can be controlled in the [data configuration](configuration.md#data_cf). + +For Open-TYNDP runs, most datasets can also be retrieved from a dedicated Google Cloud Storage +bucket instead of their original sources. See [tyndp_archive](sb.md#tyndp_archive) in the SB documentation. + +Below some specific `retrieve_` rules are documented. +For more information on the datasets retrieved, see the [data sources](data_sources.md) and *Data inventory* section there in the documentation. + +## Rule `retrieve_bidding_zones` + + + +## Rule `retrieve_cutout` + +See [cutouts](configuration.md#atlite_cf). + + +## Rule `retrieve_electricity_demand_energy_atlas` + +This rule downloads 1km by 1km raster of estimated annual electricity demand from the [JRC Energy Atlas](https://energy-industry-geolab.jrc.ec.europa.eu/energy-atlas/). + +## Rule `retrieve_desnz_electricity_consumption` + +This rule downloads subnational electricity consumption data for Great Britain from the [Department for Energy Security and Net Zero](https://www.gov.uk/government/statistics/regional-and-local-authority-electricity-consumption-statistics). + +## Rule `retrieve_ons_lad` + +This rule downloads shapefiles of local authorities in the United Kingdom from the [Office for National Statistics](https://geoportal.statistics.gov.uk/datasets/ons::local-authority-districts-may-2024-boundaries-uk-bsc-2/about). + +## Rule `retrieve_electricity_demand_opsd` + +This rule downloads hourly electric load data for each country from the [OPSD platform](https://data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv). + +**Relevant Settings** + +None. + +**Outputs** + +- `data/electricity_demand_opsd_raw.csv` + +## Rule `retrieve_electricity_demand_entsoe` + +This rule downloads hourly electric load data for each country from the [ENTSOE Transparency Platform](https://transparency.entsoe.eu). + +**Relevant Settings** + +None. + +**Outputs** + +- `data/electricity_demand_entsoe_raw.csv` + +## Rule `retrieve_electricity_demand_neso` + +This rule downloads hourly electric load data for the United Kingdom from the [NESO Data Portal](https://www.neso.energy/data-portal/historic-demand-data). + +**Relevant Settings** + +None. + +**Outputs** + +- `data/electricity_demand_neso_raw.csv` + + +## Rule `retrieve_cost_data` + +This rule downloads techno-economic assumptions from the [technology-data repository](https://github.com/pypsa/technology-data). + +**Relevant Settings** + +```yaml +costs: + year: +``` + +!!! seealso + Documentation of the configuration file `config/config.yaml` at + [costs_cf](configuration.md#costs_cf) + +**Outputs** + +- `data/costs/primary/{version}/costs_{year}.csv` + + +## Rule `retrieve_countries_centroids` + +This rule downloads country centroid geometry data by Copyright (c) 2021 Gavin Rehkemper from https://cdn.jsdelivr.net/gh/gavinr/world-countries-centroids@v1.0.0/dist/countries.geojson. + +**Relevant Settings** + +None. + +**Outputs** + +- `data/countries_centroids.geojson` + + +## Rule `retrieve_presolved_networks` + +This rule downloads pre-solved networks from a previous Open-TYNDP release (*preliminary outcomes* published on [Zenodo](https://zenodo.org/records/18608105)) and extracts the solved network for each planning horizon. These can be investigated with PyPSA-Explorer's web interface using the `launch_presolved_explorer` rule without having to re-run the workflow. + +**Relevant Settings** + +```yaml +data: + open_tyndp_prelim: + source: + version: +``` + +**Outputs** + +- `data/open_tyndp_prelim/{source}/{version}/base_s_all___{planning_horizons}.nc` diff --git a/doc/retrieve.rst b/doc/retrieve.rst deleted file mode 100644 index f03299e572..0000000000 --- a/doc/retrieve.rst +++ /dev/null @@ -1,128 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _data: - -############### -Retrieving Data -############### - -Not all data dependencies are shipped with the git repository, since git is not suited for handling large changing files. -Instead we use separate steps in the workflow (``rules`` executed by ``snakemake``) to download external data using the ``retrieve_`` rules. - -Data is generally retrieved in a version-controlled manner, enabling control over input data versions, reproducibility and consistency of modelling runs. -The rules download data into subfolders in the `data/` directory, following the structure -``data/{dataset}/{source}/{version}``, e.g. ``data/jrc_idees/primary/March-2025-V1/``. -Which specific data version is retrieved can be controlled in the :ref:`data configuration `. - -For Open-TYNDP runs, most datasets can also be retrieved from a dedicated Google Cloud Storage -bucket instead of their original sources. See :ref:`tyndp_archive` in the SB documentation. - -Below some specific ``retrieve_`` rules are documented. -For more information on the datasets retrieved, see the `data sources `__ and *Data inventory* section there in the documentation. - - -Rule ``retrieve_bidding_zones`` -========================================= - -.. automodule:: retrieve_bidding_zones - -Rule ``retrieve_cutout`` -============================ - -See :ref:`cutouts`. - - - -Rule ``retrieve_electricity_demand_opsd`` -========================================= - -This rule downloads hourly electric load data for each country from the `OPSD platform `__. - -**Relevant Settings** - -None. - -**Outputs** - -- ``data/electricity_demand_opsd_raw.csv`` - -Rule ``retrieve_electricity_demand_entsoe`` -=========================================== - -This rule downloads hourly electric load data for each country from the `ENTSOE Transparency Platform `__. - -**Relevant Settings** - -None. - -**Outputs** - -- ``data/electricity_demand_entsoe_raw.csv`` - -Rule ``retrieve_electricity_demand_neso`` -========================================= - -This rule downloads hourly electric load data for the United Kingdom from the `NESO Data Portal `__. - -**Relevant Settings** - -None. - -**Outputs** - -- ``data/electricity_demand_neso_raw.csv`` - -Rule ``retrieve_cost_data`` -================================ - -This rule downloads techno-economic assumptions from the `technology-data repository `__. - -**Relevant Settings** - -.. code:: yaml - - costs: - year: - -.. seealso:: - Documentation of the configuration file ``config/config.yaml`` at - :ref:`costs_cf` - -**Outputs** - -- ``data/costs/primary/{version}/costs_{year}.csv`` - - -Rule ``retrieve_countries_centroids`` -==================================== - -This rule downloads country centroid geometry data by `Copyright (c) 2021 Gavin Rehkemper` from https://cdn.jsdelivr.net/gh/gavinr/world-countries-centroids@v1.0.0/dist/countries.geojson. - -**Relevant Settings** - -None. - -**Outputs** - -- ``data/countries_centroids.geojson`` - - -Rule ``retrieve_presolved_networks`` -==================================== - -This rule downloads pre-solved networks from a previous Open-TYNDP release (*preliminary outcomes* published on `Zenodo `__) and extracts the solved network for each planning horizon. These can be investigated with PyPSA-Explorer's web interface using the ``launch_presolved_explorer`` rule without having to re-run the workflow. - -**Relevant Settings** - -.. code:: yaml - - data: - open_tyndp_prelim: - source: - version: - -**Outputs** - -- ``data/open_tyndp_prelim/{source}/{version}/base_s_all___{planning_horizons}.nc`` diff --git a/doc/sb.md b/doc/sb.md new file mode 100644 index 0000000000..c9d58b9719 --- /dev/null +++ b/doc/sb.md @@ -0,0 +1,251 @@ + + + +# Scenario Building (SB) + +Scenario Building (SB) is the first phase of the Open-TYNDP workflow. Starting from raw +ENTSO-E input datasets, it constructs a sector-coupled European energy system model +and solves a least-cost capacity expansion (DE and GA scenarios only, see [Open-TYNDP scenarios](scenarios.md)) and dispatch optimisation. The solved network +produced by SB serves as the direct input to the [Cost-Benefit Analysis (CBA)](cba.md). + +Open-TYNDP implements the [TYNDP 2024 Scenario Building methodology](https://www.entsoe.eu/outlooks/tyndp/2024/) as a soft-fork of +[PyPSA-Eur](https://pypsa-eur.readthedocs.io/en/latest/), inheriting its modelling +framework (optimisation structure, network representation, and sector-coupling capabilities) +while replacing specific inputs and assumptions to match TYNDP 2024 reference data. + +## Input Data + +All used input datasets are publicly available from the [TYNDP 2024 scenarios download page](https://2024.entsos-tyndp-scenarios.eu/download/). The diagram below shows how they +flow into Open-TYNDP and into the benchmarking process. + +![TYNDP 2024 Scenario Building data overview diagram](img/tyndp/data_overview.png) + +Public input data from ENTSO-E is used wherever available. Where publicly available data does +not match the fixed values observed in the Market Model output files, the output files are used +as the reference for fixed input assumptions. This applies strictly to exogenous variables that +are not part of the optimisation (H₂ demand profiles, reference grid topologies, +and generator maintenance profiles). + +The following datasets are ingested and processed by dedicated `build_tyndp_*` Snakemake rules: + +**[PEMMDB 2.5](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/PEMMDB2.zip)** + +Installed generation and storage capacities, must-run constraints, and per-unit cost +assumptions by country and technology. Also provides efficiency and variable O&M parameters +for conventional thermal generation sourced from ERAA 2025. + +**[PECD 3.1](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/PECD.zip)** + +Hourly capacity factor time series for wind (onshore and offshore) and solar PV, derived +from ERA5 reanalysis data. Profiles are provided per climate year and TYNDP bidding zone. + +**[Hydro Inflows](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Hydro-Inflows.zip)** + +Hourly inflow profiles for reservoir and run-of-river hydro plants, used to constrain +hydro dispatch across planning horizons. Profiles are provided per climate year and TYNDP bidding zone. + +**[Demand Profiles](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Demand-Profiles.zip)** + +Hourly electricity and hydrogen demand profiles by country, interpolated to the target +planning horizon. Where public profiles do not match fixed values in the Market Model output +files, the output files are used as the reference. + +**[Line Data](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Line-data.zip)** + +Electricity and hydrogen transmission network topology for both the reference grid and +candidate lines. Electricity and H₂ line data are used from 2030 onward. + +**[Investment Candidates](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Investment-Datasets.zip)** + +Optional extendable transmission and storage assets for the 2035 and 2040 planning horizons. + +**[Hydrogen](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Hydrogen.zip)** + +Hydrogen storage parameters, steam methane reforming (SMR and SMR+CCS) capacities, and +import pipeline assumptions. + +**[Supply Tool](https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-outputs/20240518-Supply-Tool.xlsm.zip)** + +Methane demand and biomass potentials for energy carriers modelled in Open-TYNDP. This is +a scenario output file from the TYNDP 2024 process used as a fixed input. + +!!! note + In the underlying PyPSA-Eur framework, RES profiles, hydro inflows, and demand time series + can be derived directly from raw weather data without any additional model. The same applies + to biomass potentials. Open-TYNDP currently uses the provided TYNDP input files for + comparability with the established TYNDP 2024 methodology. + +## SB Workflow + +The SB workflow transforms raw ENTSO-E input datasets into a solved, sector-coupled PyPSA +network. The key stages are: integrating public input data, constructing the sector-coupled +network, applying TYNDP-specific constraints, solving the capacity expansion optimisation, visualising results, and running the Open-TYNDP [benchmarking framework](benchmarking.md). + +### Network Construction + +The PyPSA network is built at **bidding zone / country-level resolution** for the electricity and hydrogen +sectors respectively. Buses represent national-level aggregations; AC lines and DC links represent +cross-border interconnectors with capacities and impedances taken from the TYNDP Line Data. + +Generator and storage components are attached to country buses using PEMMDB 2.5 capacity data. +Which carriers are **extendable** varies by scenario and planning horizon. + +### Sector Coupling + +Open-TYNDP models the electricity and hydrogen sectors as fully coupled. For the Distributed +Energy (DE) and Global Ambition (GA) scenarios, heating sector links are included in addition (see [Open-TYNDP scenarios](scenarios.md)). Cross-sector components include: + +* **Electrolysers:** Convert electricity to hydrogen; capacity is either fixed per PEMMDB 2.5 + or left extendable depending on the scenario. +* **Fuel cells and back-pressure plants:** Reconvert hydrogen or gas to electricity. +* **Hydrogen network:** Dedicated H₂ pipelines between country buses are included for planning + horizons from 2030 onward, using TYNDP Line Data. Zones with split H₂ grids (e.g. the + Iberian Peninsula) are represented with separate H₂ buses. +* **SMR and SMR+CCS:** Grey and blue hydrogen production capacities from PEMMDB and TYNDP + hydrogen datasets. +* **Demand-side electrification:** Where the scenario specifies it, electricity demand + incorporates direct electrification of heat and transport end-uses. + +### Capacity and Dispatch Optimisation + +The SB optimisation minimises **total annualised system cost** (variable operating cost, plus investment cost where capacity expansion is enabled) subject to: + +* Hourly supply-demand balance for each carrier at every bus. +* Transmission capacity constraints, with optional extendability for candidate lines. +* CO₂ emission budgets derived from the TYNDP 2024 scenario pathway. +* Minimum and maximum generation constraints from PEMMDB, including must-run levels and + scheduled maintenance outages. +* Country-level annual hydrogen supply and demand balances. +* Capacity expansion constraints reflecting given trajectories in the case of the DE and GA scenario. + +The problem is formulated as a **linear programme (LP)** and solved with the configured +solver (HiGHS as default as an open-source alternative for lower +temporal resolution runs; other solvers like Gurobi/Mosek are also supported and recommended for high-resolution runs). + +Each planning horizon is solved independently using the capacity assumptions fixed for that +horizon. The solved `network.nc` file is retrieved by the CBA workflow as +its starting point. See the [CBA documentation](cba.md) for details. + +## Configuration + +SB settings are split across `config/config.tyndp.yaml` (run-level settings) and +`config/scenarios.tyndp.yaml` (scenario-specific overrides). You can refer to +the [configuration](configuration.md) page for a more comprehensive list of available PyPSA-Eur +and Open-TYNDP configuration options. + +### Scenarios and Planning Horizons + +* `scenario`: Selects the TYNDP 2024 scenario. Supported values are `NT` + (National Trends), `GA` (Global Ambition) and `DE` (Distributed Energy). +* `planning_horizons`: List of target years to solve (e.g. `[2030, 2035, 2040, 2050]`). Each + horizon is solved as an independent optimisation. +* `run.name`: Identifies the run and determines the output directory; typically set to + the scenario/climate-year identifier (e.g. `NT-cy2009`). + * `launch_explorer`: Whether to launch the [PyPSA Explorer](https://github.com/open-energy-transition/pypsa-explorer) after the model solve within the workflow. Default is `True`. + +### Climate Years + +Each scenario run is tied to a specific historical climate year, which determines the +renewable generation and hydro inflow profiles used from PECD 3.1 and Hydro Inflows: + +* `snapshots`: Defines the modelling time window, e.g.: + + ```yaml + snapshots: + start: "2009-01-01" + end: "2009-12-31" + inclusive: "left" + ``` + +* `atlite.default_cutout`: ERA5 reanalysis cutout used to compute PECD-compatible + capacity factor profiles (e.g. `europe-2009-era5`). + +### Solver Settings + +* `solving.solver.name`: Solver to use (e.g. `gurobi`, `highs`, or `mosek`). +* `solving.solver_options`: Solver-specific parameters such as optimality gap and + memory limits. + +### Data Sources {#tyndp_archive} + +By default, Open-TYNDP retrieves input datasets from `data.pypsa.org` (`archive` source) +or their original primary sources, meaning data is pulled from several different domains. As an alternative, most datasets are also mirrored to a +dedicated Google Cloud Storage bucket (`open-tyndp-data-store`) under the `tyndp-archive` +source. This mirror consolidates downloads to a single URL, which can simplify IT or security approval processes. The Google Cloud Storage requires no account and all files are versioned for reproducibility. + +To activate `tyndp-archive` for all supported datasets, set `data_config: tyndp` in any +of the following ways: + +- Pass it on the command line: + + ```console + $ pixi run tyndp-sb --config data_config=tyndp + ``` + +- Set it permanently in `config/config.tyndp.yaml` (applied to all TYNDP runs): + + ```yaml + data_config: tyndp + ``` + +- Set it in `config/test/config.tyndp.yaml` for test runs. + +This loads `config/data.tyndp.yaml`, which switches all mirrored datasets to `tyndp-archive`. +A small number of datasets (`wdpa`, `cutout`, `open_tyndp_prelim`) are not yet available +on the GCS bucket and will still be retrieved from their respective sources. + +To see which datasets support `tyndp-archive`, check the `source` column in `data/versions.csv`. +See also [`data_config`](configuration.md#data_config_cf) and [`data`](configuration.md#data_cf) in the configuration reference. + +## Running Scenario Building + +Before running, make sure you have completed the steps in the [installation guide](installation.md). + +Scenarios are defined and modified in `config/scenarios.tyndp.yaml`. The full Scenario Building workflow from raw input data +through to results and launching the +[PyPSA Explorer](https://github.com/open-energy-transition/pypsa-explorer) visualisation runs with a single command: + +```console +$ pixi run tyndp-sb +``` + +!!! tip + + If too many parallel jobs cause out-of-memory issues, you can specify your machine's + physical RAM limit in `profiles/default/config.yaml` for Snakemake to use + when scheduling jobs: + + ```yaml + resources: + mem_mb: 16000 + ``` + +You can also launch the `PyPSA-Explorer` on its own, without rerunning the full workflow. + +To browse pre-solved SB networks from the latest release, simply run: + +```console +$ pixi run launch-presolved-explorer +``` + +Alternatively, if you have downloaded solved networks yourself, you can point `PyPSA-Explorer` at them directly from within the `open-tyndp` environment shell: + +```console +$ pixi shell -e open-tyndp +$ pypsa-explorer path/to/network_2030.nc path/to/network_2040.nc +``` + +Any explorer instances you launch will close automatically on reboot. To close all running instances yourself at any time, run: + +```console +$ pixi run close-explorers +``` + +!!! tip + + The workflow's dependency graphs can be built by a dedicated rule and saved to `resources/`. + Since this can grow very large for the full list of scenarios, you can restrict it to a single scenario: + + ```console + $ pixi run create-tyndp-graphs --config 'run={"name":"NT"}' + ``` diff --git a/doc/sb.rst b/doc/sb.rst deleted file mode 100644 index 5760d952ae..0000000000 --- a/doc/sb.rst +++ /dev/null @@ -1,269 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -###################### -Scenario Building (SB) -###################### - -Scenario Building (SB) is the first phase of the Open-TYNDP workflow. Starting from raw -ENTSO-E input datasets, it constructs a sector-coupled European energy system model -and solves a least-cost capacity expansion (DE and GA scenarios only, see `Open-TYNDP scenarios `_) and dispatch optimisation. The solved network -produced by SB serves as the direct input to the `Cost-Benefit Analysis (CBA) `_. - -Open-TYNDP implements the `TYNDP 2024 Scenario Building methodology -`_ as a soft-fork of -`PyPSA-Eur `_, inheriting its modelling -framework (optimisation structure, network representation, and sector-coupling capabilities) -while replacing specific inputs and assumptions to match TYNDP 2024 reference data. - - -Input Data -========== - -All used input datasets are publicly available from the `TYNDP 2024 scenarios download page -`_. The diagram below shows how they -flow into Open-TYNDP and into the benchmarking process. - -.. image:: img/tyndp/data_overview.png - :align: center - :alt: TYNDP 2024 Scenario Building data overview diagram - -Public input data from ENTSO-E is used wherever available. Where publicly available data does -not match the fixed values observed in the Market Model output files, the output files are used -as the reference for fixed input assumptions. This applies strictly to exogenous variables that -are not part of the optimisation (H₂ demand profiles, reference grid topologies, -and generator maintenance profiles). - -The following datasets are ingested and processed by dedicated ``build_tyndp_*`` Snakemake -rules: - -`PEMMDB 2.5 `_ - Installed generation and storage capacities, must-run constraints, and per-unit cost - assumptions by country and technology. Also provides efficiency and variable O&M parameters - for conventional thermal generation sourced from ERAA 2025. - -`PECD 3.1 `_ - Hourly capacity factor time series for wind (onshore and offshore) and solar PV, derived - from ERA5 reanalysis data. Profiles are provided per climate year and TYNDP bidding zone. - -`Hydro Inflows `_ - Hourly inflow profiles for reservoir and run-of-river hydro plants, used to constrain - hydro dispatch across planning horizons. Profiles are provided per climate year and TYNDP bidding zone. - -`Demand Profiles `_ - Hourly electricity and hydrogen demand profiles by country, interpolated to the target - planning horizon. Where public profiles do not match fixed values in the Market Model output - files, the output files are used as the reference. - -`Line Data `_ - Electricity and hydrogen transmission network topology for both the reference grid and - candidate lines. Electricity and H₂ line data are used from 2030 onward. - -`Investment Candidates `_ - Optional extendable transmission and storage assets for the 2035 and 2040 planning horizons. - -`Hydrogen `_ - Hydrogen storage parameters, steam methane reforming (SMR and SMR+CCS) capacities, and - import pipeline assumptions. - -`Supply Tool `_ - Methane demand and biomass potentials for energy carriers modelled in Open-TYNDP. This is - a scenario output file from the TYNDP 2024 process used as a fixed input. - -.. note:: - In the underlying PyPSA-Eur framework, RES profiles, hydro inflows, and demand time series - can be derived directly from raw weather data without any additional model. The same applies - to biomass potentials. Open-TYNDP currently uses the provided TYNDP input files for - comparability with the established TYNDP 2024 methodology. - -SB Workflow -=========== - -The SB workflow transforms raw ENTSO-E input datasets into a solved, sector-coupled PyPSA -network. The key stages are: integrating public input data, constructing the sector-coupled -network, applying TYNDP-specific constraints, solving the capacity expansion optimisation, visualising results, and running the Open-TYNDP `benchmarking framework `_. - - -Network Construction --------------------- - -The PyPSA network is built at **bidding zone / country-level resolution** for the electricity and hydrogen -sectors respectively. Buses represent national-level aggregations; AC lines and DC links represent -cross-border interconnectors with capacities and impedances taken from the TYNDP Line Data. - -Generator and storage components are attached to country buses using PEMMDB 2.5 capacity data. -Which carriers are **extendable** varies by scenario and planning horizon. - -Sector Coupling ---------------- - -Open-TYNDP models the electricity and hydrogen sectors as fully coupled. For the Distributed -Energy (DE) and Global Ambition (GA) scenarios, heating sector links are included in addition (see `Open-TYNDP scenarios `_). Cross-sector components -include: - -* **Electrolysers:** Convert electricity to hydrogen; capacity is either fixed per PEMMDB 2.5 - or left extendable depending on the scenario. -* **Fuel cells and back-pressure plants:** Reconvert hydrogen or gas to electricity. -* **Hydrogen network:** Dedicated H₂ pipelines between country buses are included for planning - horizons from 2030 onward, using TYNDP Line Data. Zones with split H₂ grids (e.g. the - Iberian Peninsula) are represented with separate H₂ buses. -* **SMR and SMR+CCS:** Grey and blue hydrogen production capacities from PEMMDB and TYNDP - hydrogen datasets. -* **Demand-side electrification:** Where the scenario specifies it, electricity demand - incorporates direct electrification of heat and transport end-uses. - -Capacity and Dispatch Optimisation ---------------------- - -The SB optimisation minimises **total annualised system cost** (variable operating cost, plus investment cost where capacity expansion is enabled) subject to: - -* Hourly supply-demand balance for each carrier at every bus. -* Transmission capacity constraints, with optional extendability for candidate lines. -* CO₂ emission budgets derived from the TYNDP 2024 scenario pathway. -* Minimum and maximum generation constraints from PEMMDB, including must-run levels and - scheduled maintenance outages. -* Country-level annual hydrogen supply and demand balances. -* Capacity expansion constraints reflecting given trajectories in the case of the DE and GA scenario - -The problem is formulated as a **linear programme (LP)** and solved with the configured -solver (HiGHS as default as an open-source alternative for lower -temporal resolution runs; other solvers like Gurobi/Mosek are also supported and recommended for high-resolution runs). - -Each planning horizon is solved independently using the capacity assumptions fixed for that -horizon. The solved ``network.nc`` file is retrieved by the CBA workflow as -its starting point. See the `CBA documentation `_ for details. - -Configuration -============= - -SB settings are split across ``config/config.tyndp.yaml`` (run-level settings) and -``config/scenarios.tyndp.yaml`` (scenario-specific overrides). You can refer to -the `configuration `_ page for a more comprehensive list of available PyPSA-Eur -and Open-TYNDP configuration options. - -Scenarios and Planning Horizons --------------------------------- - -* ``scenario``: Selects the TYNDP 2024 scenario. Supported values are ``NT`` - (National Trends), ``GA`` (Global Ambition) and ``DE`` (Distributed Energy). -* ``planning_horizons``: List of target years to solve (e.g. ``[2030, 2035, 2040, 2050]``). Each - horizon is solved as an independent optimisation. -* ``run.name``: Identifies the run and determines the output directory; typically set to - the scenario/climate-year identifier (e.g. ``NT-cy2009``). - * ``launch_explorer``: Whether to launch the `PyPSA Explorer `_ after the model solve within the workflow. Default is ``True``. - -Climate Years -------------- - -Each scenario run is tied to a specific historical climate year, which determines the -renewable generation and hydro inflow profiles used from PECD 3.1 and Hydro Inflows: - -* ``snapshots``: Defines the modelling time window, e.g.: - - .. code-block:: yaml - - snapshots: - start: "2009-01-01" - end: "2009-12-31" - inclusive: "left" - -* ``atlite.default_cutout``: ERA5 reanalysis cutout used to compute PECD-compatible - capacity factor profiles (e.g. ``europe-2009-era5``). - -Solver Settings ---------------- - -* ``solving.solver.name``: Solver to use (e.g. ``gurobi``, ``highs``, or ``mosek``). -* ``solving.solver_options``: Solver-specific parameters such as optimality gap and - memory limits. - -.. _tyndp_archive: - -Data Sources ------------- - -By default, Open-TYNDP retrieves input datasets from ``data.pypsa.org`` (``archive`` source) -or their original primary sources, meaning data is pulled from several different domains. As an alternative, most datasets are also mirrored to a -dedicated Google Cloud Storage bucket (``open-tyndp-data-store``) under the ``tyndp-archive`` -source. This mirror consolidates downloads to a single URL, which can simplify IT or security approval processes. The Google Cloud Storage requires no account and all files are versioned for reproducibility. - -To activate ``tyndp-archive`` for all supported datasets, set ``data_config: tyndp`` in any -of the following ways: - -- Pass it on the command line: - - .. code-block:: console - - $ pixi run tyndp-sb --config data_config=tyndp - -- Set it permanently in ``config/config.tyndp.yaml`` (applied to all TYNDP runs): - - .. code-block:: yaml - - data_config: tyndp - -- Set it in ``config/test/config.tyndp.yaml`` for test runs. - -This loads ``config/data.tyndp.yaml``, which switches all mirrored datasets to ``tyndp-archive``. -A small number of datasets (``wdpa``, ``cutout``, ``open_tyndp_prelim``) are not yet available -on the GCS bucket and will still be retrieved from their respective sources. - -To see which datasets support ``tyndp-archive``, check the ``source`` column in ``data/versions.csv``. -See also :ref:`data_config_cf` and :ref:`data_cf` in the configuration reference. - -Running Scenario Building -========================= - - -Before running, make sure you have completed the steps in the `installation guide -`_. - -Scenarios are defined and modified in ``config/scenarios.tyndp.yaml``. The full Scenario Building workflow from raw input data -through to results and launching the -`PyPSA Explorer `_ visualisation runs with a single command: - -.. code-block:: console - - $ pixi run tyndp-sb - -.. hint:: - - If too many parallel jobs cause out-of-memory issues, you can specify your machine's - physical RAM limit in ``profiles/default/config.yaml`` for Snakemake to use - when scheduling jobs: - - .. code-block:: yaml - - resources: - mem_mb: 16000 - -You can also launch the ``PyPSA-Explorer`` on its own, without rerunning the full workflow. - -To browse pre-solved SB networks from the latest release, simply run: - -.. code-block:: console - - $ pixi run launch-presolved-explorer - -Alternatively, if you have downloaded solved networks yourself, you can point ``PyPSA-Explorer`` at them directly from within the ``open-tyndp`` environment shell: - -.. code-block:: console - - $ pixi shell -e open-tyndp - $ pypsa-explorer path/to/network_2030.nc path/to/network_2040.nc - -Any explorer instances you launch will close automatically on reboot. To close all running instances yourself at any time, run: - -.. code-block:: console - - $ pixi run close-explorers - -.. tip:: - - The workflow's dependency graphs can be built by a dedicated rule and saved to ``resources/``. - Since this can grow very large for the full list of scenarios, you can restrict it to a single scenario: - - .. code-block:: console - - $ pixi run create-tyndp-graphs --config 'run={"name":"NT"}' diff --git a/doc/scenarios.md b/doc/scenarios.md new file mode 100644 index 0000000000..8b7f084289 --- /dev/null +++ b/doc/scenarios.md @@ -0,0 +1,102 @@ + + + +# Open TYNDP Scenarios {#scenarios} + +The modelling for the reference, National Trends+ (NT+), +and the deviation, Distributed Energy (DE) and Global Ambition (GA), scenarios +differ in terms of assumptions, storyline and method (capacity expansion vs dispatch modelling). + +Here we explain these modelling differences and how these differences have been implemented into open-tyndp. +We discuss the relevant configuration settings and the implications of these implementation decisions. + +Background information can be found in the report from ENTSO-E and ENTSO-G +[TYNDP 2024 Scenarios Methodology Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Methodology_Report_Final_Version_250128.pdf). + +A description of the storylines underlying the NT+, DE and GA scenarios can be found in the +[TYNDP 2024 Scenarios Storyline Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2023/12/ENTSOs_TYNDP_2024_Scenarios_Storyline_Report_2023-12-04.pdf). + +## National Trends+ + +The NT+ scenario was developed in alignment with the National Energy and Climate Plans that were available during the development +of TYNDP 2024 (e.g. during 2023). + +- Uses predefined final energy demands and generation capacity collected from transmission system operators +- Modelled as a pure dispatch problem, with fixed generation capacities for 2030 and 2040 +- All energy carriers included in final energy demand, not just electricity and gas (as with TYNDP < 2024) + +## Deviation Scenarios + +- Begins with National Trends+ 2030 scenario results for grid topology, generation capacity and final energy demands +- Uses predefined final energy demands for 2040 and 2050 collected from transmission system operators and public consultation +- Capacity expansion model is used to identify where and when investment in renewable generation capacity and storage is required +- Exogenous constraints on generation investment are imposed to force: + - no new nuclear power capacity + - all existing fossil gas plants are decommissioned +- Upper and lower bounds are also imposed to force trajectories for + - the expansion of solar, wind, prosumer batteries and large scale batteries + - H2 import potentials + +### Distributed Energy + +> *This scenario pictures a pathway achieving EU27 carbon neutrality target by 2050 with +> higher European Economy. The scenario is driven by a willingness of the society to achieve +> high levels of independence in terms of energy supply and goods of strategic importance +> (e. g., industrial and agricultural produce). It translates into both a behavioural shift and +> strong decentralised drive towards decarbonisation through local initiatives by citizens, +> communities and businesses, supported by authorities* +> +> — [TYNDP 2024 Scenarios Storyline Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2023/12/ENTSOs_TYNDP_2024_Scenarios_Storyline_Report_2023-12-04.pdf) + +### Global Ambition + +> *This scenario pictures a pathway to achieving carbon neutrality by 2050, driven by a fast +> and global move towards the Paris Agreement targets. It translates into development of a +> very wide range of technologies (many being centralised) and the use of global energy +> trade as a tool to accelerate decarbonisation.* +> +> — [TYNDP 2024 Scenarios Storyline Report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2023/12/ENTSOs_TYNDP_2024_Scenarios_Storyline_Report_2023-12-04.pdf) + +## Open TYNDP Implementation + +The TYNDP scenarios are defined in `config/config.tyndp.yaml` and `config/scenarios.tyndp.yaml`. + +The NT+ scenario is defined in full in `config/config.tyndp.yaml` and the modifications to NT+ +to form the two deviation scenarios are defined in `config/scenarios.tyndp.yaml`. + +| Config Key | Description | +|---|---| +| `run` | Run naming/prefix and scenario file reference; scenarios enabled. | +| `foresight` | Sets planning foresight to myopic. | +| `tyndp_scenario` | Selects TYNDP scenario code (NT). | +| `scenario` | Defines cluster set and planning horizons (2030, 2040). | +| `countries` | Lists modeled countries/regions. | +| `snapshots` | Time span for simulation (2009 calendar year). | +| `co2_budget` | Placeholder (empty). | +| `electricity` | Core electricity settings—network base, extendable/conventional/renewable carriers, TYNDP mappings, storage types, renewable capacity estimation toggle, PECD profiles (years/techs), PEMMDB hydro profiles and capacities (years/techs), transmission limit version. | +| `atlite` | Cutout configuration for weather data (extent, resolution, time). | +| `links` | Default link power limits (`p_max_pu`/`p_min_pu`). | +| `transmission_projects` | Enables projects; all source sets disabled. | +| `load` | Demand source and year availability; default gap fill and adjustments disabled. | +| `pypsa_eur` | Carrier-to-component mappings for imported PyPSA-Eur data. | +| `biomass` | Sustainable/unsustainable biomass shares over time. | +| `sector` | Toggles for sector coupling and detailed demand shares; transport/shipping/aviation settings; CO2 sequestration options; fuels and networks; biomass and e-fuels options; imports; offshore hubs limits. | +| `costs` | Overwrites for lifetimes/efficiencies and CO2 price trajectory. | +| `clustering` | Spatial/temporal clustering and network simplification settings. | +| `adjustments` | Optional scaling factors for sector components; currently off. | +| `solving` | Solver selection and option set (uses HiGHS by default). | +| `plotting` | Thresholds, map projection, balance map settings and factors. | +| `benchmarking` | Enables benchmarking. | +| `cba` | Cost-benefit analysis settings (hurdle costs, horizons, methods, projects, solver options). | + +The base config is `config.tyndp.yaml`. The scenario file `scenarios.tyndp.yaml` defines per-scenario override blocks (e.g., NT, DE, GA). +When a scenario is selected, its keys are merged onto the base config: matching keys override the base values, +and nested keys override only their sub-keys. + +Examples: + +- `tyndp_scenario` is overwritten by the scenario's value. +- In DE/GA, `electricity.extendable_carriers.Generator` replaces the base list for that path. +- In DE/GA, `sector.land_transport_ice_share`, `sector.h2_zones_tyndp`, `sector.force_biomass_potential`, `sector.force_biogas_potential`, + and `sector.co2_sequestration_potential` override the corresponding base entries. +- If a key is not present in the scenario block, the base config value remains unchanged. diff --git a/doc/scenarios.rst b/doc/scenarios.rst deleted file mode 100644 index 1af17787ba..0000000000 --- a/doc/scenarios.rst +++ /dev/null @@ -1,142 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _scenarios: - -#################### -Open TYNDP Scenarios -#################### - -The modelling for the reference, National Trends+ (NT+), -and the deviation, Distributed Energy (DE) and Global Ambition (GA), scenarios -differ in terms of assumptions, storyline and method (capacity expansion vs dispatch modelling). - -Here we explain these modelling differences and how these differences have been implemented into open-tyndp. -We discuss the relevant configuration settings and the implications of these implementation decisions. - -Background information can be found in the report from ENTSO-E and ENTSO-G -`TYNDP 2024 Scenarios Methdoology Report `__. - -A description of the storylines underlying the NT+, DE and GA scenarios can be found in the -`TYNDP 2024 Scenarios Storyline Report `__ - -National Trends+ -~~~~~~~~~~~~~~~~ - -The NT+ scenario was developed in alignment with the National Energy and Climate Plans that were available during the development -of TYNDP 2024 (e.g. during 2023). - -- Uses predefined final energy demands and generation capacity collected from transmission system operators -- Modelled as a pure dispatch problem, with fixed generation capacities for 2030 and 2040 -- All energy carriers included in final energy demand, not just electricity and gas (as with TYNDP < 2024) - -Deviation Scenarios -~~~~~~~~~~~~~~~~~~~ - -- Begins with National Trends+ 2030 scenario results for grid topology, generation capacity and final energy demands -- Uses predefined final energy demands for 2040 and 2050 collected from transmission system operators and public consultation -- Capacity expansion model is used to identify where and when investment in renewable generation capacity and storage is required -- Exogenous constraints on generation investment are imposed to force: - - no new nuclear power capacity - - all existing fossil gas plants are decommissioned -- Upper and lower bounds are also imposed to force trajectories for - - the expansion of solar, wind, prosumer batteries and large scale batteries - - H2 import potentials - -Distributed Energy ------------------- - -.. epigraph:: - - *This scenario pictures a pathway achieving EU27 carbon neutrality target by 2050 with - higher European Economy. The scenario is driven by a willingness of the society to achieve - high levels of independence in terms of energy supply and goods of strategic importance - (e. g., industrial and agricultural produce). It translates into both a behavioural shift and - strong decentralised drive towards decarbonisation through local initiatives by citizens, - communities and businesses, supported by authorities* - - -- `TYNDP 2024 Scenarios Storyline Report `__ - -Global Ambition ---------------- - -.. epigraph:: - - *This scenario pictures a pathway to achieving carbon neutrality by 2050, driven by a fast - and global move towards the Paris Agreement targets. It translates into development of a - very wide range of technologies (many being centralised) and the use of global energy - trade as a tool to accelerate decarbonisation.* - - -- `TYNDP 2024 Scenarios Storyline Report `__ - -Open TYNDP Implementation -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The TYNDP scenarios are defined in ``config/config.tyndp.yaml`` and ``config/scenarios.tyndp.yaml``. - -The NT+ scenario is defined in full in ``config/config.tyndp.yaml`` and the modifications to NT+ -to form the two deviation scenarios are defined in ``config/scenarios.tyndp.yaml``. - -.. list-table:: - :widths: 20 80 - :header-rows: 1 - - * - Config Key - - Description - * - run - - Run naming/prefix and scenario file reference; scenarios enabled. - * - foresight - - Sets planning foresight to myopic. - * - tyndp_scenario - - Selects TYNDP scenario code (NT). - * - scenario - - Defines cluster set and planning horizons (2030, 2040). - * - countries - - Lists modeled countries/regions. - * - snapshots - - Time span for simulation (2009 calendar year). - * - co2_budget - - Placeholder (empty). - * - electricity - - Core electricity settings—network base, extendable/conventional/renewable carriers, TYNDP mappings, storage types, renewable capacity estimation toggle, PECD profiles (years/techs), PEMMDB hydro profiles and capacities (years/techs), transmission limit version. - * - atlite - - Cutout configuration for weather data (extent, resolution, time). - * - links - - Default link power limits (``p_max_pu``/``p_min_pu``). - * - transmission_projects - - Enables projects; all source sets disabled. - * - load - - Demand source and year availability; default gap fill and adjustments disabled. - * - pypsa_eur - - Carrier-to-component mappings for imported PyPSA-Eur data. - * - biomass - - Sustainable/unsustainable biomass shares over time. - * - sector - - Toggles for sector coupling and detailed demand shares; transport/shipping/aviation settings; CO2 sequestration options; fuels and networks; biomass and e-fuels options; imports; offshore hubs limits. - * - costs - - Overwrites for lifetimes/efficiencies and CO2 price trajectory. - * - clustering - - Spatial/temporal clustering and network simplification settings. - * - adjustments - - Optional scaling factors for sector components; currently off. - * - solving - - Solver selection and option set (uses HiGHS by default). - * - plotting - - Thresholds, map projection, balance map settings and factors. - * - benchmarking - - Enables benchmarking. - * - cba - - Cost-benefit analysis settings (hurdle costs, horizons, methods, projects, solver options). - -The base config is ``config.tyndp.yaml``. The scenario file ``scenarios.tyndp.yaml`` defines per-scenario override blocks (e.g., NT, DE, GA). -When a scenario is selected, its keys are merged onto the base config: matching keys override the base values, -and nested keys override only their sub-keys. - -Examples: - -- ``tyndp_scenario`` is overwritten by the scenario's value. -- In DE/GA, ``electricity.extendable_carriers.Generator`` replaces the base list for that path. -- In DE/GA, ``sector.land_transport_ice_share``, ``sector.h2_zones_tyndp``, ``sector.force_biomass_potential``, ``sector.force_biogas_potential``, - and ``sector.co2_sequestration_potential`` override the corresponding base entries. -- If a key is not present in the scenario block, the base config value remains unchanged diff --git a/doc/sector.md b/doc/sector.md new file mode 100644 index 0000000000..1038a0fbad --- /dev/null +++ b/doc/sector.md @@ -0,0 +1,253 @@ + + + + + +# Building Sector-Coupled Networks + +The preparation process of the sector-coupled version of the PyPSA-Eur energy system model consists of a group of `snakemake` rules which are briefly outlined and explained in detail in the sections below. + +Not all data dependencies are shipped with the git repository. +Instead we provide separate data bundles which can be obtained +using the `retrieve*` rules ([Retrieving Data](retrieve.md)). +Having downloaded the necessary data, + +- [add_brownfield][] builds and stores the base network with all buses, HVAC lines and HVDC links, while + + +## Rule `add_brownfield` + +::: add_brownfield + +## Rule `add_existing_baseyear` + +::: add_existing_baseyear + +## Rule `build_existing_heating_distribution` + +::: build_existing_heating_distribution + + +## Rule `build_ammonia_production` + +::: build_ammonia_production + +## Rule `build_biomass_potentials` + +::: build_biomass_potentials + +## Rule `build_egs_potentials` + +::: build_egs_potentials + +## Rule `build_biomass_transport_costs` + +::: build_biomass_transport_costs + +## Rule `build_clustered_population_layouts` + +::: build_clustered_population_layouts + +## Rule `build_simplified_population_layouts` + + + +## Rule `build_clustered_solar_rooftop_potentials` + +::: build_clustered_solar_rooftop_potentials + +## Rule `build_cop_profiles` + + + +## Rule `build_direct_heat_source_utilisation_profiles` + +::: build_direct_heat_source_utilisation_profiles + +## Rule `build_central_heating_temperature_profiles` + + + +## Rule `build_geothermal_heat_potential` + +::: build_geothermal_heat_potential + +## Rule `build_ates_potentials` + +::: build_ates_potentials + +## Rule `build_dh_areas` + +::: build_dh_areas + +## Rule `build_river_heat_potential` + + + +## Rule `build_sea_heat_potential` + + + +## Rule `build_ptes_operations` + + + +## Rule `build_tes_capacity_profiles` + + + +## Rule `build_eurostat_balances` + +::: build_eurostat_balances + +## Rule `build_energy_totals` + +::: build_energy_totals + +## Rule `build_heat_totals` + +::: build_heat_totals + +## Rule `build_gas_input_locations` + +::: build_gas_input_locations + +## Rule `build_gas_network` + +::: build_gas_network + +## Rule `build_daily_heat_demand` + +::: build_daily_heat_demand + +## Rule `build_hourly_heat_demand` + +::: build_hourly_heat_demand + +## Rule `build_district_heat_share` + +::: build_district_heat_share + +## Rule `build_industrial_distribution_key` + +::: build_industrial_distribution_key + +## Rule `build_industrial_energy_demand_per_country_today` + +::: build_industrial_energy_demand_per_country_today + +## Rule `build_industrial_energy_demand_per_node_today` + +::: build_industrial_energy_demand_per_node_today + +## Rule `build_industrial_energy_demand_per_node` + +::: build_industrial_energy_demand_per_node + +## Rule `build_industrial_production_per_country_tomorrow` + +::: build_industrial_production_per_country_tomorrow + +## Rule `build_industrial_production_per_country` + +::: build_industrial_production_per_country + +## Rule `build_industrial_production_per_node` + +::: build_industrial_production_per_node + +## Rule `build_industry_sector_ratios` + +::: build_industry_sector_ratios + +## Rule `build_industry_sector_ratios_intermediate` + +::: build_industry_sector_ratios_intermediate + +## Rule `build_population_layouts` + +::: build_population_layouts + +## Rule `build_population_weighted_energy_totals` + +::: build_population_weighted_energy_totals + +## Rule `build_retro_cost` + +::: build_retro_cost + +## Rule `build_salt_cavern_potentials` + +::: build_salt_cavern_potentials + +## Rule `build_co2_sequestration_potentials` + +::: build_co2_sequestration_potentials + +## Rule `build_clustered_co2_sequestration_potentials` + +::: build_clustered_co2_sequestration_potentials + +## Rule `build_shipping_demand` + +::: build_shipping_demand + +## Rule `build_solar_thermal_profiles` + +::: build_solar_thermal_profiles + +## Rule `build_temperature_profiles` + +::: build_temperature_profiles + +## Rule `build_mobility_profiles` + +::: build_mobility_profiles + +## Rule `build_transport_demand` + +::: build_transport_demand + +## Rule `cluster_gas_network` + +::: cluster_gas_network + +## Rule `build_snapshot_weightings` + +::: build_snapshot_weightings + +## Rule `build_tyndp_h2_network` + +::: build_tyndp_h2_network + +## Rule `clean_tyndp_h2_imports` + +::: clean_tyndp_h2_imports + +## Rule `build_tyndp_h2_imports` + +::: build_tyndp_h2_imports + +## Rule `build_tyndp_offshore_hubs` + +::: build_tyndp_offshore_hubs + +## Rule `build_tyndp_h2_demand` + +::: build_tyndp_h2_demand + +## Rule `group_tyndp_conventionals` + +::: group_tyndp_conventionals + +## Rule `build_tyndp_gas_demand` + +::: build_tyndp_gas_demand + +## Rule `prepare_sector_network` + +::: prepare_sector_network + +## Rule `temporal_aggregation` + +::: temporal_aggregation diff --git a/doc/sector.rst b/doc/sector.rst deleted file mode 100644 index ea309834d1..0000000000 --- a/doc/sector.rst +++ /dev/null @@ -1,314 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Building Sector-Coupled Networks -########################################## - -The preparation process of the sector-coupled version of the PyPSA-Eur energy system model consists of a group of ``snakemake`` rules which are briefly outlined and explained in detail in the sections below. - -Not all data dependencies are shipped with the git repository. -Instead we provide separate data bundles which can be obtained -using the ``retrieve*`` rules (:ref:`data`). -Having downloaded the necessary data, - -- :mod:`add_brownfield` builds and stores the base network with all buses, HVAC lines and HVDC links, while - - -Rule ``add_brownfield`` -============================================================================== - -.. automodule:: add_brownfield - -Rule ``add_existing_baseyear`` -============================================================================== - -.. automodule:: add_existing_baseyear - -Rule ``build_existing_heating_distribution`` -============================================================================== - -.. automodule:: build_existing_heating_distribution - - -Rule ``build_ammonia_production`` -============================================================================== - -.. automodule:: build_ammonia_production - -Rule ``build_biomass_potentials`` -============================================================================== - -.. automodule:: build_biomass_potentials - -Rule ``build_egs_potentials`` -============================================================================== - -.. automodule:: build_egs_potentials - -Rule ``build_biomass_transport_costs`` -============================================================================== - -.. automodule:: build_biomass_transport_costs - -Rule ``build_clustered_population_layouts`` -============================================================================== - -.. automodule:: build_clustered_population_layouts - -Rule ``build_simplified_population_layouts`` -============================================================================== - -.. automodule:: build_simplified_population_layouts - -Rule ``build_clustered_solar_rooftop_potentials`` -============================================================================== - -.. automodule:: build_clustered_solar_rooftop_potentials - -Rule ``build_cop_profiles`` -============================================================================== - -.. automodule:: build_cop_profiles - -Rule ``build_direct_heat_source_utilisation_profiles`` -============================================================================== - -.. automodule:: build_direct_heat_source_utilisation_profiles - -Rule ``build_central_heating_temperature_profiles`` -============================================================================== - -.. automodule:: build_central_heating_temperature_profiles - -Rule ``build_geothermal_heat_potential`` -============================================================================== - -.. automodule:: build_geothermal_heat_potential - -Rule ``build_ates_potentials`` -============================================================================== - -.. automodule:: build_ates_potentials - -Rule ``build_dh_areas`` -============================================================================== - -.. automodule:: build_dh_areas - -Rule ``build_river_heat_potential`` -============================================================================== - -.. automodule:: build_river_heat_potential - -Rule ``build_sea_heat_potential`` -============================================================================== - -.. automodule:: build_sea_heat_potential - -Rule ``build_ptes_operations`` -============================================================================== - -.. automodule:: build_ptes_operations - -Rule ``build_tes_capacity_profiles`` -============================================================================== - -.. automodule:: build_tes_capacity_profiles - -Rule ``build_eurostat_balances`` -============================================================================== - -.. automodule:: build_eurostat_balances - -Rule ``build_energy_totals`` -============================================================================== - -.. automodule:: build_energy_totals - -Rule ``build_heat_totals`` -============================================================================== - -.. automodule:: build_heat_totals - -Rule ``build_gas_input_locations`` -============================================================================== - -.. automodule:: build_gas_input_locations - -Rule ``build_gas_network`` -============================================================================== - -.. automodule:: build_gas_network - -Rule ``build_daily_heat_demand`` -============================================================================== - -.. automodule:: build_daily_heat_demand - -Rule ``build_hourly_heat_demand`` -============================================================================== - -.. automodule:: build_hourly_heat_demand - -Rule ``build_district_heat_share`` -============================================================================== - -.. automodule:: build_district_heat_share - -Rule ``build_industrial_distribution_key`` -============================================================================== - -.. automodule:: build_industrial_distribution_key - -Rule ``build_industrial_energy_demand_per_country_today`` -============================================================================== - -.. automodule:: build_industrial_energy_demand_per_country_today - -Rule ``build_industrial_energy_demand_per_node_today`` -============================================================================== - -.. automodule:: build_industrial_energy_demand_per_node_today - -Rule ``build_industrial_energy_demand_per_node`` -============================================================================== - -.. automodule:: build_industrial_energy_demand_per_node - -Rule ``build_industrial_production_per_country_tomorrow`` -============================================================================== - -.. automodule:: build_industrial_production_per_country_tomorrow - -Rule ``build_industrial_production_per_country`` -============================================================================== - -.. automodule:: build_industrial_production_per_country - -Rule ``build_industrial_production_per_node`` -============================================================================== - -.. automodule:: build_industrial_production_per_node - -Rule ``build_industry_sector_ratios`` -============================================================================== - -.. automodule:: build_industry_sector_ratios - -Rule ``build_industry_sector_ratios_intermediate`` -============================================================================== - -.. automodule:: build_industry_sector_ratios_intermediate - -Rule ``build_population_layouts`` -============================================================================== - -.. automodule:: build_population_layouts - -Rule ``build_population_weighted_energy_totals`` -============================================================================== - -.. automodule:: build_population_weighted_energy_totals - -Rule ``build_retro_cost`` -============================================================================== - -.. automodule:: build_retro_cost - -Rule ``build_salt_cavern_potentials`` -============================================================================== - -.. automodule:: build_salt_cavern_potentials - -Rule ``build_co2_sequestration_potentials`` -============================================================================== - -.. automodule:: build_co2_sequestration_potentials - -Rule ``build_clustered_co2_sequestration_potentials`` -============================================================================== - -.. automodule:: build_clustered_co2_sequestration_potentials - -Rule ``build_shipping_demand`` -============================================================================== - -.. automodule:: build_shipping_demand - -Rule ``build_solar_thermal_profiles`` -============================================================================== - -.. automodule:: build_solar_thermal_profiles - -Rule ``build_temperature_profiles`` -============================================================================== - -.. automodule:: build_temperature_profiles - -Rule ``build_mobility_profiles`` -============================================================================== - -.. automodule:: build_mobility_profiles - -Rule ``build_transport_demand`` -============================================================================== - -.. automodule:: build_transport_demand - -Rule ``cluster_gas_network`` -============================================================================== - -.. automodule:: cluster_gas_network - -Rule ``build_snapshot_weightings`` -============================================================================== - -.. automodule:: build_snapshot_weightings - -Rule ``build_tyndp_h2_network`` -============================================================================== - -.. automodule:: build_tyndp_h2_network - -Rule ``clean_tyndp_h2_imports`` -============================================================================== - -.. automodule:: clean_tyndp_h2_imports - -Rule ``build_tyndp_h2_imports`` -============================================================================== - -.. automodule:: build_tyndp_h2_imports - -Rule ``build_tyndp_offshore_hubs`` -============================================================================== - -.. automodule:: build_tyndp_offshore_hubs - -Rule ``build_tyndp_h2_demand`` -============================================================================== - -.. automodule:: build_tyndp_h2_demand - -Rule ``group_tyndp_conventionals`` -============================================================================== - -.. automodule:: group_tyndp_conventionals - -Rule ``build_tyndp_gas_demand`` -============================================================================== - -.. automodule:: build_tyndp_gas_demand - -Rule ``prepare_sector_network`` -============================================================================== - -.. automodule:: prepare_sector_network - -Rule ``temporal_aggregation`` -============================================================================== - -.. automodule:: temporal_aggregation \ No newline at end of file diff --git a/doc/solving.md b/doc/solving.md new file mode 100644 index 0000000000..bbdc47e228 --- /dev/null +++ b/doc/solving.md @@ -0,0 +1,22 @@ + + + +# Solving Networks + +After generating and simplifying the networks they can be solved through the +rule [solve_network][] by using the collection rules `solve_elec_networks` +or `solve_sector_networks`. Moreover, networks can be solved for dispatch-only +analyses on an already solved network with [solve_operations_network][]. + +## Rule `solve_network` {#solve} + +::: solve_network + +## Rule `solve_operations_network` {#solve_operations} + +::: solve_operations_network + +## Rule `solve_sector_network` + +!!! warning + More comprehensive documentation for this rule will be released soon. diff --git a/doc/solving.rst b/doc/solving.rst deleted file mode 100644 index 35d7f55c8e..0000000000 --- a/doc/solving.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Solving Networks -########################################## - -After generating and simplifying the networks they can be solved through the -rule :mod:`solve_network` by using the collection rules ``solve_elec_networks`` -or ``solve_sector_networks``. Moreover, networks can be solved for dispatch-only -analyses on an already solved network with :mod:`solve_operations_network`. - -.. _solve: - -Rule ``solve_network`` -========================= - -.. automodule:: solve_network - -.. _solve_operations: - -Rule ``solve_operations_network`` -==================================== - -.. automodule:: solve_operations_network - -Rule ``solve_sector_network`` -============================= - -.. warning:: - More comprehensive documentation for this rule will be released soon. diff --git a/doc/spatial_resolution.md b/doc/spatial_resolution.md new file mode 100644 index 0000000000..df29eba486 --- /dev/null +++ b/doc/spatial_resolution.md @@ -0,0 +1,49 @@ + + + +# Spatial resolution {#spatial_resolution} + +The default nodal resolution of the model follows the electricity generation and transmission model [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur), which clusters down the electricity transmission substations in each European country based on the k-means algorithm (See [cluster_network](https://pypsa-eur.readthedocs.io/en/latest/simplification/cluster_network.html#rule-cluster-network) for a complete explanation). This gives nodes which correspond to major load and generation centres (typically cities). + +The total number of nodes for Europe is set in the `config/config.yaml` file under `clusters`. The number of nodes can vary between 37, the number of independent countries / synchronous areas, and several hundred. With 200-300 nodes the model needs 100-150 GB RAM to solve with a commercial solver like Gurobi. + +Exemplary unsolved network clustered to 512 nodes: + +![Exemplary unsolved network clustered to 512 nodes](img/base_s_512.png) + +Exemplary unsolved network clustered to 37 nodes: + +![Exemplary unsolved network clustered to 37 nodes](img/base_s_37.png) + +The total number of nodes for Europe is set in the `config/config.yaml` file under [clusters](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L20). The number of nodes can vary between 37, the number of independent countries/synchronous areas, and several hundred. With 200-300 nodes, the model needs 100-150 GB RAM to solve with a commercial solver like Gurobi. +Not all of the sectors are at the full nodal resolution, and some demand for some sectors is distributed to nodes using heuristics that need to be corrected. Some networks are copper-plated to reduce computational times. + +Here are some examples of how spatial resolution is set for different sectors in PyPSA-Eur-Sec: + +- **Electricity network:** Modeled as nodal. + +- **Electricity residential and commercial demand:** Modeled as nodal, distributed in each country based on population and GDP. + +- **Electricity distribution network:** Not included in the model, but a link per node can be used to represent energy transferred between distribution and transmission levels (explained more in detail below). + +- **Residential and commercial building heating demand:** Modeled as nodal, distributed in each country based on population. + +- **Electricity demand in industry:** Modeled as nodal, based on the location of industrial facilities from HotMaps database. + +- **Industry demand (heat, chemicals, etc.):** Modeled as nodal, distributed in each country based on locations of industry from HotMaps database. + +- **Hydrogen network:** Modeled as nodal (if activated in the [config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L260) file). + +- **Methane network:** It can be modeled as a single node for Europe or it can be nodally resolved if activated in the [config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L266). One node can be considered reasonable since future demand is expected to be low and no bottlenecks are expected. Also, the nodally resolved methane grid is based on SciGRID_gas data. + +- **Solid biomass:** It can be modeled as a single node for Europe or it can be nodally resolved if activated in the [config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L270). Nodal modeling includes modeling biomass potential per country (given per country, then distributed by population density within) and the transport of solid biomass between countries. + +- **CO2:** It can be modeled as a single node for Europe or it can be nodally resolved with CO2 transport pipelines if activated in the [config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L248). It should mentioned that in single node mode a transport and storage cost is added for sequestered CO2, the cost of which can be adjusted in the [config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L247). + +- **Carbonaceous fuels:** Modeled as a single node for Europe by default, since transport costs for liquids are low and no bottlenecks are expected. Can be regionally resolved in configuration. + +**Electricity distribution network** + +Contrary to the transmission grid, the grid topology at the distribution level (at and below 110 kV) is not included due to the very high computational burden. However, a link per node can be used (if activated in the [Config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L257) file) to represent energy transferred between distribution and transmission levels at every node. In essence, the total energy capacity connecting the transmission grid and the low-voltage level is optimized. The cost assumptions for this link can be adjusted in Config file [options](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L258), and is currently assumed to be 500 Eur/kW. + +Rooftop PV, heat pumps, resistive heater, home batteries chargers for passenger EVs, as well as individual heating technologies (heat pumps and resistive heaters) are connected to low-voltage level. All the remaining generation and storage technologies are connected to the transmission grid. In practice, this means that the distribution grid capacity is only extended if it is necessary to balance the mismatch between local generation and demand. diff --git a/doc/spatial_resolution.rst b/doc/spatial_resolution.rst deleted file mode 100644 index 6d5be817a6..0000000000 --- a/doc/spatial_resolution.rst +++ /dev/null @@ -1,53 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _spatial_resolution: - -########################################## -Spatial resolution -########################################## - -The default nodal resolution of the model follows the electricity generation and transmission model `PyPSA-Eur `__, which clusters down the electricity transmission substations in each European country based on the k-means algorithm (See `cluster_network `__ for a complete explanation). This gives nodes which correspond to major load and generation centres (typically cities). - -The total number of nodes for Europe is set in the ``config/config.yaml`` file under ``clusters``. The number of nodes can vary between 37, the number of independent countries / synchronous areas, and several hundred. With 200-300 nodes the model needs 100-150 GB RAM to solve with a commercial solver like Gurobi. - -Exemplary unsolved network clustered to 512 nodes: - -.. image:: img/elec_s_512.png - -Exemplary unsolved network clustered to 37 nodes: - -.. image:: img/elec_s_37.png - -The total number of nodes for Europe is set in the ``config/config.yaml`` file under `clusters `__. The number of nodes can vary between 37, the number of independent countries/synchronous areas, and several hundred. With 200-300 nodes, the model needs 100-150 GB RAM to solve with a commercial solver like Gurobi. -Not all of the sectors are at the full nodal resolution, and some demand for some sectors is distributed to nodes using heuristics that need to be corrected. Some networks are copper-plated to reduce computational times. - -Here are some examples of how spatial resolution is set for different sectors in PyPSA-Eur-Sec: - -• Electricity network: Modeled as nodal. - -• Electricity residential and commercial demand: Modeled as nodal, distributed in each country based on population and GDP. - -• Electricity distribution network: Not included in the model, but a link per node can be used to represent energy transferred between distribution and transmission levels (explained more in detail below). - -• Residential and commercial building heating demand: Modeled as nodal, distributed in each country based on population. - -• Electricity demand in industry: Modeled as nodal, based on the location of industrial facilities from HotMaps database. - -• Industry demand (heat, chemicals, etc.) : Modeled as nodal, distributed in each country based on locations of industry from HotMaps database. -• Hydrogen network: Modeled as nodal (if activated in the `config `__ file). - -• Methane network: It can be modeled as a single node for Europe or it can be nodally resolved if activated in the `config `__. One node can be considered reasonable since future demand is expected to be low and no bottlenecks are expected. Also, the nodally resolved methane grid is based on SciGRID_gas data. - -• Solid biomass: It can be modeled as a single node for Europe or it can be nodally resolved if activated in the `config `__. Nodal modeling includes modeling biomass potential per country (given per country, then distributed by population density within) and the transport of solid biomass between countries. - -• CO2: It can be modeled as a single node for Europe or it can be nodally resolved with CO2 transport pipelines if activated in the `config `__. It should mentioned that in single node mode a transport and storage cost is added for sequestered CO2, the cost of which can be adjusted in the `config `__. - -• Carbonaceous fuels: Modeled as a single node for Europe by default, since transport costs for liquids are low and no bottlenecks are expected. Can be regionally resolved in configuration. - -**Electricity distribution network** - -Contrary to the transmission grid, the grid topology at the distribution level (at and below 110 kV) is not included due to the very high computational burden. However, a link per node can be used (if activated in the `Config `__ file) to represent energy transferred between distribution and transmission levels at every node. In essence, the total energy capacity connecting the transmission grid and the low-voltage level is optimized. The cost assumptions for this link can be adjusted in Config file `options `__ , and is currently assumed to be 500 Eur/kW. - -Rooftop PV, heat pumps, resistive heater, home batteries chargers for passenger EVs, as well as individual heating technologies (heat pumps and resistive heaters) are connected to low-voltage level. All the remaining generation and storage technologies are connected to the transmission grid. In practice, this means that the distribution grid capacity is only extended if it is necessary to balance the mismatch between local generation and demand. diff --git a/doc/supply_demand.md b/doc/supply_demand.md new file mode 100644 index 0000000000..ba6d365e1f --- /dev/null +++ b/doc/supply_demand.md @@ -0,0 +1,599 @@ + + + + +# Supply and demand + +An initial orientation to the supply and demand options in the model +PyPSA-Eur-Sec can be found in the description of the model +PyPSA-Eur-Sec-30 in the paper [Synergies of sector coupling and +transmission reinforcement in a cost-optimised, highly renewable +European energy system](https://arxiv.org/abs/1801.05290) (2018). +The latest version of PyPSA-Eur-Sec differs by including biomass, +industry, industrial feedstocks, aviation, shipping, better carbon +management, carbon capture and usage/sequestration, and gas networks. + +The basic supply (left column) and demand (right column) options in the model are described in this figure: + +![](img/multisector_figure.png) + +## Electricity supply and demand {#electricity-supply-and-demand} + +Electricity supply and demand follows the electricity generation and +transmission model [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur), +except that hydrogen storage is integrated into the hydrogen supply, +demand and network, and PyPSA-Eur-Sec includes CHPs. + +Unlike PyPSA-Eur, PyPSA-Eur-Sec does not distribution electricity demand for industry according to population and GDP, but uses the +geographical data from the [Hotmaps Industrial Database](https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database). + +Also unlike PyPSA-Eur, PyPSA-Eur-Sec subtracts existing electrified heating from the existing electricity demand, so that power-to-heat can be optimised separately. + +The remaining electricity demand for households and services is distributed inside each country proportional to GDP and population. + +## Heat demand {#heat-demand} + +Building heating in residential and services sectors is resolved regionally, both for individual buildings and district heating systems, which include different supply options (see [Heat supply](#heat-supply).) +Annual heat demands per country are retrieved from [JRC-IDEES](https://op.europa.eu/en/publication-detail/-/publication/989282db-ad65-11e7-837e-01aa75ed71a1/language-en) and split into space and water heating. For space heating, the annual demands are converted to daily values based on the population-weighted Heating Degree Day (HDD) using the [atlite tool](https://github.com/PyPSA/atlite), where space heat demand is proportional to the difference between the daily average ambient temperature (read from [ERA5](https://doi.org/10.1002/qj.3803)) and a threshold temperature above which space heat demand is zero. A threshold temperature of 15 degrees C is assumed by default. The daily space heat demand is distributed to the hours of the day following heat demand profiles from [BDEW](https://github.com/oemof/demandlib). These differ for weekdays and weekends/holidays and between residential and services demand. + +*Space heating* + +The space heating demand can be exogenously reduced by retrofitting measures that improve the buildings' thermal envelopes. + +```yaml +{{ yaml_section("sector.reduce_space_heat_exogenously", "sector.reduce_space_heat_exogenously_factor") }} +``` + +Co-optimsing of building renovation is also possible, if it is activated in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L222). +Renovation of the thermal envelope reduces the space heating demand and is optimised at each node for every heat bus. Renovation measures through additional insulation material and replacement of energy inefficient windows are considered. +In a first step, costs per energy savings are estimated in [build_retro_cost.py](https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/build_retro_cost.py). They depend on the insulation condition of the building stock and costs for renovation of the building elements. In a second step, for those cost per energy savings two possible renovation strengths are determined: a moderate renovation with lower costs, a lower maximum possible space heat savings, and an ambitious renovation with associated higher costs and higher efficiency gains. They are added by step-wise linearisation in form of two additional generations in [prepare_sector_network.py](https://github.com/PyPSA/pypsa-eur-sec/blob/master/scripts/prepare_sector_network.py). +Further information are given in the publication : +[Mitigating heat demand peaks in buildings in a highly renewable European energy system, (2021)](https://arxiv.org/abs/2012.01831). + +*Water heating* + +Hot water demand is assumed to be constant throughout the year. + +*Urban and rural heating* + +For every country, heat demand is split between low and high population density areas. These country-level totals are then distributed to each region in proportion to their rural and urban populations respectively. Urban areas with dense heat demand can be supplied with large-scale district heating systems. The percentage of urban heat demand that can be supplied by district heating networks as well as lump-sum losses in district heating systems is exogenously determined in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L153). + +*Cooling demand* + +Cooling is electrified and is included in the electricity demand. Cooling demand is assumed to remain at current levels. An example of regional distribution of the total heat demand for network 181 regions is depicted below. + +![](img/demand-map-heat.png) + +As below figure shows, the current total heat demand in Europe is similar to the total electricity demand but features much more pronounced seasonal variations. The current total building heating demand in Europe adds up to 3084 TWh/a of which 78% occurs in urban areas. + +![](img/Heat_and_el_demand_timeseries.png) + +In practice, in PyPSA-Eur-Sec, there are heat demand buses to which the corresponding heat demands are added. + + +1) Urban central heat: large-scale district heating networks in urban areas with dense heat population. Residential and services demand in these areas are added as demands to this bus +2) Residential urban decentral heat: heating for residential buildings in urban areas not using district heating +3) Services urban decentral heat: heating for services buildings in urban areas not using district heating +4) Residential rural heat: heating for residential buildings in rural areas with low population density. +5) Services rural heat: heating for residential services buildings in rural areas with low population density. Heat demand from agriculture sector is also included here. + +## Heat supply {#heat-supply} + +Different supply options are available depending on whether demand is met centrally through district heating systems, or decentrally through appliances in individual buildings. + +**Urban central heat** + +For large-scale district heating systems the following options are available: combined heat and power (CHP) plants consuming gas or biomass from waste and residues with and without carbon capture (CC), large-scale air-sourced heat pumps, gas and oil boilers, resistive heaters, and fuel cell CHPs. Additionally, waste heat from the [Fischer-Tropsch](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L255) and [Sabatier](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L240) processes for the production of synthetic hydrocarbons can supply district heating systems. For more detailed explanation of these processes, see [Oil-based products supply](#oil-based-products-supply) and [Methane supply](#methane-supply). + +**Residential and Urban decentral heat** + +Supply options in individual buildings include gas and oil boilers, air- and ground-sourced heat pumps, resistive heaters, and solar thermal collectors. +Ground-source heat pumps are only allowed in rural areas because of space constraints. Thus, only air- source heat pumps are allowed in urban areas. This is a conservative assumption, since there are many possible sources of low-temperature heat that could be tapped in cities (e.g. waste water, ground water, or natural bodies of water). Costs, lifetimes and efficiencies for these technologies are retrieved from the [technology-data repository](https://github.com/PyPSA/technology-data). + +Below are more detailed explanations for each heating supply component, all of which are modelled as [links](https://pypsa.readthedocs.io/en/latest/components.html?highlight=distribution#link) in PyPSA-Eur-Sec. + +### Large-scale CHP {#large-scale-chp} + +Large Combined Heat and Power plants are included in the model if it is specified in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L235). + +CHPs are based on back pressure plants operating with a fixed ratio of electricity to heat output. The efficiencies of each are given on the back pressure line, where the back pressure coefficient cb is the electricity output divided by the heat output. (For a more complete explanation of the operation of CHPs refer to the study by Dahl et al. : [Cost sensitivity of optimal sector-coupled district heating production systems](https://arxiv.org/pdf/1804.07557.pdf). + +PyPSA-Eur-Sec includes CHP plants fueled by methane and solid biomass from waste and residues. Hydrogen fuel cells also produce both electricity and heat. + +The methane CHP is modeled on the Danish Energy Agency (DEA) "Gas turbine simple cycle (large)" while the solid biomass CHP is based on the DEA's "09b Wood Pellets Medium". For biomass CHP, cb = [0.46](https://ens.dk/sites/ens.dk/files/Statistik/technology_data_catalogue_for_el_and_dh_-_0009.pdf#page=156) , whereas for gas CHP, cb = [1](https://ens.dk/sites/ens.dk/files/Statistik/technology_data_catalogue_for_el_and_dh_-_0009.pdf#page=64). + +NB: The old PyPSA-Eur-Sec-30 model assumed an extraction plant (like the DEA coal CHP) for gas which has flexible production of heat and electricity within the feasibility diagram of Figure 4 in the study by [Brown et al.](https://arxiv.org/abs/1801.05290) We have switched to the DEA back pressure plants since these are more common for smaller plants for biomass, and because the extraction plants were on the back pressure line for 99.5% of the time anyway. The plants were all changed to back pressure in PyPSA-Eur-Sec v0.4.0. + +**Micro-CHP** + +PyPSA-Eur-Sec allows individual buildings to make use of [micro gas CHPs](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L236) that are assumed to be installed at the distribution grid level. + +**Heat pumps** + +The coefficient of performance (COP) of air- and ground-sourced heat pumps depends on the ambient or soil temperature respectively. Hence, the COP is a time-varying parameter (refer to [Config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L206) file). Generally, the COP will be lower during winter when temperatures are low. Because the ambient temperature is more volatile than the soil temperature, the COP of ground-sourced heat pumps is less variable. Moreover, the COP depends on the difference between the source and sink temperatures: + +$$\Delta T = T_{sink} - T_{source}$$ + +For the sink water temperature Tsink we assume 55 degrees C ([Config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L207) file). For the time- and location-dependent source temperatures Tsource, we rely on the [ERA5](https://doi.org/10.1002/qj.3803) reanalysis weather data. The temperature differences are converted into COP time series using results from a regression analysis performed in the study by [Stafell et al.](https://pubs.rsc.org/en/content/articlelanding/2012/EE/c2ee22653g). For air-sourced heat pumps (ASHP), we use the function: + +$$COP (\Delta T) = 6.81 - 0.121\Delta T + 0.000630\Delta T^2$$ + +for ground-sourced heat pumps (GSHP), we use the function: + +$$COP(\Delta T) = 8.77 - 0.150\Delta T + 0.000734\Delta T^2$$ + +**Resistive heaters** + +Can be activated in Config from the [boilers](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L232) option. +Resistive heaters produce heat with a fixed conversion efficiency (refer to [Technology-data repository](https://github.com/PyPSA/technology-data) ). + +**Gas, oil, and biomass boilers** + +Can be activated in Config from the [boilers](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L232) , [oil boilers](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L233) , and [biomass boiler](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L234) option. +Similar to resistive heaters, boilers have a fixed efficiency and produce heat using gas, oil or biomass. + +**Solar thermal collectors** + +Can be activated in the config file from the [solar_thermal](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L237) option. +Solar thermal profiles are built based on weather data and also have the [options](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L134) for setting the sky model and the orientation of the panel in the config file, which are then used by the atlite tool to calculate the solar resource time series. + +**Waste heat from Fuel Cells, Methanation and Fischer-Tropsch plants** + +Waste heat from [fuel cells](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L256) in addition to processes like [Fischer-Tropsch](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L255), methanation, and Direct Air Capture (DAC) is dumped into district heating networks. + +**Existing heating capacities and decommissioning** + +For the myopic transition paths, capacities already existing for technologies supplying heat are retrieved from ["Mapping and analyses of the current and future (2020 - 2030)"](https://ec.europa.eu/energy/en/studies/mapping-and-analyses-current-and-future-2020-2030-heatingcooling-fuel-deployment) . For the sake of simplicity, coal, oil and gas boiler capacities are assimilated to gas boilers. Besides that, existing capacities for heat resistors, air-sourced and ground-sourced heat pumps are included in the model. For heating capacities, 25% of existing capacities in 2015 are assumed to be decommissioned in every 5-year time step after 2020. + +**Thermal Energy Storage** + +Activated in Config from the [tes](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L228) option. + +Thermal energy can be stored in large water pits associated with district heating systems and individual thermal energy storage (TES), i.e., small water tanks. Water tanks are modelled as [stores](https://pypsa.readthedocs.io/en/latest/components.html?highlight=distribution#store), which are connected to heat demand buses through water charger/discharger links. +A thermal energy density of 46.8 kWh $_{th}$/m3 is assumed, corresponding to a temperature difference of 40 K. The decay of thermal energy in the stores: 1- $e^{-1/24\tau}$ is assumed to have a time constant of $\tau$=180 days for central TES and $\tau$=3 days for individual TES, both modifiable through [tes_tau](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L229) in config file. Charging and discharging efficiencies are 90% due to pipe losses. + +**Residential Heat Demand-Side Management (DSM)** + +Can be activated in the [config file](https://github.com/PyPSA/pypsa-eur/blob/master/config/config.default.yaml) through the `residential_heat: dsm` option (default: false). + +Residential heat demand-side management allows electric heating systems to provide flexibility to the energy system by shifting heat demand within configurable time windows while maintaining thermal comfort. This feature models the thermal mass of buildings as an energy storage capability, enabling residential electric heating to operate more flexibly in response to electricity price signals and renewable generation variability. + +*Implementation approach* + +The implementation is based on the [smartEn/DNV methodology](https://smarten.eu/wp-content/uploads/2022/10/SmartEN-DSF-benefits-2030-Report_DIGITAL-1.pdf) (see Appendix A, Section 1.1.2.5 "Residential electric heating" and page 17 Section 3.6) for quantifying demand-side flexibility benefits from residential heat pumps in the European energy system. The study estimates 195.5 TWh of annual flexibility potential for EU27 heat pumps using 12-hour load shifting constraints. Building thermal mass is represented as energy stores connected to residential heat buses, with time-varying availability constraints that enforce consumption requirements within defined periods. + +*Time windows and constraints* + +Heat demand can be shifted within configurable time periods to avoid buildings acting as long-term seasonal storage. By default, 12-hour periods are used: + +- **Day period**: 10am (10:00) to 10pm (22:00) +- **Night period**: 10pm (22:00) to 10am (10:00) + +At the boundaries between these periods (configured via [residential_heat_restriction_time](https://github.com/PyPSA/pypsa-eur/blob/master/config/config.default.yaml), default: [10, 22] corresponding to 10am and 10pm local time of each country/bus), the thermal storage state of charge must return to its baseline level. The implementation automatically adjusts these checkpoint hours to each country's local timezone, ensuring consistent behavioral patterns across different regions. This ensures that heat consumption requirements are met within each time window while allowing temporal load shifting for demand response. Users can adjust the checkpoint hours to create different period lengths as needed. + +*Storage capacity and flexibility magnitude* + +The flexibility storage capacity is sized based on the maximum residential space heating demand at each node. The actual available flexibility is constrained by the [residential_heat_restriction_value](https://github.com/PyPSA/pypsa-eur/blob/master/config/config.default.yaml) parameter, which sets the maximum state of charge as a fraction of the storage capacity. + +For instance, a value of 0.27 would represent a conservative assumption for the thermal buffer capacity available in residential buildings, balancing flexibility potential against thermal comfort constraints. This parameter is user-configurable and can be adjusted based on specific assumptions about building thermal mass, insulation quality, and acceptable temperature variations. Setting it to 0 disables heat flexibility, while values closer to 1.0 allow greater load shifting (though this may require stronger assumptions about building characteristics and occupant comfort tolerance). + +*Thermal characteristics* + +Thermal losses are modeled using the same standing loss rates as decentralized water tank storage (a simplifying assumption that likely underestimates actual building losses). The storage is cyclic, meaning the state of charge at the end of the optimization period must equal that at the beginning. + +*Applicable heat systems* + +Residential heat DSM is available for the following heat systems when enabled: + +- Residential rural heating +- Residential urban decentral heating +- Urban central (district) heating + +Services sector heating is currently excluded as a conservative modeling choice. + +*Benefits and use cases* + +Heat DSM provides several system benefits: + +- Load shifting to periods of high renewable generation +- Peak demand reduction during high-price periods +- Integration support for variable renewable energy +- Reduced need for backup generation capacity +- Lower overall system costs through temporal optimization + +The feature is particularly valuable in scenarios with high renewable penetration, where flexible demand can absorb surplus generation and reduce curtailment. + +*Configuration example* + +```yaml +{{ yaml_section("biomass.share_unsustainable_use_retained") }} +``` + +*References* + +The methodology follows the approach proposed by Y. Akhmetov *et al.* (2025) in ["Flattening the peak demand curve through energy efficient buildings: A holistic approach towards net-zero carbon"](https://www.sciencedirect.com/science/article/pii/S0306261925001515), and builds upon assumptions from smartEn and DNV (2022), "Demand-side flexibility in the EU: Quantification of benefits in 2030". + +In this framework, heat pumps are assumed to provide flexibility to the energy system within daily operational constraints, represented by two time windows: from 9 am to 9 pm, and 9 pm to 9 am. These time windows are parametrizable, allowing sensitivity analyses of different flexibility periods. + +The potential for heat demand shifting is derived from the projected roll-out of heat pumps, as outlined in the European Commissions *Impact Assessment Report on the Heat Pump Action Plan* ([see page 55, Fig. 44](https://eur-lex.europa.eu/resource.html?uri=cellar:6c154426-c5a6-11ee-95d9-01aa75ed71a1.0001.02/DOC_3&format=PDF)). The projected number of installed heat pumps is translated into the share of electrified households capable of participating in demand-side management (DSM). + +For example, a projected **58 million heat pumps** in 2030 corresponds to: + +`58 million / 202 million households in the EU = 28 %` + +Thus, approximately 28 % of EU households are assumed to contribute to the residential DSM potential by 2030. + +**Retrofitting of the thermal envelope of buildings** + +Co-optimising building renovation is only enabled if in the [config](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L222) file. To reduce the computational burden, +default setting is set as false. + +Renovation of the thermal envelope reduces the space heating demand and is +optimised at each node for every heat bus. Renovation measures through additional +insulation material and replacement of energy inefficient windows are considered. + +In a first step, costs per energy savings are estimated in the [build_retro_cost.py](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/build_retro_cost.py) script. +They depend on the insulation condition of the building stock and costs for +renovation of the building elements. +In a second step, for those cost per energy savings two possible renovation +strengths are determined: a moderate renovation with lower costs and lower +maximum possible space heat savings, and an ambitious renovation with associated +higher costs and higher efficiency gains. They are added by step-wise +linearisation in form of two additional generations in +the [prepare_sector_network.py](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/prepare_sector_network.py#L1600) script. + +Settings in the `config/config.yaml` concerning the endogenously optimisation of building +renovation include [cost factor](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L223), [interest rate](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L224), [annualised cost](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L225), [tax weighting](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L226), and [construction index](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L227). + +Further information are given in the study by Zeyen et al. : [Mitigating heat demand peaks in buildings in a highly renewable European energy system, (2021)](https://arxiv.org/abs/2012.01831). + +## Hydrogen demand {#hydrogen-demand} + +Hydrogen is consumed in the industry sector (see [Industry demand](#industry-demand)) to produce ammonia (see [Chemicals Industry](#chemicals-industry)) and direct reduced iron (DRI) (see [Iron and Steel](#iron-and-steel)). Hydrogen is also consumed to produce synthetic methane (see [Methane supply](#methane-supply)) and liquid hydrocarbons (see [Oil-based products supply](#oil-based-products-supply)) which have multiple uses in industry and other sectors. +Hydrogen is also used for transport applications (see [Transportation](#transportation)), where it is exogenously fixed. It is used in [heavy-duty land transport](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L181) and as liquified hydrogen in the shipping sector (see [Shipping](#shipping)). Furthermore, stationary fuel cells may re-electrify hydrogen (with waste heat as a byproduct) to balance renewable fluctuations (see [Electricity supply and demand](#electricity-supply-and-demand)). The waste heat from the stationary fuel cells can be used in [district-heating systems](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L256). + +## Hydrogen supply {#hydrogen-supply} + +Today, most of the $H_2$ consumed globally is produced from natural gas by steam methane reforming (SMR) + +$$CH_4 + H_2O \xrightarrow{} CO + 3H_2$$ + +combined with a water-gas shift reaction + +$$CO + H_2O \xrightarrow{} CO_2 + H_2$$ + + +SMR is included [here](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L245). +PyPSA-Eur-Sec allows this route of $H_2$ production with and without [carbon capture (CC)] (see [Carbon dioxide capture, usage and sequestration (CCU/S)](#carbon-dioxide-capture-usage-and-sequestration-ccus)). These routes are often referred to as blue and grey hydrogen. Here, methane input can be both of fossil or synthetic origin. + +Green hydrogen can be produced by electrolysis to split water into hydrogen and oxygen + +$$2H_2O \xrightarrow{} 2H_2 + O_2$$ + + +For the electrolysis, alkaline electrolysers are chosen since they have lower cost and higher cumulative installed capacity than polymer electrolyte membrane (PEM) electrolysers. The techno-economic assumptions are taken from the technology-data repository. Waste heat from electrolysis is not leveraged in the model. + +**Transport** + +Hydrogen is transported by pipelines. $H_2$ pipelines are endogenously generated, either via a greenfield $H_2$ network, or by [retrofitting natural gas pipelines](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L262)). Retrofitting is implemented in such a way that for every unit of decommissioned gas pipeline, a share (60% is used in the study by [Neumann et al.](https://arxiv.org/abs/2207.05816)) of its nominal capacity (exogenously determined in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L266).) is available for hydrogen transport. When the gas network is not resolved, this input denotes the potential for gas pipelines repurposed into hydrogen pipelines. +New pipelines can be built additionally on all routes where there currently is a gas or electricity network connection. These new pipelines will be built where no sufficient retrofitting options are available. The capacities of new and repurposed pipelines are a result of the optimisation. + +**Storage** + +Hydrogen can be stored in overground steel tanks or [underground salt caverns](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L250). For the latter, energy storage capacities in every country are limited to the potential estimation for onshore salt caverns within [50 km](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L251) of shore to avoid environmental issues associated with brine solution disposal. Underground storage potentials for hydrogen in European salt caverns is acquired from [Caglayan et al.](https://doi.org/10.1016/j.ijhydene.2019.12.161) + +## Methane demand {#methane-demand} + +Methane is used in individual and large-scale gas boilers, in CHP plants with and without carbon capture, in OCGT and CCGT power plants, and in some industry subsectors for the provision of high temperature heat (see [Industry demand](#industry-demand)). Methane is not used in the transport sector because of engine slippage. + +## Methane supply {#methane-supply} + +In addition to methane from fossil origins, the model also considers biogenic and synthetic sources. [The gas network can either be modelled, or it can be assumed that gas transport is not limited](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L261). If gas infrastructure is regionally resolved, fossil gas can enter the system only at existing and planned LNG terminals, pipeline entry-points, and intra- European gas extraction sites, which are retrieved from the SciGRID Gas IGGIELGN dataset and the GEM Wiki. +Biogas can be upgraded to methane. +Synthetic methane can be produced by processing hydrogen and captures $CO_2$ in the Sabatier reaction + +$$CO_2 + 4H_2 \xrightarrow{} CH_4 + 2H_2O$$ + + +Direct power-to-methane conversion with efficient heat integration developed in the HELMETH project is also an option. The share of synthetic, biogenic and fossil methane is an optimisation result depending on the techno-economic assumptions. + +*Methane transport* + +The existing European gas transmission network is represented based on the SciGRID Gas IGGIELGN dataset. This dataset is based on compiled and merged data from the ENTSOG maps and other publicly available data sources. It includes data on the capacity, diameter, pressure, length, and directionality of pipelines. Missing capacity data is conservatively inferred from the pipe diameter following conversion factors derived from an EHB report. The gas network is clustered to the selected number of model regions. Gas pipelines can be endogenously expanded or repurposed for hydrogen transport. Gas flows are represented by a lossless transport model. Methane is assumed to be transmitted without cost or capacity constraints because future demand is predicted to be low compared to available transport capacities. + +The following figure shows the unclustered European gas transmission network based on the SciGRID Gas IGGIELGN dataset. Pipelines are color-coded by estimated capacities. Markers indicate entry-points, sites of fossil resource extraction, and LNG terminals. + +![](img/gas_pipeline_figure.png) + +## Biomass Supply {#biomass-supply} + +Biomass supply potentials for each European country are taken from the [JRC ENSPRESO database](http://data.europa.eu/89h/74ed5a04-7d74-4807-9eab-b94774309d9f) where data is available for various years (2010, 2020, 2030, 2040 and 2050) and scenarios (low, medium, high). No biomass import from outside Europe is assumed. More information on the data set can be found [here](https://publications.jrc.ec.europa.eu/repository/handle/JRC98626). + +## Biomass demand {#biomass-demand} + + +Biomass supply potentials for every NUTS2 region are taken from the [JRC ENSPRESO database](http://data.europa.eu/89h/74ed5a04-7d74-4807-9eab-b94774309d9f) where data is available for various years (2010, 2020, 2030, 2040 and 2050) and different availability scenarios (low, medium, high). No biomass import from outside Europe is assumed. More information on the data set can be found [here](https://publications.jrc.ec.europa.eu/repository/handle/JRC98626). The data for NUTS2 regions is mapped to PyPSA-Eur-Sec model regions in proportion to the area overlap. + + +The desired scenario can be selected in the PyPSA-Eur-Sec [configuration](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L108). The script for building the biomass potentials from the JRC ENSPRESO data base is located [here](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/build_biomass_potentials.py#L43). Consult the script to see the keywords that specify the scenario options. + + +The [configuration](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L108) also allows the user to define how the various types of biomass are used in the model by using the following categories: biogas, solid biomass, and not included. Feedstocks categorized as biogas, typically manure and sludge waste, are available to the model as biogas, which can be upgraded to biomethane. Feedstocks categorized as solid biomass, e.g. secondary forest residues or municipal waste, are available for combustion in combined-heat-and power (CHP) plants and for medium temperature heat (below 500 degrees C) applications in industry. It can also converted to gas or liquid fuels. + + +Feedstocks labeled as not included are ignored by the model. + + +A [typical use case for biomass](https://arxiv.org/abs/2109.09563) would be the medium availability scenario for 2030 where only residues from agriculture and forestry as well as biodegradable municipal waste are considered as energy feedstocks. Fuel crops are avoided because they compete with scarce land for food production, while primary wood, as well as wood chips and pellets, are avoided because of concerns about sustainability. See the supporting materials of the [paper](https://www.sciencedirect.com/science/article/pii/S1364032117302034) for more details. + + +*Solid biomass conversion and use* + +Solid biomass can be used directly to provide process heat up to 500 degrees C in the industry. It can also be burned in CHP plants and boilers associated with heating systems. These technologies are described elsewhere (see [Large-scale CHP](#large-scale-chp) and [Industry demand](#industry-demand)). + + +Solid biomass can be converted to syngas if the option is enabled in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L274). In this case the model will enable the technology BioSNG both with and without the option for carbon capture (see [Technology-data repository](https://github.com/PyPSA/technology-data)). + + +Liquefaction of solid biomass [can be enabled](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L273) allowing the model to convert it into liquid hydrocarbons that can replace conventional oil products. This technology also comes with and without carbon capture (see [Technology-data repository](https://github.com/PyPSA/technology-data)). + + +*Transport of solid biomass* + +The transport of solid biomass can either be assumed unlimited between countries or it can be associated with a country specific cost per MWh/km. In the config file these options are toggled [here](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L270). If the option is off, use of solid biomass is transport. If it is turned on, a biomass transport network will be [created](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/prepare_sector_network.py#L1803) between all nodes. This network resembles road transport of biomass and the cost of transportation is a variable cost which is proportional to distance and a country specific cost per MWh/km. The latter is [estimated](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/build_biomass_transport_costs.py) from the country specific costs per ton/km used in the publication ["The JRC-EU-TIMES model. Bioenergy potentials for EU and neighbouring countries"](https://publications.jrc.ec.europa.eu/repository/handle/JRC98626). + +*Biogas transport and use* + +Biogas will be aggregated into a common European resources if a gas network is not modelled explicitly, i.e., the [gas_network](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L261) option is set to false. If, on the other hand, a gas network is included, the biogas potential will be associated with each node of origin. +The model can only use biogas by first upgrading it to natural gas quality (see [Methane supply](#methane-supply)) (bio methane) which is fed into the general gas network. + +## Oil-based products demand {#oil-based-products-demand} + +Naphtha is used as a feedstock in the chemicals industry (see [Chemicals Industry](#chemicals-industry)). Furthermore, kerosene is used as transport fuel in the aviation sector (see [Aviation](#aviation)). Non-electrified agriculture machinery also consumes gasoline. +Land transport (see [Land transport](#land-transport)) that is not electrified or converted into using $H_2$-fuel cells also consumes oil-based products. While there is regional distribution of demand, the carrier is copperplated in the model, which means that transport costs and constraints are neglected. + +## Oil-based products supply {#oil-based-products-supply} + +Oil-based products can be either of fossil origin or synthetically produced by combining $H_2$ (see [Hydrogen supply](#hydrogen-supply)) and captured $CO_2$ (see [Carbon dioxide capture, usage and sequestration (CCU/S)](#carbon-dioxide-capture-usage-and-sequestration-ccus)) in Fischer-Tropsch plants + +$$nCO+(2n+1)H_2 \rightarrow C_{n}H_{2n + 2} +nH_2O$$ + + +with costs as included from the [technology-data repository](https://github.com/PyPSA/technology-data/blob/master/latex_tables/tables_in_latex.pdf). The waste heat from the Fischer-Tropsch process is supplied to [district heating networks](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L255). The share of fossil and synthetic oil is an optimisation result depending on the techno-economic assumptions. + + +*Oil-based transport* + +Liquid hydrocarbons are assumed to be transported freely among the model region since future demand is predicted to be low, transport costs for liquids are low and no bottlenecks are expected. + +## Industry demand {#industry-demand} + +Industry demand is split into a dozen different sectors with specific energy demands, process +emissions of carbon dioxide, as well as existing and prospective mitigation strategies. + +The Subsection overview below provides a general description of the modelling approach for the industry sector. The following subsections describe the current energy demands, available mitigation strategies, and whether mitigation is exogenously fixed or co-optimised with the other components of the model for each industry subsector in more detail. See details for Iron and Steel (see [Iron and Steel](#iron-and-steel)), Chemicals Industry and Ammonia (see [Chemicals Industry](#chemicals-industry)), Non-metallic Mineral products , Non-ferrous Metals , and other Industry Subsectors. + +### Overview {#overview} + +Greenhouse gas emissions associated with industry can be classified into energy-related and process-related emissions. Today, fossil fuels are used for process heat energy in the chemicals industry, but also as a non-energy feedstock for chemicals like ammonia ( $NH_3$), ethylene ( $C_2H_4$) and methanol ( $CH_3OH$). Energy-related emissions can be curbed by using low-emission energy sources. The only option to reduce process-related emissions is by using an alternative manufacturing process or by assuming a certain rate of recycling so that a lower amount of virgin material is needed. + +The overarching modelling procedure can be described as follows. First, the energy demands and process emissions for every unit of material output are estimated based on data from the [JRC-IDEES database](https://data.europa.eu/doi/10.2760/182725) and the fuel and process switching described in the subsequent sections. Second, the 2050 energy demands and process emissions are calculated using the per-unit-of-material ratios based on the industry transformations and the [country-level material production in 2015](https://data.europa.eu/doi/10.2760/182725), assuming constant material demand. + +Missing or too coarsely aggregated data in the JRC-IDEES database is supplemented with additional datasets: [Eurostat energy balances](https://ec.europa.eu/eurostat/web/energy/data/energy-balances), [United States](https://www.usgs.gov/media/files/%20nitrogen-2017-xlsx), [Geological Survey](https://www.usgs.gov/media/files/%20nitrogen-2017-xlsx) for ammonia production, [DECHEMA](https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry.pdf) for methanol and chlorine, and [national statistics from Switzerland](https://www.bfe.admin.ch/bfe/de/home/versorgung/statistik-und-geodaten/energiestatistiken.html). + + +Where there are fossil and electrified alternatives for the same process (e.g. in glass manufacture or drying), we assume that the process is completely electrified. Current electricity demands (lighting, air compressors, motor drives, fans, pumps) will remain electric. Processes that require temperatures below 500 degrees C are supplied with solid biomass, since we assume that residues and wastes are not suitable for high-temperature applications. We see solid biomass use primarily in the pulp and paper industry, where it is already widespread, and in food, beverages and tobacco, where it replaces natural gas. Industries which require high temperatures (above 500 degrees C), such as metals, chemicals and non-metallic minerals are either electrified where suitable processes already exist, or the heat is provided with synthetic methane. + +Hydrogen for high-temperature process heat is not part of the model currently. + +Where process heat is required, our approach depends on the necessary temperature. For example, due to the high share of high-temperature process heat demand (see [Naegler et al.](https://doi.org/10.1002/er.3436) and [Rehfeldt el al.](https://link.springer.com/article/10.1007/s12053-017-9571-y)), we disregard geothermal and solar thermal energy as sources for process heat since they cannot attain high-temperature heat. + +The following figure shows the final consumption of energy and non-energy feedstocks in industry today in comparison to the scenario in 2050 assumed in [Neumann et al](https://arxiv.org/abs/2207.05816). + +![](img/fec_industry_today_tomorrow.png) + + +The following figure shows the process emissions in industry today (top bar) and in 2050 without +carbon capture (bottom bar) assumed in [Neumann et al](https://arxiv.org/abs/2207.05816). + + + + +![](img/process-emissions.png) + + +Inside each country the industrial demand is then distributed using the [Hotmaps Industrial Database](https://zenodo.org/records/4687147#.YvOaxhxBy5c), which is illustrated in the figure below. This open database includes georeferenced industrial sites of energy-intensive industry sectors in EU28, including cement, basic chemicals, glass, iron and steel, non-ferrous metals, non-metallic minerals, paper, and refineries subsectors. The use of this spatial dataset enables the calculation of regional and process-specific energy demands. This approach assumes that there will be no significant migration of energy-intensive industries. + +![](img/hotmaps.png) + + +### Iron and Steel {#iron-and-steel} + +Two alternative routes are used today to manufacture steel in Europe. The primary route (integrated steelworks) represents 60% of steel production, while the secondary route (electric arc furnaces, EAF), represents the other 40% [(Lechtenboehmer et. al)](https://doi.org/10.1016/j.energy.2016.07.110). + +The primary route uses blast furnaces in which coke is used to reduce iron ore into molten iron, which is then converted into steel: + +$$CO_2 + C \xrightarrow{} 2 CO$$ + +$$3 Fe_2O_3 + CO \xrightarrow{} 2 Fe_3O_4 + CO$$ + +$$Fe_3O_4 + CO \xrightarrow{} 3 FeO + CO_2$$ + +$$FeO + CO \xrightarrow{} Fe + CO_2$$ + +The primary route of steelmaking implies large process emissions of 0.22 t $_{CO_2}$ /t of steel, amounting to 7% of global greenhouse gas emissions [(Vogl et. al)](https://doi.org/10.1016/j.joule.2021.09.007). + +In the secondary route, electric arc furnaces are used to melt scrap metal. This limits the $CO_2$ emissions to the burning of graphite electrodes [(Friedrichsen et. al)](https://www.umweltbundesamt.de/en/publikationen/comparative-analysis-of-options-potential-for), and reduces process emissions to 0.03 t $_{CO_2}$ /t of steel. + +We assume that the primary route can be replaced by a third route in 2050, using direct reduced iron (DRI) and subsequent processing in an EAF. + +$$3 Fe_2O_3 + H_2 \xrightarrow{} 2 Fe_3O_4 + H_2O$$ + +$$Fe_3O_4 +H_2 \xrightarrow{} 3FeO+H_2O$$ + +$$FeO + H_2 \xrightarrow{} Fe + H_2O$$ + +This circumvents the process emissions associated with the use of coke. For hydrogen- based DRI, we assume energy requirements of 1.7 MWh $_{H_2}$ /t steel [(Vogl et. al)](https://doi.org/10.1016/j.jclepro.2018.08.279) and 0.322 MWh $_{el}$/t steel [(HYBRIT 2016)](https://dh5k8ug1gwbyz.cloudfront.net/uploads/2021/02/Hybrit-broschure-engelska.pdf). + + +The share of steel produced via the primary route is exogenously set in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L279). The share of steel obtained via hydrogen-based DRI plus EAF is also set exogenously in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L287). The remaining share is manufactured through the secondary route using scrap metal in EAF. Bioenergy as alternative to coke in blast furnaces is not considered in the model ([Mandova et.al](https://doi.org/10.1016/j.biombioe.2018.04.021), [Suopajaervi et.al](https://doi.org/10.1016/j.apenergy.2018.01.060)). + +For the remaining subprocesses in this sector, the following transformations are assumed. Methane is used as energy source for the smelting process. Activities associated with furnaces, refining and rolling, and product finishing are electrified assuming the current efficiency values for these cases. These transformations result in changes in process emissions as outlined in the process emissions figure presented in the industry overview section (see [Overview](#overview)). + +### Chemicals Industry {#chemicals-industry} + +The chemicals industry includes a wide range of diverse industries, including the production of basic organic compounds (olefins, alcohols, aromatics), basic inorganic compounds (ammonia, chlorine), polymers (plastics), and end-user products (cosmetics, pharmaceutics). + +The chemicals industry consumes large amounts of fossil-fuel based feedstocks (see [Levi et. al](https://pubs.acs.org/doi/10.1021/acs.est.7b04573)), which can also be produced from renewables as outlined for hydrogen (see [Hydrogen supply](#hydrogen-supply)), for methane (see [Methane supply](#methane-supply)), and for oil-based products (see [Oil-based products supply](#oil-based-products-supply)). The ratio between synthetic and fossil-based fuels used in the industry is an endogenous result of the optimisation. + +The basic chemicals consumption data from the [JRC IDEES](https://op.europa.eu/en/publication-detail/-/publication/989282db-ad65-11e7-837e-01aa75ed71a1/language-en) database comprises high- value chemicals (ethylene, propylene and BTX), chlorine, methanol and ammonia. However, it is necessary to separate out these chemicals because their current and future production routes are different. + +Statistics for the production of ammonia, which is commonly used as a fertilizer, are taken from the [USGS](https://www.usgs.gov/media/files/nitrogen-2017-xlsx) for every country. Ammonia can be made from hydrogen and nitrogen using the Haber-Bosch process. + +$$N_2 + 3H_2 \xrightarrow{} 2NH_3$$ + + + +The Haber-Bosch process is not explicitly represented in the model, such that demand for ammonia enters the model as a demand for hydrogen ( 6.5 MWh $_{H_2}$ / t $_{NH_3}$ ) and electricity ( 1.17 MWh $_{el}$ /t $_{NH_3}$ ) (see [Wang et. al](https://doi.org/10.1016/j.joule.2018.04.017)). Today, natural gas dominates in Europe as the source for the hydrogen used in the Haber-Bosch process, but the model can choose among the various hydrogen supply options described in the hydrogen section (see [Hydrogen supply](#hydrogen-supply)) + +The total production and specific energy consumption of chlorine and methanol is taken from a [DECHEMA report](https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry.pdf). According to this source, the production of chlorine amounts to 9.58 MtCl/a, which is assumed to require electricity at 3.6 MWh $_{el}$/t of chlorine and yield hydrogen at 0.937 MWh $_{H_2}$/t of chlorine in the chloralkali process. The production of methanol adds up to 1.5 MtMeOH/a. Low-carbon methanol production (or methanolisation) by hydrogenation of $CO_2$ requires hydrogen at 6.299 MWh $_{H_2}$/t of methanol, carbon dioxide at 1.373 t $_{CO_2}$/t of methanol and electricity at 1.5 MWh $_{el}$/t of methanol. The energy content of methanol is 5.528 MWh $_{MeOH}$/t of methanol. These values are set exogenously in the config file. + +The production of ammonia, methanol, and chlorine production is deducted from the JRC IDEES basic chemicals, leaving the production totals of high-value chemicals. For this, we assume that the liquid hydrocarbon feedstock comes from synthetic or fossil- origin naphtha (14 MWh $_{naphtha}$/t of HVC, similar to [Lechtenboehmer et al](https://doi.org/10.1016/j.energy.2016.07.110)), ignoring the methanol-to-olefin route. Furthermore, we assume the following transformations of the energy-consuming processes in the production of plastics: the final energy consumption in steam processing is converted to methane since requires temperature above 500 degrees C (4.1 MWh $_{CH_4}$ /t of HVC, see [Rehfeldt et al.](https://doi.org/10.1007/s12053-017-9571-y)); and the remaining processes are electrified using the current efficiency of microwave for high-enthalpy heat processing, electric furnaces, electric process cooling and electric generic processes (2.85 MWh $_{el}$/t of HVC). + +The process emissions from feedstock in the chemical industry are as high as 0.369 t $_{CO_2}$/t of ethylene equivalent. We consider process emissions for all the material output, which is a conservative approach since it assumes that all plastic-embedded $CO_2$ will eventually be released into the atmosphere. However, plastic disposal in landfilling will avoid, or at least delay, associated $CO_2$ emissions. + +Circular economy practices drastically reduce the amount of primary feedstock needed for the production of plastics in the model (see [Kullmann et al.](https://doi.org/10.1016/j.energy.2022.124660), [Meys et al. (2021)](https://doi.org/10.1126/science.abg9853), [Meys et al. (2020)](https://doi.org/10/gmxv6z), [Gu et al.](https://doi.org/10/gf8n9w)) and consequently, also the energy demands and level of process emission. The percentage of plastics that are assumed to be mechanically recycled can be selected in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/776596ab9ac6a6cc93422ccfd0383abeffb0baa9/config.default.yaml#L315), as well as +the percentage that is chemically recycled, see [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/776596ab9ac6a6cc93422ccfd0383abeffb0baa9/config.default.yaml#L316) The energy consumption for those recycling processes are respectively 0.547 MWh $_{el}$/t of HVC (as indicated in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/776596ab9ac6a6cc93422ccfd0383abeffb0baa9/config.default.yaml#L318)) ([Meys et al. (2020)](https://doi.org/10/gmxv6z)), and 6.9 MWh $_{el}$/t of HVC (as indicated in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/776596ab9ac6a6cc93422ccfd0383abeffb0baa9/config.default.yaml#L319)) based on pyrolysis and electric steam cracking (see [Materials Economics](https://materialeconomics.com/publications/industrial-transformation-2050) report). + + +**Non-metallic Mineral Products** + +This subsector includes the manufacturing of cement, ceramics, and glass. + +*Cement* + +Cement is used in construction to make concrete. The production of cement involves high energy consumption and large process emissions. The calcination of limestone to chemically reactive calcium oxide, also known as lime, involves process emissions of 0.54 t $_{CO_2}$ /t cement (see [Akhtar et al.](https://doi.org/10.1109/CITCON.2013.6525276). + + +$$CaCO_3 \xrightarrow{} CaO + CO_2$$ + + +Additionally, $CO_2$ is emitted from the combustion of fossil fuels to provide process heat. Thereby, cement constitutes the biggest source of industry process emissions in Europe. + +Cement process emissions can be captured assuming a capture rate of 90%. Whether emissions are captured is decided by the model taking into account the capital costs of carbon capture modules. The electricity and heat demand of process emission carbon capture is currently ignored. For net-zero emission scenarios, the remaining process emissions need to be compensated by negative emissions. + +With the exception of electricity demand and biomass demand for low-temperature heat (0.06 MWh/t and 0.2 MWh/t), the final energy consumption of this subsector is assumed to be supplied by methane (0.52 MWh/t), which is capable of delivering the required high-temperature heat. This implies a switch from burning solid fuels to burning gas which will require adjustments of the kilns. The share of fossil vs. synthetic methane consumed is a result of the optimisation + + +*Ceramics* + +The ceramics sector is assumed to be fully electrified based on the current efficiency of already electrified processes which include microwave drying and sintering of raw materials, electric kilns for primary production processes, electric furnaces for the [product finishing](https://data.europa.eu/doi/10.2760/182725). In total, the final electricity consumption is 0.44 MWh/t of ceramic. The manufacturing of ceramics includes process emissions of 0.03 t $_{CO_2}$/t of ceramic. For a detailed overview of the ceramics industry sector see [Furszyfer Del Rio et al](https://doi.org/10.1016/j.rser.2021.111885). + +*Glass* + +The production of glass is assumed to be fully electrified based on the current efficiency of electric melting tanks and electric annealing which adds up to an electricity demand of 2.07 MWh $_{el}$/t of [glass](https://doi.org/10/f9df2m). The manufacturing of glass incurs process emissions of 0.1 t $_{CO_2}$/t of glass. Potential efficiency improvements, which according to [Lechtenboehmer et al](https://doi.org/10/f9df2m) could reduce energy demands to 0.85 MW $_{el}$/t of glass, have not been considered. For a detailed overview of the glass industry sector see [Furszyfer Del Rio et al](https://doi.org/10.1016/j.rser.2021.111885). + + +**Non-ferrous Metals** + +The non-ferrous metal subsector includes the manufacturing of base metals (aluminium, copper, lead, zinc), precious metals (gold, silver), and technology metals (molybdenum, cobalt, silicon). + +The manufacturing of aluminium accounts for more than half of the final energy consumption of this subsector. Two alternative processing routes are used today to manufacture aluminium in Europe. The primary route represents 40% of the aluminium pro- duction, while the secondary route represents the remaining 60%. + +The primary route involves two energy-intensive processes: the production of alumina from bauxite (aluminium ore) and the electrolysis to transform alumina into aluminium via the Hall-Heroult process + +$$2Al_2O_3 +3C \xrightarrow{} 4Al+3CO_2$$ + + +The primary route requires high-enthalpy heat (2.3 MWh/t) to produce alumina which is supplied by methane and causes process emissions of 1.5 t $_{CO_2}$/t aluminium. According to [Friedrichsen et al.](http://www.umweltbundesamt.de/en/publikationen/comparative-analysis-of-options-potential-for), inert anodes might become commercially available by 2030 that would eliminate the process emissions, but they are not included in the model. Assuming all subprocesses are electrified, the primary route requires 15.4 MWh $_{el}$/t of aluminium. + +In the secondary route, scrap aluminium is remelted. The energy demand for this process is only 10% of the primary route and there are no associated process emissions. Assuming all subprocesses are electrified, the secondary route requires 1.7 MWh/t of aluminium. The share of aliminum manufactured by the primary and secondary route can be selected in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L297) + +For the other non-ferrous metals, we assume the electrification of the entire manufacturing process with an average electricity demand of 3.2 MWh $_{el}$/t lead equivalent. + +**Other Industry Subsectors** + +The remaining industry subsectors include (a) pulp, paper, printing, (b) food, beverages, tobacco, (c) textiles and leather, (d) machinery equipment, (e) transport equipment, (f) wood and wood products, (g) others. Low- and mid-temperature process heat in these industries is assumed to be [supplied by biomass](https://doi.org/10.1016/j.rser.2021.110856) while the remaining processes are electrified. None of the subsectors involve process emissions. + + +## Agriculture demand + +Energy demands for the agriculture, forestry and fishing sector per country are taken from the [JRC-IDEES database](http://data.europa.eu/89h/jrc-10110-10001). Missing countries are filled with [Eurostat data](https://ec.europa.eu/eurostat/web/energy/data/energy-balances). Agricultural energy demands are split into electricity (lighting, ventilation, specific electricity uses, electric pumping devices), heat (specific heat uses, low enthalpy heat), and machinery oil (motor drives, farming machine drives, diesel-fueled pumping devices). Heat demand is assigned at "services rural heat" buses. Time series for demands are assumed to be constant and distributed inside countries by population. + +## Transportation {#transportation} + +Annual energy demands for land transport, aviation and shipping for every country are retrieved from [JRC-IDEES data set](http://data.europa.eu/89h/jrc-10110-10001). Below, the details of how each of these categories are treated is explained. + +### Land transport {#land-transport} + +Both road and rail transport is combined as [land transport demand](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/build_transport_demand.py#L74) although electrified rail transport is excluded because that demand is included in the current electricity demand. + +The most important settings for land transport are the exogenously fixed fuel mix (an option enabling the endogeous optimization of transport electrification is planned but not yet implemented). In the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L181), the share of battery electric vehicles (BEV) and hydrogen fuel cell vehicles (FCEV) can be set. The remaining percentage will be treated as internal combustion engines (ICE) that consume oil products. + +*Battery Electric vehicles (BEV)* + +For the electrified land transport, country-specific factors are computed by comparing the [current car final energy consumption per km in](https://www.sciencedirect.com/science/article/pii/S0360544216310295) (average for Europe 0.7 kWh/km) to the 0.18 kWh/km value assumed for battery-to-wheels efficiency in EVs. The characteristic [weekly profile](https://www.bast.de/DE/Verkehrstechnik/Fachthemen/v2-verkehrszaehlung/zaehl_node.html) provided by the German Federal Highway Research Institute (BASt) is used to obtain hourly time series for European countries taking into account the corresponding local times. Furthermore, a temperature dependence is included in the time series to account for heating/cooling demand in transport. For temperatures [below](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L166)/[above](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L165) certain threshold values, e.g. 15 degrees C/20 degrees C, [temperature coefficients](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L169) of typically 0.98%/degrees C and 0.63%/degrees C are assumed, based on the [paper](https://www.sciencedirect.com/science/article/pii/S036054421831288X). + +For BEVs the user can define the [storage energy capacity](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L173), [charging power capacity](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L176), and [charging efficiency](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L174). + +For BEV, smart charging is an option. A [certain share](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L172) of the BEV fleet can shift their charging time. The BEV state of charge is forced to be higher than a [set percentage](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L163), e.g. 75%, every day at a [specified hour](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L164), e.g., 7 am, to ensure that the batteries are sufficiently charged for peak usage in the morning and they not behave as seasonal storage. They also have the option to participate in vehicle-to-grid (V2G) services to facilitate system operation if that [is enabled](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L179). + +The battery cost of BEV is not included in the model since it is assumed that BEV owners buy them to primarily satisfy their mobility needs. + +*Hydrogen fuel cell vehicles (FCEV)* + +The share of all land transport that is specified to be be FCEV will be converted to a demand for hydrogen (see [Hydrogen supply](#hydrogen-supply)) using the [FCEV efficiency](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L191). + +FCEVs are typically used to simulate demand for transport that is hard to electrify directly, e.g. heavy construction machinery. But it may also be used to investigate a more widespread adoption of the technology. + +*Internal combustion engine vehicles (ICE)* + +All land transport that is not specified to be either BEV or FCEV will be treated as conventional ICEs. The transport demand is converted to a demand for oil products (see [Oil-based products supply](#oil-based-products-supply)) using the [ICE efficiency](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L192). + +### Aviation {#aviation} + +The [demand for aviation](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/prepare_sector_network.py#L2193) includes international and domestic use. It is modelled as an oil demand since aviation consumes kerosene. This can be produced synthetically or have fossil-origin (see [Oil-based products supply](#oil-based-products-supply)). + +### Shipping {#shipping} + +Shipping energy demand is covered by a combination of oil, hydrogen and methanol. Other fuel options, like ammonia, are currently not included in PyPSA-Eur-Sec. The share of shipping that is assumed to be supplied by hydrogen or methanol can be selected in the [config file](https://github.com/PyPSA/pypsa-eur/blob/master/config/config.default.yaml#L475). + +To estimate the [hydrogen demand](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/prepare_sector_network.py#L2090), the average fuel efficiency of the fleet is used in combination with the efficiency of the fuel cell defined in the technology-data repository. The average fuel efficiency is set in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L196). + +The consumed hydrogen comes from the general hydrogen bus where it can be produced by SMR, SMR+CC or electrolysers (see [Hydrogen supply](#hydrogen-supply)). The fraction that is not converted into hydrogen use oil products, i.e. is connected to the general oil bus. + +The energy demand for liquefaction of the hydrogen used for shipping can be [included](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L197). If this option is selected, liquifaction will happen at the [node where the shipping demand occurs](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/scripts/prepare_sector_network.py#L2064). + +The consumed methanol comes from the general methanol bus where it is produced through methanolisation (see [Chemicals Industry](#chemicals-industry)). + +## Carbon dioxide capture, usage and sequestration (CCU/S) {#carbon-dioxide-capture-usage-and-sequestration-ccus} + +PyPSA-Eur-Sec includes carbon capture from air (i.e., direct air capture (DAC)), electricity generators, and industrial facilities. It furthermore includes carbon dioxide storage and transport, the usage of carbon dioxide in synthetic methane and oil products, as well as the sequestration of carbon dioxide underground. + +**Carbon dioxide capture** + +For the following point source emissions, carbon capture is applicable: + +- Industry process emissions, e.g., from limestone in cement production +- Methane or biomass used for process heat in the industry +- Hydrogen production by SMR +- CHP plants using biomass or methane +- [Coal power plants](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L242). + +Point source emissions are captured assuming a capture rate, e.g. 90%, which can be specified in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L249). The electricity and heat demand of process emission carbon capture +is currently ignored. + +DAC (if [included](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L243)) includes the adsorption phase where electricity and heat consumptionsare required to assist the adsorption process and regenerate the adsorbent. It also includes the drying and compression of $CO_2$ prior to storage which consumes electricity and rejects heat. + +*Carbon dioxide usage* + +Captured $CO_2$ can be used to produce synthetic methane and synthetic oil products (e.g. +naphtha). If captured carbon is used, the $CO_2$ emissions of the synthetic fuels are net-neutral. + +*Carbon dioxide sequestration* + +Captured $CO_2$ can also be sequestered underground up to an annual sequestration limit of 200 Mt $_{CO_2}$/a. This limit can be chosen in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L246). As stored carbon dioxide is modelled as a single node for Europe, $CO_2$ transport constraints are neglected. Since $CO_2$ sequestration is an immature technology, the cost assumption is defined in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L247). + +*Carbon dioxide transport* + +Carbon dioxide can be modelled as a single node for Europe (in this case, $CO_2$ transport constraints are neglected). A network for modelling the transport of $CO_2$ among the different nodes can also be created if selected in the [config file](https://github.com/PyPSA/pypsa-eur-sec/blob/3daff49c9999ba7ca7534df4e587e1d516044fc3/config.default.yaml#L248). diff --git a/doc/supply_demand.rst b/doc/supply_demand.rst deleted file mode 100644 index 02823d5170..0000000000 --- a/doc/supply_demand.rst +++ /dev/null @@ -1,692 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Supply and demand -########################################## - -An initial orientation to the supply and demand options in the model -PyPSA-Eur-Sec can be found in the description of the model -PyPSA-Eur-Sec-30 in the paper `Synergies of sector coupling and -transmission reinforcement in a cost-optimised, highly renewable -European energy system `__ (2018). -The latest version of PyPSA-Eur-Sec differs by including biomass, -industry, industrial feedstocks, aviation, shipping, better carbon -management, carbon capture and usage/sequestration, and gas networks. - -The basic supply (left column) and demand (right column) options in the model are described in this figure: - -.. image:: img/multisector_figure.png - -.. _Electricity supply and demand: - -Electricity supply and demand -============================= - -Electricity supply and demand follows the electricity generation and -transmission model `PyPSA-Eur `__, -except that hydrogen storage is integrated into the hydrogen supply, -demand and network, and PyPSA-Eur-Sec includes CHPs. - -Unlike PyPSA-Eur, PyPSA-Eur-Sec does not distribution electricity demand for industry according to population and GDP, but uses the -geographical data from the `Hotmaps Industrial Database -`__. - -Also unlike PyPSA-Eur, PyPSA-Eur-Sec subtracts existing electrified heating from the existing electricity demand, so that power-to-heat can be optimised separately. - -The remaining electricity demand for households and services is distributed inside each country proportional to GDP and population. - -.. _Heat demand: - -Heat demand -=========== - -Building heating in residential and services sectors is resolved regionally, both for individual buildings and district heating systems, which include different supply options (see :ref:`heat-supply`.) -Annual heat demands per country are retrieved from `JRC-IDEES `__ and split into space and water heating. For space heating, the annual demands are converted to daily values based on the population-weighted Heating Degree Day (HDD) using the `atlite tool `__, where space heat demand is proportional to the difference between the daily average ambient temperature (read from `ERA5 `__) and a threshold temperature above which space heat demand is zero. A threshold temperature of 15 °C is assumed by default. The daily space heat demand is distributed to the hours of the day following heat demand profiles from `BDEW `__. These differ for weekdays and weekends/holidays and between residential and services demand. - -*Space heating* - -The space heating demand can be exogenously reduced by retrofitting measures that improve the buildings’ thermal envelopes. - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :lines: 205 - -Co-optimsing of building renovation is also possible, if it is activated in the `config file `__. -Renovation of the thermal envelope reduces the space heating demand and is optimised at each node for every heat bus. Renovation measures through additional insulation material and replacement of energy inefficient windows are considered. -In a first step, costs per energy savings are estimated in `build_retro_cost.py `__. They depend on the insulation condition of the building stock and costs for renovation of the building elements. In a second step, for those cost per energy savings two possible renovation strengths are determined: a moderate renovation with lower costs, a lower maximum possible space heat savings, and an ambitious renovation with associated higher costs and higher efficiency gains. They are added by step-wise linearisation in form of two additional generations in `prepare_sector_network.py `__. -Further information are given in the publication : -`Mitigating heat demand peaks in buildings in a highly renewable European energy system, (2021) `__. - -*Water heating* - -Hot water demand is assumed to be constant throughout the year. - -*Urban and rural heating* - -For every country, heat demand is split between low and high population density areas. These country-level totals are then distributed to each region in proportion to their rural and urban populations respectively. Urban areas with dense heat demand can be supplied with large-scale district heating systems. The percentage of urban heat demand that can be supplied by district heating networks as well as lump-sum losses in district heating systems is exogenously determined in the `config file `__. - -*Cooling demand* - -Cooling is electrified and is included in the electricity demand. Cooling demand is assumed to remain at current levels. An example of regional distribution of the total heat demand for network 181 regions is depicted below. - -.. image:: img/demand-map-heat.png - -As below figure shows, the current total heat demand in Europe is similar to the total electricity demand but features much more pronounced seasonal variations. The current total building heating demand in Europe adds up to 3084 TWh/a of which 78% occurs in urban areas. - -.. image:: img/Heat_and_el_demand_timeseries.png - -In practice, in PyPSA-Eur-Sec, there are heat demand buses to which the corresponding heat demands are added. - - -1) Urban central heat: large-scale district heating networks in urban areas with dense heat population. Residential and services demand in these areas are added as demands to this bus -2) Residential urban decentral heat: heating for residential buildings in urban areas not using district heating -3) Services urban decentral heat: heating for services buildings in urban areas not using district heating -4) Residential rural heat: heating for residential buildings in rural areas with low population density. -5) Services rural heat: heating for residential services buildings in rural areas with low population density. Heat demand from agriculture sector is also included here. - -.. _heat-supply: - -Heat supply -======================= - -Different supply options are available depending on whether demand is met centrally through district heating systems, or decentrally through appliances in individual buildings. - -**Urban central heat** - -For large-scale district heating systems the following options are available: combined heat and power (CHP) plants consuming gas or biomass from waste and residues with and without carbon capture (CC), large-scale air-sourced heat pumps, gas and oil boilers, resistive heaters, and fuel cell CHPs. Additionally, waste heat from the `Fischer-Tropsch `__ and `Sabatier `__ processes for the production of synthetic hydrocarbons can supply district heating systems. For more detailed explanation of these processes, see :ref:`Oil-based products supply` and :ref:`Methane supply`. - -**Residential and Urban decentral heat** - -Supply options in individual buildings include gas and oil boilers, air- and ground-sourced heat pumps, resistive heaters, and solar thermal collectors. -Ground-source heat pumps are only allowed in rural areas because of space constraints. Thus, only air- source heat pumps are allowed in urban areas. This is a conservative assumption, since there are many possible sources of low-temperature heat that could be tapped in cities (e.g. waste water, ground water, or natural bodies of water). Costs, lifetimes and efficiencies for these technologies are retrieved from the `technology-data repository `__. - -Below are more detailed explanations for each heating supply component, all of which are modelled as `links `__ in PyPSA-Eur-Sec. - -.. _Large-scale CHP: - -**Large-scale CHP** - -Large Combined Heat and Power plants are included in the model if it is specified in the `config file `__. - -CHPs are based on back pressure plants operating with a fixed ratio of electricity to heat output. The efficiencies of each are given on the back pressure line, where the back pressure coefficient cb is the electricity output divided by the heat output. (For a more complete explanation of the operation of CHPs refer to the study by Dahl et al. : `Cost sensitivity of optimal sector-coupled district heating production systems `__. - -PyPSA-Eur-Sec includes CHP plants fueled by methane and solid biomass from waste and residues. Hydrogen fuel cells also produce both electricity and heat. - -The methane CHP is modeled on the Danish Energy Agency (DEA) “Gas turbine simple cycle (large)” while the solid biomass CHP is based on the DEA’s “09b Wood Pellets Medium”. For biomass CHP, cb = `0.46 `__ , whereas for gas CHP, cb = `1 `__. - -NB: The old PyPSA-Eur-Sec-30 model assumed an extraction plant (like the DEA coal CHP) for gas which has flexible production of heat and electricity within the feasibility diagram of Figure 4 in the study by `Brown et al. `__ We have switched to the DEA back pressure plants since these are more common for smaller plants for biomass, and because the extraction plants were on the back pressure line for 99.5% of the time anyway. The plants were all changed to back pressure in PyPSA-Eur-Sec v0.4.0. - -**Micro-CHP** - -PyPSA-Eur-Sec allows individual buildings to make use of `micro gas CHPs `__ that are assumed to be installed at the distribution grid level. - -**Heat pumps** - -The coefficient of performance (COP) of air- and ground-sourced heat pumps depends on the ambient or soil temperature respectively. Hence, the COP is a time-varying parameter (refer to `Config `__ file). Generally, the COP will be lower during winter when temperatures are low. Because the ambient temperature is more volatile than the soil temperature, the COP of ground-sourced heat pumps is less variable. Moreover, the COP depends on the difference between the source and sink temperatures: - -.. math:: - \Delta T = T_{sink} − T_{source} - -For the sink water temperature Tsink we assume 55 °C [`Config `__ file]. For the time- and location-dependent source temperatures Tsource, we rely on the `ERA5 `__ reanalysis weather data. The temperature differences are converted into COP time series using results from a regression analysis performed in the study by `Stafell et al. `__. For air-sourced heat pumps (ASHP), we use the function: - -.. math:: - COP (\Delta T) = 6.81 - 0.121\Delta T + 0.000630\Delta T^2 - -for ground-sourced heat pumps (GSHP), we use the function: - -.. math:: - COP(\Delta T) = 8.77 - 0.150\Delta T + 0.000734\Delta T^2 - -**Resistive heaters** - -Can be activated in Config from the `boilers `__ option. -Resistive heaters produce heat with a fixed conversion efficiency (refer to `Technology-data repository `__ ). - -**Gas, oil, and biomass boilers** - -Can be activated in Config from the `boilers `__ , `oil boilers `__ , and `biomass boiler `__ option. -Similar to resistive heaters, boilers have a fixed efficiency and produce heat using gas, oil or biomass. - -**Solar thermal collectors** - -Can be activated in the config file from the `solar_thermal `__ option. -Solar thermal profiles are built based on weather data and also have the `options `__ for setting the sky model and the orientation of the panel in the config file, which are then used by the atlite tool to calculate the solar resource time series. - -**Waste heat from Fuel Cells, Methanation and Fischer-Tropsch plants** - -Waste heat from `fuel cells `__ in addition to processes like `Fischer-Tropsch `__, methanation, and Direct Air Capture (DAC) is dumped into district heating networks. - -**Existing heating capacities and decommissioning** - -For the myopic transition paths, capacities already existing for technologies supplying heat are retrieved from `“Mapping and analyses of the current and future (2020 - 2030)” `__ . For the sake of simplicity, coal, oil and gas boiler capacities are assimilated to gas boilers. Besides that, existing capacities for heat resistors, air-sourced and ground-sourced heat pumps are included in the model. For heating capacities, 25% of existing capacities in 2015 are assumed to be decommissioned in every 5-year time step after 2020. - -**Thermal Energy Storage** - -Activated in Config from the `tes `__ option. - -Thermal energy can be stored in large water pits associated with district heating systems and individual thermal energy storage (TES), i.e., small water tanks. Water tanks are modelled as `stores `__. -A thermal energy density of 46.8 kWh :math:`_{th}`/m3 is assumed, corresponding to a temperature difference of 40 K. The decay of thermal energy in the stores: 1- :math:`e^{-1/24τ}` is assumed to have a time constant of  τ=180 days for central TES and  τ=3 days for individual TES, both modifiable through `tes_tau `__ in config file. Charging and discharging efficiencies are 90% due to pipe losses. - -**Residential Heat Demand-Side Management (DSM)** - -Can be activated in the `config file `__ through the ``residential_heat: dsm`` option (default: false). - -Residential heat demand-side management allows electric heating systems to provide flexibility to the energy system by shifting heat demand within configurable time windows while maintaining thermal comfort. This feature models the thermal mass of buildings as an energy storage capability, enabling residential electric heating to operate more flexibly in response to electricity price signals and renewable generation variability. - -*Implementation approach* - -The implementation is based on the `smartEn/DNV methodology `__ (see Appendix A, Section 1.1.2.5 "Residential electric heating" and page 17 Section 3.6) for quantifying demand-side flexibility benefits from residential heat pumps in the European energy system. The study estimates 195.5 TWh of annual flexibility potential for EU27 heat pumps using 12-hour load shifting constraints. Building thermal mass is represented as energy stores connected to residential heat buses, with time-varying availability constraints that enforce consumption requirements within defined periods. - -*Time windows and constraints* - -Heat demand can be shifted within configurable time periods to avoid buildings acting as long-term seasonal storage. By default, 12-hour periods are used: - -- **Day period**: 10am (10:00) to 10pm (22:00) -- **Night period**: 10pm (22:00) to 10am (10:00) - -At the boundaries between these periods (configured via `residential_heat_restriction_time `__, default: [10, 22] corresponding to 10am and 10pm local time of each country/bus), the thermal storage state of charge must return to its baseline level. The implementation automatically adjusts these checkpoint hours to each country's local timezone, ensuring consistent behavioral patterns across different regions. This ensures that heat consumption requirements are met within each time window while allowing temporal load shifting for demand response. Users can adjust the checkpoint hours to create different period lengths as needed. - -*Storage capacity and flexibility magnitude* - -The flexibility storage capacity is sized based on the maximum residential space heating demand at each node. The actual available flexibility is constrained by the `residential_heat_restriction_value `__ parameter, which sets the maximum state of charge as a fraction of the storage capacity. - -For instance, a value of 0.27 would represent a conservative assumption for the thermal buffer capacity available in residential buildings, balancing flexibility potential against thermal comfort constraints. This parameter is user-configurable and can be adjusted based on specific assumptions about building thermal mass, insulation quality, and acceptable temperature variations. Setting it to 0 disables heat flexibility, while values closer to 1.0 allow greater load shifting (though this may require stronger assumptions about building characteristics and occupant comfort tolerance). - -*Thermal characteristics* - -Thermal losses are modeled using the same standing loss rates as decentralized water tank storage (a simplifying assumption that likely underestimates actual building losses). The storage is cyclic, meaning the state of charge at the end of the optimization period must equal that at the beginning. - -*Applicable heat systems* - -Residential heat DSM is available for the following heat systems when enabled: - -- Residential rural heating -- Residential urban decentral heating -- Urban central (district) heating - -Services sector heating is currently excluded as a conservative modeling choice. - -*Benefits and use cases* - -Heat DSM provides several system benefits: - -- Load shifting to periods of high renewable generation -- Peak demand reduction during high-price periods -- Integration support for variable renewable energy -- Reduced need for backup generation capacity -- Lower overall system costs through temporal optimization - -The feature is particularly valuable in scenarios with high renewable penetration, where flexible demand can absorb surplus generation and reduce curtailment. - -*Configuration example* - -.. literalinclude:: ../config/config.default.yaml - :language: yaml - :lines: 564-566 - -*References* - -The methodology follows the approach proposed by Y. Akhmetov *et al.* (2025) in `"Flattening the peak demand curve through energy efficient buildings: A holistic approach towards net-zero carbon" `__, and builds upon assumptions from smartEn and DNV (2022), `"Demand-side flexibility in the EU: Quantification of benefits in 2030"`. - -In this framework, heat pumps are assumed to provide flexibility to the energy system within daily operational constraints, represented by two time windows: from 9 am to 9 pm, and 9 pm to 9 am. These time windows are parametrizable, allowing sensitivity analyses of different flexibility periods. - -The potential for heat demand shifting is derived from the projected roll-out of heat pumps, as outlined in the European Commissions *Impact Assessment Report on the Heat Pump Action Plan* (`see page 55, Fig. 44 `__). The projected number of installed heat pumps is translated into the share of electrified households capable of participating in demand-side management (DSM). - -For example, a projected **58 million heat pumps** in 2030 corresponds to: - -``58 million / 202 million households in the EU ≈ 28 %`` - -Thus, approximately 28 % of EU households are assumed to contribute to the residential DSM potential by 2030. - -**Retrofitting of the thermal envelope of buildings** - -Co-optimising building renovation is only enabled if in the `config `__ file. To reduce the computational burden, -default setting is set as false. - -Renovation of the thermal envelope reduces the space heating demand and is -optimised at each node for every heat bus. Renovation measures through additional -insulation material and replacement of energy inefficient windows are considered. - -In a first step, costs per energy savings are estimated in the `build_retro_cost.py `__ script. -They depend on the insulation condition of the building stock and costs for -renovation of the building elements. -In a second step, for those cost per energy savings two possible renovation -strengths are determined: a moderate renovation with lower costs and lower -maximum possible space heat savings, and an ambitious renovation with associated -higher costs and higher efficiency gains. They are added by step-wise -linearisation in form of two additional generations in -the `prepare_sector_network.py `__ script. - -Settings in the ``config/config.yaml`` concerning the endogenously optimisation of building -renovation include `cost factor `__, `interest rate `__, `annualised cost `__, `tax weighting `__, and `construction index `__. - -Further information are given in the study by Zeyen et al. : `Mitigating heat demand peaks in buildings in a highly renewable European energy system, (2021) `__. - -.. _Hydrogen demand: - -Hydrogen demand -============================= - -Hydrogen is consumed in the industry sector (see :ref:`Industry demand`) to produce ammonia (see :ref:`Chemicals Industry`) and direct reduced iron (DRI) (see :ref:`Iron and Steel`). Hydrogen is also consumed to produce synthetic methane (see :ref:`Methane supply`) and liquid hydrocarbons (see :ref:`Oil-based products supply`) which have multiple uses in industry and other sectors. -Hydrogen is also used for transport applications (see :ref:`Transportation`), where it is exogenously fixed. It is used in `heavy-duty land transport `__ and as liquified hydrogen in the shipping sector (see :ref:`Shipping`). Furthermore, stationary fuel cells may re-electrify hydrogen (with waste heat as a byproduct) to balance renewable fluctuations (see :ref:`Electricity supply and demand`). The waste heat from the stationary fuel cells can be used in `district-heating systems `__. - -.. _Hydrogen supply: - -Hydrogen supply -============================= - -Today, most of the :math:`H_2` consumed globally is produced from natural gas by steam methane reforming (SMR) - -.. math:: - - CH_4 + H_2O \xrightarrow{} CO + 3H_2 - -combined with a water-gas shift reaction - -.. math:: - - CO + H_2O \xrightarrow{} CO_2 + H_2 - - -SMR is included `here `__. -PyPSA-Eur-Sec allows this route of :math:`H_2` production with and without [carbon capture (CC)] (see :ref:`Carbon dioxide capture, usage and sequestration (CCU/S)`). These routes are often referred to as blue and grey hydrogen. Here, methane input can be both of fossil or synthetic origin. - -Green hydrogen can be produced by electrolysis to split water into hydrogen and oxygen - -.. math:: - - 2H_2O \xrightarrow{} 2H_2 + O_2 - - -For the electrolysis, alkaline electrolysers are chosen since they have lower cost and higher cumulative installed capacity than polymer electrolyte membrane (PEM) electrolysers. The techno-economic assumptions are taken from the technology-data repository. Waste heat from electrolysis is not leveraged in the model. - -**Transport** - -Hydrogen is transported by pipelines. :math:`H_2` pipelines are endogenously generated, either via a greenfield :math:`H_2` network, or by `retrofitting natural gas pipelines `__). Retrofitting is implemented in such a way that for every unit of decommissioned gas pipeline, a share (60% is used in the study by `Neumann et al. `__) of its nominal capacity (exogenously determined in the `config file `__.) is available for hydrogen transport. When the gas network is not resolved, this input denotes the potential for gas pipelines repurposed into hydrogen pipelines. -New pipelines can be built additionally on all routes where there currently is a gas or electricity network connection. These new pipelines will be built where no sufficient retrofitting options are available. The capacities of new and repurposed pipelines are a result of the optimisation. - -**Storage** - -Hydrogen can be stored in overground steel tanks or `underground salt caverns `__. For the latter, energy storage capacities in every country are limited to the potential estimation for onshore salt caverns within `50 km `__ of shore to avoid environmental issues associated with brine solution disposal. Underground storage potentials for hydrogen in European salt caverns is acquired from `Caglayan et al. `__ - -.. _Methane demand: - -Methane demand -==================================== - -Methane is used in individual and large-scale gas boilers, in CHP plants with and without carbon capture, in OCGT and CCGT power plants, and in some industry subsectors for the provision of high temperature heat (see :ref:`Industry demand`). Methane is not used in the transport sector because of engine slippage. - -.. _Methane supply: - -Methane supply -=================================== - -In addition to methane from fossil origins, the model also considers biogenic and synthetic sources. `The gas network can either be modelled, or it can be assumed that gas transport is not limited `__. If gas infrastructure is regionally resolved, fossil gas can enter the system only at existing and planned LNG terminals, pipeline entry-points, and intra- European gas extraction sites, which are retrieved from the SciGRID Gas IGGIELGN dataset and the GEM Wiki. -Biogas can be upgraded to methane. -Synthetic methane can be produced by processing hydrogen and captures :math:`CO_2` in the Sabatier reaction - -.. math:: - CO_2 + 4H_2 \xrightarrow{} CH_4 + 2H_2O - - -Direct power-to-methane conversion with efficient heat integration developed in the HELMETH project is also an option. The share of synthetic, biogenic and fossil methane is an optimisation result depending on the techno-economic assumptions. - -*Methane transport* - -The existing European gas transmission network is represented based on the SciGRID Gas IGGIELGN dataset. This dataset is based on compiled and merged data from the ENTSOG maps and other publicly available data sources. It includes data on the capacity, diameter, pressure, length, and directionality of pipelines. Missing capacity data is conservatively inferred from the pipe diameter following conversion factors derived from an EHB report. The gas network is clustered to the selected number of model regions. Gas pipelines can be endogenously expanded or repurposed for hydrogen transport. Gas flows are represented by a lossless transport model. Methane is assumed to be transmitted without cost or capacity constraints because future demand is predicted to be low compared to available transport capacities. - -The following figure shows the unclustered European gas transmission network based on the SciGRID Gas IGGIELGN dataset. Pipelines are color-coded by estimated capacities. Markers indicate entry-points, sites of fossil resource extraction, and LNG terminals. - -.. image:: img/gas_pipeline_figure.png - -.. _Biomass supply: - -Biomass Supply -===================== -Biomass supply potentials for each European country are taken from the `JRC ENSPRESO database `__ where data is available for various years (2010, 2020, 2030, 2040 and 2050) and scenarios (low, medium, high). No biomass import from outside Europe is assumed. More information on the data set can be found `here `__. - -.. _Biomass demand: - -Biomass demand -===================== - - -Biomass supply potentials for every NUTS2 region are taken from the `JRC ENSPRESO database `__ where data is available for various years (2010, 2020, 2030, 2040 and 2050) and different availability scenarios (low, medium, high). No biomass import from outside Europe is assumed. More information on the data set can be found `here `__. The data for NUTS2 regions is mapped to PyPSA-Eur-Sec model regions in proportion to the area overlap. - - -The desired scenario can be selected in the PyPSA-Eur-Sec `configuration `__. The script for building the biomass potentials from the JRC ENSPRESO data base is located `here `__. Consult the script to see the keywords that specify the scenario options. - - -The `configuration `__ also allows the user to define how the various types of biomass are used in the model by using the following categories: biogas, solid biomass, and not included. Feedstocks categorized as biogas, typically manure and sludge waste, are available to the model as biogas, which can be upgraded to biomethane. Feedstocks categorized as solid biomass, e.g. secondary forest residues or municipal waste, are available for combustion in combined-heat-and power (CHP) plants and for medium temperature heat (below 500 °C) applications in industry. It can also converted to gas or liquid fuels. - - -Feedstocks labeled as not included are ignored by the model. - - -A `typical use case for biomass `__ would be the medium availability scenario for 2030 where only residues from agriculture and forestry as well as biodegradable municipal waste are considered as energy feedstocks. Fuel crops are avoided because they compete with scarce land for food production, while primary wood, as well as wood chips and pellets, are avoided because of concerns about sustainability. See the supporting materials of the `paper `__ for more details. - - -*Solid biomass conversion and use* - -Solid biomass can be used directly to provide process heat up to 500˚C in the industry. It can also be burned in CHP plants and boilers associated with heating systems. These technologies are described elsewhere (see :ref:`Large-scale CHP` and :ref:`Industry demand`). - - -Solid biomass can be converted to syngas if the option is enabled in the `config file `__. In this case the model will enable the technology BioSNG both with and without the option for carbon capture (see `Technology-data repository `__). - - -Liquefaction of solid biomass `can be enabled `__ allowing the model to convert it into liquid hydrocarbons that can replace conventional oil products. This technology also comes with and without carbon capture (see `Technology-data repository `__). - - -*Transport of solid biomass* - -The transport of solid biomass can either be assumed unlimited between countries or it can be associated with a country specific cost per MWh/km. In the config file these options are toggled `here `__. If the option is off, use of solid biomass is transport. If it is turned on, a biomass transport network will be `created `__ between all nodes. This network resembles road transport of biomass and the cost of transportation is a variable cost which is proportional to distance and a country specific cost per MWh/km. The latter is `estimated `__ from the country specific costs per ton/km used in the publication `“The JRC-EU-TIMES model. Bioenergy potentials for EU and neighbouring countries” `__. - -*Biogas transport and use* - -Biogas will be aggregated into a common European resources if a gas network is not modelled explicitly, i.e., the `gas_network `__ option is set to false. If, on the other hand, a gas network is included, the biogas potential will be associated with each node of origin. -The model can only use biogas by first upgrading it to natural gas quality [see :ref:`Methane supply`] (bio methane) which is fed into the general gas network. - -.. _Oil-based products demand: - - -Oil-based products demand -========================= - -Naphtha is used as a feedstock in the chemicals industry (see :ref:`Chemicals Industry`). Furthermore, kerosene is used as transport fuel in the aviation sector (see :ref:`Aviation`). Non-electrified agriculture machinery also consumes gasoline. -Land transport [(see :ref:`Land transport`) that is not electrified or converted into using :math:`H_2`-fuel cells also consumes oil-based products. While there is regional distribution of demand, the carrier is copperplated in the model, which means that transport costs and constraints are neglected. - -.. _Oil-based products supply: - -Oil-based products supply -========================= - -Oil-based products can be either of fossil origin or synthetically produced by combining :math:`H_2` (see :ref:`Hydrogen supply`) and captured :math:`CO_2` (see :ref:`Carbon dioxide capture, usage and sequestration (CCU/S)`) in Fischer-Tropsch plants - -.. math:: - 𝑛CO+(2𝑛+1)H_2 → C_{n}H_{2n + 2} +𝑛H_2O - - -with costs as included from the `technology-data repository `__. The waste heat from the Fischer-Tropsch process is supplied to `district heating networks `__. The share of fossil and synthetic oil is an optimisation result depending on the techno-economic assumptions. - - -*Oil-based transport* - -Liquid hydrocarbons are assumed to be transported freely among the model region since future demand is predicted to be low, transport costs for liquids are low and no bottlenecks are expected. - -.. _Industry demand: - -Industry demand -================ - -Industry demand is split into a dozen different sectors with specific energy demands, process -emissions of carbon dioxide, as well as existing and prospective mitigation strategies. - -The Subsection overview below provides a general description of the modelling approach for the industry sector. The following subsections describe the current energy demands, available mitigation strategies, and whether mitigation is exogenously fixed or co-optimised with the other components of the model for each industry subsector in more detail. See details for Iron and Steel (see :ref:`Iron and Steel`), Chemicals Industry and Ammonia (see :ref:`Chemicals Industry`), Non-metallic Mineral products , Non-ferrous Metals , and other Industry Subsectors. - -.. _Overview: - -**Overview** - -Greenhouse gas emissions associated with industry can be classified into energy-related and process-related emissions. Today, fossil fuels are used for process heat energy in the chemicals industry, but also as a non-energy feedstock for chemicals like ammonia ( :math:`NH_3`), ethylene ( :math:`C_2H_4`) and methanol ( :math:`CH_3OH`). Energy-related emissions can be curbed by using low-emission energy sources. The only option to reduce process-related emissions is by using an alternative manufacturing process or by assuming a certain rate of recycling so that a lower amount of virgin material is needed. - -The overarching modelling procedure can be described as follows. First, the energy demands and process emissions for every unit of material output are estimated based on data from the `JRC-IDEES database `__ and the fuel and process switching described in the subsequent sections. Second, the 2050 energy demands and process emissions are calculated using the per-unit-of-material ratios based on the industry transformations and the `country-level material production in 2015 `__, assuming constant material demand. - -Missing or too coarsely aggregated data in the JRC-IDEES database is supplemented with additional datasets: `Eurostat energy balances `__, `United States `__, `Geological Survey `__ for ammonia production, `DECHEMA `__ for methanol and chlorine, and `national statistics from Switzerland `__. - - -Where there are fossil and electrified alternatives for the same process (e.g. in glass manufacture or drying), we assume that the process is completely electrified. Current electricity demands (lighting, air compressors, motor drives, fans, pumps) will remain electric. Processes that require temperatures below 500 °C are supplied with solid biomass, since we assume that residues and wastes are not suitable for high-temperature applications. We see solid biomass use primarily in the pulp and paper industry, where it is already widespread, and in food, beverages and tobacco, where it replaces natural gas. Industries which require high temperatures (above 500 °C), such as metals, chemicals and non-metallic minerals are either electrified where suitable processes already exist, or the heat is provided with synthetic methane. - -Hydrogen for high-temperature process heat is not part of the model currently. - -Where process heat is required, our approach depends on the necessary temperature. For example, due to the high share of high-temperature process heat demand (see `Naegler et al. `__ and `Rehfeldt el al. `__), we disregard geothermal and solar thermal energy as sources for process heat since they cannot attain high-temperature heat. - -The following figure shows the final consumption of energy and non-energy feedstocks in industry today in comparison to the scenario in 2050 assumed in `Neumann et al `__. - -.. image:: img/fec_industry_today_tomorrow.png - - -The following figure shows the process emissions in industry today (top bar) and in 2050 without -carbon capture (bottom bar) assumed in `Neumann et al `__. - - - - -.. image:: img/process-emissions.png - - -Inside each country the industrial demand is then distributed using the `Hotmaps Industrial Database `__, which is illustrated in the figure below. This open database includes georeferenced industrial sites of energy-intensive industry sectors in EU28, including cement, basic chemicals, glass, iron and steel, non-ferrous metals, non-metallic minerals, paper, and refineries subsectors. The use of this spatial dataset enables the calculation of regional and process-specific energy demands. This approach assumes that there will be no significant migration of energy-intensive industries. - -.. image:: img/hotmaps.png - - -.. _Iron and Steel: - -**Iron and Steel** - -Two alternative routes are used today to manufacture steel in Europe. The primary route (integrated steelworks) represents 60% of steel production, while the secondary route (electric arc furnaces, EAF), represents the other 40% `(Lechtenböhmer et. al) `__. - -The primary route uses blast furnaces in which coke is used to reduce iron ore into molten iron, which is then converted into steel: - -.. math:: - CO_2 + C \xrightarrow{} 2 CO - - -.. math:: - 3 Fe_2O_3 + CO \xrightarrow{} 2 Fe_3O_4 + CO - - -.. math:: - Fe_3O_4 + CO \xrightarrow{} 3 FeO + CO_2 - - -.. math:: - FeO + CO \xrightarrow{} Fe + CO_2 - - -The primary route of steelmaking implies large process emissions of 0.22 t :math:`_{CO_2}` /t of steel, amounting to 7% of global greenhouse gas emissions `(Vogl et. al) `__. - -In the secondary route, electric arc furnaces are used to melt scrap metal. This limits the :math:`CO_2` emissions to the burning of graphite electrodes `(Friedrichsen et. al) `__, and reduces process emissions to 0.03 t :math:`_{CO_2}` /t of steel. - -We assume that the primary route can be replaced by a third route in 2050, using direct reduced iron (DRI) and subsequent processing in an EAF. - -.. math:: - 3 Fe_2O_3 + H_2 \xrightarrow{} 2 Fe_3O_4 + H_2O - - -.. math:: - Fe_3O_4 +H_2 \xrightarrow{} 3FeO+H_2O - - -.. math:: - FeO + H_2 \xrightarrow{} Fe + H_2O - - -This circumvents the process emissions associated with the use of coke. For hydrogen- based DRI, we assume energy requirements of 1.7 MWh :math:`_{H_2}` /t steel `(Vogl et. al) `__ and 0.322 MWh :math:`_{el}`/t steel `(HYBRIT 2016) `__. - - -The share of steel produced via the primary route is exogenously set in the `config file `__. The share of steel obtained via hydrogen-based DRI plus EAF is also set exogenously in the `config file `__. The remaining share is manufactured through the secondary route using scrap metal in EAF. Bioenergy as alternative to coke in blast furnaces is not considered in the model (`Mandova et.al `__, `Suopajärvi et.al `__). - -For the remaining subprocesses in this sector, the following transformations are assumed. Methane is used as energy source for the smelting process. Activities associated with furnaces, refining and rolling, and product finishing are electrified assuming the current efficiency values for these cases. These transformations result in changes in process emissions as outlined in the process emissions figure presented in the industry overview section (see :ref:`Overview`). - -.. _Chemicals Industry: - -**Chemicals Industry** - -The chemicals industry includes a wide range of diverse industries, including the production of basic organic compounds (olefins, alcohols, aromatics), basic inorganic compounds (ammonia, chlorine), polymers (plastics), and end-user products (cosmetics, pharmaceutics). - -The chemicals industry consumes large amounts of fossil-fuel based feedstocks (see `Levi et. al `__), which can also be produced from renewables as outlined for hydrogen (see :ref:`Hydrogen supply`), for methane (see :ref:`Methane supply`), and for oil-based products (see :ref:`Oil-based products supply`). The ratio between synthetic and fossil-based fuels used in the industry is an endogenous result of the optimisation. - -The basic chemicals consumption data from the `JRC IDEES `__ database comprises high- value chemicals (ethylene, propylene and BTX), chlorine, methanol and ammonia. However, it is necessary to separate out these chemicals because their current and future production routes are different. - -Statistics for the production of ammonia, which is commonly used as a fertilizer, are taken from the `USGS `__ for every country. Ammonia can be made from hydrogen and nitrogen using the Haber-Bosch process. - -.. math:: - N_2 + 3H_2 \xrightarrow{} 2NH_3 - - - -The Haber-Bosch process is not explicitly represented in the model, such that demand for ammonia enters the model as a demand for hydrogen ( 6.5 MWh :math:`_{H_2}` / t :math:`_{NH_3}` ) and electricity ( 1.17 MWh :math:`_{el}` /t :math:`_{NH_3}` ) (see `Wang et. al `__). Today, natural gas dominates in Europe as the source for the hydrogen used in the Haber-Bosch process, but the model can choose among the various hydrogen supply options described in the hydrogen section (see :ref:`Hydrogen supply`) - -The total production and specific energy consumption of chlorine and methanol is taken from a `DECHEMA report `__. According to this source, the production of chlorine amounts to 9.58 MtCl/a, which is assumed to require electricity at 3.6 MWh :math:`_{el}`/t of chlorine and yield hydrogen at 0.937 MWh :math:`_{H_2}`/t of chlorine in the chloralkali process. The production of methanol adds up to 1.5 MtMeOH/a. Low-carbon methanol production (or methanolisation) by hydrogenation of :math:`CO_2` requires hydrogen at 6.299 MWh :math:`_{H_2}`/t of methanol, carbon dioxide at 1.373 t :math:`_{CO_2}`/t of methanol and electricity at 1.5 MWh :math:`_{el}`/t of methanol. The energy content of methanol is 5.528 MWh :math:`_{MeOH}`/t of methanol. These values are set exogenously in the config file. - -The production of ammonia, methanol, and chlorine production is deducted from the JRC IDEES basic chemicals, leaving the production totals of high-value chemicals. For this, we assume that the liquid hydrocarbon feedstock comes from synthetic or fossil- origin naphtha (14 MWh :math:`_{naphtha}`/t of HVC, similar to `Lechtenböhmer et al `__), ignoring the methanol-to-olefin route. Furthermore, we assume the following transformations of the energy-consuming processes in the production of plastics: the final energy consumption in steam processing is converted to methane since requires temperature above 500 °C (4.1 MWh :math:`_{CH_4}` /t of HVC, see `Rehfeldt et al. `__); and the remaining processes are electrified using the current efficiency of microwave for high-enthalpy heat processing, electric furnaces, electric process cooling and electric generic processes (2.85 MWh :math:`_{el}`/t of HVC). - -The process emissions from feedstock in the chemical industry are as high as 0.369 t :math:`_{CO_2}`/t of ethylene equivalent. We consider process emissions for all the material output, which is a conservative approach since it assumes that all plastic-embedded :math:`CO_2` will eventually be released into the atmosphere. However, plastic disposal in landfilling will avoid, or at least delay, associated :math:`CO_2` emissions. - -Circular economy practices drastically reduce the amount of primary feedstock needed for the production of plastics in the model (see `Kullmann et al. `__, `Meys et al. (2021) `__, `Meys et al. (2020) `__, `Gu et al. `__) and consequently, also the energy demands and level of process emission. The percentage of plastics that are assumed to be mechanically recycled can be selected in the `config file `__, as well as -the percentage that is chemically recycled, see `config file `__ The energy consumption for those recycling processes are respectively 0.547 MWh :math:`_{el}`/t of HVC (as indicated in the `config file `__) (`Meys et al. (2020) `__), and 6.9 MWh :math:`_{el}`/t of HVC (as indicated in the `config file `__) based on pyrolysis and electric steam cracking (see `Materials Economics `__ report). - - -**Non-metallic Mineral Products** - -This subsector includes the manufacturing of cement, ceramics, and glass. - -*Cement* - -Cement is used in construction to make concrete. The production of cement involves high energy consumption and large process emissions. The calcination of limestone to chemically reactive calcium oxide, also known as lime, involves process emissions of 0.54 t :math:`_{CO_2}` /t cement (see `Akhtar et al. `__. - - -.. math:: - CaCO_3 \xrightarrow{} CaO + CO_2 - - -Additionally, :math:`CO_2` is emitted from the combustion of fossil fuels to provide process heat. Thereby, cement constitutes the biggest source of industry process emissions in Europe. - -Cement process emissions can be captured assuming a capture rate of 90%. Whether emissions are captured is decided by the model taking into account the capital costs of carbon capture modules. The electricity and heat demand of process emission carbon capture is currently ignored. For net-zero emission scenarios, the remaining process emissions need to be compensated by negative emissions. - -With the exception of electricity demand and biomass demand for low-temperature heat (0.06 MWh/t and 0.2 MWh/t), the final energy consumption of this subsector is assumed to be supplied by methane (0.52 MWh/t), which is capable of delivering the required high-temperature heat. This implies a switch from burning solid fuels to burning gas which will require adjustments of the `kilns <10.1109/CITCON.2013.6525276>`__. The share of fossil vs. synthetic methane consumed is a result of the optimisation - - -*Ceramics* - -The ceramics sector is assumed to be fully electrified based on the current efficiency of already electrified processes which include microwave drying and sintering of raw materials, electric kilns for primary production processes, electric furnaces for the `product finishing `__. In total, the final electricity consumption is 0.44 MWh/t of ceramic. The manufacturing of ceramics includes process emissions of 0.03 t :math:`_{CO_2}`/t of ceramic. For a detailed overview of the ceramics industry sector see `Furszyfer Del Rio et al `__. - -*Glass* - -The production of glass is assumed to be fully electrified based on the current efficiency of electric melting tanks and electric annealing which adds up to an electricity demand of 2.07 MWh :math:`_{el}`/t of `glass `__. The manufacturing of glass incurs process emissions of 0.1 t :math:`_{CO_2}`/t of glass. Potential efficiency improvements, which according to `Lechtenböhmer et al `__ could reduce energy demands to 0.85 MW :math:`_{el}`/t of glass, have not been considered. For a detailed overview of the glass industry sector see `Furszyfer Del Rio et al `__. - - -**Non-ferrous Metals** - -The non-ferrous metal subsector includes the manufacturing of base metals (aluminium, copper, lead, zinc), precious metals (gold, silver), and technology metals (molybdenum, cobalt, silicon). - -The manufacturing of aluminium accounts for more than half of the final energy consumption of this subsector. Two alternative processing routes are used today to manufacture aluminium in Europe. The primary route represents 40% of the aluminium pro- duction, while the secondary route represents the remaining 60%. - -The primary route involves two energy-intensive processes: the production of alumina from bauxite (aluminium ore) and the electrolysis to transform alumina into aluminium via the Hall-Héroult process - -.. math:: - 2Al_2O_3 +3C \xrightarrow{} 4Al+3CO_2 - - -The primary route requires high-enthalpy heat (2.3 MWh/t) to produce alumina which is supplied by methane and causes process emissions of 1.5 t :math:`_{CO_2}`/t aluminium. According to `Friedrichsen et al. `__, inert anodes might become commercially available by 2030 that would eliminate the process emissions, but they are not included in the model. Assuming all subprocesses are electrified, the primary route requires 15.4 MWh :math:`_{el}`/t of aluminium. - -In the secondary route, scrap aluminium is remelted. The energy demand for this process is only 10% of the primary route and there are no associated process emissions. Assuming all subprocesses are electrified, the secondary route requires 1.7 MWh/t of aluminium. The share of aliminum manufactured by the primary and secondary route can be selected in the `config file `__] - -For the other non-ferrous metals, we assume the electrification of the entire manufacturing process with an average electricity demand of 3.2 MWh :math:`_{el}`/t lead equivalent. - -**Other Industry Subsectors** - -The remaining industry subsectors include (a) pulp, paper, printing, (b) food, beverages, tobacco, (c) textiles and leather, (d) machinery equipment, (e) transport equipment, (f) wood and wood products, (g) others. Low- and mid-temperature process heat in these industries is assumed to be `supplied by biomass `__ while the remaining processes are electrified. None of the subsectors involve process emissions. - - -Agriculture demand -========================= - -Energy demands for the agriculture, forestry and fishing sector per country are taken from the `JRC-IDEES database `__. Missing countries are filled with `Eurostat data `__. Agricultural energy demands are split into electricity (lighting, ventilation, specific electricity uses, electric pumping devices), heat (specific heat uses, low enthalpy heat), and machinery oil (motor drives, farming machine drives, diesel-fueled pumping devices). Heat demand is assigned at “services rural heat” buses. Time series for demands are assumed to be constant and distributed inside countries by population. - -.. _Transportation: - -Transportation -========================= -Annual energy demands for land transport, aviation and shipping for every country are retrieved from `JRC-IDEES data set `__. Below, the details of how each of these categories are treated is explained. - -.. _Land transport: - -**Land transport** - -Both road and rail transport is combined as `land transport demand `__ although electrified rail transport is excluded because that demand is included in the current electricity demand. - -The most important settings for land transport are the exogenously fixed fuel mix (an option enabling the endogeous optimization of transport electrification is planned but not yet implemented). In the `config file `__, the share of battery electric vehicles (BEV) and hydrogen fuel cell vehicles (FCEV) can be set. The remaining percentage will be treated as internal combustion engines (ICE) that consume oil products. - -*Battery Electric vehicles (BEV)* - -For the electrified land transport, country-specific factors are computed by comparing the `current car final energy consumption per km in `__ (average for Europe 0.7 kWh/km) to the 0.18 kWh/km value assumed for battery-to-wheels efficiency in EVs. The characteristic `weekly profile `__ provided by the German Federal Highway Research Institute (BASt) is used to obtain hourly time series for European countries taking into account the corresponding local times. Furthermore, a temperature dependence is included in the time series to account for heating/cooling demand in transport. For temperatures `below `__/`above `__ certain threshold values, e.g. 15 °C/20 °C, `temperature coefficients `__ of typically 0.98%/°C and 0.63%/°C are assumed, based on the `paper `__. - -For BEVs the user can define the `storage energy capacity `__, `charging power capacity `__, and `charging efficiency `__. - -For BEV, smart charging is an option. A `certain share `__ of the BEV fleet can shift their charging time. The BEV state of charge is forced to be higher than a `set percentage `__, e.g. 75%, every day at a `specified hour `__, e.g., 7 am, to ensure that the batteries are sufficiently charged for peak usage in the morning and they not behave as seasonal storage. They also have the option to participate in vehicle-to-grid (V2G) services to facilitate system operation if that `is enabled `__. - -The battery cost of BEV is not included in the model since it is assumed that BEV owners buy them to primarily satisfy their mobility needs. - -*Hydrogen fuel cell vehicles (FCEV)* - -The share of all land transport that is specified to be be FCEV will be converted to a demand for hydrogen (see :ref:`Hydrogen supply`) using the `FCEV efficiency -`__. - -FCEVs are typically used to simulate demand for transport that is hard to electrify directly, e.g. heavy construction machinery. But it may also be used to investigate a more widespread adoption of the technology. - -*Internal combustion engine vehicles (ICE)* - -All land transport that is not specified to be either BEV or FCEV will be treated as conventional ICEs. The transport demand is converted to a demand for oil products (see :ref:`Oil-based products supply`) using the `ICE efficiency -`__. - -.. _Aviation: - -**Aviation** - -The `demand for aviation `__ includes international and domestic use. It is modelled as an oil demand since aviation consumes kerosene. This can be produced synthetically or have fossil-origin (see :ref:`Oil-based products supply`). - -.. _Shipping: - -**Shipping** - -Shipping energy demand is covered by a combination of oil, hydrogen and methanol. Other fuel options, like ammonia, are currently not included in PyPSA-Eur-Sec. The share of shipping that is assumed to be supplied by hydrogen or methanol can be selected in the `config file `__. - -To estimate the `hydrogen demand `__, the average fuel efficiency of the fleet is used in combination with the efficiency of the fuel cell defined in the technology-data repository. The average fuel efficiency is set in the `config file `__. - -The consumed hydrogen comes from the general hydrogen bus where it can be produced by SMR, SMR+CC or electrolysers (see :ref:`Hydrogen supply`). The fraction that is not converted into hydrogen use oil products, i.e. is connected to the general oil bus. - -The energy demand for liquefaction of the hydrogen used for shipping can be `included `__. If this option is selected, liquifaction will happen at the `node where the shipping demand occurs `__. - -The consumed methanol comes from the general methanol bus where it is produced through methanolisation (see :ref:`Chemicals Industry`). - -.. _Carbon dioxide capture, usage and sequestration (CCU/S): - -Carbon dioxide capture, usage and sequestration (CCU/S) -========================================================= - -PyPSA-Eur-Sec includes carbon capture from air (i.e., direct air capture (DAC)), electricity generators, and industrial facilities. It furthermore includes carbon dioxide storage and transport, the usage of carbon dioxide in synthetic methane and oil products, as well as the sequestration of carbon dioxide underground. - -**Carbon dioxide capture** - -For the following point source emissions, carbon capture is applicable: - -• Industry process emissions, e.g., from limestone in cement production - -• Methane or biomass used for process heat in the industry - -• Hydrogen production by SMR - -• CHP plants using biomass or methane - -• `Coal power plants `__. - -Point source emissions are captured assuming a capture rate, e.g. 90%, which can be specified in the `config file `__. The electricity and heat demand of process emission carbon capture -is currently ignored. - -DAC (if `included `__) includes the adsorption phase where electricity and heat consumptionsare required to assist the adsorption process and regenerate the adsorbent. It also includes the drying and compression of :math:`CO_2` prior to storage which consumes electricity and rejects heat. - -*Carbon dioxide usage* - -Captured :math:`CO_2` can be used to produce synthetic methane and synthetic oil products (e.g. -naphtha). If captured carbon is used, the :math:`CO_2` emissions of the synthetic fuels are net-neutral. - -*Carbon dioxide sequestration* - -Captured :math:`CO_2` can also be sequestered underground up to an annual sequestration limit of 200 Mt :math:`_{CO_2}`/a. This limit can be chosen in the `config file `__. As stored carbon dioxide is modelled as a single node for Europe, :math:`CO_2` transport constraints are neglected. Since :math:`CO_2` sequestration is an immature technology, the cost assumption is defined in the `config file `__. - -*Carbon dioxide transport* - -Carbon dioxide can be modelled as a single node for Europe (in this case, :math:`CO_2` transport constraints are neglected). A network for modelling the transport of :math:`CO_2` among the different nodes can also be created if selected in the `config file `__. diff --git a/doc/support.md b/doc/support.md new file mode 100644 index 0000000000..8bf6c89b6c --- /dev/null +++ b/doc/support.md @@ -0,0 +1,15 @@ + + + + +# Support + +Please consider the following ways to reach out to the community and the contributors: + +* To **discuss** with other PyPSA users, organise projects, share news, and get in touch with the community you can use the [Discord server](https://discord.gg/AnuJBk23FU). Open-TYNDP has its own dedicated channel [pypsa-open-tyndp](https://discord.com/channels/911692131440148490/1414977512089321564) for project-specific discussions. + + * The [PyPSA mailing](https://groups.google.com/group/pypsa) list previously was used for all kind of questions. Please use Discord server going forward, while the mailing list remains accessible as a knowledge archive. + * For questions about Open-TYNDP or other queries, reach out via [tyndp@openenergytransition.org](mailto:tyndp@openenergytransition.org). + * Stay updated by signing up for the [project newsletter](https://openenergytransitionnewsletter.eo.page/tyndp-oet). +* For **bugs and feature requests**, please use the relevant issue tracker. The [Open-TYNDP issues](https://github.com/open-energy-transition/open-tyndp/issues) collects known topics we are working on. Since this project relies on a soft-fork strategy, upstream issues should be addressed in the [PyPSA-Eur repository](https://github.com/PyPSA/PyPSA-Eur/issues). Package-related issues should be addressed in the [PyPSA repository](https://github.com/PyPSA/PyPSA/issues). +* We strongly welcome anyone interested in providing **contributions** to this project. If you have any ideas, suggestions or encounter problems, feel invited to file issues or make pull requests on [Github](https://github.com/open-energy-transition/open-tyndp) or directly on the [PyPSA-Eur Upstream](https://github.com/PyPSA/PyPSA-Eur). diff --git a/doc/support.rst b/doc/support.rst deleted file mode 100644 index ea0f8df866..0000000000 --- a/doc/support.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Support -########################################## - -Please consider the following ways to reach out to the community and the contributors: - -* To **discuss** with other PyPSA users, organise projects, share news, and get in touch with the community you can use the `Discord server `_. Open-TYNDP has its own dedicated channel `pypsa-open-tyndp `_ for project-specific discussions. - - * The `PyPSA mailing `_ list previously was used for all kind of questions. Please use Discord server going forward, while the mailing list remains accessible as a knowledge archive. - * For questions about Open-TYNDP or other queries, reach out via `tyndp@openenergytransition.org `_. - * Stay updated by signing up for the `project newsletter `_. -* For **bugs and feature requests**, please use the relevant issue tracker. The `Open-TYNDP issues `_ collects known topics we are working on. Since this project relies on a soft-fork strategy, upstream issues should be addressed in the `PyPSA-Eur repository `_. Package-related issues should be addressed in the `PyPSA repository `_. -* We strongly welcome anyone interested in providing **contributions** to this project. If you have any ideas, suggestions or encounter problems, feel invited to file issues or make pull requests on `Github `_ or directly on the `PyPSA-Eur Upstream `_. diff --git a/doc/tutorial.md b/doc/tutorial.md new file mode 100644 index 0000000000..f517b40096 --- /dev/null +++ b/doc/tutorial.md @@ -0,0 +1,274 @@ + + + + +# Tutorial: Electricity-Only {#tutorial} + + + +!!! note + If you have not done it yet, follow the [installation](installation.md) steps first. + +In this tutorial, we will build a heavily simplified power system model for +Belgium. But before getting started with **PyPSA-Eur** it makes sense to be familiar +with its general modelling framework [PyPSA](https://pypsa.readthedocs.io). + +Running the tutorial requires limited computational resources compared to the +full model, which allows the user to explore most of its functionalities on a +local machine. The tutorial will cover examples on how to configure and +customise the PyPSA-Eur model and run the ``snakemake`` workflow step by step +from network creation to the solved network. The configuration for the tutorial +is located at ``config/test/config.electricity.yaml``. It includes parts deviating from +the default config file ``config/config.default.yaml``. To run the tutorial with this +configuration, execute + +```console +$ snakemake -call results/test-elec/networks/base_s_6_elec_.nc --configfile config/test/config.electricity.yaml +``` + +This configuration is set to download a reduced cutout via the rule `retrieve_cutout`. +For more information on the data dependencies of PyPSA-Eur, continue reading [Retrieving Data](retrieve.md#data). + +## How to configure runs? + +The model can be adapted to only include selected countries (e.g. Belgium) instead of all European countries to limit the spatial scope. + +```yaml +{{ yaml_section("countries", source="test/config.electricity.yaml") }} +``` + +Likewise, the example's temporal scope can be restricted (e.g. to a single week). + +```yaml +{{ yaml_section("snapshots", source="test/config.electricity.yaml") }} +``` + +It is also possible to allow less or more carbon-dioxide emissions. Here, we limit the emissions of Belgium to 100 Mt per year. + +```yaml +{{ yaml_section("electricity.co2limit_enable", "electricity.co2limit", source="test/config.electricity.yaml") }} +``` + +PyPSA-Eur also includes a database of existing conventional powerplants. +We can select which types of existing powerplants we like to be extendable: + +```yaml +{{ yaml_section("electricity.extendable_carriers", source="test/config.electricity.yaml") }} +``` + +To accurately model the temporal and spatial availability of renewables such as +wind and solar energy, we rely on historical weather data. It is advisable to +adapt the required range of coordinates to the selection of countries. + +```yaml +{{ yaml_section("atlite", source="test/config.electricity.yaml") }} +``` + +We can also decide which weather data source should be used to calculate +potentials and capacity factor time-series for each carrier. For example, we may +want to use the ERA-5 dataset for solar and not the default SARAH-3 dataset. + +```yaml +{{ yaml_section("renewable.solar.cutout") }} +``` + +Finally, it is possible to pick a solver. For instance, this tutorial uses the +open-source solver HiGHS. + +```yaml +{{ yaml_section("solving.solver", source="test/config.electricity.yaml") }} +``` + +Note, that ``config/test/config.electricity.yaml`` only includes changes relative to +the default configuration. There are many more configuration options, which are +documented at [Configuration](configuration.md). + +### Directory Structure and Configuration Settings + +It's important to understand how certain configuration settings affect the directory structure in PyPSA-Eur: + +- ``run.name`` determines the subdirectory within the ``results`` folder (e.g., ``results/test-elec/networks/...``) +- ``run.shared_resources.policy`` determines the subdirectory within the ``resources`` folder (e.g., ``resources/test/networks/...``) + +These settings work together to organize model runs: + +- Final model outputs are always stored in ``results/[run.name]/...`` +- Intermediate files can be either: + - Specific to a run: ``resources/[run.shared_resources.policy]/...`` (if policy is a string) + - Shared between runs: ``resources/...`` (if policy is ``true``) + - Not shared between runs: ``resources/[run.name]`` (if policy is ``false``) + - Partially shared: If policy is ``"base"``, some common files are shared while others remain run-specific + +For this tutorial, with ``run.name: "test-elec"`` and ``run.shared_resources.policy: "test"``, +intermediate resources are stored in ``resources/test/...`` while results are in ``results/test-elec/...``. + +The implementation of this behavior can be found in ``scripts/_helpers.py``. + +## How to use ``snakemake`` rules? + +Open a terminal, go into the PyPSA-Eur directory, and activate the ``pypsa-eur`` environment with + +```console +$ pixi shell -e open-tyndp +``` + +Let's say based on the modifications above we would like to solve a very simplified model +clustered down to 6 buses and every 24 hours aggregated to one snapshot. The command + +```console +$ snakemake -call results/test-elec/networks/base_s_6_elec_.nc --configfile config/test/config.electricity.yaml +``` + +orders ``snakemake`` to run the rule [solve_network][] that produces the solved network and stores it in ``results/test-elec/networks`` with the name ``base_s_6_elec_.nc``: + +```python +rule solve_network: + input: + network=resources("networks/base_s_{clusters}_elec_{opts}.nc"), + output: + network=RESULTS + "networks/base_s_{clusters}_elec_{opts}.nc", + config=RESULTS + "configs/config.base_s_{clusters}_elec_{opts}.yaml", + model=( + RESULTS + "models/base_s_{clusters}_elec_{opts}.nc" + if config["solving"]["options"]["store_model"] + else [] + ), + log: + solver=normpath( + RESULTS + "logs/solve_network/base_s_{clusters}_elec_{opts}_solver.log" + ), + memory=RESULTS + "logs/solve_network/base_s_{clusters}_elec_{opts}_memory.log", + python=RESULTS + "logs/solve_network/base_s_{clusters}_elec_{opts}_python.log", + benchmark: + (RESULTS + "benchmarks/solve_network/base_s_{clusters}_elec_{opts}") + shadow: + shadow_config + threads: solver_threads + resources: + mem_mb=memory, + runtime=config_provider("solving", "runtime", default="6h"), + params: + solving=config_provider("solving"), + foresight=config_provider("foresight"), + co2_sequestration_potential=config_provider( + "sector", "co2_sequestration_potential", default=200 + ), + custom_extra_functionality=input_custom_extra_functionality, + message: + "Solving electricity network optimization for {wildcards.clusters} clusters and {wildcards.opts} electric options" + script: + scripts("solve_network.py") +``` + +This triggers a workflow of multiple preceding jobs that depend on each rule's inputs and outputs: + +[![Electricity tutorial DAG](img/dag_electricity.svg)](img/dag_electricity.svg) + +In the terminal, this will show up as a list of jobs to be run: + +```console +Building DAG of jobs... +Job stats: +job count +------------------------------------- ------- +add_electricity 1 +add_transmission_projects_and_dlr 1 +base_network 1 +build_electricity_demand 1 +build_electricity_demand_base 1 +build_line_rating 1 +build_osm_boundaries 4 +build_powerplants 1 +build_renewable_profiles 6 +build_shapes 1 +build_ship_raster 1 +build_transmission_projects 1 +cluster_network 1 +determine_availability_matrix 6 +prepare_network 1 +retrieve_cost_data 1 +retrieve_databundle 1 +retrieve_eez 1 +retrieve_electricity_demand 1 +retrieve_jrc_ardeco 1 +retrieve_nuts_2021_shapes 1 +retrieve_osm_boundaries 4 +retrieve_osm_prebuilt 1 +retrieve_ship_raster 1 +retrieve_synthetic_electricity_demand 1 +simplify_network 1 +solve_network 1 +total 43 +``` + + +``snakemake`` then runs these jobs in the correct order. + +A job (here ``build_powerplants``) will display its attributes and normally some logs below this block: + +```console +rule build_powerplants: + input: resources/test/networks/base_s_6.nc, data/custom_powerplants.csv + output: resources/test/powerplants_s_6.csv + log: logs/test/build_powerplants_s_6.log + jobid: 43 + benchmark: benchmarks/test/build_powerplants_s_6 + reason: Missing output files: resources/test/powerplants_s_6.csv; Input files updated by another job: resources/test/networks/base_s_6.nc + wildcards: clusters=6 + resources: tmpdir=, mem_mb=7000, mem_mib=6676 +``` + +Once the whole worktree is finished, it should state so in the terminal. + +You will notice that many intermediate stages are saved, namely the outputs of each individual ``snakemake`` rule. + +You can produce any output file occurring in the ``Snakefile`` by running + +```console +$ snakemake -call +``` + +For example, you can explore the evolution of the PyPSA networks by running + +1. ``snakemake -call resources/test/networks/base.nc --configfile config/test/config.electricity.yaml`` +2. ``snakemake -call resources/test/networks/base_s.nc --configfile config/test/config.electricity.yaml`` +3. ``snakemake -call resources/test/networks/base_s_6.nc --configfile config/test/config.electricity.yaml`` +4. ``snakemake -call resources/test/networks/base_s_6_elec_.nc --configfile config/test/config.electricity.yaml`` + +To run all combinations of wildcard values provided in the ``config/config.yaml`` under ``scenario:``, +you can use the collection rule ``solve_elec_networks``. + +```console +$ snakemake -call solve_elec_networks --configfile config/test/config.electricity.yaml +``` + +If you now feel confident and want to tackle runs with larger temporal and +spatial scope, clean-up the repository and after modifying the ``config/config.yaml`` file +target the collection rule ``solve_elec_networks`` again without providing the test +configuration file. + +```console +$ snakemake -call purge +snakemake -call solve_elec_networks +``` + +!!! note + It is good practice to perform a dry-run using the option `-n`, before you + commit to a run: + + ```console + $ snakemake -call solve_elec_networks -n + ``` + +## How to analyse results? + +The solved networks can be analysed just like any other PyPSA network (e.g. in +Jupyter Notebooks). + +```python +import pypsa + +n = pypsa.Network("results/test-elec/networks/base_s_6_elec_.nc") +``` + +For inspiration, read the [examples section in the PyPSA documentation](https://pypsa.readthedocs.io/en/latest/examples-basic.html). diff --git a/doc/tutorial.rst b/doc/tutorial.rst deleted file mode 100644 index b2bb2cd46b..0000000000 --- a/doc/tutorial.rst +++ /dev/null @@ -1,413 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _tutorial: - -############################### -Tutorial: Electricity-Only -############################### - -.. raw:: html - - - -.. note:: - If you have not done it yet, follow the :ref:`installation` steps first. - -In this tutorial, we will build a heavily simplified power system model for -Belgium. But before getting started with **PyPSA-Eur** it makes sense to be familiar -with its general modelling framework `PyPSA `__. - -Running the tutorial requires limited computational resources compared to the -full model, which allows the user to explore most of its functionalities on a -local machine. The tutorial will cover examples on how to configure and -customise the PyPSA-Eur model and run the ``snakemake`` workflow step by step -from network creation to the solved network. The configuration for the tutorial -is located at ``config/test/config.electricity.yaml``. It includes parts deviating from -the default config file ``config/config.default.yaml``. To run the tutorial with this -configuration, execute - -.. code:: console - :class: full-width - - $ snakemake -call results/test-elec/networks/base_s_6_elec_.nc --configfile config/test/config.electricity.yaml - -This configuration is set to download a reduced cutout via the rule :mod:`retrieve_cutout`. -For more information on the data dependencies of PyPSA-Eur, continue reading :ref:`data`. - -How to configure runs? -=========================== - -The model can be adapted to only include selected countries (e.g. Belgium) instead of all European countries to limit the spatial scope. - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: countries: - :end-before: snapshots: - -Likewise, the example's temporal scope can be restricted (e.g. to a single week). - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: snapshots: - :end-before: electricity: - -It is also possible to allow less or more carbon-dioxide emissions. Here, we limit the emissions of Belgium to 100 Mt per year. - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: electricity: - :end-before: extendable_carriers: - -PyPSA-Eur also includes a database of existing conventional powerplants. -We can select which types of existing powerplants we like to be extendable: - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: extendable_carriers: - :end-before: renewable_carriers: - -To accurately model the temporal and spatial availability of renewables such as -wind and solar energy, we rely on historical weather data. It is advisable to -adapt the required range of coordinates to the selection of countries. - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: atlite: - :end-before: renewable: - -We can also decide which weather data source should be used to calculate -potentials and capacity factor time-series for each carrier. For example, we may -want to use the ERA-5 dataset for solar and not the default SARAH-3 dataset. - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: solar: - :end-at: cutout: - -Finally, it is possible to pick a solver. For instance, this tutorial uses the -open-source solver HiGHS. - -.. literalinclude:: ../config/test/config.electricity.yaml - :language: yaml - :start-at: solver: - :end-before: check_objective: - -Note, that ``config/test/config.electricity.yaml`` only includes changes relative to -the default configuration. There are many more configuration options, which are -documented at :ref:`config`. - -Directory Structure and Configuration Settings ----------------------------------------------- - -It's important to understand how certain configuration settings affect the directory structure in PyPSA-Eur: - -- ``run.name`` determines the subdirectory within the ``results`` folder (e.g., ``results/test-elec/networks/...``) -- ``run.shared_resources.policy`` determines the subdirectory within the ``resources`` folder (e.g., ``resources/test/networks/...``) - -These settings work together to organize model runs: - -- Final model outputs are always stored in ``results/[run.name]/...`` -- Intermediate files can be either: - - Specific to a run: ``resources/[run.shared_resources.policy]/...`` (if policy is a string) - - Shared between runs: ``resources/...`` (if policy is ``true``) - - Not shared between runs: ``resources/[run.name]``(if policy is ``false``) - - Partially shared: If policy is ``"base"``, some common files are shared while others remain run-specific - -For this tutorial, with ``run.name: "test-elec"`` and ``run.shared_resources.policy: "test"``, -intermediate resources are stored in ``resources/test/...`` while results are in ``results/test-elec/...``. - -The implementation of this behavior can be found in ``scripts/_helpers.py``. - -How to use ``snakemake`` rules? -=================================== - -Open a terminal, go into the PyPSA-Eur directory, and activate the ``pypsa-eur`` environment with - -.. code:: console - - $ pixi shell -e open-tyndp - -Let's say based on the modifications above we would like to solve a very simplified model -clustered down to 6 buses and every 24 hours aggregated to one snapshot. The command - -.. code:: console - - $ snakemake -call results/test-elec/networks/base_s_6_elec_.nc --configfile config/test/config.electricity.yaml - -orders ``snakemake`` to run the rule :mod:`solve_network` that produces the solved network and stores it in ``results/test-elec/networks`` with the name ``base_s_6_elec_.nc``: - -.. literalinclude:: ../rules/solve_electricity.smk - :start-at: rule solve_network: - :end-before: rule solve_operations_network: - -This triggers a workflow of multiple preceding jobs that depend on each rule's inputs and outputs: - -.. graphviz:: - :class: full-width - :align: center - - digraph snakemake_dag { - graph[bgcolor=white, margin=0]; - node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; - edge[penwidth=2, color=grey]; - 0[label = "solve_network", color = "0.15 0.6 0.85", style="rounded"]; - 1[label = "prepare_network\nopts: ", color = "0.07 0.6 0.85", style="rounded"]; - 2[label = "add_electricity", color = "0.49 0.6 0.85", style="rounded"]; - 3[label = "build_renewable_profiles", color = "0.25 0.6 0.85", style="rounded"]; - 4[label = "determine_availability_matrix\ntechnology: solar", color = "0.10 0.6 0.85", style="rounded"]; - 5[label = "retrieve_databundle", color = "0.02 0.6 0.85", style="rounded"]; - 6[label = "build_shapes", color = "0.05 0.6 0.85", style="rounded"]; - 7[label = "retrieve_eez", color = "0.10 0.6 0.85", style="rounded"]; - 8[label = "retrieve_nuts_2021_shapes", color = "0.49 0.6 0.85", style="rounded"]; - 9[label = "build_osm_boundaries", color = "0.43 0.6 0.85", style="rounded"]; - 10[label = "retrieve_osm_boundaries\ncountry: BA", color = "0.52 0.6 0.85", style="rounded"]; - 11[label = "build_osm_boundaries", color = "0.43 0.6 0.85", style="rounded"]; - 12[label = "retrieve_osm_boundaries\ncountry: MD", color = "0.52 0.6 0.85", style="rounded"]; - 13[label = "build_osm_boundaries", color = "0.43 0.6 0.85", style="rounded"]; - 14[label = "retrieve_osm_boundaries\ncountry: UA", color = "0.52 0.6 0.85", style="rounded"]; - 15[label = "build_osm_boundaries", color = "0.43 0.6 0.85", style="rounded"]; - 16[label = "retrieve_osm_boundaries\ncountry: XK", color = "0.52 0.6 0.85", style="rounded"]; - 17[label = "retrieve_jrc_ardeco", color = "0.06 0.6 0.85", style="rounded"]; - 18[label = "cluster_network\nclusters: 6", color = "0.12 0.6 0.85", style="rounded"]; - 19[label = "simplify_network", color = "0.33 0.6 0.85", style="rounded"]; - 20[label = "add_transmission_projects_and_dlr", color = "0.46 0.6 0.85", style="rounded"]; - 21[label = "base_network", color = "0.00 0.6 0.85", style="rounded"]; - 22[label = "retrieve_osm_prebuilt", color = "0.41 0.6 0.85", style="rounded"]; - 23[label = "build_line_rating", color = "0.57 0.6 0.85", style="rounded"]; - 24[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.18 0.6 0.85", style="rounded"]; - 25[label = "build_transmission_projects", color = "0.04 0.6 0.85", style="rounded"]; - 26[label = "build_electricity_demand_base", color = "0.61 0.6 0.85", style="rounded"]; - 27[label = "build_electricity_demand", color = "0.16 0.6 0.85", style="rounded"]; - 28[label = "retrieve_electricity_demand", color = "0.21 0.6 0.85", style="rounded"]; - 29[label = "retrieve_synthetic_electricity_demand", color = "0.13 0.6 0.85", style="rounded"]; - 30[label = "build_renewable_profiles", color = "0.25 0.6 0.85", style="rounded"]; - 31[label = "determine_availability_matrix\ntechnology: solar-hsat", color = "0.10 0.6 0.85", style="rounded"]; - 32[label = "build_renewable_profiles", color = "0.25 0.6 0.85", style="rounded"]; - 33[label = "determine_availability_matrix\ntechnology: onwind", color = "0.10 0.6 0.85", style="rounded"]; - 34[label = "build_renewable_profiles", color = "0.25 0.6 0.85", style="rounded"]; - 35[label = "determine_availability_matrix\ntechnology: offwind-ac", color = "0.10 0.6 0.85", style="rounded"]; - 36[label = "build_ship_raster", color = "0.36 0.6 0.85", style="rounded"]; - 37[label = "retrieve_ship_raster", color = "0.39 0.6 0.85", style="rounded"]; - 38[label = "build_renewable_profiles", color = "0.25 0.6 0.85", style="rounded"]; - 39[label = "determine_availability_matrix\ntechnology: offwind-dc", color = "0.10 0.6 0.85", style="rounded"]; - 40[label = "build_renewable_profiles", color = "0.25 0.6 0.85", style="rounded"]; - 41[label = "determine_availability_matrix\ntechnology: offwind-float", color = "0.10 0.6 0.85", style="rounded"]; - 42[label = "retrieve_cost_data\nyear: 2040", color = "0.64 0.6 0.85", style="rounded"]; - 43[label = "build_powerplants", color = "0.39 0.6 0.85", style="rounded"]; - 1 -> 0 - 2 -> 1 - 42 -> 1 - 3 -> 2 - 30 -> 2 - 32 -> 2 - 34 -> 2 - 38 -> 2 - 40 -> 2 - 18 -> 2 - 42 -> 2 - 43 -> 2 - 26 -> 2 - 4 -> 3 - 6 -> 3 - 18 -> 3 - 24 -> 3 - 5 -> 4 - 6 -> 4 - 18 -> 4 - 24 -> 4 - 7 -> 6 - 8 -> 6 - 9 -> 6 - 11 -> 6 - 13 -> 6 - 15 -> 6 - 17 -> 6 - 5 -> 6 - 10 -> 9 - 7 -> 9 - 12 -> 11 - 7 -> 11 - 14 -> 13 - 7 -> 13 - 16 -> 15 - 7 -> 15 - 19 -> 18 - 26 -> 18 - 20 -> 19 - 21 -> 19 - 21 -> 20 - 23 -> 20 - 25 -> 20 - 22 -> 21 - 6 -> 21 - 21 -> 23 - 24 -> 23 - 21 -> 25 - 6 -> 25 - 19 -> 26 - 6 -> 26 - 27 -> 26 - 28 -> 27 - 29 -> 27 - 31 -> 30 - 6 -> 30 - 18 -> 30 - 24 -> 30 - 5 -> 31 - 6 -> 31 - 18 -> 31 - 24 -> 31 - 33 -> 32 - 6 -> 32 - 18 -> 32 - 24 -> 32 - 5 -> 33 - 6 -> 33 - 18 -> 33 - 24 -> 33 - 35 -> 34 - 6 -> 34 - 18 -> 34 - 24 -> 34 - 5 -> 35 - 36 -> 35 - 6 -> 35 - 18 -> 35 - 24 -> 35 - 37 -> 36 - 24 -> 36 - 39 -> 38 - 6 -> 38 - 18 -> 38 - 24 -> 38 - 5 -> 39 - 36 -> 39 - 6 -> 39 - 18 -> 39 - 24 -> 39 - 41 -> 40 - 6 -> 40 - 18 -> 40 - 24 -> 40 - 5 -> 41 - 36 -> 41 - 6 -> 41 - 18 -> 41 - 24 -> 41 - 18 -> 43 - } - -| - -In the terminal, this will show up as a list of jobs to be run: - -.. code:: console - - Building DAG of jobs... - Job stats: - job count - ------------------------------------- ------- - add_electricity 1 - add_transmission_projects_and_dlr 1 - base_network 1 - build_electricity_demand 1 - build_electricity_demand_base 1 - build_line_rating 1 - build_osm_boundaries 4 - build_powerplants 1 - build_renewable_profiles 6 - build_shapes 1 - build_ship_raster 1 - build_transmission_projects 1 - cluster_network 1 - determine_availability_matrix 6 - prepare_network 1 - retrieve_cost_data 1 - retrieve_databundle 1 - retrieve_eez 1 - retrieve_electricity_demand 1 - retrieve_jrc_ardeco 1 - retrieve_nuts_2021_shapes 1 - retrieve_osm_boundaries 4 - retrieve_osm_prebuilt 1 - retrieve_ship_raster 1 - retrieve_synthetic_electricity_demand 1 - simplify_network 1 - solve_network 1 - total 43 - - -``snakemake`` then runs these jobs in the correct order. - -A job (here ``build_powerplants``) will display its attributes and normally some logs below this block: - -.. code:: console - - rule build_powerplants: - input: resources/test/networks/base_s_6.nc, data/custom_powerplants.csv - output: resources/test/powerplants_s_6.csv - log: logs/test/build_powerplants_s_6.log - jobid: 43 - benchmark: benchmarks/test/build_powerplants_s_6 - reason: Missing output files: resources/test/powerplants_s_6.csv; Input files updated by another job: resources/test/networks/base_s_6.nc - wildcards: clusters=6 - resources: tmpdir=, mem_mb=7000, mem_mib=6676 - -Once the whole worktree is finished, it should state so in the terminal. - -You will notice that many intermediate stages are saved, namely the outputs of each individual ``snakemake`` rule. - -You can produce any output file occurring in the ``Snakefile`` by running - -.. code:: console - - $ snakemake -call - -For example, you can explore the evolution of the PyPSA networks by running - -#. ``snakemake -call resources/test/networks/base.nc --configfile config/test/config.electricity.yaml`` -#. ``snakemake -call resources/test/networks/base_s.nc --configfile config/test/config.electricity.yaml`` -#. ``snakemake -call resources/test/networks/base_s_6.nc --configfile config/test/config.electricity.yaml`` -#. ``snakemake -call resources/test/networks/base_s_6_elec_.nc --configfile config/test/config.electricity.yaml`` - -To run all combinations of wildcard values provided in the ``config/config.yaml`` under ``scenario:``, -you can use the collection rule ``solve_elec_networks``. - -.. code:: console - - $ snakemake -call solve_elec_networks --configfile config/test/config.electricity.yaml - -If you now feel confident and want to tackle runs with larger temporal and -spatial scope, clean-up the repository and after modifying the ``config/config.yaml`` file -target the collection rule ``solve_elec_networks`` again without providing the test -configuration file. - -.. code:: console - - $ snakemake -call purge - snakemake -call solve_elec_networks - -.. note:: - - It is good practice to perform a dry-run using the option `-n`, before you - commit to a run: - - .. code:: console - - $ snakemake -call solve_elec_networks -n - -How to analyse results? -=============================== - -The solved networks can be analysed just like any other PyPSA network (e.g. in -Jupyter Notebooks). - -.. code:: python - - import pypsa - - n = pypsa.Network("results/test-elec/networks/base_s_6_elec_.nc") - -For inspiration, read the `examples section in the PyPSA documentation `__. diff --git a/doc/tutorial_sector.md b/doc/tutorial_sector.md new file mode 100644 index 0000000000..2d4446e1bb --- /dev/null +++ b/doc/tutorial_sector.md @@ -0,0 +1,213 @@ + + + + +# Tutorial: Sector-Coupled {#tutorial_sector} + +!!! note + If you have not done it yet, follow the [installation](installation.md) steps first. + + Also, checkout the tutorial for electricity-only systems first at [Tutorial: Electricity-Only](tutorial.md#tutorial). + +In this tutorial, we will add further sectors to the electricity-only model from +[Tutorial: Electricity-Only](tutorial.md#tutorial), namely industry, transport, and buildings. This +requires processing of a few more raw data sources. + +The sector-coupling code can be run as an overnight / greenfield scenario or +with multi-horizon investment with myopic foresight. Pathway analysis with +perfect foresight is under development. See also the documentation on +[Foresight](configuration.md#foresight_cf). + +## Overnight Scenarios + +### Configuration + +The default configuration file (``config/config.default.yaml``) is set up for running +overnight scenarios. Running a sector-coupled model unlocks many further +configuration options. In the example below, we say that the gas network should +be added and spatially resolved. We also say that the existing gas network may +be retrofitted to transport hydrogen instead. + +```yaml +{{ yaml_section("sector", source="test/config.overnight.yaml") }} +``` + +Documentation for all options will be added successively to [Configuration](configuration.md). + +Scenarios can be defined like for electricity-only studies, but with additional +wildcard options. + +```yaml +{{ yaml_section("scenario", source="test/config.overnight.yaml") }} +``` + +For allowed wildcard values, refer to [Wildcards](wildcards.md). + +### Execution + +To run an overnight / greenfiled scenario with the specifications above, run + +```console +$ snakemake -call all --configfile config/test/config.overnight.yaml +``` + +which will result in the following jobs ``snakemake`` wants to run, some of +which were already included in the electricity-only tutorial: + +```console +job count +------------------------------------------------ ------- +add_electricity 1 +add_transmission_projects_and_dlr 1 +all 1 +base_network 1 +build_ammonia_production 1 +build_biomass_potentials 1 +build_central_heating_temperature_profiles 1 +build_clustered_population_layouts 1 +build_cop_profiles 1 +build_daily_heat_demand 1 +build_direct_heat_source_utilisation_profiles 1 +build_district_heat_share 1 +build_electricity_demand 1 +build_electricity_demand_base 1 +build_energy_totals 1 +build_gas_input_locations 1 +build_gas_network 1 +build_heat_totals 1 +build_hourly_heat_demand 1 +build_industrial_distribution_key 1 +build_industrial_energy_demand_per_country_today 1 +build_industrial_energy_demand_per_node 1 +build_industrial_energy_demand_per_node_today 1 +build_industrial_production_per_country 1 +build_industrial_production_per_country_tomorrow 1 +build_industrial_production_per_node 1 +build_industry_sector_ratios 1 +build_industry_sector_ratios_intermediate 1 +build_osm_boundaries 4 +build_population_layouts 1 +build_population_weighted_energy_totals 2 +build_powerplants 1 +build_renewable_profiles 6 +build_salt_cavern_potentials 1 +build_shapes 1 +build_ship_raster 1 +build_shipping_demand 1 +build_temperature_profiles 1 +build_transmission_projects 1 +build_transport_demand 1 +cluster_gas_network 1 +cluster_network 1 +determine_availability_matrix 6 +make_summary 1 +plot_gas_network 1 +plot_hydrogen_network 1 +plot_power_network 1 +plot_power_network_clustered 1 +plot_summary 1 +prepare_network 1 +prepare_sector_network 1 +retrieve_cost_data 1 +retrieve_databundle 1 +retrieve_eez 1 +retrieve_electricity_demand 1 +retrieve_eurostat_data 1 +retrieve_eurostat_household_data 1 +retrieve_gas_infrastructure_data 1 +retrieve_gem_europe_gas_tracker 1 +retrieve_gem_steel_plant_tracker 1 +retrieve_hotmaps_industrial_sites 1 +retrieve_jrc_ardeco 1 +retrieve_jrc_enspreso_biomass 1 +retrieve_jrc_idees 1 +retrieve_nuts_2013_shapes 1 +retrieve_nuts_2021_shapes 1 +retrieve_osm_boundaries 4 +retrieve_osm_prebuilt 1 +retrieve_ship_raster 1 +retrieve_synthetic_electricity_demand 1 +retrieve_usgs_ammonia_production 1 +retrieve_worldbank_urban_population 1 +simplify_network 1 +solve_sector_network 1 +time_aggregation 1 +total 92 +``` + +This covers the retrieval of additional raw data from online resources and +preprocessing data about the transport, industry, and heating sectors as well as +additional rules about geological storage and sequestration potentials, gas +infrastructure, and biomass potentials. The collection rule ``all`` will also +generate summary CSV files and plots after the network has been solved +successfully. + +[![Sector-coupled overnight DAG](img/dag_overnight.svg)](img/dag_overnight.svg) + +## Myopic Foresight Scenarios + +### Configuration + +To activate the myopic foresight mode, set + +```yaml +{{ yaml_section("foresight", source="test/config.myopic.yaml") }} +``` + +Scenarios can be defined like for electricity-only studies, but with additional +wildcard options. For the myopic foresight mode, the ``{planning_horizons}`` wildcard +defines the sequence of investment horizons. + +```yaml +{{ yaml_section("scenario", source="test/config.myopic.yaml") }} +``` + +For allowed wildcard values, refer to [Wildcards](wildcards.md). + +In the myopic foresight mode, you can tweak for instance exogenously given transition paths, like the one for +the share of primary steel production we change below: + +```yaml +{{ yaml_section("industry", source="test/config.myopic.yaml") }} +``` + +Documentation for all options will be added successively to [Configuration](configuration.md). + +### Execution + +To run a myopic foresight scenario with the specifications above, run + +```console +$ snakemake -call all --configfile config/test/config.myopic.yaml +``` + +which will result in additional jobs ``snakemake`` wants to run, which +translates to the following workflow diagram which nicely outlines how the +sequential pathway optimisation with myopic foresight is implemented in the +workflow: + +[![Sector-coupled myopic DAG](img/dag_myopic.svg)](img/dag_myopic.svg) + +!!! note + The above DAG is abbreviated. The full DAG for the myopic foresight scenario + contains all intermediate rules for each planning horizon (2030, 2040, 2050). + +## Scaling-Up + +If you now feel confident and want to tackle runs with larger temporal, technological and +spatial scope, clean-up the repository and after modifying the ``config/config.yaml`` file +target the collection rule ``all`` again without providing the test +configuration file. + +```console +$ snakemake -call purge +$ snakemake -call all +``` + +!!! note + It is good practice to perform a dry-run using the option `-n`, before you + commit to a run: + + ```console + $ snakemake -call all -n + ``` diff --git a/doc/tutorial_sector.rst b/doc/tutorial_sector.rst deleted file mode 100644 index 7044198716..0000000000 --- a/doc/tutorial_sector.rst +++ /dev/null @@ -1,1071 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _tutorial_sector: - -############################### -Tutorial: Sector-Coupled -############################### - -.. note:: - If you have not done it yet, follow the :ref:`installation` steps first. - - Also, checkout the tutorial for electricity-only systems first at :ref:`tutorial`. - -In this tutorial, we will add further sectors to the electricity-only model from -:ref:`tutorial`, namely industry, transport, and buildings. This -requires processing of a few more raw data sources. - -The sector-coupling code can be run as an overnight / greenfield scenario or -with multi-horizon investment with myopic foresight. Pathway analysis with -perfect foresight is under development. See also the documentation on -:ref:`foresight`. - -Overnight Scenarios -=========================== - -Configuration -------------- - -The default configuration file (``config/config.default.yaml``) is set up for running -overnight scenarios. Running a sector-coupled model unlocks many further -configuration options. In the example below, we say that the gas network should -be added and spatially resolved. We also say that the existing gas network may -be retrofitted to transport hydrogen instead. - -.. literalinclude:: ../config/test/config.overnight.yaml - :language: yaml - :start-at: sector: - :end-before: industry: - -Documentation for all options will be added successively to :ref:`config`. - -Scenarios can be defined like for electricity-only studies, but with additional -wildcard options. - -.. literalinclude:: ../config/test/config.overnight.yaml - :language: yaml - :start-at: scenario: - :end-before: countries: - -For allowed wildcard values, refer to :ref:`wildcards`. - -Execution ---------- - -To run an overnight / greenfiled scenario with the specifications above, run - -.. code:: console - - $ snakemake -call all --configfile config/test/config.overnight.yaml - -which will result in the following jobs ``snakemake`` wants to run, some of -which were already included in the electricity-only tutorial: - -.. code:: console - - job count - ------------------------------------------------ ------- - add_electricity 1 - add_transmission_projects_and_dlr 1 - all 1 - base_network 1 - build_ammonia_production 1 - build_biomass_potentials 1 - build_central_heating_temperature_profiles 1 - build_clustered_population_layouts 1 - build_cop_profiles 1 - build_daily_heat_demand 1 - build_direct_heat_source_utilisation_profiles 1 - build_district_heat_share 1 - build_electricity_demand 1 - build_electricity_demand_base 1 - build_energy_totals 1 - build_gas_input_locations 1 - build_gas_network 1 - build_heat_totals 1 - build_hourly_heat_demand 1 - build_industrial_distribution_key 1 - build_industrial_energy_demand_per_country_today 1 - build_industrial_energy_demand_per_node 1 - build_industrial_energy_demand_per_node_today 1 - build_industrial_production_per_country 1 - build_industrial_production_per_country_tomorrow 1 - build_industrial_production_per_node 1 - build_industry_sector_ratios 1 - build_industry_sector_ratios_intermediate 1 - build_osm_boundaries 4 - build_population_layouts 1 - build_population_weighted_energy_totals 2 - build_powerplants 1 - build_renewable_profiles 6 - build_salt_cavern_potentials 1 - build_shapes 1 - build_ship_raster 1 - build_shipping_demand 1 - build_temperature_profiles 1 - build_transmission_projects 1 - build_transport_demand 1 - cluster_gas_network 1 - cluster_network 1 - determine_availability_matrix 6 - make_summary 1 - plot_gas_network 1 - plot_hydrogen_network 1 - plot_power_network 1 - plot_power_network_clustered 1 - plot_summary 1 - prepare_network 1 - prepare_sector_network 1 - retrieve_cost_data 1 - retrieve_databundle 1 - retrieve_eez 1 - retrieve_electricity_demand 1 - retrieve_eurostat_data 1 - retrieve_eurostat_household_data 1 - retrieve_gas_infrastructure_data 1 - retrieve_gem_europe_gas_tracker 1 - retrieve_gem_steel_plant_tracker 1 - retrieve_hotmaps_industrial_sites 1 - retrieve_jrc_ardeco 1 - retrieve_jrc_enspreso_biomass 1 - retrieve_jrc_idees 1 - retrieve_nuts_2013_shapes 1 - retrieve_nuts_2021_shapes 1 - retrieve_osm_boundaries 4 - retrieve_osm_prebuilt 1 - retrieve_ship_raster 1 - retrieve_synthetic_electricity_demand 1 - retrieve_usgs_ammonia_production 1 - retrieve_worldbank_urban_population 1 - simplify_network 1 - solve_sector_network 1 - time_aggregation 1 - total 92 - -This covers the retrieval of additional raw data from online resources and -preprocessing data about the transport, industry, and heating sectors as well as -additional rules about geological storage and sequestration potentials, gas -infrastructure, and biomass potentials. The collection rule ``all`` will also -generate summary CSV files and plots after the network has been solved -successfully. - - - -.. graphviz:: - :class: full-width - :align: center - - digraph snakemake_dag { - graph[bgcolor=white, margin=0]; - node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; - edge[penwidth=2, color=grey]; - 0[label = "all", color = "0.25 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.29 0.6 0.85", style="rounded"]; - 2[label = "make_summary", color = "0.30 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network", color = "0.34 0.6 0.85", style="rounded"]; - 4[label = "prepare_sector_network", color = "0.32 0.6 0.85", style="rounded"]; - 5[label = "build_renewable_profiles", color = "0.43 0.6 0.85", style="rounded"]; - 6[label = "determine_availability_matrix\ntechnology: offwind-ac", color = "0.09 0.6 0.85", style="rounded"]; - 7[label = "retrieve_databundle", color = "0.45 0.6 0.85", style="rounded"]; - 8[label = "build_ship_raster", color = "0.11 0.6 0.85", style="rounded"]; - 9[label = "retrieve_ship_raster", color = "0.28 0.6 0.85", style="rounded"]; - 10[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.65 0.6 0.85", style="rounded"]; - 11[label = "build_shapes", color = "0.31 0.6 0.85", style="rounded"]; - 12[label = "retrieve_eez", color = "0.02 0.6 0.85", style="rounded"]; - 13[label = "retrieve_nuts_2021_shapes", color = "0.38 0.6 0.85", style="rounded"]; - 14[label = "build_osm_boundaries", color = "0.08 0.6 0.85", style="rounded"]; - 15[label = "retrieve_osm_boundaries\ncountry: BA", color = "0.35 0.6 0.85", style="rounded"]; - 16[label = "build_osm_boundaries", color = "0.08 0.6 0.85", style="rounded"]; - 17[label = "retrieve_osm_boundaries\ncountry: MD", color = "0.35 0.6 0.85", style="rounded"]; - 18[label = "build_osm_boundaries", color = "0.08 0.6 0.85", style="rounded"]; - 19[label = "retrieve_osm_boundaries\ncountry: UA", color = "0.35 0.6 0.85", style="rounded"]; - 20[label = "build_osm_boundaries", color = "0.08 0.6 0.85", style="rounded"]; - 21[label = "retrieve_osm_boundaries\ncountry: XK", color = "0.35 0.6 0.85", style="rounded"]; - 22[label = "retrieve_jrc_ardeco", color = "0.22 0.6 0.85", style="rounded"]; - 23[label = "cluster_network\nclusters: 5", color = "0.39 0.6 0.85", style="rounded"]; - 24[label = "simplify_network", color = "0.13 0.6 0.85", style="rounded"]; - 25[label = "add_transmission_projects_and_dlr", color = "0.44 0.6 0.85", style="rounded"]; - 26[label = "base_network", color = "0.62 0.6 0.85", style="rounded"]; - 27[label = "retrieve_osm_prebuilt", color = "0.52 0.6 0.85", style="rounded"]; - 28[label = "build_transmission_projects", color = "0.32 0.6 0.85", style="rounded"]; - 29[label = "build_electricity_demand_base", color = "0.47 0.6 0.85", style="rounded"]; - 30[label = "build_electricity_demand", color = "0.34 0.6 0.85", style="rounded"]; - 31[label = "retrieve_electricity_demand", color = "0.61 0.6 0.85", style="rounded"]; - 32[label = "retrieve_synthetic_electricity_demand", color = "0.56 0.6 0.85", style="rounded"]; - 33[label = "build_renewable_profiles", color = "0.43 0.6 0.85", style="rounded"]; - 34[label = "determine_availability_matrix\ntechnology: offwind-dc", color = "0.09 0.6 0.85", style="rounded"]; - 35[label = "build_renewable_profiles", color = "0.43 0.6 0.85", style="rounded"]; - 36[label = "determine_availability_matrix\ntechnology: offwind-float", color = "0.09 0.6 0.85", style="rounded"]; - 37[label = "cluster_gas_network", color = "0.03 0.6 0.85", style="rounded"]; - 38[label = "build_gas_network", color = "0.50 0.6 0.85", style="rounded"]; - 39[label = "retrieve_gas_infrastructure_data", color = "0.49 0.6 0.85", style="rounded"]; - 40[label = "build_gas_input_locations", color = "0.23 0.6 0.85", style="rounded"]; - 41[label = "retrieve_gem_europe_gas_tracker", color = "0.33 0.6 0.85", style="rounded"]; - 42[label = "time_aggregation\nsector_opts: ", color = "0.06 0.6 0.85", style="rounded"]; - 43[label = "prepare_network\nopts: ", color = "0.00 0.6 0.85", style="rounded"]; - 44[label = "add_electricity", color = "0.15 0.6 0.85", style="rounded"]; - 45[label = "build_renewable_profiles", color = "0.43 0.6 0.85", style="rounded"]; - 46[label = "determine_availability_matrix\ntechnology: solar", color = "0.09 0.6 0.85", style="rounded"]; - 47[label = "build_renewable_profiles", color = "0.43 0.6 0.85", style="rounded"]; - 48[label = "determine_availability_matrix\ntechnology: solar-hsat", color = "0.09 0.6 0.85", style="rounded"]; - 49[label = "build_renewable_profiles", color = "0.43 0.6 0.85", style="rounded"]; - 50[label = "determine_availability_matrix\ntechnology: onwind", color = "0.09 0.6 0.85", style="rounded"]; - 51[label = "retrieve_cost_data\nyear: 2040", color = "0.10 0.6 0.85", style="rounded"]; - 52[label = "build_powerplants", color = "0.42 0.6 0.85", style="rounded"]; - 53[label = "build_hourly_heat_demand", color = "0.41 0.6 0.85", style="rounded"]; - 54[label = "build_daily_heat_demand", color = "0.66 0.6 0.85", style="rounded"]; - 55[label = "build_population_layouts", color = "0.16 0.6 0.85", style="rounded"]; - 56[label = "retrieve_worldbank_urban_population", color = "0.12 0.6 0.85", style="rounded"]; - 57[label = "retrieve_eurostat_data", color = "0.38 0.6 0.85", style="rounded"]; - 58[label = "build_population_weighted_energy_totals\nkind: energy", color = "0.37 0.6 0.85", style="rounded"]; - 59[label = "build_energy_totals", color = "0.43 0.6 0.85", style="rounded"]; - 60[label = "retrieve_jrc_idees", color = "0.36 0.6 0.85", style="rounded"]; - 61[label = "retrieve_eurostat_household_data", color = "0.46 0.6 0.85", style="rounded"]; - 62[label = "build_clustered_population_layouts", color = "0.05 0.6 0.85", style="rounded"]; - 63[label = "build_population_weighted_energy_totals\nkind: heat", color = "0.37 0.6 0.85", style="rounded"]; - 64[label = "build_heat_totals", color = "0.04 0.6 0.85", style="rounded"]; - 65[label = "build_shipping_demand", color = "0.16 0.6 0.85", style="rounded"]; - 66[label = "build_transport_demand", color = "0.03 0.6 0.85", style="rounded"]; - 67[label = "build_temperature_profiles", color = "0.10 0.6 0.85", style="rounded"]; - 68[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.20 0.6 0.85", style="rounded"]; - 69[label = "retrieve_jrc_enspreso_biomass", color = "0.49 0.6 0.85", style="rounded"]; - 70[label = "retrieve_nuts_2013_shapes", color = "0.57 0.6 0.85", style="rounded"]; - 71[label = "build_salt_cavern_potentials", color = "0.64 0.6 0.85", style="rounded"]; - 72[label = "build_industrial_energy_demand_per_node", color = "0.26 0.6 0.85", style="rounded"]; - 73[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.24 0.6 0.85", style="rounded"]; - 74[label = "build_industry_sector_ratios", color = "0.27 0.6 0.85", style="rounded"]; - 75[label = "build_ammonia_production", color = "0.54 0.6 0.85", style="rounded"]; - 76[label = "retrieve_usgs_ammonia_production", color = "0.53 0.6 0.85", style="rounded"]; - 77[label = "build_industrial_energy_demand_per_country_today", color = "0.17 0.6 0.85", style="rounded"]; - 78[label = "build_industrial_production_per_country", color = "0.26 0.6 0.85", style="rounded"]; - 79[label = "build_industrial_production_per_node", color = "0.58 0.6 0.85", style="rounded"]; - 80[label = "build_industrial_distribution_key", color = "0.11 0.6 0.85", style="rounded"]; - 81[label = "retrieve_hotmaps_industrial_sites", color = "0.21 0.6 0.85", style="rounded"]; - 82[label = "retrieve_gem_steel_plant_tracker", color = "0.12 0.6 0.85", style="rounded"]; - 83[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.54 0.6 0.85", style="rounded"]; - 84[label = "build_industrial_energy_demand_per_node_today", color = "0.55 0.6 0.85", style="rounded"]; - 85[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.31 0.6 0.85", style="rounded"]; - 86[label = "build_cop_profiles", color = "0.19 0.6 0.85", style="rounded"]; - 87[label = "build_central_heating_temperature_profiles\nplanning_horizons: 2030", color = "0.17 0.6 0.85", style="rounded"]; - 88[label = "build_direct_heat_source_utilisation_profiles", color = "0.41 0.6 0.85", style="rounded"]; - 89[label = "plot_power_network_clustered", color = "0.58 0.6 0.85", style="rounded"]; - 90[label = "plot_power_network", color = "0.13 0.6 0.85", style="rounded"]; - 91[label = "plot_hydrogen_network", color = "0.24 0.6 0.85", style="rounded"]; - 92[label = "plot_gas_network", color = "0.04 0.6 0.85", style="rounded"]; - 1 -> 0 - 2 -> 1 - 57 -> 1 - 7 -> 1 - 3 -> 2 - 51 -> 2 - 89 -> 2 - 90 -> 2 - 91 -> 2 - 92 -> 2 - 4 -> 3 - 5 -> 4 - 33 -> 4 - 35 -> 4 - 37 -> 4 - 40 -> 4 - 42 -> 4 - 43 -> 4 - 57 -> 4 - 58 -> 4 - 63 -> 4 - 65 -> 4 - 66 -> 4 - 59 -> 4 - 7 -> 4 - 68 -> 4 - 51 -> 4 - 71 -> 4 - 24 -> 4 - 23 -> 4 - 62 -> 4 - 72 -> 4 - 53 -> 4 - 79 -> 4 - 85 -> 4 - 67 -> 4 - 86 -> 4 - 88 -> 4 - 6 -> 5 - 11 -> 5 - 23 -> 5 - 10 -> 5 - 7 -> 6 - 8 -> 6 - 11 -> 6 - 23 -> 6 - 10 -> 6 - 9 -> 8 - 10 -> 8 - 12 -> 11 - 13 -> 11 - 14 -> 11 - 16 -> 11 - 18 -> 11 - 20 -> 11 - 22 -> 11 - 7 -> 11 - 15 -> 14 - 12 -> 14 - 17 -> 16 - 12 -> 16 - 19 -> 18 - 12 -> 18 - 21 -> 20 - 12 -> 20 - 24 -> 23 - 29 -> 23 - 25 -> 24 - 26 -> 24 - 26 -> 25 - 28 -> 25 - 27 -> 26 - 11 -> 26 - 26 -> 28 - 11 -> 28 - 24 -> 29 - 11 -> 29 - 30 -> 29 - 31 -> 30 - 32 -> 30 - 34 -> 33 - 11 -> 33 - 23 -> 33 - 10 -> 33 - 7 -> 34 - 8 -> 34 - 11 -> 34 - 23 -> 34 - 10 -> 34 - 36 -> 35 - 11 -> 35 - 23 -> 35 - 10 -> 35 - 7 -> 36 - 8 -> 36 - 11 -> 36 - 23 -> 36 - 10 -> 36 - 38 -> 37 - 23 -> 37 - 39 -> 38 - 41 -> 40 - 39 -> 40 - 23 -> 40 - 43 -> 42 - 53 -> 42 - 44 -> 43 - 51 -> 43 - 45 -> 44 - 47 -> 44 - 49 -> 44 - 5 -> 44 - 33 -> 44 - 35 -> 44 - 23 -> 44 - 51 -> 44 - 52 -> 44 - 29 -> 44 - 46 -> 45 - 11 -> 45 - 23 -> 45 - 10 -> 45 - 7 -> 46 - 11 -> 46 - 23 -> 46 - 10 -> 46 - 48 -> 47 - 11 -> 47 - 23 -> 47 - 10 -> 47 - 7 -> 48 - 11 -> 48 - 23 -> 48 - 10 -> 48 - 50 -> 49 - 11 -> 49 - 23 -> 49 - 10 -> 49 - 7 -> 50 - 11 -> 50 - 23 -> 50 - 10 -> 50 - 23 -> 52 - 54 -> 53 - 55 -> 54 - 23 -> 54 - 10 -> 54 - 11 -> 55 - 56 -> 55 - 10 -> 55 - 59 -> 58 - 62 -> 58 - 11 -> 59 - 7 -> 59 - 60 -> 59 - 57 -> 59 - 61 -> 59 - 55 -> 62 - 23 -> 62 - 10 -> 62 - 64 -> 63 - 62 -> 63 - 59 -> 64 - 11 -> 65 - 23 -> 65 - 59 -> 65 - 62 -> 66 - 58 -> 66 - 59 -> 66 - 7 -> 66 - 67 -> 66 - 55 -> 67 - 23 -> 67 - 10 -> 67 - 69 -> 68 - 57 -> 68 - 70 -> 68 - 23 -> 68 - 7 -> 68 - 11 -> 68 - 7 -> 71 - 23 -> 71 - 73 -> 72 - 79 -> 72 - 84 -> 72 - 74 -> 73 - 77 -> 73 - 78 -> 73 - 75 -> 74 - 60 -> 74 - 76 -> 75 - 59 -> 77 - 60 -> 77 - 78 -> 77 - 75 -> 78 - 60 -> 78 - 57 -> 78 - 80 -> 79 - 83 -> 79 - 23 -> 80 - 62 -> 80 - 81 -> 80 - 82 -> 80 - 78 -> 83 - 80 -> 84 - 77 -> 84 - 59 -> 85 - 62 -> 85 - 87 -> 86 - 67 -> 86 - 23 -> 86 - 67 -> 87 - 23 -> 87 - 87 -> 88 - 23 -> 89 - 3 -> 90 - 23 -> 90 - 3 -> 91 - 23 -> 91 - 3 -> 92 - 23 -> 92 - } - -| - -Myopic Foresight Scenarios -=================================== - -Configuration -------------- - -To activate the myopic foresight mode, set - -.. code:: yaml - - foresight: myopic - -Scenarios can be defined like for electricity-only studies, but with additional -wildcard options. For the myopic foresight mode, the ``{planning_horizons}`` wildcard -defines the sequence of investment horizons. - -.. literalinclude:: ../config/test/config.myopic.yaml - :language: yaml - :start-at: scenario: - :end-before: countries: - -For allowed wildcard values, refer to :ref:`wildcards`. - -In the myopic foresight mode, you can tweak for instance exogenously given transition paths, like the one for -the share of primary steel production we change below: - -.. literalinclude:: ../config/test/config.myopic.yaml - :language: yaml - :start-at: industry: - :end-before: solving: - -Documentation for all options will be added successively to :ref:`config`. - -Execution ---------- - -To run a myopic foresight scenario with the specifications above, run - -.. code:: console - - $ snakemake -call all --configfile config/test/config.myopic.yaml - -which will result in additional jobs ``snakemake`` wants to run, which -translates to the following workflow diagram which nicely outlines how the -sequential pathway optimisation with myopic foresight is implemented in the -workflow: - -.. graphviz:: - :class: full-width - :align: center - - digraph snakemake_dag { - graph[bgcolor=white, margin=0]; - node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; - edge[penwidth=2, color=grey]; - 0[label = "all", color = "0.50 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.26 0.6 0.85", style="rounded"]; - 2[label = "make_summary", color = "0.51 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network_myopic", color = "0.09 0.6 0.85", style="rounded"]; - 4[label = "add_existing_baseyear", color = "0.26 0.6 0.85", style="rounded"]; - 5[label = "prepare_sector_network", color = "0.25 0.6 0.85", style="rounded"]; - 6[label = "build_renewable_profiles", color = "0.53 0.6 0.85", style="rounded"]; - 7[label = "determine_availability_matrix\ntechnology: offwind-ac", color = "0.58 0.6 0.85", style="rounded"]; - 8[label = "retrieve_databundle", color = "0.28 0.6 0.85", style="rounded"]; - 9[label = "build_ship_raster", color = "0.07 0.6 0.85", style="rounded"]; - 10[label = "retrieve_ship_raster", color = "0.37 0.6 0.85", style="rounded"]; - 11[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.55 0.6 0.85", style="rounded,dashed"]; - 12[label = "build_shapes", color = "0.00 0.6 0.85", style="rounded"]; - 13[label = "retrieve_eez", color = "0.66 0.6 0.85", style="rounded"]; - 14[label = "retrieve_nuts_2021_shapes", color = "0.60 0.6 0.85", style="rounded"]; - 15[label = "build_osm_boundaries", color = "0.21 0.6 0.85", style="rounded"]; - 16[label = "retrieve_osm_boundaries\ncountry: BA", color = "0.23 0.6 0.85", style="rounded"]; - 17[label = "build_osm_boundaries", color = "0.21 0.6 0.85", style="rounded"]; - 18[label = "retrieve_osm_boundaries\ncountry: MD", color = "0.23 0.6 0.85", style="rounded"]; - 19[label = "build_osm_boundaries", color = "0.21 0.6 0.85", style="rounded"]; - 20[label = "retrieve_osm_boundaries\ncountry: UA", color = "0.23 0.6 0.85", style="rounded"]; - 21[label = "build_osm_boundaries", color = "0.21 0.6 0.85", style="rounded"]; - 22[label = "retrieve_osm_boundaries\ncountry: XK", color = "0.23 0.6 0.85", style="rounded"]; - 23[label = "retrieve_jrc_ardeco", color = "0.29 0.6 0.85", style="rounded"]; - 24[label = "cluster_network\nclusters: 5", color = "0.30 0.6 0.85", style="rounded"]; - 25[label = "simplify_network", color = "0.02 0.6 0.85", style="rounded"]; - 26[label = "add_transmission_projects_and_dlr", color = "0.60 0.6 0.85", style="rounded"]; - 27[label = "base_network", color = "0.30 0.6 0.85", style="rounded"]; - 28[label = "retrieve_osm_prebuilt", color = "0.43 0.6 0.85", style="rounded"]; - 29[label = "build_transmission_projects", color = "0.51 0.6 0.85", style="rounded"]; - 30[label = "build_electricity_demand_base", color = "0.64 0.6 0.85", style="rounded"]; - 31[label = "build_electricity_demand", color = "0.16 0.6 0.85", style="rounded"]; - 32[label = "retrieve_electricity_demand", color = "0.33 0.6 0.85", style="rounded"]; - 33[label = "retrieve_synthetic_electricity_demand", color = "0.56 0.6 0.85", style="rounded"]; - 34[label = "build_renewable_profiles", color = "0.53 0.6 0.85", style="rounded"]; - 35[label = "determine_availability_matrix\ntechnology: offwind-dc", color = "0.58 0.6 0.85", style="rounded"]; - 36[label = "build_renewable_profiles", color = "0.53 0.6 0.85", style="rounded"]; - 37[label = "determine_availability_matrix\ntechnology: offwind-float", color = "0.58 0.6 0.85", style="rounded"]; - 38[label = "cluster_gas_network", color = "0.13 0.6 0.85", style="rounded"]; - 39[label = "build_gas_network", color = "0.22 0.6 0.85", style="rounded"]; - 40[label = "retrieve_gas_infrastructure_data", color = "0.33 0.6 0.85", style="rounded"]; - 41[label = "build_gas_input_locations", color = "0.12 0.6 0.85", style="rounded"]; - 42[label = "retrieve_gem_europe_gas_tracker", color = "0.17 0.6 0.85", style="rounded"]; - 43[label = "time_aggregation\nsector_opts: ", color = "0.40 0.6 0.85", style="rounded"]; - 44[label = "prepare_network\nopts: ", color = "0.09 0.6 0.85", style="rounded"]; - 45[label = "add_electricity", color = "0.03 0.6 0.85", style="rounded"]; - 46[label = "build_renewable_profiles", color = "0.53 0.6 0.85", style="rounded"]; - 47[label = "determine_availability_matrix\ntechnology: solar", color = "0.58 0.6 0.85", style="rounded"]; - 48[label = "build_renewable_profiles", color = "0.53 0.6 0.85", style="rounded"]; - 49[label = "determine_availability_matrix\ntechnology: solar-hsat", color = "0.58 0.6 0.85", style="rounded"]; - 50[label = "build_renewable_profiles", color = "0.53 0.6 0.85", style="rounded"]; - 51[label = "determine_availability_matrix\ntechnology: onwind", color = "0.58 0.6 0.85", style="rounded"]; - 52[label = "retrieve_cost_data\nyear: 2040", color = "0.08 0.6 0.85", style="rounded"]; - 53[label = "build_powerplants", color = "0.63 0.6 0.85", style="rounded"]; - 54[label = "build_hourly_heat_demand", color = "0.27 0.6 0.85", style="rounded"]; - 55[label = "build_daily_heat_demand", color = "0.02 0.6 0.85", style="rounded"]; - 56[label = "build_population_layouts", color = "0.47 0.6 0.85", style="rounded"]; - 57[label = "retrieve_worldbank_urban_population", color = "0.36 0.6 0.85", style="rounded"]; - 58[label = "retrieve_eurostat_data", color = "0.39 0.6 0.85", style="rounded"]; - 59[label = "build_population_weighted_energy_totals\nkind: energy", color = "0.55 0.6 0.85", style="rounded"]; - 60[label = "build_energy_totals", color = "0.57 0.6 0.85", style="rounded"]; - 61[label = "retrieve_jrc_idees", color = "0.01 0.6 0.85", style="rounded"]; - 62[label = "retrieve_eurostat_household_data", color = "0.28 0.6 0.85", style="rounded"]; - 63[label = "build_clustered_population_layouts", color = "0.61 0.6 0.85", style="rounded"]; - 64[label = "build_population_weighted_energy_totals\nkind: heat", color = "0.55 0.6 0.85", style="rounded"]; - 65[label = "build_heat_totals", color = "0.44 0.6 0.85", style="rounded"]; - 66[label = "build_shipping_demand", color = "0.14 0.6 0.85", style="rounded"]; - 67[label = "build_transport_demand", color = "0.34 0.6 0.85", style="rounded"]; - 68[label = "build_temperature_profiles", color = "0.31 0.6 0.85", style="rounded"]; - 69[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.15 0.6 0.85", style="rounded"]; - 70[label = "retrieve_jrc_enspreso_biomass", color = "0.52 0.6 0.85", style="rounded"]; - 71[label = "retrieve_nuts_2013_shapes", color = "0.24 0.6 0.85", style="rounded"]; - 72[label = "retrieve_cost_data\nyear: 2030", color = "0.08 0.6 0.85", style="rounded"]; - 73[label = "build_salt_cavern_potentials", color = "0.05 0.6 0.85", style="rounded"]; - 74[label = "build_industrial_energy_demand_per_node", color = "0.38 0.6 0.85", style="rounded"]; - 75[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.49 0.6 0.85", style="rounded"]; - 76[label = "build_industry_sector_ratios", color = "0.39 0.6 0.85", style="rounded"]; - 77[label = "build_ammonia_production", color = "0.11 0.6 0.85", style="rounded"]; - 78[label = "retrieve_usgs_ammonia_production", color = "0.36 0.6 0.85", style="rounded"]; - 79[label = "build_industrial_energy_demand_per_country_today", color = "0.41 0.6 0.85", style="rounded"]; - 80[label = "build_industrial_production_per_country", color = "0.08 0.6 0.85", style="rounded"]; - 81[label = "build_industrial_production_per_node", color = "0.12 0.6 0.85", style="rounded"]; - 82[label = "build_industrial_distribution_key", color = "0.34 0.6 0.85", style="rounded"]; - 83[label = "retrieve_hotmaps_industrial_sites", color = "0.24 0.6 0.85", style="rounded"]; - 84[label = "retrieve_gem_steel_plant_tracker", color = "0.10 0.6 0.85", style="rounded"]; - 85[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.07 0.6 0.85", style="rounded"]; - 86[label = "build_industrial_energy_demand_per_node_today", color = "0.37 0.6 0.85", style="rounded"]; - 87[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.20 0.6 0.85", style="rounded"]; - 88[label = "build_cop_profiles", color = "0.18 0.6 0.85", style="rounded"]; - 89[label = "build_central_heating_temperature_profiles\nplanning_horizons: 2030", color = "0.06 0.6 0.85", style="rounded"]; - 90[label = "build_direct_heat_source_utilisation_profiles", color = "0.52 0.6 0.85", style="rounded"]; - 91[label = "build_existing_heating_distribution", color = "0.46 0.6 0.85", style="rounded"]; - 92[label = "solve_sector_network_myopic", color = "0.09 0.6 0.85", style="rounded"]; - 93[label = "add_brownfield", color = "0.54 0.6 0.85", style="rounded"]; - 94[label = "prepare_sector_network", color = "0.25 0.6 0.85", style="rounded"]; - 95[label = "build_biomass_potentials\nplanning_horizons: 2040", color = "0.15 0.6 0.85", style="rounded"]; - 96[label = "build_industrial_energy_demand_per_node", color = "0.38 0.6 0.85", style="rounded"]; - 97[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2040", color = "0.49 0.6 0.85", style="rounded"]; - 98[label = "build_industrial_production_per_node", color = "0.12 0.6 0.85", style="rounded"]; - 99[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2040", color = "0.07 0.6 0.85", style="rounded"]; - 100[label = "build_district_heat_share\nplanning_horizons: 2040", color = "0.20 0.6 0.85", style="rounded"]; - 101[label = "build_cop_profiles", color = "0.18 0.6 0.85", style="rounded"]; - 102[label = "build_central_heating_temperature_profiles\nplanning_horizons: 2040", color = "0.06 0.6 0.85", style="rounded"]; - 103[label = "build_direct_heat_source_utilisation_profiles", color = "0.52 0.6 0.85", style="rounded"]; - 104[label = "solve_sector_network_myopic", color = "0.09 0.6 0.85", style="rounded"]; - 105[label = "add_brownfield", color = "0.54 0.6 0.85", style="rounded"]; - 106[label = "prepare_sector_network", color = "0.25 0.6 0.85", style="rounded"]; - 107[label = "build_biomass_potentials\nplanning_horizons: 2050", color = "0.15 0.6 0.85", style="rounded"]; - 108[label = "retrieve_cost_data\nyear: 2050", color = "0.08 0.6 0.85", style="rounded"]; - 109[label = "build_industrial_energy_demand_per_node", color = "0.38 0.6 0.85", style="rounded"]; - 110[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2050", color = "0.49 0.6 0.85", style="rounded"]; - 111[label = "build_industrial_production_per_node", color = "0.12 0.6 0.85", style="rounded"]; - 112[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2050", color = "0.07 0.6 0.85", style="rounded"]; - 113[label = "build_district_heat_share\nplanning_horizons: 2050", color = "0.20 0.6 0.85", style="rounded"]; - 114[label = "build_cop_profiles", color = "0.18 0.6 0.85", style="rounded"]; - 115[label = "build_central_heating_temperature_profiles\nplanning_horizons: 2050", color = "0.06 0.6 0.85", style="rounded"]; - 116[label = "build_direct_heat_source_utilisation_profiles", color = "0.52 0.6 0.85", style="rounded"]; - 117[label = "plot_power_network_clustered", color = "0.40 0.6 0.85", style="rounded"]; - 118[label = "plot_power_network", color = "0.53 0.6 0.85", style="rounded"]; - 119[label = "plot_power_network", color = "0.53 0.6 0.85", style="rounded"]; - 120[label = "plot_power_network", color = "0.53 0.6 0.85", style="rounded"]; - 121[label = "plot_hydrogen_network", color = "0.32 0.6 0.85", style="rounded"]; - 122[label = "plot_hydrogen_network", color = "0.32 0.6 0.85", style="rounded"]; - 123[label = "plot_hydrogen_network", color = "0.32 0.6 0.85", style="rounded"]; - 124[label = "plot_gas_network", color = "0.29 0.6 0.85", style="rounded"]; - 125[label = "plot_gas_network", color = "0.29 0.6 0.85", style="rounded"]; - 126[label = "plot_gas_network", color = "0.29 0.6 0.85", style="rounded"]; - 1 -> 0 - 2 -> 1 - 58 -> 1 - 8 -> 1 - 3 -> 2 - 92 -> 2 - 104 -> 2 - 72 -> 2 - 117 -> 2 - 118 -> 2 - 119 -> 2 - 120 -> 2 - 121 -> 2 - 122 -> 2 - 123 -> 2 - 124 -> 2 - 125 -> 2 - 126 -> 2 - 4 -> 3 - 72 -> 3 - 5 -> 4 - 53 -> 4 - 25 -> 4 - 24 -> 4 - 63 -> 4 - 72 -> 4 - 88 -> 4 - 91 -> 4 - 60 -> 4 - 6 -> 5 - 34 -> 5 - 36 -> 5 - 38 -> 5 - 41 -> 5 - 43 -> 5 - 44 -> 5 - 58 -> 5 - 59 -> 5 - 64 -> 5 - 66 -> 5 - 67 -> 5 - 60 -> 5 - 8 -> 5 - 69 -> 5 - 72 -> 5 - 73 -> 5 - 25 -> 5 - 24 -> 5 - 63 -> 5 - 74 -> 5 - 54 -> 5 - 81 -> 5 - 87 -> 5 - 68 -> 5 - 88 -> 5 - 90 -> 5 - 7 -> 6 - 12 -> 6 - 24 -> 6 - 11 -> 6 - 8 -> 7 - 9 -> 7 - 12 -> 7 - 24 -> 7 - 11 -> 7 - 10 -> 9 - 11 -> 9 - 13 -> 12 - 14 -> 12 - 15 -> 12 - 17 -> 12 - 19 -> 12 - 21 -> 12 - 23 -> 12 - 8 -> 12 - 16 -> 15 - 13 -> 15 - 18 -> 17 - 13 -> 17 - 20 -> 19 - 13 -> 19 - 22 -> 21 - 13 -> 21 - 25 -> 24 - 30 -> 24 - 26 -> 25 - 27 -> 25 - 27 -> 26 - 29 -> 26 - 28 -> 27 - 12 -> 27 - 27 -> 29 - 12 -> 29 - 25 -> 30 - 12 -> 30 - 31 -> 30 - 32 -> 31 - 33 -> 31 - 35 -> 34 - 12 -> 34 - 24 -> 34 - 11 -> 34 - 8 -> 35 - 9 -> 35 - 12 -> 35 - 24 -> 35 - 11 -> 35 - 37 -> 36 - 12 -> 36 - 24 -> 36 - 11 -> 36 - 8 -> 37 - 9 -> 37 - 12 -> 37 - 24 -> 37 - 11 -> 37 - 39 -> 38 - 24 -> 38 - 40 -> 39 - 42 -> 41 - 40 -> 41 - 24 -> 41 - 44 -> 43 - 54 -> 43 - 45 -> 44 - 52 -> 44 - 46 -> 45 - 48 -> 45 - 50 -> 45 - 6 -> 45 - 34 -> 45 - 36 -> 45 - 24 -> 45 - 52 -> 45 - 53 -> 45 - 30 -> 45 - 47 -> 46 - 12 -> 46 - 24 -> 46 - 11 -> 46 - 8 -> 47 - 12 -> 47 - 24 -> 47 - 11 -> 47 - 49 -> 48 - 12 -> 48 - 24 -> 48 - 11 -> 48 - 8 -> 49 - 12 -> 49 - 24 -> 49 - 11 -> 49 - 51 -> 50 - 12 -> 50 - 24 -> 50 - 11 -> 50 - 8 -> 51 - 12 -> 51 - 24 -> 51 - 11 -> 51 - 24 -> 53 - 55 -> 54 - 56 -> 55 - 24 -> 55 - 11 -> 55 - 12 -> 56 - 57 -> 56 - 11 -> 56 - 60 -> 59 - 63 -> 59 - 12 -> 60 - 8 -> 60 - 61 -> 60 - 58 -> 60 - 62 -> 60 - 56 -> 63 - 24 -> 63 - 11 -> 63 - 65 -> 64 - 63 -> 64 - 60 -> 65 - 12 -> 66 - 24 -> 66 - 60 -> 66 - 63 -> 67 - 59 -> 67 - 60 -> 67 - 8 -> 67 - 68 -> 67 - 56 -> 68 - 24 -> 68 - 11 -> 68 - 70 -> 69 - 58 -> 69 - 71 -> 69 - 24 -> 69 - 8 -> 69 - 12 -> 69 - 8 -> 73 - 24 -> 73 - 75 -> 74 - 81 -> 74 - 86 -> 74 - 76 -> 75 - 79 -> 75 - 80 -> 75 - 77 -> 76 - 61 -> 76 - 78 -> 77 - 60 -> 79 - 61 -> 79 - 80 -> 79 - 77 -> 80 - 61 -> 80 - 58 -> 80 - 82 -> 81 - 85 -> 81 - 24 -> 82 - 63 -> 82 - 83 -> 82 - 84 -> 82 - 80 -> 85 - 82 -> 86 - 79 -> 86 - 60 -> 87 - 63 -> 87 - 89 -> 88 - 68 -> 88 - 24 -> 88 - 68 -> 89 - 24 -> 89 - 89 -> 90 - 63 -> 91 - 59 -> 91 - 87 -> 91 - 93 -> 92 - 52 -> 92 - 46 -> 93 - 48 -> 93 - 50 -> 93 - 6 -> 93 - 34 -> 93 - 36 -> 93 - 25 -> 93 - 24 -> 93 - 94 -> 93 - 3 -> 93 - 52 -> 93 - 101 -> 93 - 6 -> 94 - 34 -> 94 - 36 -> 94 - 38 -> 94 - 41 -> 94 - 43 -> 94 - 44 -> 94 - 58 -> 94 - 59 -> 94 - 64 -> 94 - 66 -> 94 - 67 -> 94 - 60 -> 94 - 8 -> 94 - 95 -> 94 - 52 -> 94 - 73 -> 94 - 25 -> 94 - 24 -> 94 - 63 -> 94 - 96 -> 94 - 54 -> 94 - 98 -> 94 - 100 -> 94 - 68 -> 94 - 101 -> 94 - 103 -> 94 - 70 -> 95 - 58 -> 95 - 71 -> 95 - 24 -> 95 - 8 -> 95 - 12 -> 95 - 97 -> 96 - 98 -> 96 - 86 -> 96 - 76 -> 97 - 79 -> 97 - 80 -> 97 - 82 -> 98 - 99 -> 98 - 80 -> 99 - 60 -> 100 - 63 -> 100 - 102 -> 101 - 68 -> 101 - 24 -> 101 - 68 -> 102 - 24 -> 102 - 102 -> 103 - 105 -> 104 - 108 -> 104 - 46 -> 105 - 48 -> 105 - 50 -> 105 - 6 -> 105 - 34 -> 105 - 36 -> 105 - 25 -> 105 - 24 -> 105 - 106 -> 105 - 92 -> 105 - 108 -> 105 - 114 -> 105 - 6 -> 106 - 34 -> 106 - 36 -> 106 - 38 -> 106 - 41 -> 106 - 43 -> 106 - 44 -> 106 - 58 -> 106 - 59 -> 106 - 64 -> 106 - 66 -> 106 - 67 -> 106 - 60 -> 106 - 8 -> 106 - 107 -> 106 - 108 -> 106 - 73 -> 106 - 25 -> 106 - 24 -> 106 - 63 -> 106 - 109 -> 106 - 54 -> 106 - 111 -> 106 - 113 -> 106 - 68 -> 106 - 114 -> 106 - 116 -> 106 - 70 -> 107 - 58 -> 107 - 71 -> 107 - 24 -> 107 - 8 -> 107 - 12 -> 107 - 110 -> 109 - 111 -> 109 - 86 -> 109 - 76 -> 110 - 79 -> 110 - 80 -> 110 - 82 -> 111 - 112 -> 111 - 80 -> 112 - 60 -> 113 - 63 -> 113 - 115 -> 114 - 68 -> 114 - 24 -> 114 - 68 -> 115 - 24 -> 115 - 115 -> 116 - 24 -> 117 - 3 -> 118 - 24 -> 118 - 92 -> 119 - 24 -> 119 - 104 -> 120 - 24 -> 120 - 3 -> 121 - 24 -> 121 - 92 -> 122 - 24 -> 122 - 104 -> 123 - 24 -> 123 - 3 -> 124 - 24 -> 124 - 92 -> 125 - 24 -> 125 - 104 -> 126 - 24 -> 126 - } - -| - - -Scaling-Up -========== - -If you now feel confident and want to tackle runs with larger temporal, technological and -spatial scope, clean-up the repository and after modifying the ``config/config.yaml`` file -target the collection rule ``all`` again without providing the test -configuration file. - -.. code:: console - - $ snakemake -call purge - $ snakemake -call all - -.. note:: - - It is good practice to perform a dry-run using the option `-n`, before you - commit to a run: - - .. code:: console - - $ snakemake -call all -n diff --git a/doc/tyndp_2024.md b/doc/tyndp_2024.md new file mode 100644 index 0000000000..5af39f6046 --- /dev/null +++ b/doc/tyndp_2024.md @@ -0,0 +1,127 @@ + + + +# TYNDP 2024 data + +The TYNDP 2024 data is downloaded and extracted using the `retrieve_tyndp`, `retrieve_tyndp_pecd`, `retrieve_tyndp_vp_data` and `retrieve_tyndp_cba_projects` rules. Originally published by ENTSO-E and ENTSOG under +Creative Commons Attribution 4.0 International License (CC-BY 4.0). +The original data files can be found under . + +## `CBA Projects` + +- **Source:** TYNDP 2024 Project Sheets, +- **Link:** +- **Description:** Contains 177 transmission and 33 storage projects, which have been assessed by TYNDP 2024 in its Cost-Benefit Analysis. + +## `Demand Profiles` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains hourly demand profiles for CH4, electricity (market and prosumer), + H2 (heat, zone 1 and zone 2), synthetic fuels (e-diesel, e-kerosene, SNG). + +## `EV Modelling Inputs` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains hourly availability, min SOC and driving profiles, EV charging stations, + and EV technology assumptions. + +## `Hybrid Heat Pump Modelling Inputs` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains hourly COP profiles, HP capacity and heat rate for H2 and CH4 hybrid HP. + +## `Hydrogen` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains H2 import generator properties, synthetic fuel generator properties, CO2 synthetic fuel ratios, synthetic fuel lines, H2 storage data, and SMR figures. + +## `Hydro Inflows` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains hourly hydro inflows for climate years from 1982 to 2017, for all modelled hydro technologies, per node and planning horizon. + +## `Investment Datasets` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains expansion constraints (capacities, capex, opex, trajectories) + for grids' and generators' investment candidates. + +## `Line data` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains electricity and hydrogen reference grids and e-market prosumer wheeling charge. + +## `Market Model Outputs for NT` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** `https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-outputs/MMStandardOutputFile_NT{planning_horizons}_Plexos_CY2009_2.5_v40.xlsx.zip` +- **Description:** Contains market model standard output files for the National Trends (NT) scenario and climate year 2009 (available for both 2030 and 2040 planning horizons). + +## `Nodes` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains a list of electricity and hydrogen nodes. + +## `Offshore hubs` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains generators, electrolysers, nodes and grid information used in the + modelling of offshore hubs. + +## `PECD/PECD_{pecd_version}` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** `https://storage.googleapis.com/open-tyndp-data-store/PECD/PECD_{pecd_version}.zip` +- **Description:** Contains hourly PECD v3.1 capacity factor time series for Solar PV rooftop, + Solar PV utility, Onshore Wind, Offshore Wind and Solar CSP. + +## `PECD/PECD_{pecd_prebuilt_version}` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** `https://storage.googleapis.com/open-tyndp-data-store/PECD/PECD_{pecd_prebuilt_version}.zip` +- **Description:** Contains pre-built hourly PECD v3.1 capacity factor time series for climate years 1995, 2008, and 2009, covering Solar PV rooftop, Solar PV utility, Onshore Wind, Offshore Wind and Solar CSP. + +## `PEMMDB2` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains PEMMDB v2.5 capacities, as well as must-run and availability profiles for various PEMMDB technologies (thermal, RES, reserves, DSR, batteries and electrolysers). + +## `Supply Tool` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains the TYNDP 2024 Supply Tool. + +## `TYNDP-2024-Scenarios-Package/TYNDP_2024-Scenario-Report-Data-Figures_240522.xlsx` + +- **Source:** TYNDP 2024 Scenarios, +- **Link:** +- **Description:** Contains the TYNDP Scenarios Report Data Figures data and calculations used to produce the figures in the Scenarios Report. + +## `TYNDP-2024-Visualisation-Platform` + +- **Source:** TYNDP 2024 Visualisation Platform, +- **Link:** +- **Description:** Contains the TYNDP 2024 Visualisation Platform data for both electricity (supply mix, flexibility options, and electricity demand) and hydrogen (supply mix and hydrogen demand). + +## `TYNDP Nuclear profiles` + +- **Source:** Derived from TYNDP 2024 Market Model Outputs +- **Link:** +- **Description:** Contains availability profiles for nuclear power plants, derived from normalized generation time series in TYNDP 2024 Market Model Outputs. Resampled weekly, retaining maximum availability factor per week to account for maintenance schedules and forced outages. + +## `cba/a.3_non-co2-emissions.csv` + +- **Source:** TYNDP 2024 Methodology: CBA Implementation Guidelines, +- **Link:** +- **Description:** Contains a CSV file of the extracted Annex A.3 non-CO2 emissions factors table. diff --git a/doc/tyndp_2024.rst b/doc/tyndp_2024.rst deleted file mode 100644 index 0ad3900213..0000000000 --- a/doc/tyndp_2024.rst +++ /dev/null @@ -1,130 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to Open-TYNDP -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -############### -TYNDP 2024 data -############### - -The TYNDP 2024 data is downloaded and extracted using the ``retrieve_tyndp``, ``retrieve_tyndp_pecd``, ``retrieve_tyndp_vp_data`` and ``retrieve_tyndp_cba_projects`` rules. Originally published by ENTSO-E and ENTSOG under -Creative Commons Attribution 4.0 International License (CC-BY 4.0). -The original data files can be found under https://2024.entsos-tyndp-scenarios.eu/download/. - -``CBA Projects`` - -- **Source:** TYNDP 2024 Project Sheets, https://tyndp2024.entsoe.eu/projects-map -- **Link:** https://storage.googleapis.com/open-tyndp-data-store/CBA_projects.zip -- **Description:** Contains 177 transmission and 33 storage projects, which have been assessed by TYNDP 2024 in its Cost-Benefit Analysis. - -``Demand Profiles`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Demand-Profiles.zip -- **Description:** Contains hourly demand profiles for CH4, electricity (market and prosumer), - H2 (heat, zone 1 and zone 2), synthetic fuels (e-diesel, e-kerosene, SNG). - -``EV Modelling Inputs`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/EV-Modelling-Inputs.zip -- **Description:** Contains hourly availability, min SOC and driving profiles, EV charging stations, - and EV technology assumptions. - -``Hybrid Heat Pump Modelling Inputs`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Hybrid-Heat-Pump-Modelling-Inputs.zip -- **Description:** Contains hourly COP profiles, HP capacity and heat rate for H2 and CH4 hybrid HP. - -``Hydrogen`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Hydrogen.zip -- **Description:** Contains H2 import generator properties, synthetic fuel generator properties, CO2 synthetic fuel ratios, synthetic fuel lines, H2 storage data, and SMR figures. - -``Hydro Inflows`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Hydro-Inflows.zip -- **Description:** Contains hourly hydro inflows for climate years from 1982 to 2017, for all modelled hydro technologies, per node and planning horizon. - -``Investment Datasets`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Investment-Datasets.zip -- **Description:** Contains expansion constraints (capacities, capex, opex, trajectories) - for grids' and generators' investment candidates. - -``Line data`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Line-data.zip -- **Description:** Contains electricity and hydrogen reference grids and e-market prosumer wheeling charge. - -``Market Model Outputs for NT`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-outputs/MMStandardOutputFile_NT{planning_horizons}_Plexos_CY2009_2.5_v40.xlsx.zip -- **Description:** Contains market model standard output files for the National Trends (NT) scenario and climate year 2009 (available for both 2030 and 2040 planning horizons). - -``Nodes`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Nodes.zip -- **Description:** Contains a list of electricity and hydrogen nodes. - -``Offshore hubs`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/Offshore-hubs.zip -- **Description:** Contains generators, electrolysers, nodes and grid information used in the - modelling of offshore hubs. - -``PECD/PECD_{pecd_version}`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://storage.googleapis.com/open-tyndp-data-store/PECD/PECD_{pecd_version}.zip -- **Description:** Contains hourly PECD v3.1 capacity factor time series for Solar PV rooftop, - Solar PV utility, Onshore Wind, Offshore Wind and Solar CSP. - -``PECD/PECD_{pecd_prebuilt_version}`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://storage.googleapis.com/open-tyndp-data-store/PECD/PECD_{pecd_prebuilt_version}.zip -- **Description:** Contains pre-built hourly PECD v3.1 capacity factor time series for climate years 1995, 2008, and 2009, covering Solar PV rooftop, Solar PV utility, Onshore Wind, Offshore Wind and Solar CSP. - -``PEMMDB2`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-inputs/PEMMDB2.zip -- **Description:** Contains PEMMDB v2.5 capacities, as well as must-run and availability profiles for various PEMMDB technologies (thermal, RES, reserves, DSR, batteries and electrolysers). - -``Supply Tool`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/scenarios-outputs/20240518-Supply-Tool.xlsm.zip -- **Description:** Contains the TYNDP 2024 Supply Tool. - -``TYNDP-2024-Scenarios-Package/TYNDP_2024-Scenario-Report-Data-Figures_240522.xlsx`` - -- **Source:** TYNDP 2024 Scenarios, https://2024.entsos-tyndp-scenarios.eu/download/ -- **Link:** https://2024-data.entsos-tyndp-scenarios.eu/files/reports/TYNDP-2024-Scenarios-Package-20250128.zip -- **Description:** Contains the TYNDP Scenarios Report Data Figures data and calculations used to produce the figures in the Scenarios Report. - -``TYNDP-2024-Visualisation-Platform`` - -- **Source:** TYNDP 2024 Visualisation Platform, https://2024.entsos-tyndp-scenarios.eu/visualisation-platform/ -- **Link:** https://storage.googleapis.com/open-tyndp-data-store/250117-TYNDP-2024-Visualisation-Platform.zip -- **Description:** Contains the TYNDP 2024 Visualisation Platform data for both electricity (supply mix, flexibility options, and electricity demand) and hydrogen (supply mix and hydrogen demand). - -``TYNDP Nuclear profiles`` - -- **Source:** Derived from TYNDP 2024 Market Model Outputs -- **Link:** https://storage.googleapis.com/open-tyndp-data-store/nuclear_p_max_pu.zip -- **Description:** Contains availability profiles for nuclear power plants, derived from normalized generation time series in TYNDP 2024 Market Model Outputs. Resampled weekly, retaining maximum availability factor per week to account for maintenance schedules and forced outages. - -``cba/a.3_non-co2-emissions.csv`` - -- **Source:** TYNDP 2024 Methodology: CBA Implementation Guidelines, https://tyndp.entsoe.eu/resources/tyndp-2024-methodology-cba-implementation-guidelines-for-consultation-1 -- **Link:** https://storage.googleapis.com/open-tyndp-data-store/cba/a.3_non-co2-emissions.csv -- **Description:** Contains a CSV file of the extracted Annex A.3 non-CO2 emissions factors table. diff --git a/doc/validation.rst b/doc/validation.md similarity index 77% rename from doc/validation.rst rename to doc/validation.md index 877f230b29..9397f5f557 100644 --- a/doc/validation.rst +++ b/doc/validation.md @@ -1,33 +1,23 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 + + -########################################## -Validation -########################################## +# Validation The PyPSA-Eur model workflow has been validated by contrasting the outcomes of network optimization against the historical behaviour of the European power system. These comparisons utilize data from the 2019 ENTSO-E Transparency Platform. -The setup uses monthly varying fuel prices for gas, lignite, coal and oil as well as CO2 prices, which are created by the script :mod:`build_monthly_prices`. +The setup uses monthly varying fuel prices for gas, lignite, coal and oil as well as CO2 prices, which are created by the script [build_monthly_prices][]. The comparison with the historical data shows partially accurate, partially improvable results. The following figures show the comparison of the dispatch of the different carriers. -.. image:: img/validation_seasonal_operation_area_elec_s_37_ec_lv1.0_Ept.png - :width: 100% - :align: center +![Validation seasonal operation area](img/validation_seasonal_operation_area_elec_s_37_ec_lv1.0_Ept.png){width=100%} -.. image:: img/validation_production_bar_elec_s_37_ec_lv1.0_Ept.png - :width: 100% - :align: center +![Validation production bar](img/validation_production_bar_elec_s_37_ec_lv1.0_Ept.png){width=100%} - - -Issues and possible improvements --------------------------------- +## Issues and possible improvements **Overestimated dispatch of wind and solar:** Renewable potentials of wind and solar are slightly overestimated in the model. This leads to a higher dispatch of these carriers than in the historical data. In particular, the solar dispatch during winter is overestimated. -**Coal - Lignite fuel switch:** The model has a fuel switch from coal to lignite. This might result from non-captured subsidies for lignite and coal in the model. In order to fix the fuel switch from coal to lignite, a manual cost correction was added to the script ``build_monthly_prices``. +**Coal - Lignite fuel switch:** The model has a fuel switch from coal to lignite. This might result from non-captured subsidies for lignite and coal in the model. In order to fix the fuel switch from coal to lignite, a manual cost correction was added to the script `build_monthly_prices`. **Planned outages of nuclear power plants:** Planned outages of nuclear power plants are not captured in the model. This leads to a underestimated dispatch of nuclear power plants in winter and a overestimated dispatch in summer. This point is hard to fix, since the planned outages are not published in the ENTSO-E Transparency Platform. diff --git a/doc/validation_dev.md b/doc/validation_dev.md new file mode 100644 index 0000000000..0baedf130a --- /dev/null +++ b/doc/validation_dev.md @@ -0,0 +1,263 @@ + + + +# Validation + +PyPSA-Eur uses [Pydantic](https://docs.pydantic.dev/) models for validation. +This system provides type checking, default values, and documentation in a single place. + +## Configuration + +The configuration validation system consists of: + +- **Pydantic models** in `scripts/lib/validation/config/` that define all options and validates the snakemake config. +- **Auto-generated files**: `config/config.default.yaml` and `config/schema.default.json`. + +### Adding a New Config Option + +To add a new option to an existing config section, edit the corresponding module in +`scripts/lib/validation/config/`. Each field uses Pydantic's `Field()` function. + +For example, the `logging` section in `scripts/lib/validation/config/__init__.py`: + +```python +from typing import Literal +from pydantic import Field +from scripts.lib.validation.config._base import ConfigModel + +class LoggingConfig(ConfigModel): + """Configuration for top level `logging` settings.""" + + # ... existing fields ... + + # An option with default 0.5, float type and between 0 and 1. If anything else is passed, + # the validation will fail + new_option: float = Field( + 0.5, # default value + description="Threshold for the new feature.", # shown in docs and IDE + ge=0, # greater than or equal + le=1, # less than or equal + examples=[0.3, 0.7], # example values for docs + ) +``` + +For more Field parameters, see the [Pydantic Field documentation](https://docs.pydantic.dev/latest/concepts/fields/). + +!!! note + If you are making config changes in a fork of PyPSA-Eur to meet your project-specific needs, + you should instead use the config updater class described in [Extending for Soft-Forks](#soft_fork_ext). + +### Adding a New Config Section + +To add a nested config section, define a helper class and add it to an existing config. +For example, adding a `file` section to `LoggingConfig`: + +```python +class _LoggingFileConfig(ConfigModel): + """Configuration for logging to file.""" + + enabled: bool = Field(False, description="Enable file logging.") + path: str = Field("logs/pypsa.log", description="Log file path.") + format: str | None = Field(None, description="Custom log format for that file.") + + +class LoggingConfig(ConfigModel): + """Configuration for top level `logging` settings.""" + + # ... existing fields ... + + file: _LoggingFileConfig = Field( + default_factory=_LoggingFileConfig, + description="File logging configuration.", + ) +``` + +There is one python module for each top level configuration. Helper classes for nested +keys usee underscore prefix (e.g., `_LoggingFileConfig`) by convention. + +!!! note + If you are making config changes in a fork of PyPSA-Eur to meet your project-specific needs, + you should instead use the config updater class described in [Extending for Soft-Forks](#soft_fork_ext). + +### Regenerating Config Files + +Snakemake will only read from the `config/config.default.yaml`, which needs to be generated +after making changes to the Pydantic model. To regenerate the default config and JSON +schema: + +```console +$ pixi run generate-config +``` + +This updates `config/config.default.yaml` and `config/schema.default.json`. +For example, the two examples above would now generate: + +```yaml +logging: + level: INFO + format: "%(levelname)s:%(name)s:%(message)s" + new_option: 0.5 + file: + enabled: false + path: logs/pypsa.log + format: null +``` + +Always commit these regenerated files alongside your model changes. + +### Custom Validators + +For validation logic beyond simple type checks and constraints, Pydantic provides +`field_validator` (for single fields) and `model_validator` (for cross-field validation). + +**Field Validator**: Validate a single field's value. For example, ensuring the log level +is uppercase: + +```python +from pydantic import Field, field_validator +from scripts.lib.validation.config._base import ConfigModel + +class LoggingConfig(ConfigModel): + """Configuration for top level `logging` settings.""" + + level: str = Field("INFO", description="Logging level.") + + @field_validator("level") + @classmethod + def validate_level(cls, v): + if v.upper() != v: + raise ValueError("Logging level must be uppercase (e.g., 'INFO', 'DEBUG').") + return v +``` + +**Model Validator**: Validate relationships between multiple fields. For example, +ensuring the file path is set when file logging is enabled: + +```python +from pydantic import Field, model_validator +from scripts.lib.validation.config._base import ConfigModel + +class LoggingConfig(ConfigModel): + """Configuration for top level `logging` settings.""" + + file_enabled: bool = Field(False, description="Enable file logging.") + file_path: str | None = Field(None, description="Log file path.") + + @model_validator + def check_file_path_required(self): + if self.file_enabled and not self.file_path: + raise ValueError("file_path is required when file_enabled is True.") + return self +``` + +Again, find more information in the Pydantic documentation on +[Field Validators](https://docs.pydantic.dev/latest/concepts/validators/#field-validators) +and [Model Validators](https://docs.pydantic.dev/latest/concepts/validators/#model-validators). + +### Extending for Soft-Forks {#soft_fork_ext} + +If you maintain a soft-fork of PyPSA-Eur with custom config options, you have two approaches: + +**Allow extra fields**: The `ConfigSchema` uses `extra="allow"` by default, so +unrecognized config keys won't cause validation errors. Your custom options will pass +through without type checking. Only if you changed existing config settings, you will +need to adjust the schema. But you will lose the sync of Pydantic model and defaults +YAML, which is currently enforced via an upstream CI job. + +**Extend the schema**: It is better to add full validation of your additional +configuration. +The cleanest way to do this is to use the config updater base class that we make available. +You impose config changes in subclasses of the base class and by importing those into `scripts.lib.validation.config_updates.py` they will be used to automatically overwrite the configuration. + +In the below example, two updates are made to the default config. + +```python +from typing import Literal + +from pydantic import BaseModel, Field + +from scripts.lib.validation.config._base import ConfigUpdater +from scripts.lib.validation.config._schema import ConfigSchema + + +class ClusteringConfigUpdater(ConfigUpdater): + name: str = "update_clustering" + docs_url: str | None = None # no attempt will be made at updating the URL. + + def update(self) -> type[ConfigSchema]: + # To update and existing config item, we need it's most recent state, as defined in `self.base_config` + clustering_config = self.base_config().clustering.__class__ + mode_config = clustering_config.model_fields["mode"] + + current_description = mode_config.description or "" + new_description = current_description + " (extra) foobar: new item." + new_list = Literal[mode_config.annotation, "foobar"] + + clustering_schema = self._apply_updates( + __base__=clustering_config, + mode=(new_list, Field(mode_config.default, description=new_description)), + ) + new_schema = self._apply_updates( + clustering=(clustering_schema, Field(default_factory=clustering_schema)) + ) + + return new_schema + + +class MyNewConfigSection(BaseModel): + my_new_field: str = Field("foo") + + +class NewConfigItem(ConfigUpdater): + name: str = "new_section" + docs_url: str | None = "https://my-own-docs.readthedocs.org/config.html#{field_name}" + + def update(self) -> type[ConfigSchema]: + new_schema = self._apply_updates( + new_section=(MyNewConfigSection, Field(default_factory=MyNewConfigSection)), + ) + return new_schema +``` + +If this code were stored in the script `scripts/_my_config_updates.py` then `scripts.lib.validation.config_updates.py` would now include: + +```python +import scripts._my_config_updates +``` + +This is sufficient for both updates to be imported. + +!!! note "Config filename" + + When generating the config files with the above example (`pixi run generate-config`), + you would now generate `config/config.default.update_clustering.new_section.yaml`. + To override the base `config/config.default.yaml`, you can set the `name` property of your updater classes to empty strings: `""`. + +!!! note "Docs URL" + + The generated default config file will reference a documentation URL above every top-level key. + When using updating with your own config schema, you may well want to also refer to your own documentation. + You can set the `docs_url` property to refer to a different URL to the default (which is the PyPSA-Eur documentation). + Any reference to `{field_name}` in the string will be formatted to the top-level key above which the URL comment is being placed in the config, to allow for fine-grained references. + +!!! note "Chaining updates" + + Several separate update scripts can exist and be used to create chained updates of the schema. + They will be used to update the schema in the order they appear in `scripts.lib.validation.config_updates.py`. + this means that you can update the same config item multiple times. + If you are importing config changes from a submodule and you want to catch cases where you are both updating the same config item, you can add a check in your `update` method, such as: + + ```python + if clustering_config != ClusteringConfig: + raise ValueError( + "You are trying to update the clustering config item after it has already been updated by another config updater." + " This could have unexpected consequences." + ) + ``` + +::: lib.validation.config._base.ConfigUpdater + options: + members: + - name + - update + - _apply_updates diff --git a/doc/validation_dev.rst b/doc/validation_dev.rst deleted file mode 100644 index 81a871bebe..0000000000 --- a/doc/validation_dev.rst +++ /dev/null @@ -1,262 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -########################################## -Validation -########################################## - -PyPSA-Eur uses `Pydantic `_ models for validation. -This system provides type checking, default values, and documentation in a single place. - -Configuration -============= - -The configuration validation system consists of: - -- **Pydantic models** in ``scripts/lib/validation/config/`` that define all options and validates the snakemake config. -- **Auto-generated files**: ``config/config.default.yaml`` and ``config/schema.default.json``. - -Adding a New Config Option --------------------------- - -To add a new option to an existing config section, edit the corresponding module in -``scripts/lib/validation/config/``. Each field uses Pydantic's ``Field()`` function. - -For example, the ``logging`` section in ``scripts/lib/validation/config/__init__.py``: - -.. code-block:: python - - from typing import Literal - from pydantic import Field - from scripts.lib.validation.config._base import ConfigModel - - class LoggingConfig(ConfigModel): - """Configuration for top level `logging` settings.""" - - # ... existing fields ... - - # An option with default 0.5, float type and between 0 and 1. If anything else is passed, - # the validation will fail - new_option: float = Field( - 0.5, # default value - description="Threshold for the new feature.", # shown in docs and IDE - ge=0, # greater than or equal - le=1, # less than or equal - examples=[0.3, 0.7], # example values for docs - ) - -For more Field parameters, see the `Pydantic Field documentation `__. - -.. note:: - If you are making config changes in a fork of PyPSA-Eur to meet your project-specific needs, - you should instead use the config updater class described in :ref:`soft_fork_ext`. - -Adding a New Config Section ---------------------------- - -To add a nested config section, define a helper class and add it to an existing config. -For example, adding a ``file`` section to ``LoggingConfig``: - -.. code-block:: python - - class _LoggingFileConfig(ConfigModel): - """Configuration for logging to file.""" - - enabled: bool = Field(False, description="Enable file logging.") - path: str = Field("logs/pypsa.log", description="Log file path.") - format: str | None = Field(None, description="Custom log format for that file.") - - - class LoggingConfig(ConfigModel): - """Configuration for top level `logging` settings.""" - - # ... existing fields ... - - file: _LoggingFileConfig = Field( - default_factory=_LoggingFileConfig, - description="File logging configuration.", - ) - - -There is one python module for each top level configuration. Helper classes for nested -keys usee underscore prefix (e.g., ``_LoggingFileConfig``) by convention. - -.. note:: - If you are making config changes in a fork of PyPSA-Eur to meet your project-specific needs, - you should instead use the config updater class described in :ref:`soft_fork_ext`. - -Regenerating Config Files -------------------------- - -Snakemake will only read from the ``config/config.default.yaml``, which needs to be generated -after making changes to the Pydantic model. To regenerate the default config and JSON -schema: - -.. code-block:: console - - $ pixi run generate-config - -This updates ``config/config.default.yaml`` and ``config/schema.default.json``. -For example, the two examples above would now generate: - -.. code-block:: yaml - - logging: - level: INFO - format: "%(levelname)s:%(name)s:%(message)s" - new_option: 0.5 - file: - enabled: false - path: logs/pypsa.log - format: null - -Always commit these regenerated files alongside your model changes. - -Custom Validators ------------------ - -For validation logic beyond simple type checks and constraints, Pydantic provides -``field_validator`` (for single fields) and ``model_validator`` (for cross-field validation). - -**Field Validator**: Validate a single field's value. For example, ensuring the log level -is uppercase: - -.. code-block:: python - - from pydantic import Field, field_validator - from scripts.lib.validation.config._base import ConfigModel - - class LoggingConfig(ConfigModel): - """Configuration for top level `logging` settings.""" - - level: str = Field("INFO", description="Logging level.") - - @field_validator("level") - @classmethod - def validate_level(cls, v): - if v.upper() != v: - raise ValueError("Logging level must be uppercase (e.g., 'INFO', 'DEBUG').") - return v - -**Model Validator**: Validate relationships between multiple fields. For example, -ensuring the file path is set when file logging is enabled: - -.. code-block:: python - - from pydantic import Field, model_validator - from scripts.lib.validation.config._base import ConfigModel - - class LoggingConfig(ConfigModel): - """Configuration for top level `logging` settings.""" - - file_enabled: bool = Field(False, description="Enable file logging.") - file_path: str | None = Field(None, description="Log file path.") - - @model_validator - def check_file_path_required(self): - if self.file_enabled and not self.file_path: - raise ValueError("file_path is required when file_enabled is True.") - return self - -Again, find more information in the Pydantic documentation on -`Field Validators `_ -and `Model Validators `_. - -.. _soft_fork_ext: - -Extending for Soft-Forks ------------------------- - -If you maintain a soft-fork of PyPSA-Eur with custom config options, you have two approaches: - -**Allow extra fields**: The ``ConfigSchema`` uses ``extra="allow"`` by default, so -unrecognized config keys won't cause validation errors. Your custom options will pass -through without type checking. Only if you changed existing config settings, you will -need to adjust the schema. But you will lose the sync of Pydantic model and defaults -YAML, which is currently enforced via an upstream CI job. - -**Extend the schema**: It is better to add full validation of your additional -configuration. -The cleanest way to do this is to use the config updater base class that we make available. -You impose config changes in subclasses of the base class and by importing those into `scripts.lib.validation.config_updates.py` they will be used to automatically overwrite the configuration. - -In the below example, two updates are made to the default config. - -.. code-block:: python - - from typing import Literal - - from pydantic import BaseModel, Field - - from scripts.lib.validation.config._base import ConfigUpdater - from scripts.lib.validation.config._schema import ConfigSchema - - - class ClusteringConfigUpdater(ConfigUpdater): - name: str = "update_clustering" - - def update(self) -> type[ConfigSchema]: - # To update and existing config item, we need it's most recent state, as defined in `self.base_config` - clustering_config = self.base_config().clustering.__class__ - mode_config = clustering_config.model_fields["mode"] - - current_description = mode_config.description or "" - new_description = current_description + " (extra) foobar: new item." - new_list = Literal[mode_config.annotation, "foobar"] - - clustering_schema = self._apply_updates( - __base__=clustering_config, - mode=(new_list, Field(mode_config.default, description=new_description)), - ) - new_schema = self._apply_updates( - clustering=(clustering_schema, Field(default_factory=clustering_schema)) - ) - - return new_schema - - - class MyNewConfigSection(BaseModel): - my_new_field: str = Field("foo") - - - class NewConfigItem(ConfigUpdater): - name: str = "new_section" - - def update(self) -> type[ConfigSchema]: - new_schema = self._apply_updates( - new_section=(MyNewConfigSection, Field(default_factory=MyNewConfigSection)), - ) - return new_schema - -If this code were stored in the script ``scripts/_my_config_updates.py`` then ``scripts.lib.validation.config_updates.py`` would now include: - -.. code-block:: python - - import scripts._my_config_updates - -This is sufficient for both updates to be imported. - -.. admonition:: Config filename - - When generating the config files with the above example (``pixi run generate-config``), - you would now generate ``config/config.default.update_clustering.new_section.yaml``. - To override the base ``config/config.default.yaml``, you can set the ``name`` property of your updater classes to empty strings: ``""``. - -.. admonition:: Chaining updates - - Several separate update scripts can exist and be used to create chained updates of the schema. - They will be used to update the schema in the order they appear in ``scripts.lib.validation.config_updates.py``. - this means that you can update the same config item multiple times. - If you are importing config changes from a submodule and you want to catch cases where you are both updating the same config item, you can add a check in your ``update`` method, such as: - - .. code:: python - - if clustering_config != ClusteringConfig: - raise ValueError( - "You are trying to update the clustering config item after it has already been updated by another config updater." - " This could have unexpected consequences." - ) - -.. autoclass:: lib.validation.config._base::ConfigUpdater - :members: name, update, _apply_updates \ No newline at end of file diff --git a/doc/wildcards.md b/doc/wildcards.md new file mode 100644 index 0000000000..11c60a9e73 --- /dev/null +++ b/doc/wildcards.md @@ -0,0 +1,82 @@ + + + +# Wildcards {#wildcards} + +It is easy to run PyPSA-Eur for multiple scenarios using the wildcards feature of `snakemake`. +Wildcards allow to generalise a rule to produce all files that follow a regular expression pattern +which e.g. defines one particular scenario. One can think of a wildcard as a parameter that shows +up in the input/output file names of the `Snakefile` and thereby determines which rules to run, +what data to retrieve and what files to produce. + +!!! note + Detailed explanations of how wildcards work in `snakemake` can be found in the + [relevant section of the documentation](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#wildcards). + +## The `{cutout}` wildcard {#cutout_wc} + +The `{cutout}` wildcard facilitates running the rule [build_cutout][] +for all cutout configurations specified under `atlite: cutouts:`. +These cutouts will be stored in a folder specified by `{cutout}`. + +## The `{technology}` wildcard {#technology} + +The `{technology}` wildcard specifies for which renewable energy technology to produce availability time +series and potentials using the rule [build_renewable_profiles][]. +It can take the values `onwind`, `offwind-ac`, `offwind-dc`, `offwind-float`, and `solar` but **not** `hydro` +(since hydroelectric plant profiles are created by a different rule) + +## The `{clusters}` wildcard {#clusters} + +The `{clusters}` wildcard specifies the number of buses a detailed +network model should be reduced to in the rule [cluster_network][]. +The number of clusters must be lower than the total number of nodes +and higher than the number of countries. However, a country counts twice if +it has two asynchronous subnetworks (e.g. Denmark or Italy). + +## The `{opts}` wildcard {#opts} + +The `{opts}` wildcard is used for electricity-only studies. It triggers +optional constraints, which are activated in either [prepare_network][] or +the [solve_network][] step. It may hold multiple triggers separated by `-`, +i.e. `Co2L-3h` contains the `Co2L` trigger and the `3h` switch. There are +currently: + +| Trigger | Description | +|---------|-------------| +| `Co2L` | Add an pointwise or global CO2 limit constraint | +| `Co2L{p}` | Set CO2 limit to `p` times the 1990 CO2 emissions | +| `Ep` | Add an pointwise or global emission pricing constraint | +| `Ep{p}` | Set the emission price to `p` EUR/tCO2 | +| `{n}h` | Temporal averaging/down-sampling by `n` hours | +| `{n}seg` | Apply `n` time segments using the tsam package | + +!!! note + The wildcard options are processed in ``scripts/prepare_network.py`` and ``scripts/solve_network.py``. + +## The `{sector_opts}` wildcard {#sector_opts} + +!!! warning + More comprehensive documentation for this wildcard will be added soon. + To really understand the options here, look in scripts/prepare_sector_network.py + +The `{sector_opts}` wildcard is only used for sector-coupling studies. + +| Trigger | Description | +|---------|-------------| +| `cb{x}ex{y}` | Set a carbon budget of `x` Gt CO2 with exponential decay starting at linear growth rate `y` | +| `Co2L{p}` | Set CO2 limit to `p` times the 1990 CO2 emissions | +| `{n}h` | Temporal averaging/down-sampling by `n` hours | +| `{n}seg` | Apply `n` time segments using the tsam package | + +!!! note + The wildcard options for sector-coupled studies are processed in ``scripts/prepare_sector_network.py``. + For more details, refer to the source code. + +## The `{planning_horizons}` wildcard {#planning_horizons} + +!!! warning + More comprehensive documentation for this wildcard will be added soon. + +The `{planning_horizons}` wildcard is only used for sector-coupling studies. +It takes years as values, e.g. 2020, 2030, 2040, 2050. diff --git a/doc/wildcards.rst b/doc/wildcards.rst deleted file mode 100644 index ae5da7fae8..0000000000 --- a/doc/wildcards.rst +++ /dev/null @@ -1,93 +0,0 @@ -.. SPDX-FileCopyrightText: Contributors to PyPSA-Eur -.. -.. SPDX-License-Identifier: CC-BY-4.0 - -.. _wildcards: - -######### -Wildcards -######### - -It is easy to run PyPSA-Eur for multiple scenarios using the wildcards feature of ``snakemake``. -Wildcards allow to generalise a rule to produce all files that follow a regular expression pattern -which e.g. defines one particular scenario. One can think of a wildcard as a parameter that shows -up in the input/output file names of the ``Snakefile`` and thereby determines which rules to run, -what data to retrieve and what files to produce. - -.. note:: - Detailed explanations of how wildcards work in ``snakemake`` can be found in the - `relevant section of the documentation `__. - -.. _cutout_wc: - -The ``{cutout}`` wildcard -========================= - -The ``{cutout}`` wildcard facilitates running the rule :mod:`build_cutout` -for all cutout configurations specified under ``atlite: cutouts:``. -These cutouts will be stored in a folder specified by ``{cutout}``. - -.. _technology: - -The ``{technology}`` wildcard -============================= - -The ``{technology}`` wildcard specifies for which renewable energy technology to produce availability time -series and potentials using the rule :mod:`build_renewable_profiles`. -It can take the values ``onwind``, ``offwind-ac``, ``offwind-dc``, ``offwind-float``, and ``solar`` but **not** ``hydro`` -(since hydroelectric plant profiles are created by a different rule)`` - -.. _clusters: - -The ``{clusters}`` wildcard -=========================== - -The ``{clusters}`` wildcard specifies the number of buses a detailed -network model should be reduced to in the rule :mod:`cluster_network`. -The number of clusters must be lower than the total number of nodes -and higher than the number of countries. However, a country counts twice if -it has two asynchronous subnetworks (e.g. Denmark or Italy). - -.. _opts: - -The ``{opts}`` wildcard -======================= - -The ``{opts}`` wildcard is used for electricity-only studies. It triggers -optional constraints, which are activated in either :mod:`prepare_network` or -the :mod:`solve_network` step. It may hold multiple triggers separated by ``-``, -i.e. ``Co2L-3h`` contains the ``Co2L`` trigger and the ``3h`` switch. There are -currently: - - -.. csv-table:: - :header-rows: 1 - :widths: 10,20,10,10 - :file: configtables/opts.csv - -.. _sector_opts: - -The ``{sector_opts}`` wildcard -============================== - -.. warning:: - More comprehensive documentation for this wildcard will be added soon. - To really understand the options here, look in scripts/prepare_sector_network.py - -The ``{sector_opts}`` wildcard is only used for sector-coupling studies. - -.. csv-table:: - :header-rows: 1 - :widths: 10,20,10,10 - :file: configtables/sector-opts.csv - -.. _planning_horizons: - -The ``{planning_horizons}`` wildcard -==================================== - -.. warning:: - More comprehensive documentation for this wildcard will be added soon. - -The ``{planning_horizons}`` wildcard is only used for sector-coupling studies. -It takes years as values, e.g. 2020, 2030, 2040, 2050. diff --git a/docker/dev-env/Dockerfile b/docker/dev-env/Dockerfile index 912d50957f..b9316d34bd 100644 --- a/docker/dev-env/Dockerfile +++ b/docker/dev-env/Dockerfile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -FROM ghcr.io/prefix-dev/pixi:0.63.2 AS build +FROM ghcr.io/prefix-dev/pixi:0.63.2 LABEL org.opencontainers.image.source=https://github.com/open-energy-transition/open-tyndp @@ -12,17 +12,16 @@ RUN apt-get update && \ apt-get install -y --no-install-recommends bash git && \ rm -rf /var/lib/apt/lists/* -WORKDIR /pypsa-eur +# Install pixi env at /opt/pixi-env (allow for bind mounts) +COPY pixi.toml pixi.lock /opt/pixi-env/ +RUN cd /opt/pixi-env && pixi install -e default && pixi clean cache --yes -COPY pixi.toml pixi.lock ./ +WORKDIR /workspace -RUN pixi install -e default && pixi clean cache --yes -RUN pixi shell-hook -e default > /shell-hook.sh +# Link pre-installed pixi env into workspace, activate environment and run command +RUN echo '[ ! -e /workspace/.pixi ] && ln -s /opt/pixi-env/.pixi /workspace/.pixi' > /entrypoint.sh && \ + pixi shell-hook -e default --manifest-path /opt/pixi-env/pixi.toml >> /entrypoint.sh && \ + echo 'exec "$@"' >> /entrypoint.sh -# extend the shell-hook script to run the command passed to the container -RUN echo 'exec "$@"' >> /shell-hook.sh - -# set the entrypoint to the shell-hook script (activate the environment and run the command) -# no more pixi needed in the prod container -ENTRYPOINT ["/bin/bash", "/shell-hook.sh"] +ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] CMD ["bash"] diff --git a/envs/default_linux-64.pin.txt b/envs/default_linux-64.pin.txt index 8d7c428c5e..2d6f3558b5 100644 --- a/envs/default_linux-64.pin.txt +++ b/envs/default_linux-64.pin.txt @@ -1,63 +1,60 @@ # Generated by `pixi workspace export` # platform: linux-64 @EXPLICIT -https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda#d87ff7921124eccd67248aa483c23fec +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda#4a13eeac0b5c8e5b8ab496e6c4ddd829 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda#faac990cb7aedc7f3a2224f2c9b0c26c https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda#a9f577daf3de00bca7c3c76c0ecbd1de https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda#57736f29cc2b0ec0b6c2952d3f101b6a https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda#cffd3bdd58090148f4cfcd831f4b26ab https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda#fc21868a1a5aacc937e7a18747acb8a5 https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda#d7d95fc8287ea7bf33e0e7116d2b95ec -https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda#489b8e97e666c93f68fdb35c3c9b957f +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda#a9965dd99f683c5f444428f896635716 https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda#79dd2074b5cd5c5c6b2930514a11e22d -https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda#331ee9b72b9dff570d56b1302c5ab37d -https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda#5aa797f8787fe7a17d1b0821485b5adc -https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.1-h5347b49_0.conda#7d0a66598195ef00b6efc55aefc7453b +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda#01bb81d12c957de066ea7362007df642 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-h0c1763c_0.conda#062b0ac602fb0adf250e3dfa86f221c4 -https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda#d864d34357c3b65a4b731f78c0801dc4 +https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda#2c21e66f50753a083cbe6b80f38268fa https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda#b88d90cad08e6bc8ad540cb310a761fb https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda#a360c33a5abe61c07959e449fa1453eb https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda#b24d3c612f71e7aa74158d92106318b2 -https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda#4a13eeac0b5c8e5b8ab496e6c4ddd829 https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda#18335a698559cdbcd86150a48bf54ba6 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda#d2ffd7602c02f2b316fd921d39876885 -https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda#7eccb41177e15cc672e1babe9056018e -https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda#99ee58c51aae7ee9ab947a0c6ce5a4c7 +https://conda.anaconda.org/conda-forge/linux-64/python-3.14.5-habeac84_100_cp314.conda#da92e59ff92f2d5ede4f612af20f583f +https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda#e5ce43272193b38c2e9037446c1d9206 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda#9d64911b31d57ca443e9f1e36b04385f -https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda#c3efd25ac4d74b1584d2f7a57195ddf1 https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda#5794b3bdc38177caf969dabd3af08549 -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda#e5ce228e579726c07255dbf90dc62101 https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda#85072b0ad177c966294f129b7c04a2d5 https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda#42bf7eca1a951735fa06c0e3c0d5c8e6 -https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda#2d3278b721e40468295ca755c3b84070 -https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda#00fc660ab1b2f5ca07e92b4900d10c79 -https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda#809be8ba8712c77bc7d44c2d99390dc4 -https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda#33a413f1095f8325e5c30fde3b0d2445 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda#d8285bea2a350f63fab23bf460221f3f -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda#15995ecb2ef890778ba9a3750190f09d -https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_hc00574d_netlib.conda#c7d3ff93656266175cf9d812e257d685 +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h8876d29_netlib.conda#fea92afad2f58c4d67c327d15b1b4019 +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h8e06fc2_netlib.conda#9c6d4c45abd885f1bee9579143852474 +https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda#f49b5f950379e0b97c35ca97682f7c6a +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda#62c390c1f8f51240f1ebc7ba782669ad https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda#8e194e7b992f99a5015edbd4ebd38efd https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda#615de2a4d97af50c350e5cf160149e77 -https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda#e6e9b5795bb495325c3b4ebd451519aa -https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda#f920bf26bf3b4e98a121c12d1e9147ab +https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py314hf09ca88_1.conda#c9d90e43202c721281f3d74129223515 +https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.0-py314ha160325_0.conda#a264e102e9315486c5cccb2feaf8db91 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda#3e9427ee186846052e81fadde8ebe96a https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda#03cb60f505ad3ada0a95277af5faeb1a https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda#f6ad7450fc21e00ecc23812baed6d2e4 https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 -https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py312hf79963d_1.conda#e597b3e812d9613f659b7d87ad252d18 +https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py314ha0b5721_2.conda#fe3a5c8be07a7b82058bdeb39d33d93b https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda#a2c1eeadae7a309daed9d62c96012a2b -https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_0.conda#3c2773b3530d49a2ed65ee8e4b477724 -https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda#2b661fd7a718757b2e91bbcac81deb48 +https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py314h6477eea_0.conda#5ca3370caefd2b24ed1bde9b44cff045 +https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda#c0cfccba11db0bbcc9a2a647dc99043d https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda#9c5491066224083c41b6d5635ed7107b -https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda#648ee28dcd4e07a1940a17da62eccd40 -https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h5253ce2_1.conda#02738ff9855946075cbd1b5274399a41 +https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda#cf45f4278afd6f4e6d03eda0f435d527 +https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h0f05182_1.conda#2930a6e1c7b3bc5f66172e324a8f5fc3 https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda#e38b732ce8d5f44d06386a9f600c7d0d -https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda#8af3faf88325836e46c6cb79828e058c +https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py314h5bd0f2a_1.conda#82da729c870ada2f675689a39b4f697f https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda#6fc48bef3b400c82abaee323a9d4e290 https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda#043f0599dc8aa023369deacdb5ac24eb -https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda#d0fc809fa4c4d85e959ce4ab6e1de800 https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda#12389a21e7f69704b0ae77f44355e30b https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda#3c0e753fd317fa10d34020a2bc8add8e @@ -66,17 +63,17 @@ https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.co https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda#8e6d2ea30aec2f8eabd03cac524f1f33 https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac -https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda#b395909221b9bd1df066e5930e18855b https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 -https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda#64088dffd7413a2dd557ce837b4cbbdb -https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.5.0-py312h90b7ffd_0.conda#b31dba71fe091e7201826e57e0f7b261 +https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda#8910d2c46f7e7b519129f486e0fe927a +https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda#40d89d8546ad6e139e73ec8f6d56068b https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda#cbb88288f74dbe6ada1c6c7d0a97223e -https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda#c75e517ebd7a5c5272fe111e8b162228 +https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda#577b04680ae422adb86fc60d7b940659 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda#a9167b9571f3baa9d448faa2139d1089 -https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda#9fefff2f745ea1cc2ef15211a20c054a +https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda#c13824fedced67005d3832c152fe9c2f https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda#4a85203c1d80c1059086ae860836ffb9 https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda#edb808d7f7396478ab6e457e697b8ec5 -https://conda.anaconda.org/conda-forge/linux-64/cryptography-48.0.1-py312ha4b625e_0.conda#8b950d5ee0663fe44aa4295dd39f93d7 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py314h7fe84b3_0.conda#b1dd101231d277ad724c40c788f6fdd8 https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda#42834439227a4551b939beeeb8a4b085 https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda#d4f3f31ee39db3efecb96c0728d4bdbf https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-pyhd8ed1ab_0.conda#a55b220de8970208f583e38639cfbecc @@ -86,20 +83,20 @@ https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.c https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda#03fe290994c5e4ec17293cfb6bdce520 https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda#b8993c19b0c32a2f7b66cbb58ca27069 https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda#8e662bd460bda79b1ea39194e3c4c9ab -https://conda.anaconda.org/conda-forge/noarch/anyio-4.13.0-pyhcf101f3_0.conda#af2df4b9108808da3dc76710fe50eae2 +https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda#7498bb2648f852c6a3cd5724ca80bdeb https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda#4f14640d58e2cc0aa0819d9d8ba125bb https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda#d6989ead454181f4f9bc987d3dc4e285 https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda#15fe83cb157467c0c85c375f56abf199 https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda#a77f85f77be52ff59391544bfe73390a -https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda#15878599a87992e44c059731771591cb +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda#2035f68f96be30dc60a5dfd7452c7941 https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda#7b2af124684a994217e62c641bca2e48 https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda#89d5edf5d52d3bc1ed4d7d3feef508ba https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda#3b887b7b3468b0f494b4fad40178b043 https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda#edd329d7d3a4ab45dcf905899a7a6115 -https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.1-py312h8285ef7_0.conda#3a704672326e552b019390d832a4b095 -https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.50-py312h5253ce2_0.conda#312796c3e1d17cfc5e720267efbdcf58 +https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py314h42812f9_0.conda#5fef7ee7545d98388c129de1a47537bb +https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py314h0f05182_0.conda#aeb7447f3ea37b2bb32167267dcf0bfe https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda#53f5409c5cfd6c5a66417d68e3f0a864 -https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda#dfb9a57535eb8c35c6744da7043063f0 +https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda#0c96993dbeadf3a277cf757b9f1c9412 https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda#2934f256a8acfe48f6ebb4fce6cde29c https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda#729843edafc0899b3348bd3f19525b9d https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_0.conda#00e6147bef9a85139099c9861c3b976b @@ -108,10 +105,10 @@ https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1. https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda#78f0a9e3ec845ef8e35e319bc36dee9b https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda#0d8bbf1699b16ac225031ae0c73729f8 https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda#8e4971d25d53f168dfb64d6f5ee1316d -https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda#a9e6fe6228340517c3b6a98bf5a76e2e +https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py314h1bee95f_0.conda#fb5b4fc759b225d4f32730cc8380ec8e https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda#c6b0543676ecb1fb2d7643941fe375f2 https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda#870293df500ca7e18bedefa5838a22ab -https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_h6ae95b6_openblas.conda#da17457f689df5c0f246d2f0b3798fd2 +https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_hb041515_netlib.conda#f8a6ea387ec3f0e43ee193c3ab33b959 https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda#4020946ef1fad683935a408ab7127582 https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda#02578ed9fe1a1923d66effeb932e71ce https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda#e79a3a170436d665098f0a40f7cd655b @@ -119,30 +116,54 @@ https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.c https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda#5f68e67b2b9463501260e731e2999dec https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda#3687cc0b82a8b4c17e1f0eb7e47163d5 https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda#d6bd3cd217e62bbd7efe67ff224cd667 -https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda#5a81866192811f3a0827f5f93e589f02 -https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py312hd0750ca_3.conda#1ade2915cfabbcb8f07e7b4387f4d49b -https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda#dd94c506b119130aef5a9382aed648e7 +https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda#69a01a9927733014f3955861e2969a7b +https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py314h312e2f4_3.conda#057e330e50d141ee706f1d4c46594979 +https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda#4f225a966cfee267a79c5cb6382bd121 https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda#37e3be7b6e2977d37b8fa5da229f5dc0 https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda#23029aae904a2ba587daba708208012f https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda#b38fe4e78ee75def7e599843ef4c1ab0 https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda#439cd0f567d697b20a8f45cb70a1005a https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda#ada41c863af263cc4c5fcbaff7c3e4dc https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda#bbe1963f1e47f594070ffe87cdf612ea -https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda#93a4752d42b12943a355b682ee43285b +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda#9a17c4307d23318476d7fbf0fedc0cde https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda#04558c96691bed63104678757beb4f8d -https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda#4cf92a9dd8712cdde044fb56be498bd4 +https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py314h5bd0f2a_2.conda#d4d65cfb5c2569d5dbd344039471a534 https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda#b899f1195be56d8215ed1973a8f409c3 https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda#98958318a01373a615f119b1040b3027 https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2#e270fff08907db8691c02a0eda8d38ae https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda#e52c2a160d6bd0649c9fafdf0c813357 -https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda#63362e0f2c4a00fa79a1f2c0a58587a7 +https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda#ff39f8e27137655553f9fbb842ee1aa2 +https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda#83ea3a2ddb7a75c1b09cea582aa4f106 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda#6d03368f2b2b0a5fb6839df53b2eb5e0 +https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda#0242025a3c804966bf71aa04eee82f66 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_0.conda#52be5139047efadaeeb19c6a5103f92a +https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda#71d2c80673511fab927bd15592994030 +https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda#ad6821df7a98510117db06e9a833281f +https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda#4fdd327852ffefc83173a7c029690d0c +https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda#1005e1f39083adad2384772e8e384e43 +https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-pyhcf101f3_0.conda#942b41d6058c938355781fd589656b06 +https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda#49647ac1de4d1e4b49124aedf3934e02 +https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda#7d2e90221b5da6f0577d150cfe6b87ed +https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda#d408fa8ff9f17887378715dcf024d359 +https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda#31db8c55a8dda3abd4625a2880ea3d34 +https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda#5641505172527e4f75ef28139317c7a9 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 +https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 +https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda#a73036dabdd6dfe9679ed893baa8b230 +https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda#c45fa7cf996b766cb63eadf3c3e6408a +https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda#f3549a4607ecf6f0bdbb4afe9b05f2d2 +https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda#38ba1f1279491d848303cd050dfe56cc +https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda#8fbd31325e6fbb325e15625471b44dfc https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda#99b9953692a58a31aa94c0d127e71c32 https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda#7d4f2bf739967798eb4d8c02d59cf36c https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda#d11d20e557970783b9dbc68d36d3c37a https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2#9b1db7127119f513696d620eefe7bf67 -https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.17-h6a952e8_0.conda#53a10deada836b3a1309b2179f677a6f -https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda#84aa470567e2211a2f8e5c8491cdd78c +https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda#4f35ae1228a6c5d9df593367ffe8dda1 https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda#06ad944772941d5dae1e0d09848d8e49 https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda#145c6f2ac90174d9ad1a2a51b9d7c1dd https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda#9aa358575bbd4be126eaa5e0039f835c @@ -153,14 +174,16 @@ https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda#a752488c68f2e7c456bcbd8f16eec275 https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda#cd5a90476766d53e901500df9215e927 https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda#eecce068c7e4eddeb169591baac20ac4 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda#331ee9b72b9dff570d56b1302c5ab37d https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda#172bf1cd1ff8629f2b1179945ed45055 https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda#920bb03579f15389b9e512095ad995b7 https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda#2a45e7f8af083626f009645a6481f12d https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda#c277e0a4d549b03ac1e9d6cbbe3d017b https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda#b38117a3c920364aff79f870c984b4a3 -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda#fb53fb07ce46a575c5d004bbc96032c2 -https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.20.0-hcf29cc6_0.conda#c3cc2864f82a944bc90a7beb4d3b0e88 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda#54157a1c8c0bb70f62dd0b17fba7e7f2 +https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-hcf29cc6_0.conda#dcd79cabd5d435f48d75db3d81cb5874 https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda#031e33ae075b336c0ce92b14efa886c5 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda#d864d34357c3b65a4b731f78c0801dc4 https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda#c80d8a3b84358cb967fa81e7075fbc8a https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.3.0-hd9031aa_1.conda#66a1db55ecdb7377d2b91f54cd56eafa https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda#7a3bff861a6583f1889021facefc08b1 @@ -177,6 +200,7 @@ https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda#f https://conda.anaconda.org/conda-forge/linux-64/freexl-2.0.0-h9dce30a_2.conda#ecb5d11305b8ba1801543002e69d2f2f https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda#887245164c408c289d0cb45bd508ce5f https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda#eba48a68a1a2b9d3c0d9511548db85db +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda#e5ce228e579726c07255dbf90dc62101 https://conda.anaconda.org/conda-forge/linux-64/uriparser-0.9.8-hac33072_0.conda#d71d3a66528853c0a1ac2c02d79a0284 https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda#953b7cca897e21215302dbfe2af5cd0c https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.conda#3a9428b74c403c71048104d38437b48c @@ -185,7 +209,7 @@ https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.co https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda#366b40a69f0ad6072561c1d09301c886 https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda#850f48943d6b4589800a303f0de6a816 https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda#45161d96307e3a447cc3eb5896cf6f8c -https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.7-gpl_hc2c16d8_101.conda#bb1483d91797dae0b466cab86ceb59a7 +https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.8-gpl_hc2c16d8_100.conda#44652e646cb623f486ea72e7e7479222 https://conda.anaconda.org/conda-forge/linux-64/json-c-0.18-h6688a6e_0.conda#38f5dbc9ac808e31c00650f7be1db93f https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda#3bf7b9fd5a7136126e0234db4b87c8b6 https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda#98b6c9dc80eb87b2519b97bcf7e578dd @@ -195,34 +219,33 @@ https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda#f22 https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda#55c7804f428719241a90b152016085a1 https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda#e9b05deb91c013e5224672a4ba9cf8d1 https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda#8c4061f499edec6b8ac7000f6d586829 -https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda#f0d110978a87b200a06412b56b26407c -https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda#c3258c31e507a81f0b52156bcca81e73 -https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda#27583d44e139c520d9fdc1fd7aedd58d +https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py314ha1f92a4_0.conda#15b1e205270451c078c79d0480438e8e +https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py314h68799e9_3.conda#a9d01aa73920bd1fc6186e991161349a +https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda#a0811eb1142b4da29162d1931922a1ec +https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py314h5bd0f2a_0.conda#3f114d76f35141da9f4be18af7cba051 +https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py314hbe3edd8_2.conda#5963e6ee81772d450a35e6bc95522761 +https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py314hbcf5174_0.conda#b6696a3d5c567d3b2015bf77f454f247 +https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py314hbcf5174_6.conda#9973d51b9bb91ae8cca8cfff05d9106b +https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda#290f97c3fcfab8323023b10cbb4f6cc2 https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2#0c14e44bc93a99cdc11398311c3c0dcf https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda#130584ad9f3a513cdd71b1fdc1244e9c -https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda#4fe840c6d6b3719b4231ed89d389bb17 -https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_1.conda#e3259be3341da4bc06c5b7a78c8bf1bd +https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda#c197985b58bc813d26b42881f0021c82 +https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda#7073b15f9364ebc118998601ac6ca6a6 https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda#c94a5994ef49749880a8139cf9afcbe1 https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda#85ce2ffa51ab21da5efa4a9edc5946aa -https://conda.anaconda.org/conda-forge/linux-64/libboost-1.88.0-hd24cca6_7.conda#d70e4dc6a847d437387d45462fe60cf9 -https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.7.3-h82cca05_10.conda#d6c7d8811686ed912ed4317831dd8c44 +https://conda.anaconda.org/conda-forge/linux-64/libboost-1.90.0-hd24cca6_1.conda#4dfa9b413062a24e09938fb6f91af821 +https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.8.2-h5a610fb_2.conda#8ae8d5b0f9d76a386d74adce53e6a81d https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda#28eb714416de4eb83e2cbc47e99a1b45 -https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.3-hb03c661_0.conda#b62b615caa60812640f24db3a8d0fc87 -https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.3-ha02ee65_0.conda#8f5e2c6726c1339287a3c76a2c138ac7 -https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.3-hb03c661_0.conda#55c20edec8e90c4703787acaade60808 -https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.3-ha02ee65_0.conda#6a1b6af49a334e4e06b9f103367762bf -https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-15.2.0-h69a702a_19.conda#35d07243abf828674d273aecd1dd537e -https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.4-h2fe6a88_5.conda#dd1e1c54432494476d66c679014c675c -https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.7.3-h27a6a8b_0.conda#d524b41c7757ea147337039fa4158fbb -https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.05.20-hfabd9d1_1.conda#9f54808199531c466b437215d8dd5c29 +https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.11-int64_h807e49d_3.conda#cdc96eb14693f0a33fb2daffb1987c4d +https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.8.2-hc1b3267_2.conda#d4f0602b1cd00d94e1467cdb60ba7750 +https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.09.18-h74cae3c_2.conda#5ee48d510cb22553d446210b76d1f645 https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda#ef757816a8f0fee2650b6c7e19980b6b -https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-h0804adb_0.conda#0a2ef4d1be0625a06d74b08829d4ef1f -https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-hbf6308b_0.conda#4169674254e087f3473032f646ed81b0 -https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda#cecc62244bbf204ae948acbced2ffa11 +https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-he45328a_2.conda#48cf0477d19146171abccfd935f6fc87 +https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-h6576b78_1.conda#c22620d96a34e40be130ba5d3b54c9a3 +https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py314h6477eea_0.conda#7c23b035b06840d590050e38c9b147cb https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda#3449ef730c7d483adde81993994092b9 -https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py312h383787d_2.conda#69e400d3deca12ee7afd4b73a5596905 https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda#8678577a52161cc4e1c93fcc18e8a646 -https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda#423b8676bd6eed60e97097b33f13ea3f +https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py314hc02f841_0.conda#224e6e308b3df5c0c99d8ca5244bb34c https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda#353823361b1d27eb3960efb076dfcaf6 https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda#2aadb0d17215603a82a2a6b0afd9a4cb https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda#11b3379b191f63139e29c0d19dee24cd @@ -233,101 +256,112 @@ https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda#9 https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda#fb16b4b69e3f1dcfe79d80db8fd0c55d https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda#e289f3d17880e44b633ba911d57a321b https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda#8b3ce45e929cd8e8e5f4d18586b56d8b -https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_0.conda#9e5609720e31213d4f39afe377f6217e -https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py312h0a2e395_0.conda#cd74a9525dc74bbbf93cf8aa2fa9eb5b +https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py314h8ec4b1a_0.conda#76c4757c0ec9d11f969e8eb44899307b +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda#17d484ab9c8179c6a6e5b7dbb5065afc +https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda#cf09e9fc938518e91d0706572cadf17a +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda#861fb6ccbc677bb9a9fb2468430b9c6a +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda#96d57aba173e878a2089d5638016dc5e +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda#34e54f03dfea3e7a2dcf1453a85f1085 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda#fb901ff28063514abb6046c9ec2c4a45 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda#1c74ff8c35dcadf952a16f752ca5aa49 +https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda#c01af13bdc553d1a8fbfff6e8db075f0 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab +https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda#e0e050cfa9fa85fe39632ab11cb7f3e0 +https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda#bb6c4808bfa69d6f7f6b07e5846ced37 +https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda#21ee4640b7c2d94e584349fa12b29b9a +https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda#f9f81ea472684d75b9dd8d0b328cf655 +https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h75b3fb1_0.conda#6855be9eb1d891cd5afb5eb90501c74c +https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda#7397e418cab519b8d789936cf2dde6f6 https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda#8462b5322567212beeb025f3519fb3e2 -https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda#0b6c506ec1f272b685240e70a29261b8 +https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_0.conda#494fdf358c152f9fdd0673c128c2f3dd https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda#37293a85a0f4f77bbd9cf7aaefc62609 https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda#af39b9a8711d4a8d437b52c1d78eb6a1 https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda#8ccf913aaba749a5496c17629d859ed1 -https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda#294fb524171e2a2748cb7fe708aba826 +https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda#0509ee74d95e5b98eb6fe2a47760e399 https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda#4c2a8fef270f6c69591889b93f9f55c1 -https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda#43c2bc96af3ae5ed9e8a10ded942aa50 -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.9-py312he3d6523_0.conda#7d499b5b6d150f133800dc3a582771c7 +https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda#95bede9cdb7a30a4b611223d52a01aa4 +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py314h261f116_0.conda#6b2f4b994b97722933dacd51776d5c49 https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda#fd96da444e81f9e6fcaac38590f3dd42 https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda#62afb877ca2c2b4b6f9ecb37320085b6 https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda#46830ee16925d5ed250850503b5dc3a8 https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2#9a66894dfd07c4510beb6b3f9672ccc0 -https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda#98ecb65a9dd993774cc03f07a8b83231 +https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py314heb044ea_102.conda#8798ac863dc929f966e2646a853c1f25 https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda#86f7414544ae606282352fa1e116b41f https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda#9c6e11a83468e1d5decae516077a73fb -https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.1.3-hc31b594_0.conda#2f0eb57a686a4e27719ce0b0076784a1 -https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda#5b4f660c813f9a39dd996d073ccfa5df +https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.1.4-hc31b594_0.conda#9145eebfb1845c6364c7e6b99effc20e +https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py314h5611b9a_3.conda#5e417edb9951b60d96f8d9b2d1e025be https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda#18301be1ab749bc57ae189377836cc47 -https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda#499b2e5cc7cf18761cfd20d6fb837f48 https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda#a7b27c075c9b7f459f1c022090697cba https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda#bd77f8da987968ec3927990495dc22e4 https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda#7e7f0a692eb62b95d3010563e7f963b6 https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda#9bb149f49de3f322fca007283eaa2725 https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.conda#a2956b63b1851e9d5eb9f882d02fa3a9 -https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda#84bf349fad55056ed326fc550671b65c -https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.conda#ed7ab4073fe4c48d0f9d3a80b6a17f74 +https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py314hc02f841_1.conda#552b5d9d8a2a4be882e1c638953e7281 +https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py314hed328fd_100.conda#d5cebea694ca987a64a93464ed7a844e https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda#c07a6153f8306e45794774cf9b13bd32 -https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda#f54c1ffb8ecedb85a8b7fcde3a187212 -https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda#32780d6794b8056b78602103a04e90ef +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda#b28fe35fd43d5f425c0dccbe5b5039fd +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda#224f69f177eb5aae6c9a6052846bf609 https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f -https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.2-py310h49dadd8_0.conda#90b183f5b51fa73ff81a0974b5308fa3 -https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda#120e580ad04dadc09105071cabe732ee +https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.42.0-py310h49dadd8_0.conda#ee1871c46914e16694d47e9cf0c2eacb +https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda#407e5c3dd0d5966897e0dc6b1485f4a4 https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda#83b160d4da3e1e847bf044997621ed63 -https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.conda#2aaf8d6c729beb30d1b41964e7fb2cd6 +https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py314h503b32b_2.conda#1699ff22b094378d3a4b20019a995cf3 https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2#c965a5aa0d5c1c37ffc62dff36e28400 -https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda#68f704ea294dcec9e09edd9c3d233846 +https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py314hd6bf2bd_1.conda#9878f356d87ec8e4d2cd3c44561128be https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda#ba7f04ba62be69f9c9fef0c4487c210b https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda#a30848ebf39327ea078cf26d114cff53 https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda#0227d04521bc3d28c7995c7e1f99a721 https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda#da31d891434e50d7e7be8adc5832269b https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda#ff63bb12ac31c176ff257e3289f20770 -https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda#dca50c100d8d67882ada32756810372f -https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 -https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda#5a2944f868149ad5a2e6588be8eed838 +https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py314h2d847ca_1.conda#6742a46f5bf364f193cfb95a80dab23e https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda#f5a488544d2eb37f46b3bebf1f378337 https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda#58958bb50f986ac0c46f73b6e290d5fe https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda#644bd4ca9f68ef536b902685d773d697 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda#063a810c2e0ee1a5e921ecd57b5e4b72 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda#cdfb2ceb9f800dcf603e193f668690cd https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda#c689b62552f6b63f32f3322e463f3805 -https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda#d681d6ad9fa2ca3c8cacb7f3b23d54f3 -https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda#17c77acc59407701b54404cfd3639cac -https://conda.anaconda.org/conda-forge/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda#348307a7ed6137b1022f3809e2762f39 -https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda#6a42923f35087cc88a9fac31ef096ce6 +https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda#e3cbba0c0ab42143adeefd1d09866695 +https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda#ad92dba7ca0af0e3dca083a0fa6a3423 +https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda#517da2b90b0910492f03ae3b297efff9 +https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda#7a2d9f4d9f57da47251b2050b149bdf8 +https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda#0d0ef7e4a0996b2c4ac2175a12b3bf69 https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda#421a865222cd0c9d83ff08bc78bf3a61 https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda#8a9936643c4a9565459c4a8eb5d4e3ff -https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda#10e4a93c73bfe09c5909cb1d41a1e40e -https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda#d50b6addfb7f132c6da4cc67e1a9470b +https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda#fc49257102291bf3724c550e7ce4b188 +https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda#e8deca19695b2d6e31ada22746c164ec https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda#83afc1048b879d3c2dd91f48ce78978f +https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda#5fc3d86518a050fe18719eb49cd0e6ad -https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda#48fcccc0b579087018df0afc332b8bd6 -https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda#844afce24940aea65d47ce392bc7296d +https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda#7a191cc7d8d50e6dd565f15c1b92170b +https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda#9d08e3e18b2bc07d93d6cbe988c1a28d https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2#7b6747d7cc2076341029cff659669e8b https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4 https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda#0badf9c54e24cecfb0ad2f99d680c163 -https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 -https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda#2c11aa96ea85ced419de710c1c3a78ff +https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda#7d7e6c826ba0743fc491ebee0e7b899c https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda#61b8078a0905b12529abc622406cb62c -https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda#809f4cde7c853f437becc43415a2ecdf -https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.conda#99981dfd6b851dba87c43b5f895e6d6a -https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda#55d19f7062b690dd95e669e9a0bb5fba -https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda#e27bccb2b700b55a6d8967b14f08cb59 -https://conda.anaconda.org/conda-forge/linux-64/levenshtein-0.27.3-py312h1289d80_0.conda#5b323b1b5edd0359606d7e53779a8b82 +https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda#56a3cae23de84509452da890fb2bfd85 +https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py314h56abb78_3.conda#48b137fb9317635b90c335348518d0a6 +https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda#c1c64645ec79275e496eeefb689d4d47 +https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py314ha160325_0.conda#63555975c6c68525b430ecdb57efd5c1 +https://conda.anaconda.org/conda-forge/linux-64/levenshtein-0.27.3-py314ha160325_0.conda#9291da1691f7a1a82cc3fde97f455042 https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda#4487b9c371d0161d54b5c7bbd890c0fc -https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda#f8e7e5ddfbdca16b65335b0b6615eb4c https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda#cc293b4cad9909bf66ca117ea90d4631 https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda#18789a85c307970ae1786dfc6dfd234f https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda#1fcdf88e7a8c296d3df8409bf0690db4 https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda#a6997a7dcd6673c0692c61dfeaea14ab https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda#4eb8b870142ca06d2a1d2c74662eac7d -https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda#0eaee053535b142b952b44f48ee24c02 -https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda#42ef10a8f7f5d55a2e267c0d5daa6387 -https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 -https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda#827064ddfe0de2917fb29f1da4f8f533 -https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda#98cdd8615792e90da1023bc546f806d9 -https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda#080a808fce955026bf82107d955d32da -https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 -https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py312h7900ff3_0.conda#78bdb6d3da524bdea10ef44e5ec7658d -https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda#7d9916ed19ecda71f0b00963365252a7 +https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda#658fdb0a50c41f214553706c4d702195 https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2#a2e1ba950c0ec23e3ea0b915743a37e0 +https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py314ha768014_1.conda#58a903a76fa1fade1729e80cdac3c733 +https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda#55dc3d4d76c0e2269bb395c7bad0e3ef +https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda#dd4b6337bf8886855db6905b336db3c8 +https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda#a6a7c2c08a4f2186bd040d056f958604 https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda#49b01263c5348a30838ba148a30126cf -https://conda.anaconda.org/conda-forge/linux-64/ujson-5.12.1-py312h8285ef7_1.conda#1a16c1e03a6d960a183086adabd4a52a +https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py314h42812f9_0.conda#38a5fe5d0c791a129d69b7d98b1f5e4f https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda#7ac5f795c15f288984e32add616cdc59 https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda#eb57a77657c275d8d0b3542b070f484c https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda#2b25a90124b8bbc7d01474dafecc815e @@ -362,37 +396,28 @@ https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.co https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.conda#937d1d4c233adc6eeb2ac3d6e9a73e53 https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda#282f8460096fdc04d2c62ca2a30357a1 https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda#c9c3d7509b7faef60374fa290b4e5071 -https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda#b1d1c92d8d625d5e969adfd9d19168d8 +https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py314h969be7f_0_cpu.conda#66b6069247a271f2792ecb90e1087fde https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda#a1cfcc585f0c42bf8d5546bb1dfb668d https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.conda#b6e326fbe1e3948da50ec29cee0380db https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda#64c8c3132e92b2d02e6b0bcdf7125090 https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda#f67acaf4653452503669ade10edec780 https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda#d3633b19c4d7e26474733e18e602e8ce https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda#8b003b0de3b7c7455400752d0df67d76 -https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda#37143c8f2ee5efeae94e09654d284350 +https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py314hdafbbf9_0.conda#f63f85bccdd104d2ffa341fd705f86d9 https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda#fa31df4d4193aabccaf09ce78a187faf https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda#4460f039b7dedf15f7df086446ca75ae https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda#531ff805a1551c6caaf976d577ea233c https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda#33197d0b44a95fa6ea53c04db06a4f94 https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda#71bf9646cbfabf3022c8da4b6b4da737 -https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda#04ab345ef65b88bcbb8ac3d083427bfc -https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda#09dcf62e607cbec53fcd1ed7522924a8 -https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda#6fa414f2828958e28a1b253ff02634a2 -https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda#0c5f9ee81f0fac33b7fac8c7591913e6 +https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py314hf3b76af_3.conda#bc90b1901f01e0772c74e24b6f931137 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda#66f138d7a6dffb5c959cc4bf6dc2b797 +https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda#b9f2040f64c84731ac3f497c992d2656 https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_0.conda#7dd72a4c857cd652a1e23c13099a15d2 https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda#9e21f087f087f805debe877d88e00a14 https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda#3b261da3fe9b4168738712832410b022 https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda#10ed48920132137dd2f46f2dc218d524 -https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda#328fcdd7991b7494dc780b16b831de62 -https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda#7a9095c9300d1b50b1785ca9bc4cadae -https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda#141ec0ac00f1c946cb058d4e710f269a -https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda#52434c636a05a06806d0978128d98c19 -https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda#eb52d14a901e23c39e9e7b4a1a5c015f -https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda#55fd03988b1b1bc6faabbfb5b481ecd7 -https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda#84a3233b709a289a4ddd7a2fd27dd988 -https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda#381bd45fb7aa032691f3063aff47e3a1 -https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda#7859736b4f8ebe6c8481bf48d91c9a1e +https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda#6b00457c798f70431c5d6889507c008f https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda#91f5637b706492b9e418da1872fd61ce https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda#53cb4b14ab0841e104e2bd11ee64b840 https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda#62ed8c560f1b5b8d74ed11e68e9ae223 @@ -403,20 +428,15 @@ https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda#3770774486c8b9e822c6bf996da18a25 https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda#e941e85e273121222580723010bd4fa2 https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda#e1bccffd88819e75729412799824e270 -https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py312h4c3975b_0.conda#55f526c3fb5302a1ce922612348442e1 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda#861fb6ccbc677bb9a9fb2468430b9c6a -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda#34e54f03dfea3e7a2dcf1453a85f1085 +https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda#4a8e5889712641aabdf6695e292857fe https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda#665d152b9c6e78da404086088077c844 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda#ba231da7fccf9ea1e768caf5c7099b84 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda#adba2e334082bb218db806d4c12277c9 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda#7bbe9a0cc0df0ac5f5a8ad6d6a11af2f -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda#96d57aba173e878a2089d5638016dc5e https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda#e192019153591938acf7322b6459d36e https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda#b5fcc7172d22516e1f965490e65e33a4 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda#2ccd714aa2242315acaf0a67faea780b https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda#f2ba4192d38b6cef2bb2c25029071d90 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda#fb901ff28063514abb6046c9ec2c4a45 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda#1c74ff8c35dcadf952a16f752ca5aa49 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda#608e0ef8256b81d04456e8d211eee3e8 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda#0e0cbe0564d03a99afd5fd7b362feecd https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda#ad748ccca349aec3e91743e08b5e2b50 @@ -424,14 +444,14 @@ https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda# https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda#a0901183f08b6c7107aab109733a3c91 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda#4d1fc190b99912ed557a8236e958c559 https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda#996583ea9c796e5b915f7d7580b51ea6 -https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda#b56e0c8432b56decafae7e78c5f29ba5 +https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda#b233b41be0bf210989d57160ed39b394 https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda#dc8b067e22b414172bedd8e3f03f3c95 https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda#31ad065eda3c2d88f8215b1289df9c89 +https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda#5aa797f8787fe7a17d1b0821485b5adc https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda#7c7927b404672409d9917d49bff5f2d6 https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda#af491aae930edc096b58466c51c4126c https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda#680608784722880fbfe1745067570b00 https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda#2772b7ab7bc43f24e9585a714761a255 -https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda#17d484ab9c8179c6a6e5b7dbb5065afc https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda#aa8d21be4b461ce612d8f5fb791decae https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda#eb83f3f8cecc3e9bff9e250817fc69b6 https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda#ec3c4350aa0261bf7f87b8ca15c8e80e @@ -443,108 +463,37 @@ https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.co https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda#33082e13b4769b48cfeb648e15bfe3fc https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda#d8d16b9b32a3c5df7e5b3350e2cbe058 https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda#49c553b47ff679a6a1e9fc80b9c5a2d4 -https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda#cf09e9fc938518e91d0706572cadf17a -https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda#c01af13bdc553d1a8fbfff6e8db075f0 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb -https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab -https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda#e0e050cfa9fa85fe39632ab11cb7f3e0 -https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda#bb6c4808bfa69d6f7f6b07e5846ced37 -https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda#21ee4640b7c2d94e584349fa12b29b9a https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda#dbe3ec0f120af456b3477743ffd99b74 https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda#ce96f2f470d39bd96ce03945af92e280 -https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16-hb03c661_1.conda#499abc445d330a2a537428a1340cd457 +https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda#8904e09bda369377b3dd07e2ac828c5d https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda#331d660aef48fec733a878dd1f8f4206 https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda#87e6096ec6d542d1c1f8b33245fe8300 https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda#c2bd8055a2e2dce7a7f32cfd02101fb6 -https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.7-hf7376ad_0.conda#963a932cab52c52cb9cda5877d0d8537 -https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.7-default_h746c552_1.conda#f5d04d68e7fd19a24f1fe35a74bafabb -https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda#90f891bc96f673acbff89f6f405aef10 -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.9-py312h7900ff3_0.conda#579c6a324b197594fabc9240bddf2d8b -https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda#03cbf03d08ba6a45f906c2542c894a52 +https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda#298bb2483fc7d15396147cf1c1465359 +https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda#864e6d29ec7378b89ff5b5c9c629099e +https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.conda#2a913525f4201f1adab2711fcf6f89b3 +https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda#5d2051f0630a568926943fc53c0aaa4c +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py314hdafbbf9_0.conda#2d3b012dbe43f0779bbc251b4d02989f +https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda#d541b0e73ecc183f9062a1aa95acbd1b https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda#ebc9b2164b2e599d5375361e230a1540 https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda#ecf7b755370673d8d116ce45f7c8bbaa https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda#ed2754a12c4fcc929bb39d6b6cc8729c -https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 -https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda#7d9daffbb8d8e0af0f769dbbcd173a54 -https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda#17b43cee5cc84969529d5d0b0309b2cb -https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.conda#28eb91468df04f655a57bcfbb35fc5c5 -https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda#965e4d531b588b2e42f66fd8e48b056c -https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda#96b08867e21d4694fa5c2c226e6581b0 -https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda#acd216255e1370e9aeab5351b831f07c -https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_0.conda#a11ab1f31af799dd93c3a39881528884 -https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda#f6d7aa696c67756a650e91e15e88223c -https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda#e51f1e4089cad105b6cac64bd8166587 -https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 -https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2#457c2c8c08e54905d6954e79cb5b5db9 -https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda#49440e66df843bee2273937e8032ec43 -https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda#cf01a81d7960ad9c829bf2e794fcee9a -https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda#b97e84d1553b4a1c765b87fff83453ad -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda#fd312693df06da3578383232528c468d -https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2#961b3a227b437d82ad7054484cfa71b2 -https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda#2841eb5bfc75ce15e9a0054b98dcd64d -https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda#f1acf5fdefa8300de697982bcb1761c9 -https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda#93009c29cdd6f2500468f2502fff9209 -https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda#5f710eab1f3c4e773c75686f5e8e6481 -https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda#2bce0d047658a91b99441390b9b27045 -https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda#7b8bace4943e0dc345fc45938826f2b8 -https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2#912a71cc01012ee38e6b90ddd561e36f -https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda#36de09a8d3e5d5e6f4ee63af49e59706 -https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda#982ed0cbfc0fe09f25861e3d111e9717 -https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda#6639b6b0d8b5a284f027a2003669aa65 -https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda#e7cb0f5745e4c5035a460248334af7eb -https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda#9b965c999135d43a3d0f7bd7d024e26a -https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda#7234f99325263a5af6d4cd195035e8f2 -https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda#89bf346df77603055d3c8fe5811691e6 -https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda#85c4f19f377424eafc4ed7911b291642 -https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda#0b0154421989637d424ccf0f104be51a -https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a -https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 -https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda#d3549fd50d450b6d9e7dddff25dd2110 -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda#8368d58342d0825f0843dc6acdd0c483 -https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda#bf42ee94c750c0b2e7e998b79ac299ea -https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py312h4c3975b_2.conda#1567f06d717246abab170736af8bad1b -https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda#8ac12aff0860280ee0cff7fa2cf63f3b -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda#82525f37e0976e83bbb69bc4d4011665 -https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda#e7f89ea5f7ea9401642758ff50a2d9c1 -https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda#1269891272187518a0a75c286f7d0bbf -https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda#f1976ce927373500cc19d3c0b2c85177 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda#a63877cb23de826b1620d3adfccc4014 -https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda#0c3b465ceee138b9c39279cc02e5c4a0 -https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda#fcd832bfd4749e9b246112b6894f97fc -https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 +https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py314ha160325_0.conda#9b8471da7eca8e2bcba84d362b7136cd https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda#3bfdfb8dbcdc4af1ae3f9a8eb3948f04 https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda#ff9efb7f7469aed3c4a8106ffa29593c https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda#9673a61a297b00016442e022d689faa6 https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda#b1b505328da7a6b246787df4b5a49fbc https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda#19c961dd9cab6c3e13cd195f0176dbfa https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda#edb16f14d920fb3faf17f5ce582942d6 +https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda#7d9daffbb8d8e0af0f769dbbcd173a54 https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda#d0d408b1f18883a944376da5cf8101ea +https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda#39894c952938276405a1bd30e4ce2caf -https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda#a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 +https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda#c2b3d37aa1411031126036ee76a8a861 https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda#bd80ba060603cc228d9d81c257093119 https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda#61dcf784d59ef0bd62c57d982b154ace https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda#fbd58549b374103c1a80577f09a328ef -https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda#e6778419a1851f6e15820558abddfa04 -https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda#2da13f2b299d8e1995bafbbe9689a2f7 -https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda#2b47a10e4d98334f8171ff60aea05ff3 -https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda#b85e84cb64c762569cc1a760c2327e0a -https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda#8e3f969b0c5d9c22191f3c3306c0f1fb -https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda#0ba6225c279baf7ea9473a62ea0ec9ae -https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda#92b46e8c96039d3d7c4958f426bca753 -https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda#6d034d3a6093adbba7b24cb69c8c621e -https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda#801dbf535ec26508fac6d4b24adfb76e -https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda#4d52bbdb661dc1b5a1c2aeb1afcd9a67 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda#05a08b368343304618b6a88425aa851a -https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda#2f0ba4bc12af346bc6c99bdc377e8944 -https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda#47672c493015ab57d5fcde9531ab18ef -https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda#9453512288d20847de4356327d0e1282 -https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py312h1289d80_0.conda#03a97701957945503909d236635db758 -https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda#732df74126bc3cc24b6564899df74f23 -https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda#f9f81ea472684d75b9dd8d0b328cf655 +https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py314_0.conda#2ab17c05b5d4801e35d8482b87fe0b3a https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda#d53ffc0edc8eabf4253508008493c5bc https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda#7892f39a39ed39591a89a28eba03e987 https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda#492c8d9b1c564c2e948b6cb4ba0f8261 @@ -562,46 +511,47 @@ https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.con https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda#341fc61cfe8efa5c72d24db56c776f44 https://conda.anaconda.org/conda-forge/linux-64/glpk-5.0-h445213a_0.tar.bz2#efc4b0c33bdf47312ad5a8a0587fa653 https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda#c3cee0e0843e38698c45dfec869e9888 -https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.conda#a68cae58a81a937a6edcb3e4e6f0bbe7 https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda#4a25cae637029c5589135903aa15b3b6 -https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda#2e489969e38f0b428c39492619b5e6e5 +https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h9891dd4_0.conda#9b67bf9c63607097b6e010a7b555a388 https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda#5498feb783ab29db6ca8845f68fa0f03 -https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda#86a969eeb489119374ec1d2e863777e6 +https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py314ha0b5721_0.conda#780127fd34cd3b3c320c8e8d22ff4b0e https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda#c56a7fa5597ad78b62e1f5d21f7f8b8f -https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda#c1844a94b2be61bb03bbb71574a0abfc +https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda#b787cd1f01e24b161261438a5589df51 https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda#8e7be844ccb9706a999a337e056606ab https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda#77ae41598d63b453bb3c9052f4a14c4b -https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda#b270340809d19ae40ff9913f277b803a +https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a +https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 +https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py314hc32fe06_102.conda#ef5ecbcea33d98087791c056247df30c https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda#ca7f9ba8762d3e360e47917a10e23760 https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda#cc73a9bd315659dc5307a5270f44786f -https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda#b2d0ce05d097824ccfa3ab6f52535d0f -https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda#ebdb9fd5092c50620a226c7e23daab3b -https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda#4b9a16cd57559083d52f7a50071dc463 -https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda#9a005ba5f540619a1343587b4ee3d95e -https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda#9e18b048c69d2d72bc69d120a435d731 -https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda#8e6ba36f4f355b2be42009a13b6e8f29 -https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda#6c913a686cb4060cbd7639a36fa144f0 +https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-pyhd8ed1ab_0.conda#f5e09a21f1ee38e1be4787fea94e6823 +https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda#a359066b94e013283b7e11559fbb19fc +https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda#f740e8acb38ea16c22e60b6fc0ae7c9e +https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda#3fab2110d93a828f88ace66e418d6ef8 +https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda#690847cdb78772816f430fc91490f915 +https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda#0b9176cd15bf526d74fd6638df5194af +https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py314ha0b5721_1.conda#fe89c5fa422f215b0d75046ecd4667de https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda#d7585b6550ad04c8c5e21097ada2888e https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 -https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda#6a991452eadf2771952f39d43615bb3e +https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda#64c98a12c4e23eb238bf66bbecafdf3c https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda#24ed1dc544b101075fa7462be5c3a5c5 https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda#e557abf678a0bf100fe7cf9d2b4f4a72 -https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda#a669145a2c834895bdf3fcba1f1e5b9c +https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314hd4c109c_1.conda#2f6295571ea5e9278046efc3ef377a98 https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda#e52c2ef711ccf31bb7f70ca87d144b9e https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda#f88bb644823094f436792f80fba3207e https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda#0401a17ae845fa72c7210e206ec5647d -https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda#29fd0bdf551881ab3d2801f7deaba528 -https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda#8efb90a27e3b948514a428cb99f3fc70 +https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py314h5bd0f2a_2.conda#a6a32cab83d59c7812ddbb03220057e3 +https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda#2a6851a6c69ce7c0b03a89d5d4209257 https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda#123fcfe0df4b6fc21804538e59cdaafe -https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda#f9761ef056ba0ccef16e01cfceee62c2 +https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda#a2d2a05abf6076c3d041ec91b2235823 https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda#fa9e9ec7bf26619a8edd3e11155f15d6 https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda#8422fcc9e5e172c91e99aef703b3ce65 https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.conda#b39dccf5af984bcb68ee2aa0f3213ea6 https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda#115ecf05370670f93bc81a8c4f7fd57f https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda#0f73a3e483c4fbc7bf6fb840d816c5a5 -https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda#fe3e310aa4a84610012a3889e23d76eb +https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py314h56abb78_0.conda#8da2d87e5f1c73ec72c5e827d3df2033 https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda#0f12f8436a2a238e255d49ea3f8aefe2 -https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda#e585c71c2ed48e4eee1663d627ddcd47 +https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda#d4e8f98a575bf884db81344e7a9fbe95 https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda#fc8b15af108a2fdb15ef04d12fbfe87d https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda#1f878573c1ee2798c052bee1f5a94f50 -https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda#81f981df273cd627927372680aa9dd31 +https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda#eb6d307eabcb6918e1c34cce221546bc diff --git a/envs/default_osx-64.pin.txt b/envs/default_osx-64.pin.txt index 9e0b8f0bbe..4eedf5f6a2 100644 --- a/envs/default_osx-64.pin.txt +++ b/envs/default_osx-64.pin.txt @@ -1,24 +1,26 @@ # Generated by `pixi workspace export` # platform: osx-64 @EXPLICIT -https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda#30439ff30578e504ee5e0b390afc8c65 +https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda#727109b184d680772e3122f40136d5ca +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda#6e6efb7463f8cef69dbcb4c2205bf60e https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda#31b8740cf1b2588d4e61c81191004061 https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda#eefd65452dfe7cce476a519bece46704 -https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda#489b8e97e666c93f68fdb35c3c9b957f +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda#a9965dd99f683c5f444428f896635716 https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda#46be42ab403712fd349d007d763bf767 https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda#627eca44e62e2b665eeec57a984a7f00 https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda#4c019bd25570899d0f9755de01b89021 +https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda#ec88ba8a245855935b871a7324373105 https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda#becdfbfe7049fa248e52aa37a9df09e2 https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda#66a0dc7464927d0853b590b6f53ba3ea https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda#dcfdea7b7013beef0a4d744d776ea38f https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda#4173ac3b19ec0a4f400b4f782910368b -https://conda.anaconda.org/conda-forge/osx-64/python-3.12.13-ha9537fe_0_cpython.conda#ec05996c0d914a4e98ee3c7d789083f8 -https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda#99ee58c51aae7ee9ab947a0c6ce5a4c7 +https://conda.anaconda.org/conda-forge/osx-64/python-3.14.5-h7c6738f_100_cp314.conda#915728f929ae3610f084aecdf62f5272 +https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda#e5ce43272193b38c2e9037446c1d9206 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda#9d64911b31d57ca443e9f1e36b04385f -https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda#c3efd25ac4d74b1584d2f7a57195ddf1 -https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.7-h0d3cbff_0.conda#301c1db2d75ac8a91f46d21652e08dd6 +https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda#9d5828c46147a47f828ca47a18407621 https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda#eaac87c21aff3ed21ad9656697bb8326 https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda#4bf33d5ca73f4b89d3495285a42414a4 https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda#1cddb3f7e54f5871297afc0fafa61c2c @@ -26,33 +28,33 @@ https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.con https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda#30666a6f0afe1471e999eca7ae5c8179 https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda#7da1e8ab7c4498db9457c191d82930a3 https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda#e11ee849bd2a573a0f6e53b1b67ebf37 -https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.7-h19cb2f5_0.conda#423373b842c3861da6cfa8c8915798ce +https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda#0f600157f28fc7bc9549ecafdfa5bc12 https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda#4f116127b172bbba835c1e0491efd86f -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda#96c61a21c4276613748dba069554846b -https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda#284f71322e48e8ae8ce23d48356df042 -https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/osx-64/numpy-2.4.6-py314h7b24d9b_0.conda#e04ed878a4f06bb20201dabf7a25f9ee +https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py314h5727af0_0.conda#082c776f991a6e68e4e8a0829e5041e8 https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda#8e194e7b992f99a5015edbd4ebd38efd https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda#615de2a4d97af50c350e5cf160149e77 -https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py312h691318a_0.conda#1c8b1c621007743653c544b9ec69d8bd -https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda#434369ae1489f8fdda2135b6090de7b9 +https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.8.0-np2py314he40e093_1.conda#7d554a7bc5fecba4b789a6f34aa24f8c +https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.0-py314h7008281_0.conda#d75232845e170dd171b66f4b4315a947 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda#3e9427ee186846052e81fadde8ebe96a https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda#03cb60f505ad3ada0a95277af5faeb1a https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda#f6ad7450fc21e00ecc23812baed6d2e4 https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 -https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py312h86abcb1_2.conda#d7dfad2b9a142319cec4736fe88d8023 +https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py314hc4308db_2.conda#b082e18eb2696625aa09c80e0fbd1997 https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda#a2c1eeadae7a309daed9d62c96012a2b -https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_0.conda#738926ebcc3c63069d4c855cc4ef830e -https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda#2b661fd7a718757b2e91bbcac81deb48 -https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda#727109b184d680772e3122f40136d5ca +https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py314h72ea864_0.conda#3c62052978f61f118c202fa4036c1790 +https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda#c0cfccba11db0bbcc9a2a647dc99043d https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda#9c5491066224083c41b6d5635ed7107b -https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312he90777b_1.conda#cf70c8244e7ceda7e00b1881ad7697a9 -https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda#d9209ec6445f95fba0c3c64fa4a46216 +https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py314h8ca4d5a_1.conda#71c2caaa13f50fe0ebad0f961aee8073 +https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py314hd1e8ddb_1.conda#b94712955dc017da312e6f6b4c6d4866 https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda#e38b732ce8d5f44d06386a9f600c7d0d -https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda#a92e23c22f481e7c8bc5d2dc551c101d +https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py314h03d016b_1.conda#eddd65903cdc82babc86d48aba49acae https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda#6fc48bef3b400c82abaee323a9d4e290 https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda#043f0599dc8aa023369deacdb5ac24eb -https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda#d0fc809fa4c4d85e959ce4ab6e1de800 https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda#12389a21e7f69704b0ae77f44355e30b https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda#3c0e753fd317fa10d34020a2bc8add8e @@ -61,17 +63,17 @@ https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.co https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda#8e6d2ea30aec2f8eabd03cac524f1f33 https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac -https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda#b395909221b9bd1df066e5930e18855b https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 -https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py312h4b46afd_1.conda#01fdbccc39e0a7698e9556e8036599b7 -https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.5.0-py312h5f4ecc6_0.conda#c987aba92ae6e528ed495f1ea71d4834 +https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py314h3262eb8_1.conda#389d75a294091e0d7fa5a6fc683c4d50 +https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda#40d89d8546ad6e139e73ec8f6d56068b https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda#cbb88288f74dbe6ada1c6c7d0a97223e -https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda#c75e517ebd7a5c5272fe111e8b162228 +https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda#577b04680ae422adb86fc60d7b940659 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda#a9167b9571f3baa9d448faa2139d1089 -https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda#9fefff2f745ea1cc2ef15211a20c054a +https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda#c13824fedced67005d3832c152fe9c2f https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda#4a85203c1d80c1059086ae860836ffb9 https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda#edb808d7f7396478ab6e457e697b8ec5 -https://conda.anaconda.org/conda-forge/osx-64/cryptography-48.0.1-py312h1af399d_0.conda#357e588c02b9d6bbdceefe8411653a5a +https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py314hd00f597_0.conda#ed0cd98452f63f438194881426a39028 https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda#42834439227a4551b939beeeb8a4b085 https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda#d4f3f31ee39db3efecb96c0728d4bdbf https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-pyhd8ed1ab_0.conda#a55b220de8970208f583e38639cfbecc @@ -81,20 +83,20 @@ https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.c https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda#03fe290994c5e4ec17293cfb6bdce520 https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda#b8993c19b0c32a2f7b66cbb58ca27069 https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda#8e662bd460bda79b1ea39194e3c4c9ab -https://conda.anaconda.org/conda-forge/noarch/anyio-4.13.0-pyhcf101f3_0.conda#af2df4b9108808da3dc76710fe50eae2 +https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda#7498bb2648f852c6a3cd5724ca80bdeb https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda#4f14640d58e2cc0aa0819d9d8ba125bb https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda#d6989ead454181f4f9bc987d3dc4e285 https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda#15fe83cb157467c0c85c375f56abf199 https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda#a645bb90997d3fc2aea0adf6517059bd -https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda#9029301bf8a667cf57d6e88f03a6726b +https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py314h10d0514_1.conda#ebd224b733573c50d2bfbeacb5449417 https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda#7b2af124684a994217e62c641bca2e48 https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda#89d5edf5d52d3bc1ed4d7d3feef508ba https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda#3b887b7b3468b0f494b4fad40178b043 https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda#edd329d7d3a4ab45dcf905899a7a6115 -https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.1-py312h4075484_0.conda#ab0b86223aff2f5a431e92523f3c3bb4 -https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.50-py312hba6025d_0.conda#39eb1c70b85086c6aa889c5454142b03 +https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py314h2883b87_0.conda#b2c7e6644faa7c1efa3aff8c60e49f7c +https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py314h0b69929_0.conda#2ae2aeb0975ffa44ea6f6251f5532897 https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda#53f5409c5cfd6c5a66417d68e3f0a864 -https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py312hc1db7ba_0.conda#ad574fdb71b3cb208141d2149fe9015f +https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py314h8916c15_0.conda#a98f01ef277ca30e27a29bda4168b158 https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda#2934f256a8acfe48f6ebb4fce6cde29c https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda#729843edafc0899b3348bd3f19525b9d https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_0.conda#00e6147bef9a85139099c9861c3b976b @@ -103,7 +105,7 @@ https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1. https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda#78f0a9e3ec845ef8e35e319bc36dee9b https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda#0d8bbf1699b16ac225031ae0c73729f8 https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda#8e4971d25d53f168dfb64d6f5ee1316d -https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda#739f9a12783e1a32576509d0ea3cc0db +https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py314h1d56075_0.conda#33f48e40d93c6e74f47b5a1f316c8cad https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda#c6b0543676ecb1fb2d7643941fe375f2 https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda#870293df500ca7e18bedefa5838a22ab https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda#0caf586e8a37c4e3d8eeef8082d554c7 @@ -114,30 +116,54 @@ https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.con https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda#40182fd9a7d3be1a62939710b1bdb6b6 https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda#3687cc0b82a8b4c17e1f0eb7e47163d5 https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda#d6bd3cd217e62bbd7efe67ff224cd667 -https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda#5a81866192811f3a0827f5f93e589f02 -https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py312hda2ad9a_3.conda#b6f6e7a2c6800cc8b57e072824a00ffc -https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda#1fd947fae149960538fc941b8f122bc1 +https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda#69a01a9927733014f3955861e2969a7b +https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py314h123ab73_3.conda#89ba95cb38166a9d5dbadd8b014e7cd8 +https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py314hd330473_0.conda#d465805e603072c341554159939be5b8 https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda#37e3be7b6e2977d37b8fa5da229f5dc0 https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda#23029aae904a2ba587daba708208012f https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda#b38fe4e78ee75def7e599843ef4c1ab0 https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda#439cd0f567d697b20a8f45cb70a1005a https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda#ada41c863af263cc4c5fcbaff7c3e4dc https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda#bbe1963f1e47f594070ffe87cdf612ea -https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda#d596f9d03043acd4ec711c844060da59 +https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py314h77fa6c7_1.conda#5d45a74270e21481797387a209b3dec3 https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda#04558c96691bed63104678757beb4f8d -https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda#5baa48efc6d041e4033402f8797ea18b +https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py314h03d016b_2.conda#438dec9eec271896ec140bcc9d707b02 https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda#b899f1195be56d8215ed1973a8f409c3 https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda#98958318a01373a615f119b1040b3027 https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2#e270fff08907db8691c02a0eda8d38ae https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda#e52c2a160d6bd0649c9fafdf0c813357 -https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda#63362e0f2c4a00fa79a1f2c0a58587a7 +https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda#ff39f8e27137655553f9fbb842ee1aa2 +https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda#83ea3a2ddb7a75c1b09cea582aa4f106 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda#6d03368f2b2b0a5fb6839df53b2eb5e0 +https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda#0242025a3c804966bf71aa04eee82f66 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_0.conda#52be5139047efadaeeb19c6a5103f92a +https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda#71d2c80673511fab927bd15592994030 +https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda#ad6821df7a98510117db06e9a833281f +https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda#4fdd327852ffefc83173a7c029690d0c +https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda#1005e1f39083adad2384772e8e384e43 +https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-pyhcf101f3_0.conda#942b41d6058c938355781fd589656b06 +https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda#49647ac1de4d1e4b49124aedf3934e02 +https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda#7d2e90221b5da6f0577d150cfe6b87ed +https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda#d408fa8ff9f17887378715dcf024d359 +https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda#31db8c55a8dda3abd4625a2880ea3d34 +https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda#5641505172527e4f75ef28139317c7a9 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 +https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 +https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda#a73036dabdd6dfe9679ed893baa8b230 +https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda#c45fa7cf996b766cb63eadf3c3e6408a +https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda#f3549a4607ecf6f0bdbb4afe9b05f2d2 +https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda#38ba1f1279491d848303cd050dfe56cc +https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda#8fbd31325e6fbb325e15625471b44dfc https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda#99b9953692a58a31aa94c0d127e71c32 https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda#7d4f2bf739967798eb4d8c02d59cf36c https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda#d11d20e557970783b9dbc68d36d3c37a https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2#9b1db7127119f513696d620eefe7bf67 -https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.17-h1ddadc8_0.conda#c068964d3ca0b96c6628d3944e54e133 -https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py312hf7082af_1.conda#1febc2f58c009405f5111fba9b97ba69 +https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py314hd330473_1.conda#e41e8948899a09937c068f71fe65ebb6 https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda#06ad944772941d5dae1e0d09848d8e49 https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda#145c6f2ac90174d9ad1a2a51b9d7c1dd https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda#9aa358575bbd4be126eaa5e0039f835c @@ -152,8 +178,8 @@ https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda#899db7 https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda#fc9a153c57c9f070bebaa7eef30a8f17 https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda#dba4c95e2fe24adcae4b77ebf33559ae https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda#1f4ed31220402fcddc083b4bff406868 -https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda#e66e2c52d2fdddcf314ad750fb4ebb4a -https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.20.0-h8f0b9e4_0.conda#4a0085ccf90dc514f0fc0909a874045e +https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda#e070b249c4f9c6bddb7984a1a794e8df +https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda#ee12fea9cd972edf0bd63f10a95f38d9 https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda#86a72148f2ace31569279a41c903f1be https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda#21338f14e1226ca108452b770e770455 https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda#08f970fb2b75f5be27678e077ebedd46 @@ -178,7 +204,7 @@ https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.cond https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda#63186ac7a8a24b3528b4b14f21c03f54 https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda#596810d804d0b2f2c54bfdd635025e92 https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda#5a047b9aa4be1dcdb62bd561d9eb6ceb -https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.7-gpl_h2bf6321_101.conda#c3fd696b58fdb6339e08140545f7839d +https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.8-gpl_h2bf6321_100.conda#221bc6aaa394cd9476607cb3d104c203 https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda#2c5a3c42de607dda0cfa0edd541fd279 https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda#03e8c9b4d3da5f3d6eabdd020c2d63ac https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda#2e993292ec18af5cd480932d448598cf @@ -188,28 +214,32 @@ https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda#f22 https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda#55c7804f428719241a90b152016085a1 https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda#e9b05deb91c013e5224672a4ba9cf8d1 https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda#8c4061f499edec6b8ac7000f6d586829 -https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py312h6f80297_0.conda#9954d4dba5eb83661bc1cbc2b5c245ea -https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312h4270620_3.conda#e0483a9d9ec0af0d44f788d8e5b39fbb -https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda#27583d44e139c520d9fdc1fd7aedd58d +https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py314h061e49a_0.conda#644f3fdcb7b6e5b5655550460eb6e629 +https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py314hae267ec_3.conda#37baf852b810311b17ed3652c7b5677e +https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda#a0811eb1142b4da29162d1931922a1ec +https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py314h217eccc_0.conda#56ef61ccbb54d5e221b26de4fe3f9a37 +https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py314h4eeafd1_2.conda#a21b55dc72c8fc239782cb49d35fedb0 +https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py314h687fbad_0.conda#adbb3fccb1336078d0263369698285cc +https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py314he09d67a_6.conda#adcd5ef03bda56db88bd81e6c31a8360 +https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda#290f97c3fcfab8323023b10cbb4f6cc2 https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2#0c14e44bc93a99cdc11398311c3c0dcf https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda#130584ad9f3a513cdd71b1fdc1244e9c https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda#c74c64d67f55426bc24d333a84aed0e3 https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda#2867ad6f19cadc54675abd00a19d0268 https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda#427101d13f19c4974552a4e5b072eef1 https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda#bc5ac4d19d24a6062f60560aab0e8976 -https://conda.anaconda.org/conda-forge/osx-64/libboost-1.88.0-h5950822_7.conda#de6f7fa28d94fa380024444324b15d5f +https://conda.anaconda.org/conda-forge/osx-64/libboost-1.90.0-h5950822_1.conda#9cc11836b85562a34f5af56557eac600 https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda#a1d4e790758af6cf3dfaf32eb51d7769 https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda#4e4566c484361d6a92478f57db53fb08 https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda#4ab09041d626c67a4fccc9fe3c3bb734 https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda#441331cb7a3c6337711c485861dda6e3 https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda#6b685000856e0cfdb468b8d87b51f6f0 https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda#89cad9af206d489b89a08b16648882b8 -https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h698be43_0.conda#9091a645544c554316b4112898c79455 -https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py312hb4c736d_0.conda#823b5ace9f6765c5f7223f7a97e6133d +https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h1609d71_1.conda#b1fe2df45ca03e3d6315457ccad20e9f +https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py314h72ea864_0.conda#ccd806cf6a84d1b7a10c66689d8d3e93 https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda#3449ef730c7d483adde81993994092b9 -https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py312hd8edc82_2.conda#eae9cbc6418de8f26e08f4fb255759e9 https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda#8678577a52161cc4e1c93fcc18e8a646 -https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda#114bf0de85f665ce5586e9a0f0f077a8 +https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py314hd1ec8a2_0.conda#2824b3725d24404c718de7961ecad753 https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda#dd1ea9ff27c93db7c01a7b7656bd4ad4 https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda#b3ecb6480fd46194e3f7dd0ff4445dff https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda#46e628da6e796c948fa8ec9d6d10bda3 @@ -220,98 +250,105 @@ https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda#bbe https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda#112cb22521fa3abf19bc0c93938576f5 https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda#7cec36e11e7c5a674a1d8c1d5082479e https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda#f8c168eefc1f75ada2e2cd8f2e6212f5 -https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py312he84af14_0.conda#2062ffb1b958b050e65ddd8556bcb4d8 -https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda#4a38b6e74b5a7ea22f1840226e5103a8 +https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py314hc904d5e_0.conda#fb32d458ddac23248e07a0830c6ffc7b +https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda#a8e54eefc65645193c46e8b180f62d22 +https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda#6cf119d472892f945d81187e790cc131 +https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda#6a0525cf3166f16b9e156fb6b2cac5c0 +https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda#742a8552e51029585a32b6024e9f57b4 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab +https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda#17925ae2a399d859c0b978934df591e3 +https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda#9917add2ab43df894b9bb6f5bf485975 +https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda#d217d80acf915fd7af2bb416a7d57e5a +https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda#4422491d30462506b9f2d554ab55e33d +https://conda.anaconda.org/conda-forge/osx-64/libraqm-0.10.5-hcf81f31_0.conda#2c1e70004d0c00bedc213f167e2794ca +https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py314hd6e1bd6_0.conda#25a8718587d3d0d9114b25dfa93b864c https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda#48fc845b770770e9c7db8743f6d53d44 -https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda#563dc18b746f873408b76e068e2b4baa +https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py314h4f144dc_0.conda#773e3141f292d9698e706da094ada8c1 https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda#37293a85a0f4f77bbd9cf7aaefc62609 https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda#34803b20dfec7af32ba675c5ccdbedbf https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda#149d8ee7d6541a02a6117d8814fd9413 -https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.63.0-py312heb39f77_0.conda#86857c4f51ca02be0aa72fb98ea80ef9 +https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda#0509ee74d95e5b98eb6fe2a47760e399 https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda#4c2a8fef270f6c69591889b93f9f55c1 -https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda#625f08687ba33cc9e57865e7bf8e8123 -https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.9-py312h7609456_0.conda#c7133e403f67d8e34af93e0be4286478 +https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py314h22a2ed9_4.conda#511f02f632e1fb0555da3cb4261851d9 +https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py314he76ffc7_0.conda#abb4a4738d58cfd10456f5b056f66ee5 https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda#fd96da444e81f9e6fcaac38590f3dd42 https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda#62afb877ca2c2b4b6f9ecb37320085b6 https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda#46830ee16925d5ed250850503b5dc3a8 -https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda#ce99b41d1fd2b6f29b57b45a43cf6dbe +https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py314hcacaf9e_2.conda#8b8223a54da1571d5fa5b2ec1835594b https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda#975f98248cde8d54884c6d1eb5184e13 https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda#8fa7c7e9a3c1b57a37bc03f0183aaf17 -https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.3-h32e32c0_0.conda#815c37de0f5188366f6579ced1a684ae -https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py312h7063bee_3.conda#2be42158468ace8e88d01e98db40e4c4 +https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.4-h32e32c0_0.conda#32cb4ce661e8386b14584447119eebc1 +https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py314hd3b5d2a_3.conda#9c687523f836bc16357bba75574ecefc https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda#18301be1ab749bc57ae189377836cc47 -https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda#499b2e5cc7cf18761cfd20d6fb837f48 https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda#3cf12c97a18312c9243a895580bf5be6 https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda#7ce543bf38dbfae0de9af112ee178af2 https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda#6515420f8cc50150e846b779ad1b3f8b -https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda#54ba6dea57839640386fddb0349a272b -https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py312hab8b850_100.conda#4849016a03b3be1eecb407197b063723 +https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py314h26e5826_1.conda#af457847f475d415e154c06cb30c2e1e +https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py314hf60e252_100.conda#cb8267fd6b2719b8ac44fd810acbcc1c https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda#c07a6153f8306e45794774cf9b13bd32 -https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda#f54c1ffb8ecedb85a8b7fcde3a187212 -https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda#32780d6794b8056b78602103a04e90ef +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda#b28fe35fd43d5f425c0dccbe5b5039fd +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda#224f69f177eb5aae6c9a6052846bf609 https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f -https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.41.2-py310h3769acf_0.conda#89d6149985443c1f88a2d3778c1ab2e8 -https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda#120e580ad04dadc09105071cabe732ee +https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda#e86a89e68c80f641ba5aa7523a61130b +https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda#407e5c3dd0d5966897e0dc6b1485f4a4 https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda#ddf1acaed2276c7eb9d3c76b49699a11 -https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda#4283909633ec7d07839e150f7a52c01b +https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py314hbf63cc6_2.conda#7defaa043d0a76a76df0c81cac169144 https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2#23d6d5a69918a438355d7cbc4c3d54c9 -https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda#558f8364bc7ccb5be86f035dadab7981 +https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py314h19b641f_1.conda#b88b1786e14b3a4d7eeb67b0eadba49c https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda#ba7f04ba62be69f9c9fef0c4487c210b https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda#a0237623ed85308cb816c3dcced23db2 https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda#13dc8eedbaa30b753546e3d716f51816 https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda#3a67e77f5eedfbd8aac22941685c3807 https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda#d6ea2acfae86b523b54938c6bc30e378 -https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda#94f0b7eefe8e878d70560f54a38b539c -https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 -https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda#5a2944f868149ad5a2e6588be8eed838 +https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py314hde9596f_1.conda#634541eeb0d1adf845610b0729b375fb https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda#f5a488544d2eb37f46b3bebf1f378337 https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda#58958bb50f986ac0c46f73b6e290d5fe https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda#644bd4ca9f68ef536b902685d773d697 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda#063a810c2e0ee1a5e921ecd57b5e4b72 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda#cdfb2ceb9f800dcf603e193f668690cd https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda#c689b62552f6b63f32f3322e463f3805 -https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda#2f121d7f322c261516114043a493193f -https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda#60ca4e1376742de9d637162802d16102 -https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda#5c3a3b98dd9ac69d3a73a27519bde732 -https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda#21145c2ab9fb336c7fb9ef2723373bae +https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda#e3cbba0c0ab42143adeefd1d09866695 +https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda#ad92dba7ca0af0e3dca083a0fa6a3423 +https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda#517da2b90b0910492f03ae3b297efff9 +https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda#7a2d9f4d9f57da47251b2050b149bdf8 +https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda#0d0ef7e4a0996b2c4ac2175a12b3bf69 https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda#421a865222cd0c9d83ff08bc78bf3a61 https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda#8a9936643c4a9565459c4a8eb5d4e3ff -https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda#bb2b52fed934237c452506f1e36a0cd9 -https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda#d50b6addfb7f132c6da4cc67e1a9470b +https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda#fc49257102291bf3724c550e7ce4b188 +https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda#e8deca19695b2d6e31ada22746c164ec https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda#83afc1048b879d3c2dd91f48ce78978f +https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda#5fc3d86518a050fe18719eb49cd0e6ad -https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda#48fcccc0b579087018df0afc332b8bd6 -https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda#844afce24940aea65d47ce392bc7296d +https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda#7a191cc7d8d50e6dd565f15c1b92170b +https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda#9d08e3e18b2bc07d93d6cbe988c1a28d https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2#7b6747d7cc2076341029cff659669e8b https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4 https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda#0badf9c54e24cecfb0ad2f99d680c163 -https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 -https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda#2c11aa96ea85ced419de710c1c3a78ff +https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda#7d7e6c826ba0743fc491ebee0e7b899c https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda#61b8078a0905b12529abc622406cb62c -https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda#809f4cde7c853f437becc43415a2ecdf -https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda#0e9639e5608a478cc91d4600f5e256e6 -https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda#55d19f7062b690dd95e669e9a0bb5fba -https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda#833e6a264caaaa43d265fc5ebaf30aa1 -https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda#5e6b9430bbfec8a68a37351274134e5b +https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda#56a3cae23de84509452da890fb2bfd85 +https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py314hfeef9c2_3.conda#5088e82d7776efb203ff2ef560d0dc52 +https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda#c1c64645ec79275e496eeefb689d4d47 +https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py314h7008281_0.conda#a2d5344ac031280855463759eb453827 +https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py314h21b9a27_0.conda#7932e30d1729d913a2b05ad1ed4e3a2f https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda#4487b9c371d0161d54b5c7bbd890c0fc -https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py312h17ccd7d_0.conda#e6452e30b697d485a9929bd1eebcd7a2 https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda#cc293b4cad9909bf66ca117ea90d4631 https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda#18789a85c307970ae1786dfc6dfd234f https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda#1fcdf88e7a8c296d3df8409bf0690db4 https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda#a6997a7dcd6673c0692c61dfeaea14ab https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda#4eb8b870142ca06d2a1d2c74662eac7d -https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda#0eaee053535b142b952b44f48ee24c02 -https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda#42ef10a8f7f5d55a2e267c0d5daa6387 -https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 -https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda#827064ddfe0de2917fb29f1da4f8f533 -https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda#98cdd8615792e90da1023bc546f806d9 -https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda#080a808fce955026bf82107d955d32da -https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 -https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py312hb401068_0.conda#6c383a4df7daf22811ab8172d01cff6f -https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda#7d9916ed19ecda71f0b00963365252a7 +https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda#658fdb0a50c41f214553706c4d702195 https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2#a2e1ba950c0ec23e3ea0b915743a37e0 +https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py314hea86bea_1.conda#0ee6d8fdd1dd848ea67f259de2d62a40 +https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda#55dc3d4d76c0e2269bb395c7bad0e3ef +https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda#dd4b6337bf8886855db6905b336db3c8 +https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda#a6a7c2c08a4f2186bd040d056f958604 https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda#49b01263c5348a30838ba148a30126cf -https://conda.anaconda.org/conda-forge/osx-64/ujson-5.12.1-py312h4075484_1.conda#432663a8d3a776dc88535bed90c7957d +https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py314h2883b87_0.conda#e04df82812d59479bb6c1fb3393d633a https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda#7ac5f795c15f288984e32add616cdc59 https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda#eb57a77657c275d8d0b3542b070f484c https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda#2b25a90124b8bbc7d01474dafecc815e @@ -345,37 +382,28 @@ https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.cond https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda#768c6b78e331a2938af208e062fd6702 https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda#0ca5462ee03e2b8e7a506b1b4a0926ce https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda#278d25b7f2903d53483b0a11dc26dec0 -https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py312hfcd758a_0_cpu.conda#56f385be8045a613bae647a4b7e1b666 +https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py314hf51c35e_0_cpu.conda#ce8148bb646414ee67fd5bbed585acce https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda#e38e467e577bd193a7d5de7c2c540b04 https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda#36d5479e1b5967c2eb9824b953317e41 https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda#174b6059fc1102dbe2a784d732e919b4 https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda#df07a0e8ed601a2f272ab0f17f0c25b5 https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda#49a5fb4fbf3e0aa6e234ca9c4ee03594 https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda#8196497a3bc332336078391692ede27b -https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py312hb401068_0.conda#4e75d068299eb2fcd0ecc448d99a6880 +https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py314hee6578b_0.conda#274dffd360c22b5dafab399012c5caa2 https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda#fa31df4d4193aabccaf09ce78a187faf https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda#4460f039b7dedf15f7df086446ca75ae https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda#531ff805a1551c6caaf976d577ea233c https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda#33197d0b44a95fa6ea53c04db06a4f94 https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda#71bf9646cbfabf3022c8da4b6b4da737 -https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda#b7de45fd799b2ca486296df849b8a57b -https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py312h80b0991_0.conda#09e008caad207164feb0d4c11634a48b -https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda#6fa414f2828958e28a1b253ff02634a2 -https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda#0c5f9ee81f0fac33b7fac8c7591913e6 +https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py314h83828b2_3.conda#0d66adb3b500f3bb3526b82fc285eb8e +https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda#66f138d7a6dffb5c959cc4bf6dc2b797 +https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda#b9f2040f64c84731ac3f497c992d2656 https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_0.conda#7dd72a4c857cd652a1e23c13099a15d2 https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda#9e21f087f087f805debe877d88e00a14 https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda#3b261da3fe9b4168738712832410b022 https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda#10ed48920132137dd2f46f2dc218d524 -https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda#328fcdd7991b7494dc780b16b831de62 -https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda#7a9095c9300d1b50b1785ca9bc4cadae -https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda#141ec0ac00f1c946cb058d4e710f269a -https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda#52434c636a05a06806d0978128d98c19 -https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda#eb52d14a901e23c39e9e7b4a1a5c015f -https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py312h0aa9c5c_0.conda#a7692ba7ead6f7e3c910339851776c92 -https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda#84a3233b709a289a4ddd7a2fd27dd988 -https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda#381bd45fb7aa032691f3063aff47e3a1 -https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda#7859736b4f8ebe6c8481bf48d91c9a1e +https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda#6b00457c798f70431c5d6889507c008f https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda#91f5637b706492b9e418da1872fd61ce https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda#53cb4b14ab0841e104e2bd11ee64b840 https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda#62ed8c560f1b5b8d74ed11e68e9ae223 @@ -386,106 +414,29 @@ https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda#3770774486c8b9e822c6bf996da18a25 https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda#e941e85e273121222580723010bd4fa2 https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda#e1bccffd88819e75729412799824e270 -https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda#2ec1c960c5995e181a8d9e07b36f4c5a -https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.9-py312hb401068_0.conda#4277a65bf3b72f018c778d719338e13a +https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py314h217eccc_0.conda#b30f2eeef4987aa26f697978d17e867c +https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py314hee6578b_0.conda#94c6d66c3b0750cd1cbd95c9596f2b6a https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda#367b8029352f3899fb76cc20f4d144b9 -https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py312h211e60a_0.conda#120740d52f4092dd860416c5df1cb7dd +https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda#b8ad901dca8ee289d6a8577198b6a256 https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda#157c42a38b3a6c6cd8816babe2376c09 https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda#2f3c40860f85bf02205e5b782b5be0bd https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda#17ed908c9fe48af590929b9959adfd75 -https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 -https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda#7d9daffbb8d8e0af0f769dbbcd173a54 -https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda#17b43cee5cc84969529d5d0b0309b2cb -https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.1-py312h4a480f0_0.conda#18a20cb8c3e19f0b3799a48eba5b44aa -https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.1-py312h1993040_0.conda#b6881a919e1bfd66349e2260b163dc7c -https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda#b70e2d44e6aa2beb69ba64206a16e4c6 -https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda#bf0ce6af8f7628e34cdb399f6aa82e53 -https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda#8a622d1db89d80a94477b1c03824d611 -https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda#8380cc6b19de487e907529361f00f2ba -https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_0.conda#a11ab1f31af799dd93c3a39881528884 -https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda#f6d7aa696c67756a650e91e15e88223c -https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda#e51f1e4089cad105b6cac64bd8166587 -https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 -https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2#457c2c8c08e54905d6954e79cb5b5db9 -https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda#49440e66df843bee2273937e8032ec43 -https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda#cf01a81d7960ad9c829bf2e794fcee9a -https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda#b97e84d1553b4a1c765b87fff83453ad -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda#fd312693df06da3578383232528c468d -https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2#961b3a227b437d82ad7054484cfa71b2 -https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda#2841eb5bfc75ce15e9a0054b98dcd64d -https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda#f1acf5fdefa8300de697982bcb1761c9 -https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda#93009c29cdd6f2500468f2502fff9209 -https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda#5f710eab1f3c4e773c75686f5e8e6481 -https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda#2bce0d047658a91b99441390b9b27045 -https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda#7b8bace4943e0dc345fc45938826f2b8 -https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2#912a71cc01012ee38e6b90ddd561e36f -https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda#36de09a8d3e5d5e6f4ee63af49e59706 -https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda#982ed0cbfc0fe09f25861e3d111e9717 -https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda#6639b6b0d8b5a284f027a2003669aa65 -https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda#e7cb0f5745e4c5035a460248334af7eb -https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda#9b965c999135d43a3d0f7bd7d024e26a -https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda#7234f99325263a5af6d4cd195035e8f2 -https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda#89bf346df77603055d3c8fe5811691e6 -https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda#85c4f19f377424eafc4ed7911b291642 -https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda#0b0154421989637d424ccf0f104be51a -https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a -https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 -https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda#d3549fd50d450b6d9e7dddff25dd2110 -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda#8368d58342d0825f0843dc6acdd0c483 -https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda#bf42ee94c750c0b2e7e998b79ac299ea -https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py312h80b0991_2.conda#66f6b81d4bf42e3da028763e9d873bff -https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda#8ac12aff0860280ee0cff7fa2cf63f3b -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda#82525f37e0976e83bbb69bc4d4011665 -https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda#e7f89ea5f7ea9401642758ff50a2d9c1 -https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda#1269891272187518a0a75c286f7d0bbf -https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda#f1976ce927373500cc19d3c0b2c85177 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda#a63877cb23de826b1620d3adfccc4014 -https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda#0c3b465ceee138b9c39279cc02e5c4a0 -https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda#fcd832bfd4749e9b246112b6894f97fc -https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 +https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py314h7008281_0.conda#5b37b13f7d88eb3136165bc8a590ef5f https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda#3bfdfb8dbcdc4af1ae3f9a8eb3948f04 https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda#ff9efb7f7469aed3c4a8106ffa29593c https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda#9673a61a297b00016442e022d689faa6 https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda#b1b505328da7a6b246787df4b5a49fbc https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda#19c961dd9cab6c3e13cd195f0176dbfa https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda#edb16f14d920fb3faf17f5ce582942d6 +https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda#7d9daffbb8d8e0af0f769dbbcd173a54 https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda#d0d408b1f18883a944376da5cf8101ea +https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda#39894c952938276405a1bd30e4ce2caf -https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda#a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 +https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda#c2b3d37aa1411031126036ee76a8a861 https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda#bd80ba060603cc228d9d81c257093119 https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda#61dcf784d59ef0bd62c57d982b154ace https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda#fbd58549b374103c1a80577f09a328ef -https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py312h4075484_0.conda#bd3377921dea4d723151ace2334ee481 -https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda#2da13f2b299d8e1995bafbbe9689a2f7 -https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda#54898d0f524c9dee622d44bbb081a8ab -https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda#a1ddab91145f7f06eee769d2f3ac69cd -https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda#b85e84cb64c762569cc1a760c2327e0a -https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda#8e3f969b0c5d9c22191f3c3306c0f1fb -https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda#0ba6225c279baf7ea9473a62ea0ec9ae -https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda#92b46e8c96039d3d7c4958f426bca753 -https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda#6d034d3a6093adbba7b24cb69c8c621e -https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda#801dbf535ec26508fac6d4b24adfb76e -https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda#4d52bbdb661dc1b5a1c2aeb1afcd9a67 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda#05a08b368343304618b6a88425aa851a -https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda#2f0ba4bc12af346bc6c99bdc377e8944 -https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda#47672c493015ab57d5fcde9531ab18ef -https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda#9453512288d20847de4356327d0e1282 -https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py312h959a22e_0.conda#e9572e8fb36705d78b46c770a272bbc4 -https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py312_0.conda#d8112a7ae939c1828a78b7a6c7619a30 -https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda#a8e54eefc65645193c46e8b180f62d22 -https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda#6cf119d472892f945d81187e790cc131 -https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda#6a0525cf3166f16b9e156fb6b2cac5c0 -https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda#742a8552e51029585a32b6024e9f57b4 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb -https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab -https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda#17925ae2a399d859c0b978934df591e3 -https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda#9917add2ab43df894b9bb6f5bf485975 -https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda#d217d80acf915fd7af2bb416a7d57e5a -https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda#4422491d30462506b9f2d554ab55e33d +https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py314_0.conda#6c109a8093ff090d0f2f5e246eb1d964 https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda#591f9fcbb36fbd50caef590d9b1de614 https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda#5f0f81650af65aa247f6fbc25ebcbdd4 https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda#2d5f6b880486d5058c7eab0db04b1bc9 @@ -500,44 +451,45 @@ https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.con https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda#4c1c78d65d867d032c07303cf38117ba https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2#323537f09c8044f0352a8af30a6fc650 https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda#c3cee0e0843e38698c45dfec869e9888 -https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312hb20e208_6.conda#e82a20a3c91736e615f87c5564f0753b https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda#4a25cae637029c5589135903aa15b3b6 -https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.1.2-py312hd099df3_1.conda#00597ae4dd073faaa9e6d2ca478f21c6 +https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py314h0963f2d_0.conda#d625059c40ae8c04611ec03f3b3ba356 https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda#5498feb783ab29db6ca8845f68fa0f03 -https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py312h86abcb1_0.conda#cb2f65f89f8194ff35e16cfe87dd1d62 +https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py314hc4308db_0.conda#44a8614dd3db9cfbd30cf8a4efa3553c https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda#c56a7fa5597ad78b62e1f5d21f7f8b8f -https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda#c1844a94b2be61bb03bbb71574a0abfc +https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda#b787cd1f01e24b161261438a5589df51 https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda#8e7be844ccb9706a999a337e056606ab https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda#77ae41598d63b453bb3c9052f4a14c4b -https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda#626ce477182eeedea956ea6a2c94ef14 +https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a +https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 +https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py314hd1d8aca_102.conda#7dc73b286baa99b2abf400421c61626a https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda#ca7f9ba8762d3e360e47917a10e23760 https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda#cc73a9bd315659dc5307a5270f44786f -https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda#b2d0ce05d097824ccfa3ab6f52535d0f -https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda#ebdb9fd5092c50620a226c7e23daab3b -https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda#4b9a16cd57559083d52f7a50071dc463 -https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda#9a005ba5f540619a1343587b4ee3d95e -https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda#9e18b048c69d2d72bc69d120a435d731 -https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda#8e6ba36f4f355b2be42009a13b6e8f29 -https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda#63eee5b20461ca89c738160bd502363e +https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-pyhd8ed1ab_0.conda#f5e09a21f1ee38e1be4787fea94e6823 +https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda#a359066b94e013283b7e11559fbb19fc +https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda#f740e8acb38ea16c22e60b6fc0ae7c9e +https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda#3fab2110d93a828f88ace66e418d6ef8 +https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda#690847cdb78772816f430fc91490f915 +https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda#0b9176cd15bf526d74fd6638df5194af +https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py314hc4308db_1.conda#86496825870c3bc6af922d58ed3ba613 https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda#d7585b6550ad04c8c5e21097ada2888e https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 -https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda#6a991452eadf2771952f39d43615bb3e +https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda#64c98a12c4e23eb238bf66bbecafdf3c https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda#24ed1dc544b101075fa7462be5c3a5c5 https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda#e557abf678a0bf100fe7cf9d2b4f4a72 -https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda#157f8c5e9e63b3a4ceab8e73386f1629 +https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py314h6bf1ee8_1.conda#9341f36944950fb3831fb6ea8fbfde4f https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda#e52c2ef711ccf31bb7f70ca87d144b9e https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda#f88bb644823094f436792f80fba3207e https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda#0401a17ae845fa72c7210e206ec5647d -https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda#db9f538ce2d80fce3d42c7b67308f3d2 -https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda#8efb90a27e3b948514a428cb99f3fc70 +https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py314h4f144dc_2.conda#58288887b0e326f1e2f3e15f4198e4a3 +https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda#2a6851a6c69ce7c0b03a89d5d4209257 https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda#123fcfe0df4b6fc21804538e59cdaafe -https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda#f9761ef056ba0ccef16e01cfceee62c2 +https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda#a2d2a05abf6076c3d041ec91b2235823 https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda#fa9e9ec7bf26619a8edd3e11155f15d6 https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda#ba331350354f69260f18733403411157 https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda#57155fbc8bcf8ca83b670f29163639e9 -https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py312h421c061_0.conda#e5b68c24463c0ee692ab0fbc18b0eda3 +https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py314h22e5f2c_0.conda#8d8da2cde165c254df695a0916355f79 https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda#0f12f8436a2a238e255d49ea3f8aefe2 -https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda#e585c71c2ed48e4eee1663d627ddcd47 +https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda#d4e8f98a575bf884db81344e7a9fbe95 https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda#fc8b15af108a2fdb15ef04d12fbfe87d https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda#1f878573c1ee2798c052bee1f5a94f50 -https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda#81f981df273cd627927372680aa9dd31 +https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda#eb6d307eabcb6918e1c34cce221546bc diff --git a/envs/default_osx-arm64.pin.txt b/envs/default_osx-arm64.pin.txt index 5496b18dcc..8f09d60966 100644 --- a/envs/default_osx-arm64.pin.txt +++ b/envs/default_osx-arm64.pin.txt @@ -1,24 +1,26 @@ # Generated by `pixi workspace export` # platform: osx-arm64 @EXPLICIT -https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda#bc5a5721b6439f2f62a84f2548136082 +https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda#ab136e4c34e97f34fb621d2592a393d8 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda#a9d86bc62f39b94c4661716624eb21b0 https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda#343d10ed5b44030a2f67193905aea159 https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda#f8381319127120ce51e081dce4865cf4 -https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda#489b8e97e666c93f68fdb35c3c9b957f +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda#a9965dd99f683c5f444428f896635716 https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda#8187a86242741725bfa74785fe812979 https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda#f1182c91c0de31a7abd40cedf6a5ebef https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_0.conda#1ebde5c677f00765233a17e278571177 +https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda#57c4be259f5e0b99a5983799a228ae55 https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda#b1fd823b5ae54fbec272cea0811bd8a9 https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda#43c04d9cb46ef176bb2a4c77e324d599 https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda#a915151d5d3c5bf039f5ccc8402a436f https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda#620b85a3f45526a8bc4d23fd78fc22f0 -https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.13-h8561d8f_0_cpython.conda#8e7608172fa4d1b90de9a745c2fd2b81 -https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda#99ee58c51aae7ee9ab947a0c6ce5a4c7 +https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.5-h4c637c5_100_cp314.conda#f7331c9deaf21c79e5675e72b21d570b +https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda#e5ce43272193b38c2e9037446c1d9206 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda#9d64911b31d57ca443e9f1e36b04385f -https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda#c3efd25ac4d74b1584d2f7a57195ddf1 -https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.7-hc7d1edf_0.conda#7c6a5897a8bc5b6d509a4ee9dec7fcc8 +https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.8-hc7d1edf_0.conda#a9c118f6343fb6301b6f3b4e94c4c562 https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda#a44032f282e7d2acdeb1c240308052dd https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda#644058123986582db33aebd4ae2ca184 https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda#ba36d8c606a6a53fe0b8c12d47267b3d @@ -26,33 +28,33 @@ https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19. https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.33-openmp_he657e61_0.conda#909e41855c29f0d52ae630198cd57135 https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda#dbfe729181a32741ae63ecb41eefbac6 https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda#85adeb3d469d082dbd9c8c39e36dec57 -https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.7-h55c6f16_0.conda#0325fbe13eb6dd39234eb305ac1b3cb8 +https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-h55c6f16_0.conda#89f76a2a21a3ec3ec983b5eb237c4113 https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-8_hb0561ab_openblas.conda#03a2ef3491da9e5b4d18c03e9f4b3109 -https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda#d83fc83d589e2625a3451c9a7e21047c -https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda#173d5eeba324363d9171946e86a81687 -https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.4.6-py314hb79c6fa_0.conda#e64e47cb372d92e3425816a2918f4605 +https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py314h18e1515_0.conda#e55fe08bb5d43e7120672338dd129030 https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda#8e194e7b992f99a5015edbd4ebd38efd https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda#615de2a4d97af50c350e5cf160149e77 -https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py312he5ca3e3_0.conda#b2b777cdad320a08da92bb1f58040bfd -https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda#f69fd8ff939ae97347354eced18653a9 +https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py314h15f0f0f_1.conda#d9bc75bfda103e05a55e4034fded8ddf +https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.0-py314h4ed92d5_0.conda#66edd5dc8380583d2adb0f220731860a +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda#3e9427ee186846052e81fadde8ebe96a https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda#03cb60f505ad3ada0a95277af5faeb1a https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda#f6ad7450fc21e00ecc23812baed6d2e4 https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 -https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py312h5978115_2.conda#fcbba82205afa4956c39136c68929385 +https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py314ha3d490a_2.conda#6e2f31aca92c525a884c509738aca93a https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda#a2c1eeadae7a309daed9d62c96012a2b -https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_0.conda#90fd09cb6405d55a4b224d78e8d051a7 -https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda#2b661fd7a718757b2e91bbcac81deb48 -https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda#ab136e4c34e97f34fb621d2592a393d8 +https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py314hdd732f0_0.conda#5104a79c3c309894508c89818143a516 +https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda#c0cfccba11db0bbcc9a2a647dc99043d https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda#9c5491066224083c41b6d5635ed7107b -https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312h1b4d9a2_1.conda#503ac138ad3cfc09459738c0f5750705 -https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312h37e1c23_1.conda#9300889791d4decceea3728ad3b423ec +https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py314h44086f9_1.conda#10dd19e4c797b8f8bdb1ec1fbb6821d7 +https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py314h9d33bd4_1.conda#8a92a736ab23b4633ac49dcbfcc81e14 https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda#e38b732ce8d5f44d06386a9f600c7d0d -https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.conda#5658c0733acef1e0e2701aa1ebaa1f14 +https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py314hb84d1df_1.conda#104bf69250e32a42ca144d7f7abd5d5c https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda#6fc48bef3b400c82abaee323a9d4e290 https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda#043f0599dc8aa023369deacdb5ac24eb -https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda#d0fc809fa4c4d85e959ce4ab6e1de800 https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda#12389a21e7f69704b0ae77f44355e30b https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda#3c0e753fd317fa10d34020a2bc8add8e @@ -61,17 +63,17 @@ https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.co https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda#8e6d2ea30aec2f8eabd03cac524f1f33 https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda#461219d1a5bd61342293efa2c0c90eac https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac -https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda#b395909221b9bd1df066e5930e18855b https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 -https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py312h0dfefe5_1.conda#311fcf3f6a8c4eb70f912798035edd35 -https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.5.0-py312h87c4bb7_0.conda#6ec306e02579965dc9c01092a5f4ce4c +https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda#f9501812fe7c66b6548c7fcaa1c1f252 +https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda#40d89d8546ad6e139e73ec8f6d56068b https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda#cbb88288f74dbe6ada1c6c7d0a97223e -https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda#c75e517ebd7a5c5272fe111e8b162228 +https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda#577b04680ae422adb86fc60d7b940659 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda#a9167b9571f3baa9d448faa2139d1089 -https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda#9fefff2f745ea1cc2ef15211a20c054a +https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda#c13824fedced67005d3832c152fe9c2f https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda#4a85203c1d80c1059086ae860836ffb9 https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda#edb808d7f7396478ab6e457e697b8ec5 -https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-48.0.1-py312h1238841_0.conda#58d219a4b6503131c474f333b260f385 +https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py314h0d331bb_0.conda#8eb2d079cb2d42f28bc85c73977d05de https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda#42834439227a4551b939beeeb8a4b085 https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda#d4f3f31ee39db3efecb96c0728d4bdbf https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-pyhd8ed1ab_0.conda#a55b220de8970208f583e38639cfbecc @@ -81,20 +83,20 @@ https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.c https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda#03fe290994c5e4ec17293cfb6bdce520 https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda#b8993c19b0c32a2f7b66cbb58ca27069 https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda#8e662bd460bda79b1ea39194e3c4c9ab -https://conda.anaconda.org/conda-forge/noarch/anyio-4.13.0-pyhcf101f3_0.conda#af2df4b9108808da3dc76710fe50eae2 +https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda#7498bb2648f852c6a3cd5724ca80bdeb https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda#4f14640d58e2cc0aa0819d9d8ba125bb https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda#d6989ead454181f4f9bc987d3dc4e285 https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda#15fe83cb157467c0c85c375f56abf199 https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda#78a0fe9e9c50d2c381e8ee47e3ea437d -https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda#95a5f0831b5e0b1075bbd80fcffc52ac +https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda#dcf51e564317816cb8d546891019b3ab https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda#7b2af124684a994217e62c641bca2e48 https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda#89d5edf5d52d3bc1ed4d7d3feef508ba https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda#3b887b7b3468b0f494b4fad40178b043 https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda#edd329d7d3a4ab45dcf905899a7a6115 -https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.1-py312h6510ced_0.conda#bd46cb7969581b244df620180a8f9814 -https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.50-py312hb3ab3e3_0.conda#f1457bb33425ec79066147419d66762d +https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py314he609de1_0.conda#98ee4e107dd538b2fbd183b0ecad5a84 +https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.51-py314ha14b1ff_0.conda#540fe3cb235eb16dcf0ff5e13eb96411 https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda#53f5409c5cfd6c5a66417d68e3f0a864 -https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py312hb9d4441_0.conda#e38d54c5e4318faa79f71b713b059566 +https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py314h54f3292_0.conda#16314d88257820013e698381af19153f https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda#2934f256a8acfe48f6ebb4fce6cde29c https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda#729843edafc0899b3348bd3f19525b9d https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_0.conda#00e6147bef9a85139099c9861c3b976b @@ -103,7 +105,7 @@ https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1. https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda#78f0a9e3ec845ef8e35e319bc36dee9b https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda#0d8bbf1699b16ac225031ae0c73729f8 https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda#8e4971d25d53f168dfb64d6f5ee1316d -https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda#196427409c7a36c934df2c261edb164f +https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py314he1d1ac0_0.conda#58fe40c3bba570ac2cbfac4f4ea983b7 https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda#c6b0543676ecb1fb2d7643941fe375f2 https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda#870293df500ca7e18bedefa5838a22ab https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda#bd1b597f41e950e2058978497bf35c2e @@ -114,30 +116,54 @@ https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1. https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda#f76979642f978340ec48d809c548732f https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda#3687cc0b82a8b4c17e1f0eb7e47163d5 https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda#d6bd3cd217e62bbd7efe67ff224cd667 -https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda#5a81866192811f3a0827f5f93e589f02 -https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py312h38bd297_3.conda#c04e802b868f8d004e42d4a35f6a30f0 -https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hb3ab3e3_0.conda#fd856899666759403b3c16dcba2f56ff +https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda#69a01a9927733014f3955861e2969a7b +https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py314h676fd1f_3.conda#568c38aba1768777e2e92bfd1a3e94f2 +https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py314ha14b1ff_0.conda#fc4c7ab223873eee32080d51600ce7e7 https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda#37e3be7b6e2977d37b8fa5da229f5dc0 https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda#23029aae904a2ba587daba708208012f https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda#b38fe4e78ee75def7e599843ef4c1ab0 https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda#439cd0f567d697b20a8f45cb70a1005a https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda#ada41c863af263cc4c5fcbaff7c3e4dc https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda#bbe1963f1e47f594070ffe87cdf612ea -https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py312h04c11ed_1.conda#11d95ab83ef0a82cc2de12c1e0b47fe4 +https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda#d33c0a15882b70255abdd54711b06a45 https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda#04558c96691bed63104678757beb4f8d -https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda#3290a7dc4c56a0ccacee9cc8213dcffd +https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py314hb84d1df_2.conda#0749dc3555b919277586d96a8e3240f7 https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda#b899f1195be56d8215ed1973a8f409c3 https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda#98958318a01373a615f119b1040b3027 https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2#e270fff08907db8691c02a0eda8d38ae https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda#e52c2a160d6bd0649c9fafdf0c813357 -https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda#63362e0f2c4a00fa79a1f2c0a58587a7 +https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda#ff39f8e27137655553f9fbb842ee1aa2 +https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda#83ea3a2ddb7a75c1b09cea582aa4f106 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda#6d03368f2b2b0a5fb6839df53b2eb5e0 +https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda#0242025a3c804966bf71aa04eee82f66 +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 +https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_0.conda#52be5139047efadaeeb19c6a5103f92a +https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda#71d2c80673511fab927bd15592994030 +https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda#ad6821df7a98510117db06e9a833281f +https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda#4fdd327852ffefc83173a7c029690d0c +https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda#1005e1f39083adad2384772e8e384e43 +https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-pyhcf101f3_0.conda#942b41d6058c938355781fd589656b06 +https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda#49647ac1de4d1e4b49124aedf3934e02 +https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda#7d2e90221b5da6f0577d150cfe6b87ed +https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda#d408fa8ff9f17887378715dcf024d359 +https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda#31db8c55a8dda3abd4625a2880ea3d34 +https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda#5641505172527e4f75ef28139317c7a9 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 +https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 +https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda#a73036dabdd6dfe9679ed893baa8b230 +https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda#c45fa7cf996b766cb63eadf3c3e6408a +https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda#f3549a4607ecf6f0bdbb4afe9b05f2d2 +https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda#38ba1f1279491d848303cd050dfe56cc +https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda#8fbd31325e6fbb325e15625471b44dfc https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda#99b9953692a58a31aa94c0d127e71c32 https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda#7d4f2bf739967798eb4d8c02d59cf36c https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda#d11d20e557970783b9dbc68d36d3c37a https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2#9b1db7127119f513696d620eefe7bf67 -https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.17-h80928e0_0.conda#c39fd9e9b62acbfe880a8f07f4ff9b77 -https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py312hb3ab3e3_1.conda#b3f01912f92602e178c7106d5191f06e +https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py314ha14b1ff_1.conda#5836fbf79e5f279ffbe4ba06066c51a3 https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda#06ad944772941d5dae1e0d09848d8e49 https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda#145c6f2ac90174d9ad1a2a51b9d7c1dd https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda#9aa358575bbd4be126eaa5e0039f835c @@ -152,8 +178,8 @@ https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda#36d https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.6-hc919400_0.conda#bcb3cba70cf1eec964a03b4ba7775f01 https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda#6ea18834adbc3b33df9bd9fb45eaf95b https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda#44083d2d2c2025afca315c7a172eab2b -https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h385eeb1_0.conda#e446e1822f4da8e5080a9de93474184d -https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.20.0-hd5a2499_0.conda#2f57b7d0c6adda88957586b7afd78438 +https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda#8780f41b013d19219faef9c82260744b +https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_0.conda#862eb5c81e1295f492fa261a68a4233f https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.conda#8f33a4a2b856de0e8f006c489beca62a https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda#0b886d06130b774f086d3b2ce0b7277a https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda#9b4190c4055435ca3502070186eba53a @@ -178,7 +204,7 @@ https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.c https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda#079e88933963f3f149054eec2c487bc2 https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda#05bead8980f5ae6a070117dacec38b5b https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h925e9cb_1002.conda#e56eaa1beab0e7fed559ae9c0264dd88 -https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.7-gpl_h6fbacd7_101.conda#f88655b640e9ffc8f0c3f08122e0bb31 +https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.8-gpl_h6fbacd7_100.conda#cfa10f3c4b14c13f676dc08e2ea29023 https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda#94f14ef6157687c30feb44e1abecd577 https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda#95fa1486c77505330c20f7202492b913 https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda#fca4a2222994acd7f691e57f94b750c5 @@ -188,28 +214,32 @@ https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda#f22 https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda#55c7804f428719241a90b152016085a1 https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda#e9b05deb91c013e5224672a4ba9cf8d1 https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda#8c4061f499edec6b8ac7000f6d586829 -https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py312h8fc80b0_0.conda#bfdb10beb992ce47e89062dcedcb22b9 -https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hce17ad6_3.conda#18dc7145b9e8f7a422ebb698b78b0284 -https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda#27583d44e139c520d9fdc1fd7aedd58d +https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py314h5002e4e_0.conda#8a3db2ceb5103f48878c510065febca3 +https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py314hb2113e1_3.conda#841b9e806c0d84635ff9cf329623cf8f +https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda#a0811eb1142b4da29162d1931922a1ec +https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py314h6c2aa35_0.conda#f96c48a75942b72af1246d789fa8ba29 +https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py314h277790e_2.conda#947d1f4e3160c83140a9c8bcb046fdac +https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py314h3da1bed_0.conda#9b33fa020bd4da86a2dddfd0f63a43ba +https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py314hf8d3afe_6.conda#d30d4527aacdf33b1e80ef858f33608c +https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda#290f97c3fcfab8323023b10cbb4f6cc2 https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2#0c14e44bc93a99cdc11398311c3c0dcf https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda#130584ad9f3a513cdd71b1fdc1244e9c https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda#fed55ddd65a830cb62e78f07cfffcd41 https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda#440c0a36cc20db1f28877a69afbb5e88 https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda#eed7278dfbab727b56f2c0b64330814b https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda#a47a14da2103c9c7a390f7c8bc8d7f9b -https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.88.0-h0419b56_7.conda#34e8ce0732bb254bd17f0b9ecea788c2 +https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.90.0-h0419b56_1.conda#c0cc232de93ca04196d6b4e46037d1f3 https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda#99073be867a14872be24fe21a23b18c0 https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda#7687ec5796288536947bf616179726d8 https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda#6a8cee5bf8c0272917bedc4318de4f2c https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.conda#2f93d2461c2ce57af8f1a06ef98b6146 https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda#bb25b8fa2b28474412dda4e1a95853b4 https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda#d7ce0fa8a1d1840691a12bbf409f29c6 -https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-h2279441_0.conda#5baa432015ef85756cef4a175f648a8f -https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py312h60fbb24_0.conda#dcfa1b04b87e2c14fdd1501de2961513 +https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-ha8121a5_1.conda#a37f252615ce7a1349ea29929d46d816 +https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py314hdd732f0_0.conda#81fdc6c03c91ab864364100764f57eaf https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda#3449ef730c7d483adde81993994092b9 -https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py312h35cd81b_2.conda#624173184d65db80f267b6191c1ad26d https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda#8678577a52161cc4e1c93fcc18e8a646 -https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda#31f49265d8de9776cd15b421f24b23e0 +https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py314hdcf55e8_0.conda#2f8503de3570507c06be9fd9cdf53e32 https://conda.anaconda.org/conda-forge/osx-arm64/qhull-2020.2-h420ef59_5.conda#6483b1f59526e05d7d894e466b5b6924 https://conda.anaconda.org/conda-forge/osx-arm64/zlib-ng-2.3.3-hed4e4f5_1.conda#d99c2a23a31b0172e90f456f580b695e https://conda.anaconda.org/conda-forge/osx-arm64/openjpeg-2.5.4-hd9e9057_0.conda#4b5d3a91320976eec71678fad1e3569b @@ -220,98 +250,101 @@ https://conda.anaconda.org/conda-forge/osx-arm64/libxcb-1.17.0-hdb1d25a_0.conda# https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda#a0bb0678f67c464938d3693fa96f6884 https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_1.conda#0582e67cd14cfed773be2f3b1aba08e0 https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.conda#d2f2c7c10e2957647d45589b7701a453 -https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py312h4e908a4_0.conda#0634560e556adb3e7924668e49ad53fc -https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py312h3093aea_0.conda#58261af35f0d33fd28e2257b208a1be0 +https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py314hab283cf_0.conda#adf49537da0e0c34cf735e71fe579506 +https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda#5103f6a6b210a3912faf8d7db516918c +https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda#62d6f3b832d7d79ae0c0aa1bb3c325fa +https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda#0d576cff278a2e60456d5b2c0a1ffda3 +https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda#17c3d745db6ea72ae2fce17e7338547f +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab +https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda#9d928e6a62192141fb6540a3125b1345 +https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda#36200ecfbbfbcb82063c87725434161f +https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda#389b1c7cb4738fa74f8a142336807a13 +https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda#04bdce8d93a4ed181d1d726163c2d447 +https://conda.anaconda.org/conda-forge/osx-arm64/libraqm-0.10.5-h29bd36a_0.conda#4c7999b62691f4ed6e0650832b7b6cff +https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py314hf8a3a22_0.conda#eb1465d8a644ef290d18fb86af6e9bc4 https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda#7bd06ab4ed807154c2d9031eb5ebf025 -https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda#45b836f333fd3e282c16fff7dc82994e +https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py314h6c2aa35_0.conda#4fffb3ba871bb05f34ffb705534dfef5 https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda#37293a85a0f4f77bbd9cf7aaefc62609 https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.2.0-hc919400_1.conda#377d015c103ad7f3371be1777f8b584c https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.2.0-h7d5ae5b_1.conda#48ece20aa479be6ac9a284772827d00c -https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda#77e64a600d8426c3863942f67491f5fb +https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda#0509ee74d95e5b98eb6fe2a47760e399 https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda#4c2a8fef270f6c69591889b93f9f55c1 -https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda#f9cce0bc86b46533489a994a47d3c7d2 -https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.9-py312hf3defc7_0.conda#e5d83f3ae6ada32d4e64e366a41f9ff6 +https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py314hf8a3a22_4.conda#cddc851000ce131d757678c2f329eaad +https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py314ha5eae4c_0.conda#be491edfb88200e074cee944c46a4296 https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda#fd96da444e81f9e6fcaac38590f3dd42 https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda#62afb877ca2c2b4b6f9ecb37320085b6 https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda#46830ee16925d5ed250850503b5dc3a8 -https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py312hb55a559_2.conda#0b40dc79b27e81b07eff3251c3c39f13 +https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py314hac0e451_2.conda#cf86b27040c4625593d865bc504cc7f8 https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda#13e6d9ae0efbc9d2e9a01a91f4372b41 https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda#65797138355b90a8e219afcf7e77b273 -https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-3.1.3-hf9886e1_0.conda#8cbeea5e4377be5f486b94ee658590a9 -https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py312h53cfef5_3.conda#0e586245fced5f993bd231fb1b05a71e +https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-3.1.4-hf9886e1_0.conda#dbc854c2a2fbeda409d0391dde083cd0 +https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py314h9d157c6_3.conda#36be3d9a93693ddf57b79e30b045ad9b https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda#18301be1ab749bc57ae189377836cc47 -https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda#499b2e5cc7cf18761cfd20d6fb837f48 https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_0.conda#7177414f275db66735a17d316b0a81d6 https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda#ff5d749fd711dc7759e127db38005924 https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.conda#82a39939eb22d375750b85ed42cdbaba -https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.conda#bd54402123a03de02e03c509597c635b -https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py312h947358d_100.conda#4d0a4809609db6402315d591d0fdc90a +https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py314h2115a04_1.conda#a03f98abd72452e57a6667a58a5a2fdf +https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py314ha229517_100.conda#c2e349b932ebd08123faef6e9ce2f2d7 https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda#c07a6153f8306e45794774cf9b13bd32 -https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda#f54c1ffb8ecedb85a8b7fcde3a187212 -https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda#32780d6794b8056b78602103a04e90ef +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda#b28fe35fd43d5f425c0dccbe5b5039fd +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda#224f69f177eb5aae6c9a6052846bf609 https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f -https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.41.2-py310hb2fc7d1_0.conda#6953292a6ca15934f9f003498f61f3c6 -https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda#120e580ad04dadc09105071cabe732ee +https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_0.conda#691bbf4b0cbb87a6edda5b56cf8cce4c +https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda#407e5c3dd0d5966897e0dc6b1485f4a4 https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda#360dbb413ee2c170a0a684a33c4fc6b8 -https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.conda#a772c3d86f4e74dabcae0817d2af73c5 +https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py314hc77ea51_2.conda#86bed25422f2e8bb5b099806806df326 https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2#32bd82a6a625ea6ce090a81c3d34edeb -https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda#0c8ad601cdbec3be85d1c62080b388d7 +https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py314h8744745_1.conda#b63f8d58f71157e6ffdcac373fa5e8ab https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda#ba7f04ba62be69f9c9fef0c4487c210b https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda#060f099756e6baf2ed51b9065e44eda8 https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda#1b35e663ed321840af65e7c5cde419f2 https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda#9f05750adae48f79259ee79aa4b02e52 https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda#f5856b3b9dae4463348a7ec23c1301f2 -https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda#40ee987933a16b51f5f917187ab724f7 -https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 -https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda#5a2944f868149ad5a2e6588be8eed838 +https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py314h7689434_1.conda#9c09a98fc257aa3bde2a322f96d97282 https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda#f5a488544d2eb37f46b3bebf1f378337 https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda#58958bb50f986ac0c46f73b6e290d5fe https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda#644bd4ca9f68ef536b902685d773d697 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda#063a810c2e0ee1a5e921ecd57b5e4b72 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda#cdfb2ceb9f800dcf603e193f668690cd https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda#c689b62552f6b63f32f3322e463f3805 -https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda#6c4420db8ea9288594164a8b5f8bcf6c -https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda#8094abe00f22955a9396d91c690f36e8 -https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda#06fdb5dc3e653b8edfd9475feae69bab -https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda#4dba3a2eb282b85b3f6e0a25b6af0d8a +https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda#e3cbba0c0ab42143adeefd1d09866695 +https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda#ad92dba7ca0af0e3dca083a0fa6a3423 +https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda#517da2b90b0910492f03ae3b297efff9 +https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda#7a2d9f4d9f57da47251b2050b149bdf8 +https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda#0d0ef7e4a0996b2c4ac2175a12b3bf69 https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda#421a865222cd0c9d83ff08bc78bf3a61 https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda#8a9936643c4a9565459c4a8eb5d4e3ff -https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda#3946bccca9216a21d4a61a49a902aa06 -https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda#d50b6addfb7f132c6da4cc67e1a9470b +https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda#fc49257102291bf3724c550e7ce4b188 +https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda#e8deca19695b2d6e31ada22746c164ec https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda#83afc1048b879d3c2dd91f48ce78978f +https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda#5fc3d86518a050fe18719eb49cd0e6ad -https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda#48fcccc0b579087018df0afc332b8bd6 -https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda#844afce24940aea65d47ce392bc7296d +https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda#7a191cc7d8d50e6dd565f15c1b92170b +https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda#9d08e3e18b2bc07d93d6cbe988c1a28d https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2#7b6747d7cc2076341029cff659669e8b https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4 https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda#0badf9c54e24cecfb0ad2f99d680c163 -https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 -https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda#2c11aa96ea85ced419de710c1c3a78ff +https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda#7d7e6c826ba0743fc491ebee0e7b899c https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda#61b8078a0905b12529abc622406cb62c -https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda#809f4cde7c853f437becc43415a2ecdf -https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.conda#c0801688b09699777011e72c800eead0 -https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda#55d19f7062b690dd95e669e9a0bb5fba -https://conda.anaconda.org/conda-forge/osx-arm64/rapidfuzz-3.14.5-py312h6d95f44_0.conda#e5b512c0aeaf91b5fc493008b6c9b4e5 -https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py312h455b684_0.conda#8989afb06de47502b2f4d2be15478180 +https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda#56a3cae23de84509452da890fb2bfd85 +https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py314hfa18b03_3.conda#f48af87bb77ab96c244e5105c4a9434b +https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda#c1c64645ec79275e496eeefb689d4d47 +https://conda.anaconda.org/conda-forge/osx-arm64/rapidfuzz-3.14.5-py314h4ed92d5_0.conda#fbb1c5de4d1d4b333d07d3b16a300750 +https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py314h93ecee7_0.conda#b44162ac7ec9d25dff4b9b61285ba540 https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda#4487b9c371d0161d54b5c7bbd890c0fc -https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py312h07dd7c3_0.conda#41000dd333aabfc38a70ff8635cf1d6e https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda#cc293b4cad9909bf66ca117ea90d4631 https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda#18789a85c307970ae1786dfc6dfd234f https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda#1fcdf88e7a8c296d3df8409bf0690db4 https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda#a6997a7dcd6673c0692c61dfeaea14ab https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda#4eb8b870142ca06d2a1d2c74662eac7d -https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda#0eaee053535b142b952b44f48ee24c02 -https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda#42ef10a8f7f5d55a2e267c0d5daa6387 -https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 -https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda#827064ddfe0de2917fb29f1da4f8f533 -https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda#98cdd8615792e90da1023bc546f806d9 -https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda#080a808fce955026bf82107d955d32da -https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 -https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py312h81bd7bf_0.conda#6d1f4744a6b483b7738b60f4cd508a20 -https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda#7d9916ed19ecda71f0b00963365252a7 +https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda#658fdb0a50c41f214553706c4d702195 https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2#a2e1ba950c0ec23e3ea0b915743a37e0 https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda#49b01263c5348a30838ba148a30126cf -https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.12.1-py312h6510ced_1.conda#7bd7aa320adfe5deca76487355fc5e0c +https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py314he609de1_0.conda#d2ff8652d2bfe6de26a280b37e2dc5e6 https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda#7ac5f795c15f288984e32add616cdc59 https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda#eb57a77657c275d8d0b3542b070f484c https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda#2b25a90124b8bbc7d01474dafecc815e @@ -345,37 +378,28 @@ https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.35.4-h74951b9_0.c https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h4e1b0f7_10.conda#a392fe9e9a3c6e0b65161533aca39be9 https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda#8cbb6099377c13f1932c6a04d5da013f https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda#605c1d25d6ea55f0d110a15cb7c95dfe -https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py312h21b41d0_0_cpu.conda#724800000ee5b687c836cc33cdd83b26 +https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py314h109bba2_0_cpu.conda#aa1d17da20a278b28d583e018f025f05 https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda#1a109764bff3bdc7bdd84088347d71dc https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h1fb9c8a_2.conda#d006875f9a58a44f92aec9a7ebeb7150 https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda#7b877b0e610ca5a58a8947eadb1f6191 https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda#db14af88015df0dbd660a5eb814a1b23 https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda#3da2f4cd4f855e2bcbd668038a5fcd13 https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda#6b25f000c0719ee305470f62147bfdc6 -https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py312h1f38498_0.conda#5a94239761dac0bef912f3fa75e00e53 +https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py314he55896b_0.conda#0db5ac80a331c9e37edd4529e1867e2b https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda#fa31df4d4193aabccaf09ce78a187faf https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda#4460f039b7dedf15f7df086446ca75ae https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda#531ff805a1551c6caaf976d577ea233c https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda#33197d0b44a95fa6ea53c04db06a4f94 https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda#71bf9646cbfabf3022c8da4b6b4da737 -https://conda.anaconda.org/conda-forge/osx-arm64/openpyxl-3.1.5-py312h2a925e6_3.conda#81e1c2e42e0bed7dc7d412dbb1b53a46 -https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py312h4409184_0.conda#25e133d3e2a3624d37c8dba3712dd932 -https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda#6fa414f2828958e28a1b253ff02634a2 -https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda#0c5f9ee81f0fac33b7fac8c7591913e6 +https://conda.anaconda.org/conda-forge/osx-arm64/openpyxl-3.1.5-py314h9748aab_3.conda#bfa728b57e0a843a812b001cd98fca52 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda#66f138d7a6dffb5c959cc4bf6dc2b797 +https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda#b9f2040f64c84731ac3f497c992d2656 https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_0.conda#7dd72a4c857cd652a1e23c13099a15d2 https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda#9e21f087f087f805debe877d88e00a14 https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda#3b261da3fe9b4168738712832410b022 https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda#10ed48920132137dd2f46f2dc218d524 https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda#328fcdd7991b7494dc780b16b831de62 -https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda#7a9095c9300d1b50b1785ca9bc4cadae -https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda#141ec0ac00f1c946cb058d4e710f269a -https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda#52434c636a05a06806d0978128d98c19 -https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda#eb52d14a901e23c39e9e7b4a1a5c015f -https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py312h766f71e_0.conda#e80504aa921f5ab11456f27bd9ef5d25 -https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda#84a3233b709a289a4ddd7a2fd27dd988 -https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda#381bd45fb7aa032691f3063aff47e3a1 -https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda#7859736b4f8ebe6c8481bf48d91c9a1e https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda#91f5637b706492b9e418da1872fd61ce https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda#53cb4b14ab0841e104e2bd11ee64b840 https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda#62ed8c560f1b5b8d74ed11e68e9ae223 @@ -386,106 +410,29 @@ https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda#3770774486c8b9e822c6bf996da18a25 https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda#e941e85e273121222580723010bd4fa2 https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda#e1bccffd88819e75729412799824e270 -https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py312h2bbb03f_0.conda#d037e9adb0365ab53445f357bd9a035f -https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.9-py312h1f38498_0.conda#94174d301ce2f5962197fb9b880ea8ff +https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py314h6c2aa35_0.conda#cc1d84777343f00f01c08a2d9550f639 +https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py314he55896b_0.conda#d61cd6ed508704b12c3a50d5f5fa7f52 https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda#90f7ed12bb3c164c758131b3d3c2ab0c -https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py312h2f8615f_0.conda#5d4ec6ba8251efc330cc0615109b46ce +https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda#1f41be2aa1490c4da46da7c2e0de83d6 https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda#54fc1bd391970992305aa62e753992f5 https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda#47e896a67e8246c6ef98f9dc13181ef1 https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda#655acd448c73740abdb3716407a3a650 -https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 -https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda#7d9daffbb8d8e0af0f769dbbcd173a54 -https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda#17b43cee5cc84969529d5d0b0309b2cb -https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.1-py312h19bbe71_0.conda#c65d7abdc9e60fd3af0ed852591adf1b -https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.1-py312h1de3e18_0.conda#f0bae1b67ece138378923e340b940051 -https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda#b70e2d44e6aa2beb69ba64206a16e4c6 -https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda#9ed5ab909c449bdcae72322e44875a18 -https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.conda#d31c0e54c4f9c51100ec8c812ee925d1 -https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.conda#73f22bde4991f30ae2bfac3811577c15 -https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_0.conda#a11ab1f31af799dd93c3a39881528884 -https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda#f6d7aa696c67756a650e91e15e88223c -https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda#e51f1e4089cad105b6cac64bd8166587 -https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 -https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2#457c2c8c08e54905d6954e79cb5b5db9 -https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda#49440e66df843bee2273937e8032ec43 -https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda#cf01a81d7960ad9c829bf2e794fcee9a -https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda#b97e84d1553b4a1c765b87fff83453ad -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda#fd312693df06da3578383232528c468d -https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2#961b3a227b437d82ad7054484cfa71b2 -https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda#2841eb5bfc75ce15e9a0054b98dcd64d -https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda#f1acf5fdefa8300de697982bcb1761c9 -https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda#93009c29cdd6f2500468f2502fff9209 -https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda#5f710eab1f3c4e773c75686f5e8e6481 -https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda#2bce0d047658a91b99441390b9b27045 -https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda#7b8bace4943e0dc345fc45938826f2b8 -https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2#912a71cc01012ee38e6b90ddd561e36f -https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda#36de09a8d3e5d5e6f4ee63af49e59706 -https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda#982ed0cbfc0fe09f25861e3d111e9717 -https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda#6639b6b0d8b5a284f027a2003669aa65 -https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda#e7cb0f5745e4c5035a460248334af7eb -https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda#9b965c999135d43a3d0f7bd7d024e26a -https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda#7234f99325263a5af6d4cd195035e8f2 -https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda#89bf346df77603055d3c8fe5811691e6 -https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda#85c4f19f377424eafc4ed7911b291642 -https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda#0b0154421989637d424ccf0f104be51a -https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a -https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 -https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda#d3549fd50d450b6d9e7dddff25dd2110 -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda#8368d58342d0825f0843dc6acdd0c483 -https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda#bf42ee94c750c0b2e7e998b79ac299ea -https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py312h4409184_2.conda#0a2a07b42db3f92b8dccf0f60b5ebee8 -https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda#8ac12aff0860280ee0cff7fa2cf63f3b -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda#82525f37e0976e83bbb69bc4d4011665 -https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda#e7f89ea5f7ea9401642758ff50a2d9c1 -https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda#1269891272187518a0a75c286f7d0bbf -https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda#f1976ce927373500cc19d3c0b2c85177 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda#a63877cb23de826b1620d3adfccc4014 -https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda#0c3b465ceee138b9c39279cc02e5c4a0 -https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda#fcd832bfd4749e9b246112b6894f97fc -https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 +https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py314h4ed92d5_0.conda#00276e9b845124cb1a14135fecc8db86 https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda#3bfdfb8dbcdc4af1ae3f9a8eb3948f04 https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda#ff9efb7f7469aed3c4a8106ffa29593c https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda#9673a61a297b00016442e022d689faa6 https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda#b1b505328da7a6b246787df4b5a49fbc https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda#19c961dd9cab6c3e13cd195f0176dbfa https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda#edb16f14d920fb3faf17f5ce582942d6 +https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda#7d9daffbb8d8e0af0f769dbbcd173a54 https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda#d0d408b1f18883a944376da5cf8101ea +https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda#39894c952938276405a1bd30e4ce2caf -https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda#a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 +https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda#c2b3d37aa1411031126036ee76a8a861 https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda#bd80ba060603cc228d9d81c257093119 https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda#61dcf784d59ef0bd62c57d982b154ace https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda#fbd58549b374103c1a80577f09a328ef -https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py312h6510ced_0.conda#178381b74c5e84ea90751c5e4291c41e -https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda#2da13f2b299d8e1995bafbbe9689a2f7 -https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda#54898d0f524c9dee622d44bbb081a8ab -https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda#a1ddab91145f7f06eee769d2f3ac69cd -https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda#b85e84cb64c762569cc1a760c2327e0a -https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda#8e3f969b0c5d9c22191f3c3306c0f1fb -https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda#0ba6225c279baf7ea9473a62ea0ec9ae -https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda#92b46e8c96039d3d7c4958f426bca753 -https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda#6d034d3a6093adbba7b24cb69c8c621e -https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda#801dbf535ec26508fac6d4b24adfb76e -https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda#4d52bbdb661dc1b5a1c2aeb1afcd9a67 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda#05a08b368343304618b6a88425aa851a -https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda#2f0ba4bc12af346bc6c99bdc377e8944 -https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda#47672c493015ab57d5fcde9531ab18ef -https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda#9453512288d20847de4356327d0e1282 -https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py312h6d95f44_0.conda#6afbde95c6cfc2b3ece9307536bbc1f8 -https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py312_0.conda#07e18cdfc8450b2f7c8ef165d8bce050 -https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda#5103f6a6b210a3912faf8d7db516918c -https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda#62d6f3b832d7d79ae0c0aa1bb3c325fa -https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda#0d576cff278a2e60456d5b2c0a1ffda3 -https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda#17c3d745db6ea72ae2fce17e7338547f -https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb -https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab -https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda#9d928e6a62192141fb6540a3125b1345 -https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda#36200ecfbbfbcb82063c87725434161f -https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda#389b1c7cb4738fa74f8a142336807a13 -https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda#04bdce8d93a4ed181d1d726163c2d447 +https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py314_0.conda#14e339ba82d7afb1f1ac8c840ef764b5 https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda#4b433508ebb295c05dd3d03daf27f7bb https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda#e67ebd2f639f46e52af8531622fa6051 https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda#6973724fadafe66ac6e4f1c55c191407 @@ -500,44 +447,45 @@ https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.con https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda#1f3d859de3ca2bcaa845e92e87d73660 https://conda.anaconda.org/conda-forge/osx-arm64/glpk-5.0-h6d7a090_0.tar.bz2#02b868940101a06a6365c109ab1a94fe https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda#c3cee0e0843e38698c45dfec869e9888 -https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h515fe7d_6.conda#ac14e26b9c555ef3aee80db8fcfce7e6 https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda#4a25cae637029c5589135903aa15b3b6 -https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.2-py312h84eede6_1.conda#e3973f0ac5ac854bf86f0d5674a1a289 +https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py314h6cfcd04_0.conda#7f80c3267c4b89767d7bbdf36d69fe80 https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda#5498feb783ab29db6ca8845f68fa0f03 -https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py312h5978115_0.conda#1de2e6a0fda23e8fb7e31c87b3a422a8 +https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py314ha3d490a_0.conda#0aaf2782f8b7e4ca443b0d83c2a1ffdf https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda#c56a7fa5597ad78b62e1f5d21f7f8b8f -https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda#c1844a94b2be61bb03bbb71574a0abfc +https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda#b787cd1f01e24b161261438a5589df51 https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda#8e7be844ccb9706a999a337e056606ab https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda#77ae41598d63b453bb3c9052f4a14c4b -https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda#d6561da751793e9f534b175e070b19d3 +https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a +https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 +https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py314hb49d8aa_102.conda#89abd846fe2692170eaed00842486ce1 https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda#ca7f9ba8762d3e360e47917a10e23760 https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda#cc73a9bd315659dc5307a5270f44786f -https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda#b2d0ce05d097824ccfa3ab6f52535d0f -https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda#ebdb9fd5092c50620a226c7e23daab3b -https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda#4b9a16cd57559083d52f7a50071dc463 -https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda#9a005ba5f540619a1343587b4ee3d95e -https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda#9e18b048c69d2d72bc69d120a435d731 -https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda#8e6ba36f4f355b2be42009a13b6e8f29 -https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda#cd69cf54cee41b81bbed095a5e2a61d7 +https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-pyhd8ed1ab_0.conda#f5e09a21f1ee38e1be4787fea94e6823 +https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda#a359066b94e013283b7e11559fbb19fc +https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda#f740e8acb38ea16c22e60b6fc0ae7c9e +https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda#3fab2110d93a828f88ace66e418d6ef8 +https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda#690847cdb78772816f430fc91490f915 +https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda#0b9176cd15bf526d74fd6638df5194af +https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py314ha3d490a_1.conda#5def62152c68e2343228e1b27a9338c0 https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda#d7585b6550ad04c8c5e21097ada2888e https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 -https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda#6a991452eadf2771952f39d43615bb3e +https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda#64c98a12c4e23eb238bf66bbecafdf3c https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda#24ed1dc544b101075fa7462be5c3a5c5 https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda#e557abf678a0bf100fe7cf9d2b4f4a72 -https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py312h2b25a0d_1.conda#43132aaf61e6d8a59624b2da26aec518 +https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py314h24f3bdd_1.conda#aea17e1b366b814eff15fc3c8c4c1e3c https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda#e52c2ef711ccf31bb7f70ca87d144b9e https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda#f88bb644823094f436792f80fba3207e https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda#0401a17ae845fa72c7210e206ec5647d -https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py312h2bbb03f_2.conda#49389c14c49a416f458ce91491f62c67 -https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda#8efb90a27e3b948514a428cb99f3fc70 +https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py314h6c2aa35_2.conda#aae872d4d6847677924de8e023e00457 +https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda#2a6851a6c69ce7c0b03a89d5d4209257 https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda#123fcfe0df4b6fc21804538e59cdaafe -https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda#f9761ef056ba0ccef16e01cfceee62c2 +https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda#a2d2a05abf6076c3d041ec91b2235823 https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda#fa9e9ec7bf26619a8edd3e11155f15d6 https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda#e3f3a2a62fbaad99f327440dfd8a3ac3 https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda#a3a6aa5eb19e85c456ad3bc7b98777af -https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda#0b8875fe8636ddbcbd39506faa1adc2a +https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py314h4e57505_0.conda#26721c02a73db4229e58d0878a68e815 https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda#0f12f8436a2a238e255d49ea3f8aefe2 -https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda#e585c71c2ed48e4eee1663d627ddcd47 +https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda#d4e8f98a575bf884db81344e7a9fbe95 https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda#fc8b15af108a2fdb15ef04d12fbfe87d https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda#1f878573c1ee2798c052bee1f5a94f50 -https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda#81f981df273cd627927372680aa9dd31 +https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda#eb6d307eabcb6918e1c34cce221546bc diff --git a/envs/default_win-64.pin.txt b/envs/default_win-64.pin.txt index b8d9d95c3c..cdda585bb9 100644 --- a/envs/default_win-64.pin.txt +++ b/envs/default_win-64.pin.txt @@ -2,73 +2,74 @@ # platform: win-64 @EXPLICIT https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda#71b24316859acd00bdb8b38f5e2ce328 -https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_38.conda#63ee70d69d7540e821940dac5d4d9ba2 -https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_38.conda#2cdcd8ea1010920911bb2eacb4c61227 -https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_38.conda#774568633f3b26d7a4a6dd4f9ea6d3e1 +https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda#8b53a83fda40ec679e4d63fa32fae989 +https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda#06a5bf5a1ca16cce0df6eaa91fc42bc2 +https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda#2eacea63f545b97342da520df6854276 +https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda#dbabbd6234dea34040e631f87676292f +https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda#053b84beec00b71ea8ff7a4f84b55207 https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda#ad659d0a2b3e47e38d829aa8cad2d610 https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda#0481bfd9814bf525bd4b3ee4b51494c4 -https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda#c9b86eece2f944541b86441c94117ab3 +https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda#0539938c55b6b1a59b560e843ad864a4 +https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda#b9696b2cf00dfeec138c70cee38ed192 https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda#e99f95734a326c0fd4d02bbd995150d4 -https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda#dbabbd6234dea34040e631f87676292f https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-hf5d6505_0.conda#df294e7f9f24a6063f0e226f4d028fda +https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda#e4a9fc2bba3b022dad998c78856afe47 https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda#8f83619ab1588b98dd99c90b0bfc5c6d https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda#720b39f5ec0610457b725eb3f396219a https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda#ccc490c81ffe14181861beac0e8f3169 https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda#4cb8e6b48f67de0b018719cdf1136306 -https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda#2956dff38eb9f8332ad4caeba941cfe7 +https://conda.anaconda.org/conda-forge/win-64/python-3.14.5-h4b44e0e_100_cp314.conda#3f76bc298eebc1ec1497852f4d7f09d9 https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda#962b9857ee8e7018c22f2776ffa0b2d7 -https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyha7b4d00_1.conda#f73d419741d981f9a22939d0cb68bd4a +https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyha7b4d00_0.conda#af77160f8428924c17db94e04aa69409 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda#9d64911b31d57ca443e9f1e36b04385f -https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda#c3efd25ac4d74b1584d2f7a57195ddf1 https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda#e2591f7c5a702a478532441e83648878 https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda#cae9364b4d1f1af0c9b9595b01fcd6be https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_hc41557d_netlib.conda#ccbf2d1416567af1b8d098b6f3ba2f32 -https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda#f9ac74c3b07c396014434aca1e58d362 -https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda#0b8c96ed1c04732ff8eb5d481b44c43c -https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda#df95e6c7325bbae2571e5cef5f9c8096 +https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda#a925cfb1429da2b1312c86516ae7c418 https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda#8e194e7b992f99a5015edbd4ebd38efd https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda#615de2a4d97af50c350e5cf160149e77 -https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.9.0-np2py312hea30aaf_0.conda#0637562978d4231902754645e4c28640 -https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda#59ff39db0d6598ac55d161861ade8fb7 -https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda#03cb60f505ad3ada0a95277af5faeb1a +https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py314h1b5b07a_1.conda#ba2216c82d626684433912bfec8a4843 +https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py314h13fbf68_0.conda#b3d7a65529b0a99dc612b4ef3ede8f51 +https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 +https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda#9450fb40fb1e147d0bcbdf07cd02ca96 +https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda#3e9427ee186846052e81fadde8ebe96a https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda#f6ad7450fc21e00ecc23812baed6d2e4 https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda#3339e3b65d58accf4ca4fb8748ab16b3 https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda#5b8d21249ff20967101ffa321cab24e8 -https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.3-py312hc128f0a_2.conda#57d80e87a8b3161bcf26472deceaa556 +https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py314hf700ef7_0.conda#33451badee17d4162840339efdab40ad https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda#a2c1eeadae7a309daed9d62c96012a2b -https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_0.conda#8f94276670b0aedbd95acec1e45d950e -https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda#2b661fd7a718757b2e91bbcac81deb48 -https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda#053b84beec00b71ea8ff7a4f84b55207 +https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py314hb7a55bc_0.conda#91c0606f754ba1435b6df872df9747e5 +https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda#c0cfccba11db0bbcc9a2a647dc99043d https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda#9c5491066224083c41b6d5635ed7107b -https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda#46f7dccfee37a52a97c0ed6f33fcf0a3 -https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_1.conda#e9e25949b682e95535068bae33153ba6 +https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda#c360170be1c9183654a240aadbedad94 +https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py314hc5dbbe4_1.conda#c1ef46c3666be935fbb7460c24950cff https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda#0caa1af407ecff61170c9437a808404d https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda#e38b732ce8d5f44d06386a9f600c7d0d -https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.conda#fc10fd823d05bde83cda9e90dbef34ed +https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py314h5a2d7ad_1.conda#0172693b00f64c34667a5bdda0449eb9 https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda#6fc48bef3b400c82abaee323a9d4e290 https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda#043f0599dc8aa023369deacdb5ac24eb -https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda#58335b26c38bf4a20f399384c33cbcf9 https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda#d0fc809fa4c4d85e959ce4ab6e1de800 https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda#12389a21e7f69704b0ae77f44355e30b https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda#3c0e753fd317fa10d34020a2bc8add8e https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda#a5ec344abd4b0cdda5a52e870e4d25a3 -https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda#526783c6efcba14ac3efd2cef440254e +https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py314h86ab7b2_0.conda#518a7112a2457d2e3ab13b749306490d https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda#d243aef76c0a30e4c89cd39e496ea1be https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.1-pyh84498cf_0.conda#8e6d2ea30aec2f8eabd03cac524f1f33 https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda#46e441ba871f524e2b067929da3051c2 https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda#e2fd202833c4a981ce8a65974fe4abd1 https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda#8e6923fc12f1fe8f8c4e5c9f343256ac -https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda#0a802cb9888dd14eeefc611f05c40b6e +https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda#b395909221b9bd1df066e5930e18855b https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda#164fc43f0b53b6e3a7bc7dce5e4f1dc9 -https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda#e8e7a6346a9e50d19b4daf41f367366f -https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.5.0-py312h06d0912_0.conda#891112b1a79fc9800317c5d56e056a8b +https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda#1302b74b93c44791403cbeee6a0f62a3 +https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda#40d89d8546ad6e139e73ec8f6d56068b https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda#cbb88288f74dbe6ada1c6c7d0a97223e -https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda#c75e517ebd7a5c5272fe111e8b162228 +https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda#577b04680ae422adb86fc60d7b940659 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda#a9167b9571f3baa9d448faa2139d1089 -https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda#9fefff2f745ea1cc2ef15211a20c054a +https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda#c13824fedced67005d3832c152fe9c2f https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda#4a85203c1d80c1059086ae860836ffb9 https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda#edb808d7f7396478ab6e457e697b8ec5 -https://conda.anaconda.org/conda-forge/win-64/cryptography-48.0.1-py312h232196e_0.conda#39e5d53c6966d56a64c39e1411226de9 +https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py314he884d78_0.conda#d8cfad425d09c7838d724f6c9501a1c4 https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda#42834439227a4551b939beeeb8a4b085 https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda#d4f3f31ee39db3efecb96c0728d4bdbf https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-pyhd8ed1ab_0.conda#a55b220de8970208f583e38639cfbecc @@ -78,20 +79,20 @@ https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.c https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda#03fe290994c5e4ec17293cfb6bdce520 https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda#b8993c19b0c32a2f7b66cbb58ca27069 https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda#8e662bd460bda79b1ea39194e3c4c9ab -https://conda.anaconda.org/conda-forge/noarch/anyio-4.13.0-pyhcf101f3_0.conda#af2df4b9108808da3dc76710fe50eae2 +https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda#7498bb2648f852c6a3cd5724ca80bdeb https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda#4f14640d58e2cc0aa0819d9d8ba125bb https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda#d6989ead454181f4f9bc987d3dc4e285 https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda#15fe83cb157467c0c85c375f56abf199 https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda#433699cba6602098ae8957a323da2664 -https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda#9f6ebef672522cb9d9a6257215ca5743 +https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda#0cd9b88826d0f8db142071eb830bce56 https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda#7b2af124684a994217e62c641bca2e48 https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda#89d5edf5d52d3bc1ed4d7d3feef508ba https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda#3b887b7b3468b0f494b4fad40178b043 https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda#edd329d7d3a4ab45dcf905899a7a6115 -https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.1-py312ha1a9051_0.conda#de9b6390bd439324ce5ee7b6628c1f7d -https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.50-py312he5662c2_0.conda#be034f9788937feaf8febe29479fda6b +https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py314hb98de8c_0.conda#bd08b57adf4fa0886867123c7df63e75 +https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py314hc5dbbe4_0.conda#920cf560266c77de21a8f55e7d0e0329 https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda#53f5409c5cfd6c5a66417d68e3f0a864 -https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py312hdabe01f_0.conda#edd458c91ab9bc198012c73289b0b0bc +https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py314h9f07db2_0.conda#a5a21f85bcee70d505798d56750d69cf https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda#2934f256a8acfe48f6ebb4fce6cde29c https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda#729843edafc0899b3348bd3f19525b9d https://conda.anaconda.org/conda-forge/noarch/sqlmodel-0.0.37-pyhcf101f3_0.conda#00e6147bef9a85139099c9861c3b976b @@ -100,7 +101,7 @@ https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1. https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda#78f0a9e3ec845ef8e35e319bc36dee9b https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda#0d8bbf1699b16ac225031ae0c73729f8 https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda#8e4971d25d53f168dfb64d6f5ee1316d -https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda#da8231829c8f3ea456f761ab09eca78a +https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py314hc980628_0.conda#f56d0b6c5af9a03320a5884efa3c5764 https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda#c6b0543676ecb1fb2d7643941fe375f2 https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda#870293df500ca7e18bedefa5838a22ab https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda#64571d1dd6cdcfa25d0664a5950fdaa2 @@ -120,29 +121,53 @@ https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.cond https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda#1a4baa2f67377e0c55199c0f6fb243c4 https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda#3687cc0b82a8b4c17e1f0eb7e47163d5 https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda#d6bd3cd217e62bbd7efe67ff224cd667 -https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda#5a81866192811f3a0827f5f93e589f02 -https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py312he39998a_3.conda#24137cbf886d65446010a6db084bfcef -https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda#a2724c93b745fc7861948eb8b9f6679a +https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda#69a01a9927733014f3955861e2969a7b +https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py314ha1463a0_3.conda#98d68f979d9c387b5147ce4a8e51fc10 +https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda#fd539ac231820f64066839251aa9fa48 https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda#37e3be7b6e2977d37b8fa5da229f5dc0 https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda#23029aae904a2ba587daba708208012f -https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_2.conda#30b76957c7960ba1610ea759691b531c +https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda#4d49ac91c23c4b1878daf5ea9e7c767a https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda#a8db462b01221e9f5135be466faeb3e0 https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda#439cd0f567d697b20a8f45cb70a1005a https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda#ada41c863af263cc4c5fcbaff7c3e4dc https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda#bbe1963f1e47f594070ffe87cdf612ea -https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda#a73298d225c7852f97403ca105d10a13 +https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda#8de7b40f8b30a8fcaa423c2537fe4199 https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda#04558c96691bed63104678757beb4f8d -https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda#b8c34c4306b76f9161f1084bbc3921f2 +https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py314h5a2d7ad_2.conda#523af9223804c4eeebef3156d1bfd688 https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda#b899f1195be56d8215ed1973a8f409c3 https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda#7c14f3706e099f8fcd47af2d494616cc https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda#98958318a01373a615f119b1040b3027 https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2#e270fff08907db8691c02a0eda8d38ae https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda#e52c2a160d6bd0649c9fafdf0c813357 -https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda#63362e0f2c4a00fa79a1f2c0a58587a7 +https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda#ff39f8e27137655553f9fbb842ee1aa2 +https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda#83ea3a2ddb7a75c1b09cea582aa4f106 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 +https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda#592132998493b3ff25fd7479396e8351 +https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda#6d03368f2b2b0a5fb6839df53b2eb5e0 +https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda#0242025a3c804966bf71aa04eee82f66 +https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_0.conda#52be5139047efadaeeb19c6a5103f92a +https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda#71d2c80673511fab927bd15592994030 +https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda#ad6821df7a98510117db06e9a833281f +https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda#4fdd327852ffefc83173a7c029690d0c +https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda#1005e1f39083adad2384772e8e384e43 +https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-pyhcf101f3_0.conda#942b41d6058c938355781fd589656b06 +https://conda.anaconda.org/conda-forge/noarch/win32_setctime-1.2.0-pyhd8ed1ab_0.conda#e79f83003ee3dba79bf795fcd1bfcc89 +https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh7428d3b_0.conda#a6c25c54d8d524735db2e5785aec0a4e +https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda#7d2e90221b5da6f0577d150cfe6b87ed +https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda#d408fa8ff9f17887378715dcf024d359 +https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda#31db8c55a8dda3abd4625a2880ea3d34 +https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda#5641505172527e4f75ef28139317c7a9 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 +https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 +https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda#a73036dabdd6dfe9679ed893baa8b230 +https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda#c45fa7cf996b766cb63eadf3c3e6408a +https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda#f3549a4607ecf6f0bdbb4afe9b05f2d2 +https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda#38ba1f1279491d848303cd050dfe56cc +https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda#8fbd31325e6fbb325e15625471b44dfc https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda#99b9953692a58a31aa94c0d127e71c32 https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2#9b1db7127119f513696d620eefe7bf67 -https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.17-h45713df_0.conda#e78561a61fc6aeac5d2b5419ffc0eadf -https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda#cc0977464335ea5c2e5ee3d00458e0c2 +https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda#496de351b0f9afe9e245229528304f25 https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda#06ad944772941d5dae1e0d09848d8e49 https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda#145c6f2ac90174d9ad1a2a51b9d7c1dd https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda#9aa358575bbd4be126eaa5e0039f835c @@ -152,8 +177,8 @@ https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda#e https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda#54b231d595bc1ff9bff668dd443ee012 https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda#549845d5133100142452812feb9ba2e8 https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h9aa295b_0.conda#9dce2f112bfd3400f4f432b3d0ac07b2 -https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda#4432f52dc0c8eb6a7a6abc00a037d93c -https://conda.anaconda.org/conda-forge/win-64/libcurl-8.20.0-h8206538_0.conda#7bee27a8f0a295117ccb864f30d2d87e +https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda#00335c2c4a98656554771aaf6f1a7400 +https://conda.anaconda.org/conda-forge/win-64/libcurl-8.21.0-h8206538_0.conda#ed32b5c68abfae7702a700b636c84a91 https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda#f2b0478a02d35bac5b872d4d63b96be3 https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda#d1097e01041cfed41c81f1e3d1f52572 https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda#77eaf2336f3ae749e712f63e36b0f0a1 @@ -176,7 +201,7 @@ https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.cond https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda#450e3ae947fc46b60f1d8f8f318b40d4 https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda#327bce3eb1ef1875c7145e915d25bcd3 https://conda.anaconda.org/conda-forge/win-64/lzo-2.10-h6a83c73_1002.conda#c5cb4159f0eea65663b31dd1e49bbb71 -https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.7-gpl_he24518a_101.conda#b974f2f88000dc128bf83d3d2281b441 +https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.8-gpl_he24518a_100.conda#e61cb5e50e73c4563c2427de40435171 https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda#3075846de68f942150069d4289aaad63 https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-hfd34d9b_1.conda#357d7be4146d5fec543bfaa96a8a40de https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda#9f22154b122af399b220678d35edcc9d @@ -184,9 +209,14 @@ https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh7428d3b_0.conda#90e https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda#55c7804f428719241a90b152016085a1 https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda#e9b05deb91c013e5224672a4ba9cf8d1 https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda#8c4061f499edec6b8ac7000f6d586829 -https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py312h064b072_0.conda#16b23ed5a34d9358725d862be3f387f5 -https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h8b773d8_3.conda#8cc67b62d41cd3c0562cf18c3598fb6a -https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda#27583d44e139c520d9fdc1fd7aedd58d +https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py314h807bb43_0.conda#bec04a840694000666e487dbec1e3e03 +https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py314h839d035_3.conda#1a5451c54dbd3676f85e297e82d13d07 +https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda#a0811eb1142b4da29162d1931922a1ec +https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py314h5a2d7ad_0.conda#4f9a825716d3e01b6f3089a68b877e4d +https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py314h76f3c27_2.conda#c5a64ac49215efe79837adbd7e42b605 +https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py314h1c1cb05_0.conda#da6ef5e9a5931e73a7638b60fd82fc63 +https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py314h1c1cb05_6.conda#c1bae1515ff287d5bf6e287dddbc6646 +https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda#290f97c3fcfab8323023b10cbb4f6cc2 https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2#0c14e44bc93a99cdc11398311c3c0dcf https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda#130584ad9f3a513cdd71b1fdc1244e9c https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda#f1147651e3fdd585e2f442c0c2fc8f2d @@ -194,17 +224,16 @@ https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda#162 https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda#cc5d690fc1c629038f13c68e88e65f44 https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda#74558de25a206a7dff062fd4f5ff2d8b https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.conda#7bcb237f435cb77e5a68d6e528ec65ae -https://conda.anaconda.org/conda-forge/win-64/libboost-1.88.0-h9dfe17d_7.conda#e13bc25d81b0132a0c51eb5cc179b0e9 -https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-h4fa8253_0.conda#0ca3373049a5be11689bc2f9b2f3a9d2 +https://conda.anaconda.org/conda-forge/win-64/libboost-1.90.0-h9dfe17d_1.conda#bbf7cb9964cef65e88b48388b22979dd +https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda#de3551bf6508d45ca46b714639e52823 https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.conda#4f9dd2756fd47f390197cdc0a984e08e https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda#6cd7240c925d0ba5b9aee6ea1b566d87 https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda#5133f79da4d0ec982733acfcb3c03e97 -https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h83f2e2e_0.conda#3e9bb39c08cc273ab2f62cce64c2a88e -https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py312ha76dc74_0.conda#b27ff612f8354d4a62bc98531d1bc975 +https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h10a4840_1.conda#9332f77b32bf797a48c955f55c26815a +https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py314hb7a55bc_0.conda#a3ad95c096b8dde1302e087f25a82492 https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda#3449ef730c7d483adde81993994092b9 -https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py312h37f46ab_2.conda#674ce7b99e43ac450b79d6c9c8a11705 https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda#8678577a52161cc4e1c93fcc18e8a646 -https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda#180f6ee9579c0c6111af5a5638686a64 +https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py314h2dcd201_0.conda#b5a8dc5acaaadc579184c0281b351c90 https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda#854fbdff64b572b5c0b470f334d34c11 https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda#46a21c0a4e65f1a135251fc7c8663f83 https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda#e723ab7cc2794c954e1b22fde51c16e4 @@ -215,43 +244,57 @@ https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda#a69 https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda#4e4d54f9f98383d977ba56ef39ebf46d https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda#e45b52fb9a81c9e2708465a706e05952 https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda#1df4012c8a2478699d07bc26af66d41e -https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py312h31f0997_0.conda#ba3bcb72a269e7751cadbdd784f84dec -https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py312h78d62e6_0.conda#4ff6f76c2c16c85806ee7533768f5e64 +https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py314h61b30b5_0.conda#23ce08e46c625eb523ffef8939cb3ca9 +https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda#2cf0cf76cc15d360dfa2f17fd6cf9772 +https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda#5fb838786a8317ebb38056bbe236d3ff +https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda#ff9a9bfe791f56b0227597a7651a6af0 +https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda#08c8fa3b419df480d985e304f7884d35 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab +https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda#abd79bad98c99c1a116154d6de74ea89 +https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda#52ea1beba35b69852d210242dd20f97d +https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda#0bcbb7f911590beec914555c6b82050d +https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda#c27bd87e70f970010c1c6db104b88b18 +https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h781ae3c_0.conda#df06465614f67f7e41233d356aa7a927 +https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda#0508c8dabeab91311e5c59b5e3f6d278 https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda#e77293b32225b136a8be300f93d0e89f -https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py312he06e257_0.conda#9c46f390eb4b5c6e502df20378e442dd +https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_0.conda#d6b580a13384df5155c6ca19ee66854e https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda#37293a85a0f4f77bbd9cf7aaefc62609 https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda#6abd7089eb3f0c790235fe469558d190 https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda#bc58fdbced45bb096364de0fba1637af -https://conda.anaconda.org/conda-forge/win-64/fonttools-4.63.0-py312h05f76fc_0.conda#2944f5f8ea7e2db9cea01ed951e09194 +https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda#0509ee74d95e5b98eb6fe2a47760e399 https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda#4c2a8fef270f6c69591889b93f9f55c1 -https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda#475bd41a63e613f2f2a2764cd1cd3b25 -https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.9-py312h0ebf65c_0.conda#3752482b0df88d7a08a0791f906e87ae +https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda#c26934035616f7d578f9da0491aed3d8 +https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py314h6cfc8ec_0.conda#9a095cd224b2c19c73a2dbbb0cd9fed2 https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda#fd96da444e81f9e6fcaac38590f3dd42 https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda#62afb877ca2c2b4b6f9ecb37320085b6 https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda#46830ee16925d5ed250850503b5dc3a8 https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2#9a66894dfd07c4510beb6b3f9672ccc0 -https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda#ec5fb486545f4f928a86b2d2862418fd +https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py314h5a6676c_102.conda#aa79f6c954c7f20b654383010a2a2df6 https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda#43b6385cfad52a7083f2c41984eb4e91 https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda#4c94504a694781771108b07bf4a9370f -https://conda.anaconda.org/conda-forge/win-64/c-blosc2-3.1.3-h2af8807_0.conda#ed77093408fa5590036ae62cf1c97cd5 -https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py312h20cef2e_3.conda#38d0d8440575b60ed4c174ea0fe7f101 +https://conda.anaconda.org/conda-forge/win-64/c-blosc2-3.1.4-h2af8807_0.conda#c36ed9aa63449039a94d942e63ab4381 +https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py314h2bd12ea_3.conda#f38579b3e9d491611395bf7165bf195b https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda#18301be1ab749bc57ae189377836cc47 -https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda#499b2e5cc7cf18761cfd20d6fb837f48 https://conda.anaconda.org/conda-forge/win-64/libzip-1.11.2-h3135430_0.conda#09066edc7810e4bd1b41ad01a6cc4706 https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda#84344a916a73727c1326841007b52ca8 https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda#3747feaeeb94d1f7654bd10596360d21 -https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda#050bf7fb12ce89a057121f790d0fc659 -https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py312h79d12a2_100.conda#b599bb301b740b9bb1089190c1b1a912 +https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py314h2dcd201_1.conda#ed5f4a7e6c49c680bfe7f2ff0ec583be +https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py314h640c526_100.conda#023232d6ee54492d56834004423912a6 https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda#c07a6153f8306e45794774cf9b13bd32 -https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda#f54c1ffb8ecedb85a8b7fcde3a187212 -https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda#32780d6794b8056b78602103a04e90ef +https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda#b28fe35fd43d5f425c0dccbe5b5039fd +https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda#224f69f177eb5aae6c9a6052846bf609 https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda#aaa2a381ccc56eac91d63b6c1240312f -https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.41.2-py310hd2b7e2a_0.conda#f90a53c5133c960812d49ba131ae2c05 -https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda#120e580ad04dadc09105071cabe732ee -https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py312hcb3287e_2.conda#989246a50fed28bc6743d77805f6cc95 -https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_38.conda#6033851d921b6c33f1c3018205fcba6a +https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda#021394afe14c10a60ade1318ae8122e5 +https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda#407e5c3dd0d5966897e0dc6b1485f4a4 +https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py314h6a447be_2.conda#90df57164d1e49b0a5500d9fb00d3c8e +https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda#2ccc63d7b7d066a814ed9f99072832d7 https://conda.anaconda.org/conda-forge/win-64/libcrc32c-1.1.2-h0e60522_0.tar.bz2#cd4cc2d0c610c8cb5419ccc979f2d6ce -https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda#91f5fad53070eed2524245d9a7902efa +https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py314h720154c_1.conda#a0a922d23c89200907da94cf4e2bdbaf https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda#ba7f04ba62be69f9c9fef0c4487c210b https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda#d6a4cd236fc1c69a1cfc9698fb5e391f https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda#960713477ad3d7f82e5199fa1b940495 @@ -259,56 +302,50 @@ https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda#50 https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda#14ebe738986c601b677b060fbe1df575 https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.6-hfd05255_0.conda#7c6da34e5b6e60b414592c74582e28bf https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda#855b10d858d6c078a28d670cf32baa67 -https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py312h9256aa6_1.conda#fec8f13db0fdbeccbc3517dd4804253e -https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 -https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda#5a2944f868149ad5a2e6588be8eed838 +https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py314he35f362_1.conda#622a287812ee16a1070e08f818aca438 https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda#f5a488544d2eb37f46b3bebf1f378337 https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda#58958bb50f986ac0c46f73b6e290d5fe https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda#644bd4ca9f68ef536b902685d773d697 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda#063a810c2e0ee1a5e921ecd57b5e4b72 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda#cdfb2ceb9f800dcf603e193f668690cd https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda#c689b62552f6b63f32f3322e463f3805 -https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda#cd55f9c5f1b570363365671de7fc6d89 -https://conda.anaconda.org/conda-forge/win-64/multidict-6.7.1-py312h05f76fc_0.conda#3b54ef7993acc98becf31e0016e0404d -https://conda.anaconda.org/conda-forge/win-64/yarl-1.24.2-py312h05f76fc_0.conda#0871bb7bdf76fe114373f2e8012ebd83 -https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda#8633ec6d4b19a1dd7fb4894a6964adf3 +https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda#e3cbba0c0ab42143adeefd1d09866695 +https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda#ad92dba7ca0af0e3dca083a0fa6a3423 +https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda#517da2b90b0910492f03ae3b297efff9 +https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda#7a2d9f4d9f57da47251b2050b149bdf8 +https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda#0d0ef7e4a0996b2c4ac2175a12b3bf69 https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda#421a865222cd0c9d83ff08bc78bf3a61 https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda#8a9936643c4a9565459c4a8eb5d4e3ff -https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda#19164d6ac3875e2dfcb278a9d126af8c -https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda#d50b6addfb7f132c6da4cc67e1a9470b +https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda#fc49257102291bf3724c550e7ce4b188 +https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda#e8deca19695b2d6e31ada22746c164ec https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda#83afc1048b879d3c2dd91f48ce78978f +https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda#d0f51913131d5b1ce26abaa7ff83a246 https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda#5fc3d86518a050fe18719eb49cd0e6ad -https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda#48fcccc0b579087018df0afc332b8bd6 -https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda#844afce24940aea65d47ce392bc7296d +https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda#7a191cc7d8d50e6dd565f15c1b92170b +https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda#9d08e3e18b2bc07d93d6cbe988c1a28d https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2#7b6747d7cc2076341029cff659669e8b https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4 https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda#0badf9c54e24cecfb0ad2f99d680c163 -https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda#ba3dcdc8584155c97c648ae9c044b7a3 -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda#ffc17e785d64e12fc311af9184221839 -https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda#2c11aa96ea85ced419de710c1c3a78ff +https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda#7d7e6c826ba0743fc491ebee0e7b899c https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda#61b8078a0905b12529abc622406cb62c -https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda#809f4cde7c853f437becc43415a2ecdf -https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.conda#a062b6b39e12d9b4a2fb8c79a0ac4b8f -https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda#55d19f7062b690dd95e669e9a0bb5fba -https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda#08d485def71d89e5a42151f2bb82246e -https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py312hbb81ca0_0.conda#5b921bf403626767874c3f889dc24ce6 +https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda#56a3cae23de84509452da890fb2bfd85 +https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py314hea88fa1_3.conda#9f8dae835389010da7ad59bc673dd06b +https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda#c1c64645ec79275e496eeefb689d4d47 +https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py314h13fbf68_0.conda#6f103c9c003efb62f14976bcee9a9683 +https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py314h13fbf68_0.conda#3cb24ba2bcdcac2254a51a2b824dc86b https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda#4487b9c371d0161d54b5c7bbd890c0fc -https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py312h3f2e00f_0.conda#d63733f2a0893b5d42fc4e005d5dc265 https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda#cc293b4cad9909bf66ca117ea90d4631 https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda#18789a85c307970ae1786dfc6dfd234f https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda#1fcdf88e7a8c296d3df8409bf0690db4 https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda#a6997a7dcd6673c0692c61dfeaea14ab https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda#4eb8b870142ca06d2a1d2c74662eac7d -https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda#0eaee053535b142b952b44f48ee24c02 -https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda#42ef10a8f7f5d55a2e267c0d5daa6387 -https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda#b5325cf06a000c5b14970462ff5e4d58 -https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda#827064ddfe0de2917fb29f1da4f8f533 -https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda#98cdd8615792e90da1023bc546f806d9 -https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda#080a808fce955026bf82107d955d32da -https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py312h2e8e312_0.conda#0cec3709c887fd21483f9fe36d039bac -https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda#7d9916ed19ecda71f0b00963365252a7 +https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda#658fdb0a50c41f214553706c4d702195 https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2#a2e1ba950c0ec23e3ea0b915743a37e0 +https://conda.anaconda.org/conda-forge/win-64/editdistpy-0.2.0-py314h417cb87_1.conda#3a029e2e020967c5e5ff9b9ef2c9e281 +https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda#55dc3d4d76c0e2269bb395c7bad0e3ef +https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda#dd4b6337bf8886855db6905b336db3c8 +https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda#a6a7c2c08a4f2186bd040d056f958604 https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda#49b01263c5348a30838ba148a30126cf -https://conda.anaconda.org/conda-forge/win-64/ujson-5.12.1-py312ha1a9051_1.conda#5c57a3166b3d73e0cb0424314fec1fd4 +https://conda.anaconda.org/conda-forge/win-64/ujson-5.13.0-py314hb98de8c_0.conda#0d41e522e46805227a3f8fd1b243db34 https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda#7ac5f795c15f288984e32add616cdc59 https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda#eb57a77657c275d8d0b3542b070f484c https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda#2b25a90124b8bbc7d01474dafecc815e @@ -336,149 +373,65 @@ https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.cond https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.conda#d9b942bede589d0ad1e8e360e970efd0 https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda#0f527bc994fd2fe1e82447e6f2f35d83 https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda#af83df2f71f7ca552ee5ad0a31c9c9ef -https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py312h85419b5_0_cpu.conda#f72dc289f49117c9bf697dffd7174286 +https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py314hb5be3fa_0_cpu.conda#476af45747656a164c775b37c165349e https://conda.anaconda.org/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda#25efbd786caceef438be46da78a7b5ef https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h2e43b2f_2.conda#42856184560e5cf901551fd414ad25c1 https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda#15dbe221357e3854b02ecc34f047cf40 https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda#88c1bf9589eaa3c7416c1f4706dd9312 https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda#b2031f0c71cbeec465a47fe988f726a6 https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda#7e4ef91357330c200f640c198cac50dd -https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py312h2e8e312_0.conda#e1519e126722ddb9406bb63a9393b59c +https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py314h86ab7b2_0.conda#8086e3b458a2d55ea739861000992c53 https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda#e9c622e0d00fa24a6292279af3ab6d06 https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda#fa31df4d4193aabccaf09ce78a187faf https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda#4460f039b7dedf15f7df086446ca75ae https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda#531ff805a1551c6caaf976d577ea233c https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda#33197d0b44a95fa6ea53c04db06a4f94 https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda#71bf9646cbfabf3022c8da4b6b4da737 -https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py312h83acffa_3.conda#ff342a314798173eaaf2753a22f044fa -https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py312he06e257_0.conda#7162f6522d095c04311656d9afaed0ce -https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda#6fa414f2828958e28a1b253ff02634a2 -https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda#0c5f9ee81f0fac33b7fac8c7591913e6 +https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py314hccc76fc_3.conda#864cdb786a1bb977ed1f96eab705a6d1 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda#66f138d7a6dffb5c959cc4bf6dc2b797 +https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda#b9f2040f64c84731ac3f497c992d2656 https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_0.conda#7dd72a4c857cd652a1e23c13099a15d2 https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda#9e21f087f087f805debe877d88e00a14 https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda#3b261da3fe9b4168738712832410b022 https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda#10ed48920132137dd2f46f2dc218d524 -https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda#328fcdd7991b7494dc780b16b831de62 -https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda#7a9095c9300d1b50b1785ca9bc4cadae -https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda#141ec0ac00f1c946cb058d4e710f269a -https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda#52434c636a05a06806d0978128d98c19 -https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda#eb52d14a901e23c39e9e7b4a1a5c015f -https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py312hf90b1b7_0.conda#46f58bf68d690efadc0b1eb17e9f763d -https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda#84a3233b709a289a4ddd7a2fd27dd988 -https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda#381bd45fb7aa032691f3063aff47e3a1 -https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda#7859736b4f8ebe6c8481bf48d91c9a1e +https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda#6b00457c798f70431c5d6889507c008f https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda#91f5637b706492b9e418da1872fd61ce https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda#53cb4b14ab0841e104e2bd11ee64b840 https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda#62ed8c560f1b5b8d74ed11e68e9ae223 https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda#43dd16b113cc7b244d923b630026ff4f https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda#40182a8d62a61d147ec7d3e4c5c36ac2 +https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda#03cb60f505ad3ada0a95277af5faeb1a https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda#0c06dd1da8af688335732bb47dc51dc1 https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda#193a9e54636d8d70781a3e56370f5502 -https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda#3770774486c8b9e822c6bf996da18a25 +https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.0-pyhd8ed1ab_0.conda#3c806a133fb9e59dca249c5a00c2ab3e https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda#e941e85e273121222580723010bd4fa2 https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda#e1bccffd88819e75729412799824e270 -https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.conda#1045d29f787812d3fac1fd80a1339710 +https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda#b1b9bf11a82e608c5649d7462de94c5f https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda#804880b2674119b84277d6c16b01677d -https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda#2cf0cf76cc15d360dfa2f17fd6cf9772 -https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda#5fb838786a8317ebb38056bbe236d3ff -https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda#ff9a9bfe791f56b0227597a7651a6af0 -https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda#08c8fa3b419df480d985e304f7884d35 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda#49023d73832ef61042f6a237cb2687e7 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb -https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 -https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda#a7970cd949a077b7cb9696379d338681 -https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab -https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda#abd79bad98c99c1a116154d6de74ea89 -https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda#52ea1beba35b69852d210242dd20f97d -https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda#0bcbb7f911590beec914555c6b82050d https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda#3d3caf4ccc6415023640af4b1b33060a https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda#a8d735f3faf356a24acf9eea0a940a0f https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda#46034d9d983edc21e84c0b36f1b4ba61 -https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.7-default_ha2db4b5_1.conda#7f940510e2af246af187b25b691dd616 -https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py312ha7d0d2e_1.conda#08cd4cab6c22ee97776628d6c8292092 -https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.9-py312h2e8e312_0.conda#779fa0e5531694e039385f739ceb88b4 -https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py312h2f35c63_0.conda#f23b7c90ac0cb5366be9715af546cfa1 +https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.conda#c45c5a60b68368f62415941c1d9f0ab7 +https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda#638be6b8674e7acf7a84132903cf4c8e +https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py314h86ab7b2_0.conda#b605003a2c599a089968b446071e47d4 +https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py314hcdb55d9_0.conda#8aafd5987b9bcfe357c44787fe2ed8c2 https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda#150230ce593ad139e1ab1437954b81e2 https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda#861e471b9d7df1eed52ea9a25f227951 https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda#300ec561b23a4018262b90995350061a -https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda#2f1ed718fcd829c184a6d4f0f2e07409 -https://conda.anaconda.org/conda-forge/win-64/winpty-0.4.3-4.tar.bz2#1cee351bf20b830d991dbe0bc8cd7dfe -https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py312h275cf98_1.conda#66255d136bd0daa41713a334db41d9f0 -https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda#e43ca10d61e55d0a8ec5d8c62474ec9e -https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.conda#6ac53f3fff2c416d63511843a04646fa -https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda#7d5abf7ca1bd00b43d273f44d93d05dc -https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda#f016c0c5f9c01549b259146614786192 -https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda#ebbda9a4e5161d6e1f98146ad057dc10 -https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_0.conda#a11ab1f31af799dd93c3a39881528884 -https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda#f6d7aa696c67756a650e91e15e88223c -https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda#e51f1e4089cad105b6cac64bd8166587 -https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda#16c18772b340887160c79a6acc022db0 -https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2#457c2c8c08e54905d6954e79cb5b5db9 -https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda#49440e66df843bee2273937e8032ec43 -https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda#cf01a81d7960ad9c829bf2e794fcee9a -https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda#b97e84d1553b4a1c765b87fff83453ad -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda#fd312693df06da3578383232528c468d -https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2#961b3a227b437d82ad7054484cfa71b2 -https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda#2841eb5bfc75ce15e9a0054b98dcd64d -https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda#f1acf5fdefa8300de697982bcb1761c9 -https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda#93009c29cdd6f2500468f2502fff9209 -https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda#5f710eab1f3c4e773c75686f5e8e6481 -https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda#2bce0d047658a91b99441390b9b27045 -https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda#7b8bace4943e0dc345fc45938826f2b8 -https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2#912a71cc01012ee38e6b90ddd561e36f -https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda#36de09a8d3e5d5e6f4ee63af49e59706 -https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda#982ed0cbfc0fe09f25861e3d111e9717 -https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda#6639b6b0d8b5a284f027a2003669aa65 -https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda#e7cb0f5745e4c5035a460248334af7eb -https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda#9b965c999135d43a3d0f7bd7d024e26a -https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda#7234f99325263a5af6d4cd195035e8f2 -https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda#89bf346df77603055d3c8fe5811691e6 -https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda#85c4f19f377424eafc4ed7911b291642 -https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda#0b0154421989637d424ccf0f104be51a -https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a -https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 -https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda#d3549fd50d450b6d9e7dddff25dd2110 -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda#8368d58342d0825f0843dc6acdd0c483 -https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda#bf42ee94c750c0b2e7e998b79ac299ea -https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py312he06e257_2.conda#5dc3781bbc4ddce0bf250a04c1a192c2 -https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda#8ac12aff0860280ee0cff7fa2cf63f3b -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda#82525f37e0976e83bbb69bc4d4011665 -https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda#e7f89ea5f7ea9401642758ff50a2d9c1 -https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda#1269891272187518a0a75c286f7d0bbf -https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda#f1976ce927373500cc19d3c0b2c85177 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda#a63877cb23de826b1620d3adfccc4014 -https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda#0c3b465ceee138b9c39279cc02e5c4a0 -https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda#fcd832bfd4749e9b246112b6894f97fc -https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 +https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py314h13fbf68_0.conda#bb9e57d80ecf0b901db2d2cdd9cfcf3c https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda#3bfdfb8dbcdc4af1ae3f9a8eb3948f04 https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda#ff9efb7f7469aed3c4a8106ffa29593c https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda#9673a61a297b00016442e022d689faa6 https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda#b1b505328da7a6b246787df4b5a49fbc https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda#19c961dd9cab6c3e13cd195f0176dbfa https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda#edb16f14d920fb3faf17f5ce582942d6 +https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda#9acc1c385be401d533ff70ef5b50dae6 https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda#39894c952938276405a1bd30e4ce2caf -https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda#a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 +https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda#c2b3d37aa1411031126036ee76a8a861 https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda#bd80ba060603cc228d9d81c257093119 https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda#61dcf784d59ef0bd62c57d982b154ace https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda#bf12187c2d1ef0bb63df01ace31ff26b -https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda#5628287239c9ef6df2d66dc143f7c8dd -https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda#2da13f2b299d8e1995bafbbe9689a2f7 -https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda#dd5c51d5c42381ba4a2e0ce32e02ba17 -https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda#b85e84cb64c762569cc1a760c2327e0a -https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda#8e3f969b0c5d9c22191f3c3306c0f1fb -https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda#0ba6225c279baf7ea9473a62ea0ec9ae -https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda#92b46e8c96039d3d7c4958f426bca753 -https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda#6d034d3a6093adbba7b24cb69c8c621e -https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda#801dbf535ec26508fac6d4b24adfb76e -https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda#4d52bbdb661dc1b5a1c2aeb1afcd9a67 -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda#05a08b368343304618b6a88425aa851a -https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda#2f0ba4bc12af346bc6c99bdc377e8944 -https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda#47672c493015ab57d5fcde9531ab18ef -https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda#9453512288d20847de4356327d0e1282 -https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py312hbb81ca0_0.conda#ed651ebef363f9fec811c293bd583bd1 -https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py312_0.conda#53b4561887f9c1fa713ca8760bdd5bbe -https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda#c27bd87e70f970010c1c6db104b88b18 +https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py314_0.conda#7fdff7b55326f22c88c59b31911e68a1 https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda#1f1cf3772ba7d4eef989e4679ddf97f7 https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda#5a823e21e090f8bc43dbfba00cd2f0e2 https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda#105cb93a47df9c548e88048dc9cbdbc9 @@ -492,45 +445,46 @@ https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda# https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda#afabed4c46b197b89eb974aa038d12db https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2#ff4181250d91940494d3127243a9d858 https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda#c3cee0e0843e38698c45dfec869e9888 -https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312h3f2e00f_6.conda#cc679ec1a1dd027e5b0ae5721d9df2b2 https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda#4a25cae637029c5589135903aa15b3b6 -https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py312hf90b1b7_1.conda#3272249c8d0f9cb7693e189611b9943f +https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314h909e829_0.conda#a2bf7491b2d71489532f20db59f470c3 https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda#5498feb783ab29db6ca8845f68fa0f03 -https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py312hc128f0a_0.conda#bfa28c1e6ffe1a740d75966af52be42f +https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py314hd8fd7ce_0.conda#04b1473b12a9e487fa9c085223095b0d https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda#c56a7fa5597ad78b62e1f5d21f7f8b8f -https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda#c1844a94b2be61bb03bbb71574a0abfc +https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda#b787cd1f01e24b161261438a5589df51 https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda#8e7be844ccb9706a999a337e056606ab https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda#77ae41598d63b453bb3c9052f4a14c4b -https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda#e00778685f838e9c7e40c8927b0f2a72 +https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2#576d629e47797577ab0f1b351297ef4a +https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2#9b347a7ec10940d3f7941ff6c460b551 +https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py314hc249e69_102.conda#a97e08636b7aa2bb61b820082e8f5e4c https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda#ca7f9ba8762d3e360e47917a10e23760 https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda#cc73a9bd315659dc5307a5270f44786f -https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda#b2d0ce05d097824ccfa3ab6f52535d0f -https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda#ebdb9fd5092c50620a226c7e23daab3b -https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda#4b9a16cd57559083d52f7a50071dc463 -https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda#9a005ba5f540619a1343587b4ee3d95e -https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda#9e18b048c69d2d72bc69d120a435d731 -https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda#8e6ba36f4f355b2be42009a13b6e8f29 -https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda#fea4e4b20624096e12ce531ad029ed31 +https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-pyhd8ed1ab_0.conda#f5e09a21f1ee38e1be4787fea94e6823 +https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda#a359066b94e013283b7e11559fbb19fc +https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda#f740e8acb38ea16c22e60b6fc0ae7c9e +https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda#3fab2110d93a828f88ace66e418d6ef8 +https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda#690847cdb78772816f430fc91490f915 +https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda#0b9176cd15bf526d74fd6638df5194af +https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py314hd8fd7ce_1.conda#f087cf669551d9c98b68869395f311f4 https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda#d7585b6550ad04c8c5e21097ada2888e https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda#9614359868482abba1bd15ce465e3c42 -https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda#6a991452eadf2771952f39d43615bb3e +https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda#64c98a12c4e23eb238bf66bbecafdf3c https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda#24ed1dc544b101075fa7462be5c3a5c5 https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda#e557abf678a0bf100fe7cf9d2b4f4a72 -https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_1.conda#835dcb698b526cfeab01e1f5f908ca5c +https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_1.conda#8e9b2740fe44700706e8e4ca7e4fb8b6 https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda#e52c2ef711ccf31bb7f70ca87d144b9e https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda#f88bb644823094f436792f80fba3207e https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda#0401a17ae845fa72c7210e206ec5647d -https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py312he06e257_2.conda#978c009bc3f0add939e44aff97bfaee1 -https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda#8efb90a27e3b948514a428cb99f3fc70 +https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py314h5a2d7ad_2.conda#8309b55a55dac8050260de935d31724a +https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda#2a6851a6c69ce7c0b03a89d5d4209257 https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda#123fcfe0df4b6fc21804538e59cdaafe -https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda#f9761ef056ba0ccef16e01cfceee62c2 +https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda#a2d2a05abf6076c3d041ec91b2235823 https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda#fa9e9ec7bf26619a8edd3e11155f15d6 https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda#dd76cafa8f23c9aaee93aa7e745fdba4 https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda#c975e3f46230e47c7cab2d58c46f1f30 https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda#b67461a22f04b331bffd046bcfa4c7ac -https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda#dac45a197e14d635ec763553cc8ac6d2 +https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py314hea88fa1_0.conda#4ea04d57a706258d3f1371ac84059202 https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda#0f12f8436a2a238e255d49ea3f8aefe2 -https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda#e585c71c2ed48e4eee1663d627ddcd47 +https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda#d4e8f98a575bf884db81344e7a9fbe95 https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda#fc8b15af108a2fdb15ef04d12fbfe87d https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda#1f878573c1ee2798c052bee1f5a94f50 -https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda#81f981df273cd627927372680aa9dd31 +https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda#eb6d307eabcb6918e1c34cce221546bc diff --git a/envs/environment.yaml b/envs/environment.yaml index c4fdff8bd8..bb1bdeecda 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -6,7 +6,7 @@ channels: - https://repo.prefix.dev/open-tyndp - nodefaults dependencies: -- atlite >=0.3,<0.5 +- atlite >=0.3,!=0.5.0 - bokeh >=3.8.0 - cartopy >=0.25.0 - copernicusmarine >=2.2.4 @@ -25,7 +25,6 @@ dependencies: - highspy >=1.12.0 - ipython >=9.7.0 - jpype1 >=1.6.0 -- jupyter >=1.1.1 - libgdal-netcdf >=3.10.3 - linopy >=0.6.1,<0.7.0 - lxml >=6.0.2 @@ -33,26 +32,24 @@ dependencies: - memory_profiler >=0.61.0 - netcdf4 >=1.7.2,!=1.7.4 - networkx >=3.5 -- numpy >=1.26.4,<2 +- numpy >=1.26.4 - openpyxl >=3.1.5 - pandas >=2.1 - plotly >=6.4.0 - powerplantmatching >=0.5.15 - pydantic >=2 - python-dotenv >=1.0 -- pre-commit >=4.3.0 - proj >=9.6.2 -- pylint >=4.0.2 - pydeck >0.6 -- pypsa >=0.35.2 +- pypsa <1.2 - pyscipopt >=5.6.0 - pytables >=3.10.2 - python >=3.10 - pytz >=2025.2 - pyxlsb >=1.0.10 - rasterio >=1.4.3 +- rasterstats >=0.10.3 - rioxarray >=0.20.0 -- ruff >=0.14.3 - ruamel.yaml >=0.18.0 - scipy >=1.16.3 - seaborn >=0.13.2 @@ -70,6 +67,7 @@ dependencies: - pandera >=0.28.1 - natsort >=8.4.0 - snakemake-logger-plugin-pypsa >=0.1.0 -- grpcio <1.78 - pydeflate >=2.3.4 +- grpcio <1.78 +- snakemake-logger-plugin-snkmt ==0.1.6 - snakemake-executor-plugin-slurm >=1.9.2 diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000..355ca64579 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,154 @@ +# SPDX-FileCopyrightText: Contributors to Open-TYNDP +# SPDX-FileCopyrightText: Contributors to PyPSA-Eur +# +# SPDX-License-Identifier: CC-BY-4.0 + +site_name: Open-TYNDP +site_url: https://open-tyndp.readthedocs.io +repo_url: https://github.com/open-energy-transition/open-tyndp +repo_name: oet/open-tyndp + +docs_dir: doc + +theme: + name: material + logo: img/logo.svg + features: + - navigation.tabs + - navigation.tabs.sticky + - navigation.sections + - navigation.expand + - navigation.indexes + - navigation.top + - navigation.tracking + - search.suggest + - content.code.copy + - content.tabs.link + - content.action.edit + - content.action.view + - toc.follow + - search.highlight + - search.share + font: + text: Overpass + +nav: +- Home: + - Home: index.md + - Getting Started: + - Introduction: introduction.md + - Installation: installation.md + - FAQ and Troubleshooting: faq_troubleshooting.md + - References: + - Release Notes: release_notes.md + - Licenses: licenses.md + - Limitations: limitations.md + - Support: support.md + - Publications: publications.md + - Contributors: contributors.md + +- Open TYNDP: + - Scenarios: scenarios.md + - Scenario Building: sb.md + - Cost-Benefit Analysis: cba.md + - Benchmarking: benchmarking.md + - Innovation Roadmap: innovation_roadmap.md + +- Background on PyPSA-Eur: + - Tutorials: + - "Tutorial: Electricity-Only": tutorial.md + - "Tutorial: Sector-Coupled": tutorial_sector.md + - Design: + - Spatial Resolution: spatial_resolution.md + - Supply and Demand: supply_demand.md + - Foresight Options: foresight.md + - Techno-Economic Assumptions: costs.md + - OETC Integration: oetc.md + - Validation: validation.md + - Configuration: + - Wildcards: wildcards.md + - Configuration: configuration.md + +- Data Sources: + - Data Sources: data_sources.md + - TYNDP 2024 Data: tyndp_2024.md + - Base Network: data-base-network.md + - Cutouts: data-cutouts.md + - Data Repositories: data-repos.md + +- Rules Overview: + - Retrieving Data: retrieve.md + - Building Electricity Networks: preparation.md + - Building Sector-Coupled Networks: sector.md + - Solving Networks: solving.md + - Plotting and Summaries: plotting.md + +- Contributing: + - contributing.md + - Validation Development: validation_dev.md + + +plugins: +- search +- autorefs +- macros: + module_name: doc/macros + j2_comment_start_string: "{%#" + j2_comment_end_string: "#%}" +- table-reader +- mkdocstrings: + default_handler: python + enable_inventory: true + handlers: + python: + paths: [scripts, scripts/sb, scripts/cba, .] + options: + docstring_style: numpy + show_source: false + show_root_heading: false + show_root_full_path: false + members: false + allow_inspection: true + inventories: + - https://docs.python.org/3/objects.inv +- bibtex: + bib_file: doc/publications.bib + enable_inline_citations: false + +markdown_extensions: +- footnotes +- admonition +- pymdownx.details +- pymdownx.caret +- pymdownx.tilde +- abbr +- pymdownx.snippets: + base_path: . +- pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format +- pymdownx.arithmatex: + generic: true +- pymdownx.tabbed: + alternate_style: true +- pymdownx.highlight +- pymdownx.inlinehilite +- tables +- attr_list +- md_in_html +- toc: + permalink: true + +hooks: +- doc/hooks.py + +extra_css: +- assets/stylesheets/extra.css + +extra_javascript: +- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js + +copyright: >- + © Copyright Open-TYNDP and PyPSA-Eur Contributors | CC-BY-4.0 diff --git a/pixi.lock b/pixi.lock index a1d2fe3880..a572214cf9 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1,4 +1,9 @@ -version: 6 +version: 7 +platforms: +- name: linux-64 +- name: osx-64 +- name: osx-arm64 +- name: win-64 environments: default: channels: @@ -8,32 +13,28 @@ environments: - url: https://repo.prefix.dev/open-tyndp/ packages: linux-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py312h4c3975b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 - 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/atlite-0.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.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 @@ -52,215 +53,92 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.16.0-hf824e48_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.5.0-py312h90b7ffd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.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/bottleneck-1.6.0-np2py314h56abb78_3.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/brotli-python-1.2.0-py314h3de4e8d_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/linux-64/c-blosc2-3.1.3-hc31b594_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.1.4-hc31b594_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py314ha0b5721_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py314hc02f841_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-48.0.1-py312ha4b625e_0.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/contourpy-1.3.3-py314h97ea11e_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py314h7fe84b3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py314h5bd0f2a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py314ha768014_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.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/fiona-1.10.1-py314hbcf5174_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.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.63.0-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-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/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.88.1-hee1de02_2.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/glpk-5.0-h445213a_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py314hd6bf2bd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.1-py312h8285ef7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py314h2d847ca_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py314hc32fe06_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_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/httpcore-1.0.9-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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/highspy-1.14.0-np2py314h6477eea_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-h0804adb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-he45328a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.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/jmespath-1.1.0-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/jpype1-1.7.1-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py314ha160325_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/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_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.22.2-ha1258a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/levenshtein-0.27.3-py314ha160325_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.7-gpl_hc2c16d8_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.8-gpl_hc2c16d8_100.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.88.0-hd24cca6_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_hc00574d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.90.0-hd24cca6_1.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-8_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.7-default_h746c552_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h8e06fc2_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.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.20.0-hcf29cc6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.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/libdrm-2.4.127-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda @@ -280,7 +158,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-15.2.0-h69a702a_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda @@ -293,22 +170,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.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.4.1-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_h6ae95b6_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.7-hf7376ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h8876d29_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_hb041515_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.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.33-pthreads_h94d23a6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda @@ -317,13 +193,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h75b3fb1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.4-h2fe6a88_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.11-int64_h807e49d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.05.20-hfabd9d1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.09.18-h74cae3c_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda @@ -331,7 +207,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.1-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-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 @@ -343,234 +219,81 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_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/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314hd4c109c_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.9-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.9-py312he3d6523_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py314h261f116_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_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/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.7.3-h82cca05_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.7.3-h27a6a8b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h9891dd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.8.2-h5a610fb_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.8.2-hc1b3267_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/muparser-2.3.5-h5888daf_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.22.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.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/netcdf4-1.7.3-nompi_py314hed328fd_100.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/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py314ha0b5721_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py314heb044ea_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py314hf3b76af_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.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.3-py312hf79963d_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py314ha0b5721_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_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/linux-64/pillow-12.2.0-py314h8ec4b1a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.2-py310h49dadd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.42.0-py310h49dadd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.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/protobuf-6.31.1-py314h503b32b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_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_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py314h312e2f4_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py314h969be7f_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py314hbcf5174_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.0-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py314h68799e9_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py314h6477eea_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py314h5611b9a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.5-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py314h56abb78_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py314ha1f92a4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.17-h6a952e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py314h1bee95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-hbf6308b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.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-py312h383787d_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py314hf09ca88_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-h6576b78_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py314hbe3edd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py314h5bd0f2a_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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.50-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py314h0f05182_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_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/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py314hc02f841_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312h8285ef7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_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/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py314h5bd0f2a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda @@ -578,8 +301,7 @@ environments: - 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.3.0-hd9031aa_1.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.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -597,2438 +319,5128 @@ environments: - 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/linux-64/xorg-xorgproto-2025.1-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/xz-5.8.3-ha02ee65_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.3-ha02ee65_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.3-hb03c661_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/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - 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/zstandard-0.25.0-py312h5253ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h0f05182_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - osx-64: - - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py312h80b0991_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py312hb401068_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.5.0-py312h5f4ecc6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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-64/brotli-1.2.0-hf139dec_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py312h4b46afd_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.3-h32e32c0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312he90777b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-48.0.1-py312h1af399d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py312h4075484_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312hb20e208_6.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/osx-64/fontconfig-2.18.1-h7a4440b_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/osx-64/fonttools-4.63.0-py312heb39f77_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.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.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.1-py312h4075484_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda - - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py312h80b0991_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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-64/jpype1-1.7.1-py312h959a22e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.7-gpl_h2bf6321_101.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.88.0-h5950822_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.20.0-h8f0b9e4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.7-h19cb2f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.7-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py312h211e60a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.9-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.9-py312h7609456_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.1.2-py312hd099df3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py312hab8b850_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py312h86abcb1_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py312h86abcb1_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_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-64/pillow-12.2.0-py312he84af14_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.41.2-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py312hda2ad9a_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py312hfcd758a_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py312hc1db7ba_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.1-py312h4a480f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.1-py312h1993040_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py312h17ccd7d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312h4270620_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py312hb4c736d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py312h7063bee_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.13-ha9537fe_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py312h421c061_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py312h6f80297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py312hf7082af_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.17-h1ddadc8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py312h691318a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h698be43_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py312hd8edc82_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.50-py312hba6025d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_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/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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-64/ujson-5.12.1-py312h4075484_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py312h0aa9c5c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_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-64/yaml-0.2.5-h4132b18_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda - osx-arm64: - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py314_0.conda + osx-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py312h4409184_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py312h81bd7bf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.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/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.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.1-h16f91aa_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.7-h9ae9c55_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.7-h5928ca5_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.23.3-hbe03c90_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-haf5c5c8_11.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.3-h8da9771_1.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.7-h16f91aa_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.35.4-h74951b9_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h4e1b0f7_10.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-h5446563_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.5.0-py312h87c4bb7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/osx-arm64/c-blosc2-3.1.3-hf9886e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312h1b4d9a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-48.0.1-py312h1238841_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.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-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py312h6510ced_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h515fe7d_6.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/osx-arm64/fontconfig-2.18.1-h2b252f5_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/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_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/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.88.1-h37541a8_2.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/glpk-5.0-h6d7a090_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.1-py312h6510ced_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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-78.3-hef89b57_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py312h4409184_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/jpype1-1.7.1-py312h6d95f44_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/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_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/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py312h455b684_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.7-gpl_h6fbacd7_101.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.88.0-h0419b56_7.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-8_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.20.0-hd5a2499_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.7-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.8.1-hf6b4638_1.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_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.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/libintl-0.25.1-h493aca8_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.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.33-openmp_he657e61_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_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-h1fb9c8a_2.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/libxcb-1.17.0-hdb1d25a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.7-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py312h2f8615f_0.conda - - 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/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.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.9-py312h1f38498_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.9-py312hf3defc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_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/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/muparser-2.3.5-h11e0b38_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py312h947358d_100.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/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py312h5978115_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py312hb55a559_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.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.3-hd24854e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_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.3-py312h5978115_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_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/osx-arm64/pixman-0.46.4-h81086ad_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.41.2-py310hb2fc7d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.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/osx-arm64/pulp-2.8.0-py312h38bd297_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py312h1f38498_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py312h21b41d0_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py312hb9d4441_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.1-py312h19bbe71_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.1-py312h1de3e18_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py312h07dd7c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hce17ad6_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py312h60fbb24_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py312h53cfef5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.13-h8561d8f_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.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/rapidfuzz-3.14.5-py312h6d95f44_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py312h8fc80b0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py312hb3ab3e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.17-h80928e0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py312he5ca3e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-h2279441_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.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-py312h35cd81b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.50-py312hb3ab3e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_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/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312h2bbb03f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312h6510ced_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py312h766f71e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - 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/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h37e1c23_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda - 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/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py312he06e257_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.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.1-hcb3a2da_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.7-hc678f4a_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.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.7-hcb3a2da_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.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-h81bf7d1_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.5.0-py312h06d0912_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.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/win-64/c-blosc2-3.1.3-h2af8807_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh7428d3b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-48.0.1-py312h232196e_0.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-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312h3f2e00f_6.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/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py314hfeef9c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py314h3262eb8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.4-h32e32c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py314hc4308db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py314h8ca4d5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py314h26e5826_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py314h22a2ed9_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py314hd00f597_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py314h4f144dc_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py314hea86bea_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py314he09d67a_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py314h19b641f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py314hde9596f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py314hd1d8aca_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py314h72ea864_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py314h03d016b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py314hd6e1bd6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py314h21b9a27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.8-gpl_h2bf6321_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.90.0-h5950822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libraqm-0.10.5-hcf81f31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py314h6bf1ee8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py314h77fa6c7_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py314he76ffc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py314h0963f2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py314hf60e252_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py314hc4308db_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py314hcacaf9e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.4.6-py314h7b24d9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py314h83828b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py314hc4308db_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py314hc904d5e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py314hbf63cc6_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py314hd330473_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py314h123ab73_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py314hf51c35e_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py314h8916c15_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py314h687fbad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.0-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py314hae267ec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py314h72ea864_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py314hd3b5d2a_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.5-h7c6738f_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py314h22e5f2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py314h10d0514_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py314h061e49a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py314h1d56075_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py314hd330473_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.8.0-np2py314he40e093_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h1609d71_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py314h5727af0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py314h4eeafd1_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py314h217eccc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py314h0b69929_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py314hd1ec8a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py314h217eccc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py314h4f144dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py314h03d016b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py314hd1e8ddb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py314_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.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/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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.18.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.63.0-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.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.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.1-py312ha1a9051_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py312h9256aa6_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda - - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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-78.3-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py312he06e257_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/jpype1-1.7.1-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-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.22.2-h0ea6238_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.7-gpl_he24518a_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.88.0-h9dfe17d_7.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-8_hc41557d_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.7-default_ha2db4b5_1.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.20.0-h8206538_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_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.8.1-hac47afa_1.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_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.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.4.1-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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.3-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_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/libzip-1.11.2-h3135430_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py312h2f35c63_0.conda - - 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/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.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.9-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.9-py312h0ebf65c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2026.0.0-h57928b3_908.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2026.0.0-hfdbc840_908.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.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/win-64/multidict-6.7.1-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/muparser-2.3.5-he0c23c2_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py312h79d12a2_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py312hc128f0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.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.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.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.3-py312hc128f0a_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_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/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.41.2-py310hd2b7e2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py312hcb3287e_2.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/win-64/pulp-2.8.0-py312he39998a_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py312h85419b5_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py312hdabe01f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py312h3f2e00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h8b773d8_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py312ha76dc74_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py312ha7d0d2e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py312h20cef2e_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py312h275cf98_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.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.11.1-pl5321hfcac499_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py312h064b072_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.17-h45713df_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.9.0-np2py312hea30aaf_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h83f2e2e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.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-py312h37f46ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.50-py312he5662c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_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/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312he06e257_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyha7b4d00_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312ha1a9051_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py312hf90b1b7_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/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_38.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-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/winpty-0.4.3-4.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda - - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_0.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/win-64/yarl-1.24.2-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312he5662c2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - doc: - channels: - - url: https://conda.anaconda.org/conda-forge/ - - url: https://conda.anaconda.org/bioconda/ - - url: https://conda.anaconda.org/gurobi/ - - url: https://repo.prefix.dev/open-tyndp/ - 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/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 - - 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/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.1-h48c9088_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.2-he7b75e1_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.4-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.1-h92c474e_6.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.6-h82d11aa_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.4-h94feff3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.22.0-h57f3b0d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-h2b1cf8c_6.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.8.6-h4e5ac4b_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h92c474e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.7-h92c474e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.34.4-h60c762c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h32384e2_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.0-h3a458e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.12.0-ha729027_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.14.0-hb1c9500_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.10.0-hebae86a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-h8b27e44_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.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.1.0-hb03c661_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.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/linux-64/c-blosc2-2.23.1-hc31b594_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.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/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.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.1-h16f91aa_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.7-h9ae9c55_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.7-h5928ca5_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.23.3-hbe03c90_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-haf5c5c8_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.3-h8da9771_1.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.7-h16f91aa_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.35.4-h74951b9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h4e1b0f7_10.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-h5446563_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py314hfa18b03_3.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-py314h3daef5d_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/osx-arm64/c-blosc2-3.1.4-hf9886e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py314ha3d490a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py314h44086f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py314h2115a04_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py314hf8a3a22_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py314h0d331bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py314h6c2aa35_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py314hf8d3afe_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_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/glib-tools-2.88.1-h37541a8_2.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/glpk-5.0-h6d7a090_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py314h8744745_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py314h7689434_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py314hb49d8aa_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py314hdd732f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py314hb84d1df_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py314h4ed92d5_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-py314hf8a3a22_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py314h93ecee7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.8-gpl_h6fbacd7_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.90.0-h0419b56_1.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-8_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.21.0-hd5a2499_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-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.8.1-hf6b4638_1.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_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.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/libintl-0.25.1-h493aca8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.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.33-openmp_he657e61_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libraqm-0.10.5-h29bd36a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_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-h1fb9c8a_2.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/libxcb-1.17.0-hdb1d25a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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.8-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py314h24f3bdd_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/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py314he55896b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py314ha5eae4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py314h6cfcd04_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.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/ncurses-6.6-h1d4f5a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py314ha229517_100.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/numcodecs-0.16.5-py314ha3d490a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py314hac0e451_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.4.6-py314hb79c6fa_0.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-py314h9748aab_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py314ha3d490a_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py314hab283cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/osx-arm64/protobuf-6.31.1-py314hc77ea51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py314ha14b1ff_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/osx-arm64/pulp-2.8.0-py314h676fd1f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py314he55896b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py314h109bba2_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py314h54f3292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py314h3da1bed_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.0-py314h4ed92d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py314hb2113e1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py314hdd732f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py314h9d157c6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.5-h4c637c5_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py314h4e57505_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.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/rapidfuzz-3.14.5-py314h4ed92d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py314h5002e4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py314he1d1ac0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py314ha14b1ff_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py314h15f0f0f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-ha8121a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py314h18e1515_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py314h277790e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py314h6c2aa35_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.51-py314ha14b1ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py314hdcf55e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py314h6c2aa35_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py314h6c2aa35_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/osx-arm64/wrapt-1.17.3-py314hb84d1df_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda + - 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/osx-arm64/yaml-0.2.5-h925e9cb_3.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/zstandard-0.25.0-py314h9d33bd4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py314_0.conda + win-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.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/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.4.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh7428d3b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-48.0.1-py312ha4b625e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.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.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h1289d80_4.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.18.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.63.0-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-h2b0a6b4_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.13.1-h97f6797_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.7.4-h239500f_2.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/glib-tools-2.84.3-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/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_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/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.4.5-h15599e2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_106.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_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/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.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.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_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/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/jsonpointer-3.1.1-pyhcf101f3_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/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-21.0.0-h56a6dad_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-21.0.0-h635bf11_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-21.0.0-h8c2c5c3_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-21.0.0-h635bf11_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-21.0.0-h3f74fd7_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb03c661_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb03c661_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.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.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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.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_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.10.3-h02f45b3_13.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.84.3-hf39c6af_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_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.4.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h81b047f_102.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.33-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-21.0.0-h790f06f_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-he92a37e_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-hd718a1a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-he17ca71_14.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.1-h5347b49_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.11.0-he8b52b9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/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/loguru-0.7.3-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.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.7-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_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/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_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.22.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.4-nompi_py312h25f8dc5_102.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.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/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openjdk-24.0.2-h5755bd7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.1-hd747db4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.3-py312h8ecdadd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.45-hc749103_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.2-py310h49dadd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_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/linux-64/propcache-0.5.2-py312h8a5da7c_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/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.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/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-21.0.0-py312h7900ff3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-21.0.0-py312hc195796_3_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-docutils-1.0.3-pyhcf101f3_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.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.0-py312h02b19dd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312h1c88c49_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.2-py312h5654102_1.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/pytables-3.10.2-py312hefc0c3f_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.12-hfe2f287_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.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-eccodes-2.46.0-np2py312hfb8c2c5_0.conda - - 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-dotenv-1.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h3fc9a0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.4.3-py312h1df8778_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.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.32.5-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.26-h5ac9029_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.7.2-py312h4f0b9e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.0.5-h8c3c6de_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.0.7-py312h21f5128_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.4-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-design-0.6.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jsonschema-1.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-bibtex-2.6.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tabula-py-2.7.0-py312h7900ff3_2.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/symspellpy-6.9.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyha7b4d00_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.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.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.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/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/win32_setctime-1.2.0-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/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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-libxt-1.3.1-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/linux-64/xorg-xorgproto-2025.1-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/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - osx-64: - - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.1-h2e727e9_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.2-h6f29d6d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.4-h1c43f85_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h7a4e982_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.6-hfc6d359_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.4-h892fe1a_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.22.0-h5c36c82_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-h04ed212_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.8.6-h19e4261_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h7a4e982_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h7a4e982_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.34.4-h3f46267_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-hda6ec86_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.0-he2a98a9_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.12.0-hc0a8a32_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.14.0-hb076ce7_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.10.0-h18ceab9_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.12.0-h8df8335_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.1.0-h1c43f85_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.1.0-h1c43f85_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312h462f358_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-2.23.1-h548f922_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h950ec3b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312hf9bc6d9_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.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.4.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-48.0.1-py312h1af399d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312h69bf00f_4.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/osx-64/fontconfig-2.18.1-h7a4440b_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/osx-64/fonttools-4.63.0-py312heb39f77_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.42.12-h5720e38_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.13.1-h502464c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.7.4-h88234f0_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.84.3-h35d42e9_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-13.1.2-h42bfd48_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.43-h70b172e_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-11.4.5-h0ffbb26_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_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-64/icu-75.1-h120a0e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_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-64/json-c-0.18-hc62ec3d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.1-gpl_h9912a37_100.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-21.0.0-h3202d62_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-21.0.0-h2db2d7d_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-21.0.0-h7751554_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-21.0.0-h2db2d7d_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-21.0.0-h4653b8a_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.1.0-h1c43f85_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.1.0-h1c43f85_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.1.0-h1c43f85_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.20.0-h8f0b9e4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.7-h19cb2f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-h8555400_11.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.10.3-h55ca5b3_13.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.84.3-h5fed8df_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_hd7ff75f_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-21.0.0-ha67a804_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.58.4-h21a6cfa_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-hd2ea1e3_18.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-hf0eb338_14.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h77d7759_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.13.9-he1bc88e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.7-h0d3cbff_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-64/lz4-4.4.5-py312ha706d14_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.7-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.7-py312h7894933_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.1.2-py312hd099df3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.4-nompi_py312h6ec3a75_102.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openjdk-25.0.2-h48c29e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.1-hd1b02dc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-3.0.3-py312h8e27051_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-h6ef8af8_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/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.45-hf733adb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py312he84af14_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.41.2-py310h3769acf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.6.2-h8462e38_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py312hb401068_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py312h46fdf74_3_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-docutils-1.0.3-pyhcf101f3_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.11.0-py312h4bcfd6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312hb613793_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.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.1-hcb3a2da_9.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.7-hc678f4a_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.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.7-hcb3a2da_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.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-h81bf7d1_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-hfd34d9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py314hea88fa1_3.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-py314he701e3d_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/win-64/c-blosc2-3.1.4-h2af8807_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py314hd8fd7ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py314h2dcd201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py314he884d78_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/editdistpy-0.2.0-py314h417cb87_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py314h1c1cb05_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py314h720154c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py314he35f362_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py314hc249e69_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py314hb7a55bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.8-gpl_he24518a_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.90.0-h9dfe17d_1.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-8_hc41557d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.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.21.0-h8206538_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_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.8.1-hac47afa_1.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_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.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.4.1-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h781ae3c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_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/libzip-1.11.2-h3135430_0.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.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py314hcdb55d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_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/win-64/markupsafe-3.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py314h6cfc8ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2026.0.0-h57928b3_908.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2026.0.0-hfdbc840_908.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314h909e829_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.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/netcdf4-1.7.3-nompi_py314h640c526_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py314hd8fd7ce_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py314h5a6676c_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.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-py314hccc76fc_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py314hf700ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py314h61b30b5_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/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py314h6a447be_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_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/win-64/pulp-2.8.0-py314ha1463a0_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py314hb5be3fa_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py314h9f07db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py314h1c1cb05_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py314h839d035_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py314hb7a55bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py314h2bd12ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.5-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py314hea88fa1_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.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.11.1-pl5321hfcac499_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py314h807bb43_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py314hc980628_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py314h1b5b07a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h10a4840_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py314h76f3c27_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py314h5a2d7ad_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.51-py314hc5dbbe4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py314h2dcd201_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.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/ujson-5.13.0-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_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/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py314h5a2d7ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda + - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_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/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/zstandard-0.25.0-py314hc5dbbe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py314_0.conda + dev: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.anaconda.org/bioconda/ + - url: https://conda.anaconda.org/gurobi/ + - url: https://repo.prefix.dev/open-tyndp/ + packages: + linux-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 + - 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/linux-64/attr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.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.1-h8b1a151_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.3-h06ab39a_1.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.7-h8b1a151_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.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-hf824e48_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py314h56abb78_3.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-py314h3de4e8d_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/linux-64/c-blosc2-3.1.4-hc31b594_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py314ha0b5721_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py314hc02f841_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py314h7fe84b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py314ha768014_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py314hbcf5174_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-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/glib-tools-2.88.1-hee1de02_2.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/glpk-5.0-h445213a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py314hd6bf2bd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py314h2d847ca_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py314hc32fe06_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.13.1-np2py314h6477eea_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-he45328a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py314ha160325_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-py314h97ea11e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.8-gpl_hc2c16d8_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_hc00574d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.90.0-hd24cca6_1.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-8_h8e06fc2_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.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.21.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/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.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.4.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h8876d29_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_hb041515_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.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/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h75b3fb1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.11-int64_h807e49d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.09.18-h74cae3c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.2-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.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314hd4c109c_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/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py314h261f116_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h9891dd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.8.2-h5a610fb_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.8.2-hc1b3267_2.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/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py314hed328fd_100.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/numcodecs-0.16.5-py314ha0b5721_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py314heb044ea_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_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.13-hbde042b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py314hf3b76af_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py314ha0b5721_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py314h8ec4b1a_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/polars-runtime-32-1.42.0-py310h49dadd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py314h503b32b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py314h312e2f4_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py314h969be7f_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py314hbcf5174_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.0-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py314h68799e9_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py314h6477eea_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py314h5611b9a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py314h56abb78_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py314ha1f92a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py314h1bee95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.19-h6a952e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py314hf09ca88_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-h6576b78_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py314hbe3edd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py314h5bd0f2a_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.51-py314h0f05182_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py314hc02f841_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.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/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py314h9891dd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_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/linux-64/wayland-1.25.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py314h5bd0f2a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - 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.3.0-hd9031aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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/linux-64/xorg-xorgproto-2025.1-hb03c661_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/linux-64/zeromq-4.3.5-h09e67af_11.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/zstandard-0.25.0-py314h0f05182_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/json5-0.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_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/symspellpy-6.9.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py314_0.conda + osx-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/json5-0.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_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/symspellpy-6.9.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py314h6482030_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py314hfeef9c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py314h3262eb8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.4-h32e32c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py314hc4308db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py314h8ca4d5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py314h26e5826_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py314h22a2ed9_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py314hd00f597_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py314h4f144dc_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py314hea86bea_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py314he09d67a_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py314h19b641f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py314hde9596f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py314hd1d8aca_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.13.1-np2py314h613bbd0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py314h03d016b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py314hd6e1bd6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py314h21b9a27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.8-gpl_h2bf6321_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.90.0-h5950822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libraqm-0.10.5-hcf81f31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py314h6bf1ee8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py314h77fa6c7_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py314he76ffc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py314h0963f2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py314hf60e252_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py314hc4308db_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py314hcacaf9e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.4.2-py314hfc4c462_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py314h83828b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py314hc4308db_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py314hc904d5e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py314hbf63cc6_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py314hd330473_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py314h123ab73_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py314hf51c35e_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py314h8916c15_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.2.1-py314h8a73851_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.2.1-py314hb60be56_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py314h687fbad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.0-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py314hae267ec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py314h72ea864_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py314hd3b5d2a_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.3-h4f44bb5_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py314h22e5f2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py314h10d0514_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py314h061e49a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py314h1d56075_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py314hd330473_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.19-h1ddadc8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.8.0-np2py314he40e093_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h1609d71_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py314h5727af0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py314h4eeafd1_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py314h217eccc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py314h0b69929_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py314hd1ec8a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py314h217eccc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py314h473ef84_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py314h4f144dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py314h03d016b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py314hd1e8ddb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py314_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/json5-0.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_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.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py314h0612a62_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py314h4dc9dd8_0.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/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.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.1-h16f91aa_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.7-h9ae9c55_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.7-h5928ca5_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.23.3-hbe03c90_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-haf5c5c8_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.3-h8da9771_1.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.7-h16f91aa_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.35.4-h74951b9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h4e1b0f7_10.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-h5446563_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py314hfa18b03_3.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-py314h3daef5d_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/osx-arm64/c-blosc2-3.1.4-hf9886e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py314ha3d490a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py314h44086f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py314h2115a04_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py314hf8a3a22_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py314h0d331bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py314h6c2aa35_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py314hf8d3afe_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_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/glib-tools-2.88.1-h37541a8_2.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/glpk-5.0-h6d7a090_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py314h8744745_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py314h7689434_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py314hb49d8aa_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.13.1-np2py314hdd732f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py314hb84d1df_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py314h4ed92d5_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-py314hf8a3a22_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py314h93ecee7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.8-gpl_h6fbacd7_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.90.0-h0419b56_1.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-8_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.21.0-hd5a2499_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-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.8.1-hf6b4638_1.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_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.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/libintl-0.25.1-h493aca8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.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.33-openmp_he657e61_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libraqm-0.10.5-h29bd36a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_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-h1fb9c8a_2.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/libxcb-1.17.0-hdb1d25a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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.8-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py314h24f3bdd_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/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py314he55896b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py314ha5eae4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py314h6cfcd04_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.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/ncurses-6.6-h1d4f5a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py314ha229517_100.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/numcodecs-0.16.5-py314ha3d490a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py314hac0e451_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.4.2-py314hae46ccb_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-py314h9748aab_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py314ha3d490a_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py314hab283cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/osx-arm64/protobuf-6.31.1-py314hc77ea51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py314ha14b1ff_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/osx-arm64/pulp-2.8.0-py314h676fd1f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py314he55896b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py314h109bba2_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py314h54f3292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.2.1-py314h6590101_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.2.1-py314ha06c032_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py314h3da1bed_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.0-py314h4ed92d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py314hb2113e1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py314hdd732f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py314h9d157c6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py314h4e57505_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.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/rapidfuzz-3.14.5-py314h4ed92d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py314h5002e4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py314he1d1ac0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py314ha14b1ff_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.19-h80928e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py314h15f0f0f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-ha8121a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py314h18e1515_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py314h277790e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py314h6c2aa35_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.51-py314ha14b1ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py314hdcf55e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py314h6c2aa35_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py314h6cfcd04_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py314h6c2aa35_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/osx-arm64/wrapt-1.17.3-py314hb84d1df_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda + - 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/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.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/zstandard-0.25.0-py314h9d33bd4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py314_0.conda + win-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/json5-0.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_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/symspellpy-6.9.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyha7b4d00_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/win32_setctime-1.2.0-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/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.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.1-hcb3a2da_9.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.7-hc678f4a_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.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.7-hcb3a2da_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.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-h81bf7d1_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/blosc-1.21.6-hfd34d9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py314hea88fa1_3.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-py314he701e3d_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/win-64/c-blosc2-3.1.4-h2af8807_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py314hd8fd7ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py314h2dcd201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py314he884d78_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/editdistpy-0.2.0-py314h417cb87_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py314h1c1cb05_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py314h720154c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py314he35f362_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py314hc249e69_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py314hb7a55bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.8-gpl_he24518a_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.90.0-h9dfe17d_1.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-8_hc41557d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.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.21.0-h8206538_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_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.8.1-hac47afa_1.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_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.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.4.1-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h781ae3c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_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/libzip-1.11.2-h3135430_0.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.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py314hcdb55d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_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/win-64/markupsafe-3.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py314h6cfc8ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2026.0.0-h57928b3_908.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2026.0.0-hfdbc840_908.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314h909e829_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.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/netcdf4-1.7.3-nompi_py314h640c526_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py314hd8fd7ce_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py314h5a6676c_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.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-py314hccc76fc_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py314hf700ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py314h61b30b5_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/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py314h6a447be_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_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/win-64/pulp-2.8.0-py314ha1463a0_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py314hb5be3fa_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py314h9f07db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py314h1c1cb05_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py314h839d035_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py314hb7a55bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py314h2bd12ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.5-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py314hea88fa1_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py314h51f0985_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.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.11.1-pl5321hfcac499_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py314h807bb43_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py314hc980628_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.19-h45713df_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py314h1b5b07a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h10a4840_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py314h76f3c27_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py314h5a2d7ad_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.51-py314hc5dbbe4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py314h2dcd201_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.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/ujson-5.13.0-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py314h909e829_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_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/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/winpty-0.4.3-4.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py314h5a2d7ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda + - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_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/win-64/zeromq-4.3.5-h3a581c9_11.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/zstandard-0.25.0-py314hc5dbbe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py314_0.conda + doc: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.anaconda.org/bioconda/ + - url: https://conda.anaconda.org/gurobi/ + - url: https://repo.prefix.dev/open-tyndp/ + packages: + linux-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.16.3-pyhdfd78af_1.conda + - 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/aiohttp-3.14.1-py312h5d8c7f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 + - 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/linux-64/attr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.1-h48c9088_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.2-he7b75e1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.4-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.1-h92c474e_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.6-h82d11aa_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.4-h94feff3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.22.0-h57f3b0d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-h2b1cf8c_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.8.6-h4e5ac4b_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h92c474e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.7-h92c474e_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.34.4-h60c762c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h32384e2_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.0-h3a458e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.12.0-ha729027_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.14.0-hb1c9500_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.10.0-hebae86a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-h8b27e44_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.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/linux-64/c-blosc2-2.23.1-hc31b594_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/linux-64/cartopy-0.25.0-py312hf79963d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py312ha4b625e_0.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/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h1289d80_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-h2b0a6b4_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.13.1-h97f6797_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.7.4-h239500f_2.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/glib-tools-2.84.3-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/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.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/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.4.5-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_106.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.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.19.1-h0c24ade_1.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/levenshtein-0.27.3-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-21.0.0-h56a6dad_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-21.0.0-h635bf11_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-21.0.0-h8c2c5c3_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-21.0.0-h635bf11_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-21.0.0-h3f74fd7_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.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.25-h17f619e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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.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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.10.3-h02f45b3_13.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.84.3-hf39c6af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_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.4.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_h6ae95b6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h81b047f_102.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.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-21.0.0-h790f06f_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-he92a37e_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-hd718a1a_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-he17ca71_14.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.2-h5347b49_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.11.0-he8b52b9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-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/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.7-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py312hd9148b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.4-nompi_py312h25f8dc5_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjdk-24.0.2-h5755bd7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.1-hd747db4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.3-py312h8ecdadd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandoc-3.10-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.45-hc749103_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_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/polars-runtime-32-1.42.0-py310h49dadd8_0.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/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.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/linux-64/pulp-2.8.0-py312hd0750ca_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-21.0.0-py312h7900ff3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-21.0.0-py312hc195796_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.11.0-py312h02b19dd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312h1c88c49_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.2-py312h5654102_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.10.2-py312hefc0c3f_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.12-hfe2f287_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h3fc9a0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.4.3-py312h1df8778_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.26-h5ac9029_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.7.2-py312h4f0b9e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.0.7-py312h21f5128_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/linux-64/sqlite-3.53.2-hbc0de68_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tabula-py-2.7.0-py312h7900ff3_2.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/linux-64/tornado-6.5.7-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uriparser-0.9.8-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py312h20c3967_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - 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.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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-libxt-1.3.1-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/linux-64/xorg-xorgproto-2025.1-hb03c661_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/linux-64/yarl-1.24.2-py312h8a5da7c_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/zlib-ng-2.3.3-hceb46e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h5253ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-7.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_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/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hjson-py-3.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.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/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-bibtex-4.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-macros-plugin-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-table-reader-plugin-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.5-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.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.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypandoc-1.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - 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-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/responses-0.26.1-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.1.2-hc34e891_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super-collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super_collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/termcolor-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20260518-pyhcf101f3_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_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + osx-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.16.3-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-7.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_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/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hjson-py-3.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.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/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-bibtex-4.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-macros-plugin-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-table-reader-plugin-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.5-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.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.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypandoc-1.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - 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-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/responses-0.26.1-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.1.2-hc34e891_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super-collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super_collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/termcolor-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20260518-pyhcf101f3_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_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.1-h2e727e9_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.2-h6f29d6d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.4-h1c43f85_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h7a4e982_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.6-hfc6d359_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.4-h892fe1a_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.22.0-h5c36c82_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-h04ed212_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.8.6-h19e4261_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h7a4e982_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h7a4e982_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.34.4-h3f46267_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-hda6ec86_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.0-he2a98a9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.12.0-hc0a8a32_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.14.0-hb076ce7_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.10.0-h18ceab9_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.12.0-h8df8335_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.1.0-h1c43f85_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.1.0-h1c43f85_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312h462f358_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-2.23.1-h548f922_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h950ec3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312hf9bc6d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py312h1af399d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312h69bf00f_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.63.0-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.42.12-h5720e38_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.13.1-h502464c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.7.4-h88234f0_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.84.3-h35d42e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-13.1.2-h42bfd48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.43-h70b172e_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-11.4.5-h0ffbb26_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-75.1-h120a0e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.1-gpl_h9912a37_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-21.0.0-h3202d62_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-21.0.0-h2db2d7d_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-21.0.0-h7751554_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-21.0.0-h2db2d7d_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-21.0.0-h4653b8a_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.1.0-h1c43f85_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.1.0-h1c43f85_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.1.0-h1c43f85_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-h8555400_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.10.3-h55ca5b3_13.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.84.3-h5fed8df_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_hd7ff75f_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-21.0.0-ha67a804_8_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.58.4-h21a6cfa_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-hd2ea1e3_18.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-hf0eb338_14.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h77d7759_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.13.9-he1bc88e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.7-py312hb401068_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.7-py312h7894933_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py312hdb80668_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.4-nompi_py312h6ec3a75_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openjdk-25.0.2-h48c29e7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.1-hd1b02dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-3.0.3-py312h8e27051_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandoc-3.10-h694c41f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-h6ef8af8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.45-hf733adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py312he84af14_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.6.2-h8462e38_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py312hda2ad9a_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py312hb401068_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py312h46fdf74_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.11.0-py312h4bcfd6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312hb613793_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.10.2-py312hde43864_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.12-h3999593_0_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-64/python-eccodes-2.46.0-np2py312h421c061_0.conda - - 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-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.4.3-py312h2efda69_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.7.2-py312hfee4f84_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.0.7-py312hbf10b29_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-hd4d344e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tabula-py-2.7.0-py312hb401068_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/watchdog-6.0.0-py312hba6025d_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.2.5-h197e74d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + osx-arm64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.16.3-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-7.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-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/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_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/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hjson-py-3.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.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/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-bibtex-4.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-macros-plugin-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-table-reader-plugin-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.5-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.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.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypandoc-1.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - 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-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/responses-0.26.1-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.0.5-h8c3c6de_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.0.7-py312hbf10b29_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.1.2-hc34e891_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-64/snappy-1.2.2-h01f5ddf_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.4-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-design-0.6.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jsonschema-1.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-bibtex-2.6.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-hd4d344e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tabula-py-2.7.0-py312hb401068_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super-collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super_collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/termcolor-3.3.0-pyhd8ed1ab_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-64/tk-8.6.13-h7142dee_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20260518-pyhcf101f3_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_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.2.5-h197e74d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_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-64/yaml-0.2.5-h4132b18_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda - 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/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.1-h41ebd0a_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.9.2-hd08b81e_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.4-h6caf38d_0.conda @@ -3047,115 +5459,60 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.14.0-he094cc7_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.10.0-h12fd690_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.12.0-h30213e0_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_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.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.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.1.0-h6caf38d_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h6caf38d_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312h6b01ec3_4.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/osx-arm64/c-blosc2-2.22.0-hb83781b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-h6a3b0d2_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312hb65edc0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.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.4.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.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/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-48.0.1-py312h1238841_0.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/cryptography-49.0.0-py312h1238841_0.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.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h455b684_4.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/osx-arm64/fontconfig-2.18.1-h2b252f5_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/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.42.12-h7af3d76_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.1-hc9a1286_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.4-h1d7e6e1_2.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/glib-tools-2.84.3-h857b2e6_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/google-api-core-2.30.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-13.1.2-hcd33d8b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_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.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-11.4.5-hf4e55d4_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_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.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_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/noarch/jsonpointer-3.1.1-pyhcf101f3_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/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py312h455b684_0.conda @@ -3173,8 +5530,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h6caf38d_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-8_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.20.0-hd5a2499_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.7-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-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 @@ -3197,6 +5554,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h6808abe_102.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda @@ -3220,30 +5578,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.9-h4a9ca0c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.7-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/llvm-openmp-22.1.8-hc7d1edf_0.conda - 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/noarch/markdown-it-py-3.0.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.7-py312h1f38498_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.7-py312h605b88b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_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/osx-arm64/msgpack-python-1.2.1-py312h766f71e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.4-nompi_py312h5d59a02_102.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/numexpr-2.14.1-py312hb55a559_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda @@ -3252,567 +5598,1074 @@ environments: - 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.3-hd24854e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.1-h4fd0076_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-3.0.3-py312h6510ced_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandoc-3.10-hce30654_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-h875632e_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/patsy-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.45-ha881caa_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py312h4e908a4_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.41.2-py310hb2fc7d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_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/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.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/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py312h38bd297_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-21.0.0-py312h1f38498_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-21.0.0-py312hae6ed00_3_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.11.0-py312hfd5e53c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hf0774e8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.10.2-py312hc3f5fac_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.12-hec0b533_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.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/rapidfuzz-3.14.5-py312h6d95f44_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.4.3-py312h460a678_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.7.2-py312h79e0ffc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.0.7-py312hf733f26_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/osx-arm64/sqlite-3.53.2-h85ec8f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tabula-py-2.7.0-py312h81bd7bf_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py312h2bbb03f_0.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/osx-arm64/watchdog-6.0.0-py312hb3ab3e3_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.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/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/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.24.2-py312h04c11ed_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/zlib-ng-2.3.3-hed4e4f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312h37e1c23_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + win-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.16.3-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-7.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-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/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-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.1.8-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.6.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.78.1-pyhcf101f3_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/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hjson-py-3.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.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/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-bibtex-4.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-macros-plugin-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-table-reader-plugin-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.5-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.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.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-docutils-1.0.3-pyhcf101f3_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.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.0-py312hfd5e53c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypandoc-1.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hf0774e8_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.10.2-py312hc3f5fac_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.12-hec0b533_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.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-eccodes-2.46.0-np2py312h877c910_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - 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-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.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/rapidfuzz-3.14.5-py312h6d95f44_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.4.3-py312h460a678_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-4.1.0-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/noarch/responses-0.26.1-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.7.2-py312h79e0ffc_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.0.5-h8c3c6de_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.0.7-py312hf733f26_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.1.2-hc34e891_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/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.4-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-design-0.6.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jsonschema-1.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-bibtex-2.6.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h85ec8f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tabula-py-2.7.0-py312h81bd7bf_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super-collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/super_collections-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/termcolor-3.3.0-pyhd8ed1ab_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/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py312h2bbb03f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyha7b4d00_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20260518-pyhcf101f3_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_extensions-4.15.0-pyhcf101f3_0.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/noarch/unidecode-1.4.0-pyhcf101f3_1.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.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.0-pyhcf101f3_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/noarch/xarray-2025.9.0-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.2-pyhd8ed1ab_0.conda - - 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/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h37e1c23_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda - 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/win-64/aiohttp-3.14.1-py312h6b91d65_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-h81bf7d1_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.6.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/win-64/bottleneck-1.6.0-np2py312h226b611_3.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/win-64/c-blosc2-2.23.1-h2af8807_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/win-64/cartopy-0.25.0-py312hc128f0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py312h232196e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py312he06e257_2.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/win-64/eccodes-2.46.0-h2bffdaa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312hbb81ca0_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.63.0-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.13.1-h9ea8674_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geotiff-1.7.4-h86c3423_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-13.1.2-ha5e8f4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.78.1-py312h5881051_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/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-11.4.5-h5f2951f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_106.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-75.1-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.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.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py312hbb81ca0_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/libaec-1.1.5-haf901d7_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.11.0-8_h6c93730_netlib.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-8_hc41557d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_ha2db4b5_2.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.25-h51727cc_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.8.1-hac47afa_1.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.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - 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/libgdal-core-3.10.3-h228a343_13.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.84.3-h1c1036b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.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.1-default_h88281d1_1000.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.4.1-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_ha45073a_102.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.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h6cf2d3c_1.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-hbfc9ebc_18.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-h378fb81_14.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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_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-2.13.9-h741aa76_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h25c3957_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzip-1.11.2-h3135430_0.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/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/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.7-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.7-py312h0ebf65c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2025.3.1-h57928b3_13.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2025.3.1-hfdbc840_13.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py312hf90b1b7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/multidict-6.7.1-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.4-nompi_py312h8fa77f8_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2025.3.1-h57928b3_13.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openjdk-25.0.2-he453025_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.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-h0a1ad0e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py312h95189c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pandoc-3.10-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.45-h99c9b8b_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/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.6.2-h7990399_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.33.5-py312hcb3287e_2.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/win-64/pulp-2.8.0-py312he39998a_3.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/win-64/pyogrio-0.11.0-py312h6e88f47_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h235ce7f_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.9.2-py312h0ba07f7_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.10.2-py312h20cef2e_11.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.12-h30ce641_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py312h829343e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.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.9.2-h236c7cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.4.3-py312h9aeec68_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.7.2-py312h91ac024_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.0.7-py312h3f81574_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/win-64/sqlite-3.53.2-hdb435a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/symlink-exe-runtime-1.0-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tabula-py-2.7.0-py312h2e8e312_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-hd094cb3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.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/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py312h209ec74_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.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/win-64/xorg-libice-1.1.2-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda + - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_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/win-64/yarl-1.24.2-py312h05f76fc_0.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 + open-tyndp: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.anaconda.org/bioconda/ + - url: https://conda.anaconda.org/gurobi/ + - url: https://repo.prefix.dev/open-tyndp/ + packages: + linux-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - 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/aiohttp-3.14.1-py312h5d8c7f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 + - 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/linux-64/attr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.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.1-h8b1a151_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.3-h06ab39a_1.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.7-h8b1a151_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.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-hf824e48_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.6.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/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.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/linux-64/c-blosc2-3.1.4-hc31b594_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py312ha4b625e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py312h31af4aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-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/glib-tools-2.88.1-hee1de02_2.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/glpk-5.0-h445213a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py312h8285ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-he45328a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py312h1289d80_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.22.2-hbde042b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.8-gpl_hc2c16d8_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_hc00574d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.90.0-hd24cca6_1.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-8_h8e06fc2_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.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.21.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/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.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.4.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h8876d29_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.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/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h75b3fb1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.11-int64_h807e49d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.09.18-h74cae3c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.2-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.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-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/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py312h1c5ec97_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py312hd9148b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.8.2-h5a610fb_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.8.2-hc1b3267_2.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/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.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/numcodecs-0.16.5-py312hf79963d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.0-py312h33ff503_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py312hf79963d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_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/polars-runtime-32-1.42.0-py310h49dadd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.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/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-calamine-0.6.1-py312h0ccc70a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-h6576b78_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py312h383787d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py312h4c3975b_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.51-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.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/linux-64/tornado-6.5.7-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py312h8285ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uriparser-0.9.8-hac33072_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/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - 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.3.0-hd9031aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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/linux-64/xorg-xorgproto-2025.1-hb03c661_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/linux-64/yarl-1.24.2-py312h8a5da7c_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/zlib-ng-2.3.3-hceb46e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h5253ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.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/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_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-h81bf7d1_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.5.0-py312h06d0912_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_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/blinker-1.9.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/win-64/c-blosc2-2.23.1-h2af8807_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.4.1-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-48.0.1-py312h232196e_0.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.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dash-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.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/win-64/eccodes-2.46.0-h2bffdaa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312hbb81ca0_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.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.18.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.63.0-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.13.1-h9ea8674_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/geotiff-1.7.4-h86c3423_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.6.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-13.1.2-ha5e8f4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.78.1-py312h5881051_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.78.1-pyhcf101f3_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/grpcio-status-1.73.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-11.4.5-h5f2951f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_106.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_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/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/jsonpointer-3.1.1-pyhcf101f3_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/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py312hbb81ca0_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/libaec-1.1.5-haf901d7_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.11.0-8_h6c93730_netlib.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-8_hc41557d_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.7-default_ha2db4b5_1.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.25-h51727cc_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.8.1-hac47afa_1.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.14.3-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda - - 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/libgdal-core-3.10.3-h228a343_13.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.84.3-h1c1036b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.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/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.4.1-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_ha45073a_102.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.58-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h6cf2d3c_1.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-hbfc9ebc_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-h378fb81_14.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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_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-2.13.9-h741aa76_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h25c3957_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzip-1.11.2-h3135430_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/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/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.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.7-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.7-py312h0ebf65c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.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/win-64/multidict-6.7.1-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_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.22.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.4-nompi_py312h8fa77f8_102.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openjdk-25.0.2-he453025_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.3-hf411b9b_0.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/oauthlib-3.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py312h95189c4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.45-h99c9b8b_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/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-unix_hf108a03_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.41.2-py310hd2b7e2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_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/win-64/propcache-0.5.2-py312h05f76fc_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/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.33.5-py312hcb3287e_2.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/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-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/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-docutils-1.0.3-pyhcf101f3_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.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.0-py312h6e88f47_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h235ce7f_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.9.2-py312h0ba07f7_1.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/pytables-3.10.2-py312h20cef2e_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.12-h30ce641_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.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-eccodes-2.46.0-np2py312h226b611_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - 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-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_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.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.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.9.2-h236c7cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.4.3-py312h9aeec68_2.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.32.5-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/retrying-1.4.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.7.2-py312h91ac024_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.0.5-h8c3c6de_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.0.7-py312h3f81574_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.4-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-design-0.6.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jsonschema-1.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-bibtex-2.6.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/symlink-exe-runtime-1.0-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tabula-py-2.7.0-py312h2e8e312_2.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/symspellpy-6.9.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyha7b4d00_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_38.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/noarch/xarray-2025.9.0-pyhd8ed1ab_0.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/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda - - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_0.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/win-64/yarl-1.24.2-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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 - open-tyndp: - channels: - - url: https://conda.anaconda.org/conda-forge/ - - url: https://conda.anaconda.org/bioconda/ - - url: https://conda.anaconda.org/gurobi/ - - url: https://repo.prefix.dev/open-tyndp/ - packages: - linux-64: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda + - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda + osx-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 - - 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/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.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.1-h8b1a151_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.3-h06ab39a_1.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.7-h8b1a151_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.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-hf824e48_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.5.0-py312h90b7ffd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/linux-64/c-blosc2-3.1.3-hc31b594_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda @@ -3820,559 +6673,215 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-48.0.1-py312ha4b625e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.14-py313hd8ed1ab_100.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-hac629b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dash-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.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.18.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.63.0-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-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/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.88.1-hee1de02_2.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/glpk-5.0-h445213a_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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-78.3-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-h0804adb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/jpype1-1.7.1-py312h1289d80_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/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_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.22.2-ha1258a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.7-gpl_hc2c16d8_101.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.88.0-hd24cca6_7.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-8_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.7-default_h746c552_1.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.20.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/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.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.4.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.7-hf7376ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.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.33-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.4-h2fe6a88_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.05.20-hfabd9d1_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.1-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.2-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-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/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.9-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.9-py312he3d6523_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_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/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.7.3-h82cca05_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.7.3-h27a6a8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/muparser-2.3.5-h5888daf_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.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/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py312hf79963d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_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/pixi-pycharm-0.0.11-unix_hf108a03_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.2-py310h49dadd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.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/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-calamine-0.6.1-py312h0ccc70a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.13.14-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/retrying-1.4.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.17-h6a952e8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-hbf6308b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.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-py312h383787d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-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/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312h8285ef7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_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/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda - - 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.3.0-hd9031aa_1.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.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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/linux-64/xorg-xorgproto-2025.1-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/xz-5.8.3-ha02ee65_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.3-ha02ee65_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.3-hb03c661_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/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py313h6f5309d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py312h80b0991_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda @@ -4391,36 +6900,267 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.5.0-py312h5f4ecc6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.6.0-py313h116f8bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py313h4e95564_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py313h8d69aa9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.4-h32e32c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py313h2f264a9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py313hf57695f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py313hceb611b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py313h98b818e_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py313ha8d32cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py313h36bb7f5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py313hecd7239_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py313ha55c4c1_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.63.0-py313h035b7d0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py313h1cd6d9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py313h49a2f01_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py313h5fe49f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py313ha22d4e2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py313hd52a848_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py313h2589dda_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py313h585f44e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py313hf050af9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py313hbc4457e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py313h224b87c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py313hc4a83b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.8-gpl_h2bf6321_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.90.0-h5950822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libraqm-0.10.5-hcf81f31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py313hdc5d0a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py313hab77a93_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py313h035b7d0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py313habf4b1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py313h282d897_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py313h862c624_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py313h84cef87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py313hc346fa9_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py313h2f264a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py313hb9105e7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.5.0-py313hb870fc3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py313hc34da29_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py313h2f264a9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py313h23d381d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py313h035b7d0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py313hc85ccdc_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py313h16366db_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py313habf4b1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py313h83f9c1b_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py313h23ec8f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py313h8e1be7a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py313hbc4457e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py313hb57fe85_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py313h2589dda_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py313hd7fc5ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.14-h3d5d122_100_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-calamine-0.6.1-py313ha265c4a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py313h4ef92c9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py313h7c6a591_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py313hbc4457e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py313hab02871_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py313he4ad68c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py313h16366db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py313h4d167ef_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h1609d71_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py313h9cbb6b6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py313h210a477_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py313hf59fe81_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py313h22ab4a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py313h0f4b8c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py313hf59fe81_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py313h5fe49f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py313h585f44e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py313h035b7d0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py313hcb05632_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py313_0.conda + - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.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/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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-64/brotli-1.2.0-hf139dec_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py312h4b46afd_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.3-h32e32c0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312he90777b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda @@ -4428,498 +7168,212 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-48.0.1-py312h1af399d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.14-py313hd8ed1ab_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dash-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py312h4075484_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312hb20e208_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.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/osx-64/fontconfig-2.18.1-h7a4440b_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/osx-64/fonttools-4.63.0-py312heb39f77_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.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.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda - - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py312h80b0991_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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-64/jpype1-1.7.1-py312h959a22e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.7-gpl_h2bf6321_101.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.88.0-h5950822_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.20.0-h8f0b9e4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.7-h19cb2f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.7-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py312h211e60a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.9-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.9-py312h7609456_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.1.2-py312hd099df3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py312hab8b850_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py312h86abcb1_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py312h86abcb1_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_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-64/pillow-12.2.0-py312he84af14_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-unix_hf108a03_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.41.2-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_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/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py312hfcd758a_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py312hc1db7ba_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.1-py312h4a480f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.1-py312h1993040_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py312h17ccd7d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312h4270620_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py312hb4c736d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py312h7063bee_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.13-ha9537fe_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-calamine-0.6.1-py312h1f62012_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py312h421c061_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.13.14-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py312h6f80297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/retrying-1.4.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py312hf7082af_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.17-h1ddadc8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py312h691318a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h698be43_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py312hd8edc82_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_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/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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-64/ujson-5.12.1-py312h4075484_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py312h0aa9c5c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_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-64/yaml-0.2.5-h4132b18_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda - osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - 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/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py313h53c0e3e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py312h4409184_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py312h81bd7bf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.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/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.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 @@ -4938,205 +7392,81 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-h5446563_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.5.0-py312h87c4bb7_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.6.0-py313h7208f8c_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.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/bottleneck-1.6.0-np2py313hc22c943_3.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/brotli-python-1.2.0-py313hde1f3bb_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/osx-arm64/c-blosc2-3.1.3-hf9886e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-3.1.4-hf9886e1_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312h1b4d9a2_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-48.0.1-py312h1238841_0.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/dash-4.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py312h6510ced_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py313h7d16b84_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py313h224173a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py313hf5115c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py313h2af2deb_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py313hda5ae78_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py313h0997733_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h515fe7d_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.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/osx-arm64/fiona-1.10.1-py313h7df67bf_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_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/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.63.0-py313h65a2061_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py313h750ce70_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_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/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.88.1-h37541a8_2.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/glpk-5.0-h6d7a090_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py313h11ab6f4_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py313h1188861_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py313hb057f1c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py312_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py313hc6ee213_102.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_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/httpcore-1.0.9-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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/highspy-1.14.0-np2py313hdc65ad0_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py312h4409184_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py313hcdf3177_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py313h6535dbc_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.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/jmespath-1.1.0-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/jpype1-1.7.1-py312h6d95f44_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py313h6deaedc_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/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_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/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py313h2af2deb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py312h455b684_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py313h0e822ff_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.7-gpl_h6fbacd7_101.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.8-gpl_h6fbacd7_100.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.88.0-h0419b56_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.90.0-h0419b56_1.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-8_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.20.0-hd5a2499_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.7-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-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 @@ -5166,6 +7496,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.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.33-openmp_he657e61_0.conda @@ -5174,11 +7505,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libraqm-0.10.5-h29bd36a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h1590b86_0.conda @@ -5193,173 +7524,586 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.7-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.8-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py313h28ec6f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py313hd065f0a_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/osx-arm64/markupsafe-3.0.3-py313h65a2061_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py313h39782a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py313h113b65d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py313h5c29297_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.7.1-py313haf6918d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.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/ncurses-6.6-h1d4f5a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py313hb28a5cb_100.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/numcodecs-0.16.5-py313h7d16b84_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py313h23850d5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.0-py313hce9b930_0.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-py313he4f8f71_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py313h7d16b84_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py313h45e5a15_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/osx-arm64/propcache-0.5.2-py313h65a2061_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py313he4076bf_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py313h6688731_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/osx-arm64/pyarrow-23.0.0-py313h39782a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py313h23b330d_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py313h212e517_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py313he6d61f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py313h6deaedc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py313h6de5794_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py313hdc65ad0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py313hffa1668_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.14-h448ec07_100_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-calamine-0.6.1-py313h0b74987_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py313h2962dae_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py313h65a2061_1.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/rapidfuzz-3.14.5-py313h6deaedc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py313h8ab8132_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py313hb9d2816_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py313h6688731_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py313h3b23316_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-ha8121a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py313h52f5312_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py313h10b2fc2_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py313h0997733_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.51-py313h6688731_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py313hc577518_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py313h0997733_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py313h1188861_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/osx-arm64/wrapt-1.17.3-py313hcdf3177_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda + - 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/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.24.2-py313h65a2061_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/zlib-ng-2.3.3-hed4e4f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py313h9734d34_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py313_0.conda + - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda + win-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.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/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.14-py313hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dash-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.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/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.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.50-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_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/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py312h2f8615f_0.conda - - 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/loguru-0.7.3-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py312h04c11ed_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.9-py312h1f38498_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.9-py312hf3defc7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_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/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/muparser-2.3.5-h11e0b38_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py312h947358d_100.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/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py312h5978115_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py312hb55a559_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.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.3-hd24854e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py312h5978115_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_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/pixi-pycharm-0.0.11-unix_hf108a03_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-win_hba80fca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.41.2-py310hb2fc7d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.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/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py312h1f38498_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py312h21b41d0_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py312hb9d4441_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.1-py312h19bbe71_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.1-py312h1de3e18_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py312h07dd7c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hce17ad6_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py312h60fbb24_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py312h53cfef5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.13-h8561d8f_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-calamine-0.6.1-py312h7a0e18e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.13.14-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.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/rapidfuzz-3.14.5-py312h6d95f44_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py312h8fc80b0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/retrying-1.4.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py312hb3ab3e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.17-h80928e0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py312he5ca3e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-h2279441_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.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-py312h35cd81b_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyha7b4d00_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/win32_setctime-1.2.0-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/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py313h51e1470_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.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.1-hcb3a2da_9.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.7-hc678f4a_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.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.7-hcb3a2da_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.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-h81bf7d1_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.6.0-py313h2a31948_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/win-64/bottleneck-1.6.0-np2py313haacffc7_3.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-py313h3ebfc14_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/win-64/c-blosc2-3.1.4-h2af8807_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py313hc90dcd4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py313h5ea7bf4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py313h0591002_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py313h1a38498_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py313hf5c5e30_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py313h5ea7bf4_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/editdistpy-0.2.0-py313h0bf8f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py313h8b19803_6.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.63.0-py313hd650c13_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py313h0c48a3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/git-2.54.0-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py313h5327936_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py313h927ade5_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py313h3c83859_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py313hf7f959b_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.13.1-np2py313h776c0ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py313h5ea7bf4_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py313h5ea7bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py313hfe59770_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py313h1a38498_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py313hfe59770_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.8-gpl_he24518a_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.90.0-h9dfe17d_1.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-8_hc41557d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.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.21.0-h8206538_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_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.8.1-hac47afa_1.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_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.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.4.1-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h781ae3c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_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/libzip-1.11.2-h3135430_0.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.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py313h1af1686_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py313h4bbca4b_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/win-64/markupsafe-3.0.3-py313hd650c13_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py313hfa70ccb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py313hd54256a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py313hf069bd2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/multidict-6.7.1-py313hd650c13_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.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/netcdf4-1.7.3-nompi_py313hbe59507_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py313hc90dcd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py313h7034ea3_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py313hce7ae62_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-py313hc624790_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.1-py313h26f5e95_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py313h38f99e1_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/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py313hd650c13_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py313h16c7a9f_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py313h5fd188c_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/win-64/pyarrow-23.0.0-py313hfa70ccb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py313h5921983_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py313hfbe8231_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py313h8b19803_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py313hfe59770_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py313hbf73894_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py313hfa70ccb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py313h776c0ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py313h0c3c3c1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py313h98afe49_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.13.14-h09917c8_100_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-calamine-0.6.1-py313hf61f64f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py313haacffc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py313h40c08fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py313hd650c13_1.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.11.1-pl5321hfcac499_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py313hfe59770_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py313h1ced589_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py313ha9ea572_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py313h5fd188c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py313h4ce4a18_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h10a4840_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py313he51e9a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py313h64ccc5a_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py313h5ea7bf4_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.51-py313h5fd188c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py313h0591002_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py313h5ea7bf4_0.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/ujson-5.13.0-py313h927ade5_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/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda + - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_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/win-64/yarl-1.24.2-py313hd650c13_0.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/zstandard-0.25.0-py313h5fd188c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py313_0.conda + - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda + test: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.anaconda.org/bioconda/ + - url: https://conda.anaconda.org/gurobi/ + - url: https://repo.prefix.dev/open-tyndp/ + packages: + linux-64: - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda @@ -5370,151 +8114,358 @@ environments: - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_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/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312h2bbb03f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312h6510ced_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py312h766f71e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - 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/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h37e1c23_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda - win-64: - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 + - 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/linux-64/attr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.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.1-h8b1a151_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.3-h06ab39a_1.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.7-h8b1a151_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.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-hf824e48_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py314h56abb78_3.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-py314h3de4e8d_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/linux-64/c-blosc2-3.1.4-hc31b594_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py314ha0b5721_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py314hc02f841_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py314h7fe84b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py314ha768014_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py314hbcf5174_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-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/glib-tools-2.88.1-hee1de02_2.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/glpk-5.0-h445213a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py314hd6bf2bd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py314h2d847ca_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py314hc32fe06_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.13.1-np2py314h6477eea_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py314h5bd0f2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-he45328a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py314ha160325_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-py314h97ea11e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.8-gpl_hc2c16d8_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_hc00574d_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.90.0-hd24cca6_1.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-8_h8e06fc2_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.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.21.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/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.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.4.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h8876d29_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_hb041515_netlib.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.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/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h75b3fb1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.11-int64_h807e49d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.09.18-h74cae3c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.2-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.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314hd4c109c_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/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py314h261f116_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h9891dd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.8.2-h5a610fb_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.8.2-hc1b3267_2.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/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py314hed328fd_100.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/numcodecs-0.16.5-py314ha0b5721_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py314heb044ea_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_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.13-hbde042b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py314hf3b76af_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py314ha0b5721_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py314h8ec4b1a_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/polars-runtime-32-1.42.0-py310h49dadd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py314h503b32b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py314h312e2f4_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py314h969be7f_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py314hbcf5174_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.0-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py314h68799e9_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py314h6477eea_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py314h5611b9a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py314h56abb78_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py314ha160325_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py314ha1f92a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py314h1bee95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.19-h6a952e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py314hf09ca88_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-h6576b78_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py314hbe3edd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py314h5bd0f2a_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.51-py314h0f05182_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py314hc02f841_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.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/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py314h9891dd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_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/linux-64/wayland-1.25.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py314h5bd0f2a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - 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.3.0-hd9031aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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/linux-64/xorg-xorgproto-2025.1-hb03c661_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/linux-64/zeromq-4.3.5-h09e67af_11.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/zstandard-0.25.0-py314h0f05182_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py312he06e257_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py312h2e8e312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.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.1-hcb3a2da_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.7-hc678f4a_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.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.7-hcb3a2da_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.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-h81bf7d1_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.5.0-py312h06d0912_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/win-64/c-blosc2-3.1.3-h2af8807_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda @@ -5523,408 +8474,232 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-48.0.1-py312h232196e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.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/dash-4.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312h3f2e00f_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.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.18.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.63.0-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/git-2.54.0-h57928b3_1.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.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py312h9256aa6_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda - - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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-78.3-h637d24d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py312he06e257_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/jpype1-1.7.1-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-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.22.2-h0ea6238_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.7-gpl_he24518a_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.88.0-h9dfe17d_7.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-8_hc41557d_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.7-default_ha2db4b5_1.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.20.0-h8206538_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_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.8.1-hac47afa_1.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_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.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.4.1-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-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-h2e43b2f_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.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.3-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_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/libzip-1.11.2-h3135430_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py312h2f35c63_0.conda - - 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/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.9-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.9-py312h0ebf65c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.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/win-64/multidict-6.7.1-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/muparser-2.3.5-he0c23c2_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py312h79d12a2_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py312hc128f0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.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.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.3-py312hc128f0a_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_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/pixi-pycharm-0.0.11-win_hba80fca_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/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.41.2-py310hd2b7e2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py312hcb3287e_2.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/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py312h85419b5_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py312hdabe01f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py312h3f2e00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h8b773d8_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py312ha76dc74_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py312ha7d0d2e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py312h20cef2e_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-calamine-0.6.1-py312hb0142fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py312h275cf98_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.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.11.1-pl5321hfcac499_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py312h064b072_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/retrying-1.4.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.17-h45713df_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.9.0-np2py312hea30aaf_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h83f2e2e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.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-py312h37f46ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/send2trash-2.1.0-pyha191276_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_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/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312he06e257_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyha7b4d00_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda @@ -5933,257 +8708,159 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.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/ujson-5.12.1-py312ha1a9051_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py312hf90b1b7_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/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_38.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-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/winpty-0.4.3-4.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda - - 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/win-64/xorg-libxext-1.3.7-hba3369d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_0.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/win-64/yarl-1.24.2-py312h05f76fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312he5662c2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - test: - channels: - - url: https://conda.anaconda.org/conda-forge/ - - url: https://conda.anaconda.org/bioconda/ - - url: https://conda.anaconda.org/gurobi/ - - url: https://repo.prefix.dev/open-tyndp/ - packages: - linux-64: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py314_0.conda + osx-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py312h4c3975b_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 - - 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/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.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.1-h8b1a151_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.3-h06ab39a_1.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.7-h8b1a151_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.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-hf824e48_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.5.0-py312h90b7ffd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/linux-64/c-blosc2-3.1.3-hc31b594_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-48.0.1-py312ha4b625e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.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-hac629b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.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.18.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.63.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.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/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-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/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.88.1-hee1de02_2.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/glpk-5.0-h445213a_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.1-py312h8285ef7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - - conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.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-78.3-h33c6efd_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-h0804adb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda @@ -6191,596 +8868,566 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/jpype1-1.7.1-py312h1289d80_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/noarch/json5-0.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_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.22.2-ha1258a1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.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/levenshtein-0.27.3-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.7-gpl_hc2c16d8_101.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.88.0-hd24cca6_7.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-8_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.7-default_h746c552_1.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.20.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/libdrm-2.4.127-hb03c661_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/libegl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.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.8.1-hecca717_1.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_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-15.2.0-h69a702a_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.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.4.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_h6ae95b6_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.7-hf7376ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.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.33-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.4-h2fe6a88_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.05.20-hfabd9d1_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-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_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.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.42.1-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.2-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-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/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.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.9-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.9-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_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/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.7.3-h82cca05_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.7.3-h27a6a8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/muparser-2.3.5-h5888daf_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.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/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.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.3-py312hf79963d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_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/linux-64/pixman-0.46.4-h54a6638_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.2-py310h49dadd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.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/linux-64/pulp-2.8.0-py312hd0750ca_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.17-h6a952e8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-hbf6308b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.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-py312h383787d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.50-py312h5253ce2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_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/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_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/tenacity-9.1.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312h8285ef7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_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/virtualenv-21.5.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda - - 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.3.0-hd9031aa_1.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.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.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.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_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/linux-64/xorg-xorgproto-2025.1-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/xz-5.8.3-ha02ee65_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.3-ha02ee65_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.3-hb03c661_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/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py314h6482030_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py314hfeef9c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py314h3262eb8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.4-h32e32c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py314hc4308db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py314h8ca4d5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py314h26e5826_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py314h22a2ed9_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py314hd00f597_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py314h4f144dc_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py314hea86bea_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py314he09d67a_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py314h19b641f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py314hde9596f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py314hd1d8aca_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.13.1-np2py314h613bbd0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py314h03d016b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py314hd6e1bd6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py314h21b9a27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.8-gpl_h2bf6321_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.90.0-h5950822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libraqm-0.10.5-hcf81f31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py314h6bf1ee8_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py314h77fa6c7_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py314he76ffc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py314h0963f2d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py314hf60e252_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py314hc4308db_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py314hcacaf9e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.4.2-py314hfc4c462_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py314h83828b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py314hc4308db_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py314hc904d5e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py314hbf63cc6_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py314hd330473_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py314h123ab73_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py314hee6578b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py314hf51c35e_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py314h8916c15_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.2.1-py314h8a73851_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.2.1-py314hb60be56_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py314h687fbad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.0-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py314hae267ec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py314h72ea864_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py314hd3b5d2a_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.3-h4f44bb5_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py314h22e5f2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py314h10d0514_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py314h7008281_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py314h061e49a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py314h1d56075_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py314hd330473_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.19-h1ddadc8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.8.0-np2py314he40e093_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h1609d71_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py314h5727af0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py314h4eeafd1_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py314h217eccc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py314h0b69929_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py314hd1ec8a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py314h217eccc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py314h2883b87_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py314h473ef84_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py314h4f144dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py314h03d016b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py314hd1e8ddb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py314_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.13.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py312h80b0991_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py312hb401068_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.5.0-py312h5f4ecc6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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-64/brotli-1.2.0-hf139dec_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py312h4b46afd_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.3-h32e32c0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312he90777b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-48.0.1-py312h1af399d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py312h4075484_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312hb20e208_6.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/osx-64/fontconfig-2.18.1-h7a4440b_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/osx-64/fonttools-4.63.0-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.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.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.1-py312h4075484_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda - - conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py312h80b0991_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda @@ -6789,242 +9436,114 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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-64/jpype1-1.7.1-py312h959a22e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.7-gpl_h2bf6321_101.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.88.0-h5950822_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.20.0-h8f0b9e4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.7-h19cb2f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.7-h0d3cbff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py312h211e60a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.9-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.9-py312h7609456_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.1.2-py312hd099df3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py312hab8b850_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py312h86abcb1_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py312h86abcb1_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_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-64/pillow-12.2.0-py312he84af14_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.41.2-py310h3769acf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py312hda2ad9a_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py312hb401068_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py312hfcd758a_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py312hc1db7ba_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.1-py312h4a480f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.1-py312h1993040_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py312h17ccd7d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312h4270620_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py312hb4c736d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py312h7063bee_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.13-ha9537fe_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py312h421c061_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py312h6f80297_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda @@ -7033,131 +9552,76 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py312hf7082af_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.17-h1ddadc8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py312h691318a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h698be43_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py312hd8edc82_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.50-py312hba6025d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_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/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_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/tenacity-9.1.4-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_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/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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-64/ujson-5.12.1-py312h4075484_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py312h0aa9c5c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_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-64/yaml-0.2.5-h4132b18_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda - 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/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py312h4409184_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py312h81bd7bf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py314h0612a62_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py314h4dc9dd8_0.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/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.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 @@ -7176,526 +9640,551 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-h5446563_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py314hfa18b03_3.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-py314h3daef5d_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/osx-arm64/c-blosc2-3.1.4-hf9886e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py314ha3d490a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py314h44086f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py314h2115a04_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py314hf8a3a22_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py314h0d331bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py314h6c2aa35_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py314hf8d3afe_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_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/glib-tools-2.88.1-h37541a8_2.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/glpk-5.0-h6d7a090_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py314h8744745_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py314h7689434_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py314hb49d8aa_102.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.13.1-np2py314hdd732f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py314hb84d1df_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py314h4ed92d5_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-py314hf8a3a22_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py314h93ecee7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.8-gpl_h6fbacd7_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.90.0-h0419b56_1.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-8_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.21.0-hd5a2499_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-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.8.1-hf6b4638_1.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_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.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/libintl-0.25.1-h493aca8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.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.33-openmp_he657e61_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libraqm-0.10.5-h29bd36a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_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-h1fb9c8a_2.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/libxcb-1.17.0-hdb1d25a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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.8-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py314h24f3bdd_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/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py314he55896b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py314ha5eae4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py314h6cfcd04_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.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/ncurses-6.6-h1d4f5a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py314ha229517_100.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/numcodecs-0.16.5-py314ha3d490a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py314hac0e451_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.4.2-py314hae46ccb_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-py314h9748aab_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py314ha3d490a_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py314hab283cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/osx-arm64/protobuf-6.31.1-py314hc77ea51_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py314ha14b1ff_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/osx-arm64/pulp-2.8.0-py314h676fd1f_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py314he55896b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py314h109bba2_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py314h54f3292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.2.1-py314h6590101_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.2.1-py314ha06c032_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py314h3da1bed_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.0-py314h4ed92d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py314hb2113e1_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py314hdd732f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py314h9d157c6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py314h4e57505_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.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/rapidfuzz-3.14.5-py314h4ed92d5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py314h5002e4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py314he1d1ac0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py314ha14b1ff_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.19-h80928e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py314h15f0f0f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-ha8121a5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py314h18e1515_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py314h277790e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py314h6c2aa35_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.51-py314ha14b1ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py314hdcf55e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py314h6c2aa35_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py314he609de1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py314h6cfcd04_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py314h6c2aa35_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/osx-arm64/wrapt-1.17.3-py314hb84d1df_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda + - 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/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.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/zstandard-0.25.0-py314h9d33bd4_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py314_0.conda + win-64: + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_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/anyio-4.14.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.5.0-py312h87c4bb7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-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/osx-arm64/c-blosc2-3.1.3-hf9886e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312h1b4d9a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh7428d3b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-48.0.1-py312h1238841_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.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-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py312h6510ced_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h515fe7d_6.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/osx-arm64/fontconfig-2.18.1-h2b252f5_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/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_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/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.88.1-h37541a8_2.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/glpk-5.0-h6d7a090_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.1-py312h6510ced_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - - conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py312_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_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/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.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-78.3-hef89b57_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py312h4409184_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-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/jpype1-1.7.1-py312h6d95f44_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/noarch/json5-0.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_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/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.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/levenshtein-0.27.3-py312h455b684_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.7-gpl_h6fbacd7_101.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.88.0-h0419b56_7.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-8_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.20.0-hd5a2499_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.7-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.8.1-hf6b4638_1.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_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.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/libintl-0.25.1-h493aca8_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.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.33-openmp_he657e61_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_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-h1fb9c8a_2.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/libxcb-1.17.0-hdb1d25a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_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/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.7-hc7d1edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py312h2f8615f_0.conda - - 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/loguru-0.7.3-pyh7428d3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.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.9-py312h1f38498_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.9-py312hf3defc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_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/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/muparser-2.3.5-h11e0b38_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.22.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py312h947358d_100.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/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py312h5978115_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py312hb55a559_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.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.3-hd24854e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.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.3-py312h5978115_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_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/osx-arm64/pixman-0.46.4-h81086ad_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.41.2-py310hb2fc7d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.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/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.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/osx-arm64/pulp-2.8.0-py312h38bd297_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py312h1f38498_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py312h21b41d0_0_cpu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py312hb9d4441_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.1-py312h19bbe71_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.1-py312h1de3e18_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py312h07dd7c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hce17ad6_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py312h60fbb24_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py312h53cfef5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.13-h8561d8f_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.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/rapidfuzz-3.14.5-py312h6d95f44_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py312h8fc80b0_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/resolvekit-0.1.12-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py312hb3ab3e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.17-h80928e0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py312he5ca3e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-h2279441_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.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-py312h35cd81b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.50-py312hb3ab3e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_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/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-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/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312h2bbb03f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyha7b4d00_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/ujson-5.12.1-py312h6510ced_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py312h766f71e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/win32_setctime-1.2.0-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/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - - 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/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - 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/zstandard-0.25.0-py312h37e1c23_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda - 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/_python_abi3_support-1.0-hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.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/anyio-4.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py312he06e257_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py314h86ab7b2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.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 @@ -7714,201 +10203,78 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-blobs-cpp-12.16.0-h81bf7d1_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.5.0-py312h06d0912_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_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.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.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/bottleneck-1.6.0-np2py314hea88fa1_3.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/brotli-python-1.2.0-py314he701e3d_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/win-64/c-blosc2-3.1.3-h2af8807_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/c-blosc2-3.1.4-h2af8807_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_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.1.8-pyh7428d3b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py314hd8fd7ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py314h2dcd201_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda - conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-48.0.1-py312h232196e_0.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-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py314he884d78_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py314h5a2d7ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py314hb98de8c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_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/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312h3f2e00f_6.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/editdistpy-0.2.0-py314h417cb87_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py314h1c1cb05_6.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.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.63.0-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.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.50-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py314h720154c_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.1-py312ha1a9051_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py312h9256aa6_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py314he35f362_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda - - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py312_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py314hc249e69_102.conda - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_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/httpcore-1.0.9-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.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/highspy-1.14.0-np2py314hb7a55bc_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py312he06e257_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py314h5a2d7ad_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.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/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.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/jmespath-1.1.0-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/jpype1-1.7.1-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-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.22.2-h0ea6238_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.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/levenshtein-0.27.3-py312hbb81ca0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py314h13fbf68_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.7-gpl_he24518a_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.8-gpl_he24518a_100.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.88.0-h9dfe17d_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.90.0-h9dfe17d_1.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-8_hc41557d_netlib.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.7-default_ha2db4b5_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.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.20.0-h8206538_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.21.0-h8206538_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_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.8.1-hac47afa_1.conda @@ -7935,10 +10301,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h781ae3c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda @@ -7958,237 +10326,89 @@ environments: - 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/libzip-1.11.2-h3135430_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-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/lxml-6.1.1-py312h2f35c63_0.conda - - 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/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py314hcdb55d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_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.9-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.9-py312h0ebf65c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py314h6cfc8ec_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2026.0.0-h57928b3_908.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2026.0.0-hfdbc840_908.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.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/win-64/multidict-6.7.1-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314h909e829_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.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/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py312h79d12a2_100.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py312hc128f0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py314h640c526_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py314hd8fd7ce_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py314h5a6676c_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.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/openpyxl-3.1.5-py314hccc76fc_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_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.3-py312hc128f0a_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py314hf700ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_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/win-64/pillow-12.2.0-py314h61b30b5_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/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.41.2-py310hd2b7e2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_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/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py312hcb3287e_2.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/protobuf-6.31.1-py314h6a447be_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_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/win-64/pulp-2.8.0-py312he39998a_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py312h85419b5_0_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py312hdabe01f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py312h3f2e00f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h8b773d8_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py312ha76dc74_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py312ha7d0d2e_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py312h20cef2e_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - 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-json-logger-4.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.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.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py312h275cf98_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py314ha1463a0_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py314hb5be3fa_0_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py314h9f07db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py314h1c1cb05_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py314h839d035_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py314hb7a55bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py314h2bd12ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.5-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py314hea88fa1_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py314h51f0985_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.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.11.1-pl5321hfcac499_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py312h064b072_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py314h13fbf68_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py314h807bb43_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-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/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.17-h45713df_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.9.0-np2py312hea30aaf_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h83f2e2e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.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-py312h37f46ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - - 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-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - - conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py314hc980628_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.19-h45713df_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py314h1b5b07a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h10a4840_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py314h76f3c27_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py314h5a2d7ad_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/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.50-py312he5662c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py314hc5dbbe4_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_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/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py314h2dcd201_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_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/tenacity-9.1.4-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_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/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.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.7-py312he06e257_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyha7b4d00_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_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-pyhcf101f3_2.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/typing_utils-0.1.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/tornado-6.5.7-py314h5a2d7ad_0.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/ujson-5.12.1-py312ha1a9051_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py312hf90b1b7_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/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ujson-5.13.0-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py314h909e829_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_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/url-normalize-3.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_38.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_38.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-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/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/winpty-0.4.3-4.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py314h5a2d7ad_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda @@ -8197,2395 +10417,8957 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.7-hba3369d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_0.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/win-64/yarl-1.24.2-py312h05f76fc_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - 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/zstandard-0.25.0-py312he5662c2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py314hc5dbbe4_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py314_0.conda packages: +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 + sha256: 38a9a779f242843e94fed34b0fbc0f9be0001f6bd322681c83146186fdd48da6 + md5: 9b1db7127119f513696d620eefe7bf67 + depends: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.13.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-executor-plugin-cluster-generic >=1.0.9,<2.0a0 + size: 13919 + timestamp: 1710194099964 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda + sha256: 68962051fc8f68c8fb3e6a57635c92226ff95841e4649e5acdd3fca770dff16f + md5: d11d20e557970783b9dbc68d36d3c37a + depends: + - numpy >=1.26.4,<3.0 + - pandas >=2.2.3,<3.0 + - python >=3.11.0,<4.0.0 + - pyyaml + - snakemake-executor-plugin-slurm-jobstep >=0.4.0,<0.5.0 + - snakemake-interface-common >=1.21.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.3.9,<10.0.0 + - throttler >=1.2.2,<2.0.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-executor-plugin-slurm >=2.7.1,<3.0a0 + size: 47320 + timestamp: 1780309106075 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda + sha256: 82ad84bf106e0fbab62f6c001311aff53faefe323254c8b2b3540f310bb48dfe + md5: 7d4f2bf739967798eb4d8c02d59cf36c + depends: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.13.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + license: MIT + run_exports: + weak: + - snakemake-executor-plugin-slurm-jobstep >=0.4.0,<1.0a0 + size: 14678 + timestamp: 1765807808315 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda + sha256: 1e8393a8ef060c62ef963fa9e0b3cc8f69b1dec4bdb51599c0dfcdeb9b8c7d12 + md5: a5ec344abd4b0cdda5a52e870e4d25a3 + depends: + - argparse-dataclass >=2.0.0 + - configargparse >=1.7 + - packaging >=24.0 + - python >=3.8 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-interface-common >=1.23.0,<2.0a0 + size: 22751 + timestamp: 1780096495612 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda + sha256: 16c8e1ba64837b10460459e710e2578e8b0be5d1ed9501cfcf27b2ba316e5ad2 + md5: 0d8bbf1699b16ac225031ae0c73729f8 + depends: + - argparse-dataclass >=2.0.0,<3.0.0 + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.19.0 + - throttler >=1.2.2,<2.0.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-interface-executor-plugins >=9.4.0,<10.0a0 + size: 25394 + timestamp: 1772990565157 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda + sha256: 1fc3115ce77aee110a7cf7bc6ffb3a4ab82af3173109b0bad6ac9adb00296de7 + md5: 78f0a9e3ec845ef8e35e319bc36dee9b + depends: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.17.4,<2.0.0 + license: MIT + run_exports: + weak: + - snakemake-interface-logger-plugins >=2.1.0,<3.0a0 + size: 21021 + timestamp: 1779291141116 +- 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 + run_exports: + weak: + - snakemake-interface-report-plugins >=1.3.0,<2.0a0 + 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 + run_exports: + weak: + - snakemake-interface-scheduler-plugins >=2.0.2,<3.0a0 + size: 16446 + timestamp: 1760984180933 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-storage-plugins-4.4.0-pyh84498cf_0.conda + sha256: d23a81477702a123cc520109ef1ae5d4c3da8436e454695a36be0f3bacaae836 + md5: 1a0bee3df0877fb63bbc402ed6be8bc1 + depends: + - python >=3.11.0,<4.0.0 + - reretry >=0.11.8,<0.12.0 + - snakemake-interface-common >=1.12.0,<2.0.0 + - throttler >=1.2.2,<2.0.0 + - wrapt >=1.15.0,<2.0.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-interface-storage-plugins >=4.4.0,<5.0a0 + size: 22621 + timestamp: 1773652683248 +- 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 + - 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 + run_exports: + weak: + - snakemake-interface-storage-plugins >=4.4.1,<5.0a0 + size: 22783 + timestamp: 1773699846635 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda + sha256: 966d9d97e4595e8a6428a5d0527aeda7757b797b3640e74a30601aaad3955621 + md5: 99b9953692a58a31aa94c0d127e71c32 + depends: + - python >=3.11 + - snakemake-interface-logger-plugins >=2,<3 + license: MIT + run_exports: + weak: + - snakemake-logger-plugin-pypsa >=0.2.0,<0.3.0a0 + size: 21702 + timestamp: 1773888550966 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-snkmt-0.1.6-pyhdfd78af_0.conda + sha256: a14f31c9c3b839e5d13638a596c240801ae38205c49f6dadcfd36ab23ffe65c7 + md5: 8fbd31325e6fbb325e15625471b44dfc + depends: + - python + - snakemake-interface-logger-plugins >=2.0.0,<3.0.0 + - snkmt >=0.2.3,<1.0.0 + - sqlalchemy >=2.0.38,<3.0.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-logger-plugin-snkmt >=0.1.6,<1.0a0 + size: 17232 + timestamp: 1767824224092 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.16.3-pyhdfd78af_1.conda + sha256: 6920a03f3ee45f03024f52c786e577be5bfc333a796ebd500916068db4023914 + md5: 4d21f6fd80d4ca88b31a3d98f5e42c97 + depends: + - appdirs + - conda-inject >=1.3.1,<2.0 + - configargparse + - connection_pool >=0.0.3 + - docutils + - dpath >=2.1.6,<3.0.0 + - gitpython + - humanfriendly + - immutables + - jinja2 >=3.0,<4.0 + - jsonschema + - nbformat + - packaging >=24.0 + - psutil + - 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,<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 + - tabulate + - throttler + - wrapt + - yte >=1.5.5,<2.0 + - referencing + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-minimal >=9.16.3,<10.0a0 + size: 874994 + timestamp: 1773485408741 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.1-pyhdfd78af_1.conda + sha256: 6d7a1d2e308506e867121edb6d258dbbb359ce3287631e54601e33edb110485d + md5: ff39f8e27137655553f9fbb842ee1aa2 + depends: + - conda-inject >=1.3.1,<2.0 + - configargparse + - connection_pool >=0.0.3 + - docutils >=0.20,<0.23 + - dpath >=2.1.6,<3.0.0 + - gitpython + - humanfriendly + - immutables + - jinja2 >=3.0,<4.0 + - jsonschema + - nbformat + - packaging >=24.0,<26 + - platformdirs + - psutil + - pulp >=2.3.1,<3.4 + - python >=3.11 + - pyyaml + - referencing + - requests >=2.8.1,<3.0 + - 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,<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 + run_exports: + weak: + - snakemake-minimal >=9.23.1,<10.0a0 + size: 888303 + timestamp: 1781821379807 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda + sha256: bfeb67de43a70a563567d4a5f200e24481e1b72eefc0ccc43e445f4f8c177b5a + md5: 15fe83cb157467c0c85c375f56abf199 + depends: + - httpx >=0.27,<1.dev0 + - platformdirs >=4.0,<5.dev0 + - python >=3.11,<4.0.0 + - reretry >=0.11,<1.dev0 + - snakemake-interface-common >=1.14,<2.dev0 + - snakemake-interface-storage-plugins >=4.2,<5.0 + - snakemake-storage-plugin-http >=0.3,<1.dev0 + - tqdm-loggable >=0.2,<1.dev0 + - typing_extensions >=4.15,<5.dev0 + - zstandard >=0.25.0,<0.26.0 + license: MIT + run_exports: + weak: + - snakemake-storage-plugin-cached-http >=0.3,<0.4.0a0 + size: 21008 + timestamp: 1770697322502 +- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda + sha256: b9ba0397aeefed5ffc61f6de9af249c133f68bc90692b367c7b99cb596babfe0 + md5: 1c9fb83c45139a074c0fd4bd4d829a80 + depends: + - humanfriendly + - python >=3.11.0,<4.0.0 + - requests >=2.31.0,<3.0.0 + - requests-oauthlib >=1.3.1,<2.0.0 + - snakemake-interface-common >=1.14.0,<2.0.0 + - snakemake-interface-storage-plugins >=4.1.0,<5.0.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-storage-plugin-http >=0.3.1,<0.4.0a0 + size: 15256 + timestamp: 1774034096454 +- conda: https://conda.anaconda.org/bioconda/noarch/snkmt-0.4.0-pyhdfd78af_0.conda + sha256: cd84964378bdd54219463d924b84553a127644b0abcca52f45b99b7bc50a66e7 + md5: 38ba1f1279491d848303cd050dfe56cc + depends: + - aiosqlite >=0.21.0,<0.22.0 + - alembic >=1.16.1,<2.0.0 + - beaupy >=3.0.0,<4.0.0 + - loguru >=0.7.3,<0.8.0 + - platformdirs >=4.3.8,<5.0.0 + - python + - sqlalchemy >=2.0.38 + - textual >=3.1.1 + - typer >=0.15.3 + license: MIT + license_family: MIT + run_exports: + weak: + - snkmt >=0.4.0,<1.0a0 + size: 44250 + timestamp: 1773415752189 - 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 + - libgomp >=7.5.0 + constrains: + - openmp_impl <0.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - _openmp_mutex >=4.5 + size: 28948 + timestamp: 1770939786096 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda + sha256: 7e03efaf3671cfca5d3195dc18aa3ca6bc182e0e34d30a95adb4f64f71d8f10c + md5: 10e4a93c73bfe09c5909cb1d41a1e40e + depends: + - __glibc >=2.17,<3.0.a0 + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=14 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.4 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1078273 + timestamp: 1780913823270 +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + sha256: cf93ca0f1f107e95a35969a4622684e08fcb8cf37f8cf4a1e9e424828386c921 + md5: 8904e09bda369377b3dd07e2ac828c5d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - alsa-lib >=1.2.16.1,<1.3.0a0 + size: 592377 + timestamp: 1781521980743 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda + sha256: c5c1057778bec78e07a4a8f122c3659767817fc0a9fa034724ff931ad90af57b + md5: ef757816a8f0fee2650b6c7e19980b6b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + constrains: + - ampl-mp >=4.0.0 + license: BSD-3-Clause AND SMLNJ + run_exports: + weak: + - ampl-asl >=1.0.0,<1.0.1.0a0 + size: 516511 + timestamp: 1732439392742 +- conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py314h5bd0f2a_2.conda + sha256: 39234a99df3d2e3065383808ed8bfda36760de5ef590c54c3692bb53571ef02b + md5: 3cca1b74b2752917b5b65b81f61f0553 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=2.0.0b1 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 35598 + timestamp: 1762509505285 +- conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py314hdafbbf9_0.conda + sha256: 64b35b179ffc0e2409eced094c6280f89c4bbbba5715ae2ba18d37e18e00fce0 + md5: bc30c5eab5cb4daeff7931dd6523e1d7 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: {} + size: 540737 + timestamp: 1770634493936 +- conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 + sha256: 26ab9386e80bf196e51ebe005da77d57decf6d989b4f34d96130560bc133479c + md5: 6b889f174df1e0f816276ae69281af4d + depends: + - at-spi2-core >=2.40.0,<2.41.0a0 + - atk-1.0 >=2.36.0 + - dbus >=1.13.6,<2.0a0 + - libgcc-ng >=9.3.0 + - libglib >=2.68.1,<3.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - at-spi2-atk >=2.38.0,<3.0a0 + size: 339899 + timestamp: 1619122953439 +- conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-core-2.40.3-h0630a04_0.tar.bz2 + sha256: c4f9b66bd94c40d8f1ce1fad2d8b46534bdefda0c86e3337b28f6c25779f258d + md5: 8cb2fc4cd6cc63f1369cfa318f581cc3 + depends: + - dbus >=1.13.6,<2.0a0 + - libgcc-ng >=9.3.0 + - libglib >=2.68.3,<3.0a0 + - xorg-libx11 + - xorg-libxi + - xorg-libxtst + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - at-spi2-core >=2.40.3,<2.41.0a0 + size: 658390 + timestamp: 1625848454791 +- conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda + sha256: df682395d05050cd1222740a42a551281210726a67447e5258968dd55854302e + md5: f730d54ba9cd543666d7220c9f7ed563 + depends: + - libgcc-ng >=12 + - libglib >=2.80.0,<3.0a0 + - libstdcxx-ng >=12 + constrains: + - atk-1.0 2.38.0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - atk-1.0 >=2.38.0 + size: 355900 + timestamp: 1713896169874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda + sha256: 78c516af87437f52d883193cf167378f592ad445294c69f7c69f56059087c40d + md5: 9bb149f49de3f322fca007283eaa2725 + depends: + - __glibc >=2.17,<3.0.a0 + - libattr 2.5.2 hb03c661_1 + - libgcc >=14 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - libattr >=2.5.2,<2.6.0a0 + size: 31386 + timestamp: 1773595914754 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.1-h48c9088_3.conda + sha256: e9c3dece30c12dfac995a8386bd2d1225d0b5f14c0753fcf4fef086047f77048 + md5: afdbdbe7f786f47a36a51fdc2fe91210 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.1,<0.9.2.0a0 + size: 122946 + timestamp: 1757625693207 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.conda + sha256: d9c5babed03371448bb0dc91a1573c80d278d1222a3b0accef079ed112e584f9 + md5: bdd464b33f6540ed70845b946c11a7b8 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-http >=0.10.7,<0.10.8.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.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.3,<0.9.4.0a0 + size: 133443 + timestamp: 1764765235190 +- 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 + run_exports: + weak: + - aws-c-cal >=0.9.13,<0.9.14.0a0 + size: 56230 + timestamp: 1764593147526 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.9.2-he7b75e1_1.conda + sha256: 30ecca069fdae0aa6a8bb64c47eb5a8d9a7bef7316181e8cbb08b7cb47d8b20f + md5: c04d1312e7feec369308d656c18e7f3e + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - libgcc >=14 + - openssl >=3.5.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-cal >=0.9.2,<0.9.3.0a0 + size: 50942 + timestamp: 1752240577225 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.4-hb03c661_0.conda + sha256: 6c9e1b9e82750c39ac0251dcfbeebcbb00a1af07c0d7e3fb1153c4920da316eb + md5: ae5621814cb99642c9308977fe90ed0d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-common >=0.12.4,<0.12.5.0a0 + size: 236420 + timestamp: 1752193614294 +- 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 + run_exports: + weak: + - aws-c-common >=0.12.6,<0.12.7.0a0 + size: 239605 + timestamp: 1763585595898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.1-h8b1a151_9.conda + sha256: 96edccb326b8c653c8eb95a356e01d4aba159da1a97999577b7dd74461b040b4 + md5: f7ec84186dfe7a9e3a9f9e5a4d023e75 + 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 + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 22272 + timestamp: 1764593718823 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.1-h92c474e_6.conda + sha256: 154d4a699f4d8060b7f2cec497a06e601cbd5c8cde6736ced0fb7e161bc6f1bb + md5: 3490e744cb8b9d5a3b9785839d618a17 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 22116 + timestamp: 1752240005329 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.6-h82d11aa_3.conda + sha256: 849d645bf5c7923d9b0d4ba02050714c856495e34b0328b46c0c968045691117 + md5: a6374ed86387e0b1967adc8d8988db86 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + size: 58941 + timestamp: 1757606335645 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda + sha256: a5b151db1c8373b6ca2dacea65bc8bda02791a43685eebfa4ea987bb1a758ca9 + md5: 7b8e3f846353b75db163ad93248e5f9d + depends: + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + size: 58806 + timestamp: 1764675439822 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.4-h94feff3_3.conda + sha256: ce1fb6eb7a3bb633112b334647382c4a28a1bf85ab7b02b53a34aebc984a8e89 + md5: 8dd69714ac24879be0865676eb333f6b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.4,<0.10.5.0a0 + size: 224208 + timestamp: 1757610690937 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda + sha256: 5527224d6e0813e37426557d38cb04fed3753d6b1e544026cfbe2654f5e556be + md5: 3028f20dacafc00b22b88b324c8956cc + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.7,<0.10.8.0a0 + size: 224580 + timestamp: 1764675497060 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.22.0-h57f3b0d_1.conda + sha256: 3dc378afddcdaf4179daccba1ef0b755eea264ff739ceab1d499b271340ea874 + md5: 2de3494a513d360155b7f4da7b017840 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - s2n >=1.5.26,<1.5.27.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-io >=0.22.0,<0.22.1.0a0 + size: 180809 + timestamp: 1758212800114 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda + sha256: 07d7f2a4493ada676084c3f4313da1fab586cf0a7302572c5d8dde6606113bf4 + md5: 132e8f8f40f0ffc0bbde12bb4e8dd1a1 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - s2n >=1.6.2,<1.6.3.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-io >=0.23.3,<0.23.4.0a0 + size: 181361 + timestamp: 1765168239856 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-h2b1cf8c_6.conda + sha256: e4d782791591d6d19e1ea196e1f9494a4c30b0a052555648b64098a682ce9703 + md5: 7bb5e26afec09a59283ec1783798d74a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 216041 + timestamp: 1757626689282 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda + sha256: fb102b0346a1f5c4f3bb680ec863c529b0333fa4119d78768c3e8a5d1cc2c812 + md5: 6a653aefdc5d83a4f959869d1759e6e3 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 216454 + timestamp: 1764681745427 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.11.3-h06ab39a_1.conda + sha256: 8de2292329dce2fd512413d83988584d616582442a07990f67670f9bc793a98b + md5: 3689a4290319587e3b54a4f9e68f70c8 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - openssl >=3.5.4,<4.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + size: 151382 + timestamp: 1765174166541 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.8.6-h4e5ac4b_5.conda + sha256: 2e1fdbcbb3da881ae0eb381697f4f1ece2bd9f534b05e7ed9f21b0e6cbac6f32 + md5: 1557911474d926a8bd7b32a5f02bba35 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - openssl >=3.5.2,<4.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-auth >=0.9.1,<0.9.2.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-s3 >=0.8.6,<0.8.7.0a0 + size: 137467 + timestamp: 1757647972268 +- 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 + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 59383 + timestamp: 1764610113765 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.2.4-h92c474e_1.conda + sha256: a9e071a584be0257b2ec6ab6e1f203e9d6b16d2da2233639432727ffbf424f3d + md5: 4ab554b102065910f098f88b40163835 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 59146 + timestamp: 1752240966518 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.7-h8b1a151_5.conda + sha256: a8693d2e06903a09e98fe724ed5ec32e7cd1b25c405d754f0ab7efb299046f19 + md5: 68da5b56dde41e172b7b24f071c4b392 + 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 + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 76915 + timestamp: 1764593731486 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.7-h92c474e_2.conda + sha256: 7168007329dfb1c063cd5466b33a1f2b8a28a00f587a0974d97219432361b4db + md5: 248831703050fe9a5b2680a7589fdba9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 76748 + timestamp: 1752241068761 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.34.4-h60c762c_0.conda + sha256: 4fce59fd1fc9848cb060e9ad59f0934ff848ca06455eb487ea52152d7299b7ed + md5: d41cf259f1b3e2a2347b11b98f64623d + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-s3 >=0.8.6,<0.8.7.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-auth >=0.9.1,<0.9.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + size: 408260 + timestamp: 1758141985203 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda + sha256: 524fc8aa2645e5701308b865bf5c523257feabc6dfa7000cb8207ccfbb1452a1 + md5: 113b9d9913280474c0868b0e290c0326 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + size: 408804 + timestamp: 1765200263609 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h20b40b1_10.conda + sha256: e0d81b7dd6d054d457a1c54d17733d430d96dc5ca9b2ca69a72eb41c3fc8c9bf + md5: 937d1d4c233adc6eeb2ac3d6e9a73e53 + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.17.0,<9.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + - libzlib >=1.3.1,<2.0a0 + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3472674 + timestamp: 1765257107074 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h32384e2_4.conda + sha256: 9ec76250145458fed50f02ac26af254c90a90d49249649e0eb81f9ddb6176384 + md5: 31067fbcb4ddfd76bc855532cc228568 + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - libcurl >=8.14.1,<9.0a0 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3367060 + timestamp: 1758606136188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.0-h3a458e0_1.conda + sha256: a1f1be2e34a2e331899a69b642e8bda1e66002bda3b611d70141a43c397181ca + md5: 682cb082bbd998528c51f1e77d9ce415 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.2,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + size: 351962 + timestamp: 1758035811172 +- 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 + run_exports: + weak: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + size: 348729 + timestamp: 1768837519361 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.12.0-ha729027_0.conda + sha256: 734857814400585dca2bee2a4c2e841bc89c143bf0dcc11b4c7270cea410650c + md5: 3dab8d6fa3d10fe4104f1fbe59c10176 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.1,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-identity-cpp >=1.12.0,<1.12.1.0a0 + size: 241853 + timestamp: 1753212593417 +- 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 + run_exports: + weak: + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + size: 250511 + timestamp: 1770344967948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.14.0-hb1c9500_1.conda + sha256: 83cea4a570a457cc18571c92d7927e6cc4ea166f0f819f0b510d4e2c8daf112d + md5: 30da390c211967189c58f83ab58a6f0c + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + size: 577592 + timestamp: 1753219590665 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.16.0-hf824e48_2.conda + sha256: ec278ffc9785cffeed097f57483fd0bc32c9083f56d7e6d95de46e560e4b49d1 + md5: 315c1c09f02a1efeb1b4d3dbcd2aa26a + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + size: 580752 + timestamp: 1778727162545 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.10.0-hebae86a_2.conda + sha256: 071536dc90aa0ea22a5206fbac5946c70beec34315ab327c4379983e7da60196 + md5: 0d93ce986d13e46a8fc91c289597d78f + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - openssl >=3.5.1,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + size: 148875 + timestamp: 1753211824276 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda + sha256: 67fa6937bc2f6400f5ff19727f5d926fdc68d7fce3aaeab4016f49bb93d89cbb + md5: a7e8cca395e0a1616b389749580b7804 + 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.6,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + size: 159140 + timestamp: 1778661935076 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-h8b27e44_3.conda + sha256: aec2e2362a605e37a38c4b34f191e98dd33fdc64ce4feebd60bd0b4d877ab36b + md5: 7b738aea4f1b8ae2d1118156ad3ae993 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 + size: 299871 + timestamp: 1753226720130 +- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda + sha256: 7765e9082b544555f74473ec21e366d92bb7688635d42d200860798e8b792a25 + md5: 245b61f9baef23f8f6cf04ccda928521 + 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.13.0,<12.13.1.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + size: 302771 + timestamp: 1778763856084 +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.6.0-py312h90b7ffd_0.conda + sha256: 95b3d6d44c17c4061db703289f39915646e455f75f0c8c9d949bf081d2e61579 + md5: 55811da425538da800b89c0c588652fa + 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 + run_exports: {} + size: 239892 + timestamp: 1781450817988 +- conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d + md5: 2c2fae981fd2afd00812c92ac47d023d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - blosc >=1.21.6,<2.0a0 + size: 48427 + timestamp: 1733513201413 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.conda + sha256: 59deb2e5147e1727c67f0409cf40163e32254362ae361b5761fd10bc7c255267 + md5: 99981dfd6b851dba87c43b5f895e6d6a + depends: + - numpy + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 157720 + timestamp: 1762775764398 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py314h56abb78_3.conda + sha256: 58cc4ecb796ec8093863d13264aca2746fa833461b30fd24b620d1acee0efd08 + md5: 48b137fb9317635b90c335348518d0a6 + depends: + - numpy + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 158983 + timestamp: 1762775788892 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb03c661_4.conda + sha256: 294526a54fa13635341729f250d0b1cf8f82cad1e6b83130304cbf3b6d8b74cc + md5: eaf3fbd2aa97c212336de38a51fe404e + depends: + - __glibc >=2.17,<3.0.a0 + - brotli-bin 1.1.0 hb03c661_4 + - libbrotlidec 1.1.0 hb03c661_4 + - libbrotlienc 1.1.0 hb03c661_4 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + size: 19883 + timestamp: 1756599394934 +- 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 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 20103 + timestamp: 1764017231353 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda + sha256: 444903c6e5c553175721a16b7c7de590ef754a15c28c99afbc8a963b35269517 + md5: ca4ed8015764937c81b830f7f5b68543 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.1.0 hb03c661_4 + - libbrotlienc 1.1.0 hb03c661_4 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: {} + size: 19615 + timestamp: 1756599385418 +- 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 + run_exports: {} + size: 21021 + timestamp: 1764017221344 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.conda + sha256: 52a9ac412512b418ecdb364ba21c0f3dc96f0abbdb356b3cfbb980020b663d9b + md5: fd0e7746ed0676f008daacb706ce69e4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 hb03c661_4 + license: MIT + license_family: MIT + run_exports: {} + size: 354149 + timestamp: 1756599553574 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda + sha256: 49df13a1bb5e388ca0e4e87022260f9501ed4192656d23dc9d9a1b4bf3787918 + md5: 64088dffd7413a2dd557ce837b4cbbdb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.2.0 hb03c661_1 + license: MIT + license_family: MIT + run_exports: {} + size: 368300 + timestamp: 1764017300621 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda + sha256: 3ad3500bff54a781c29f16ce1b288b36606e2189d0b0ef2f67036554f47f12b0 + md5: 8910d2c46f7e7b519129f486e0fe927a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - libbrotlicommon 1.2.0 hb03c661_1 + license: MIT + license_family: MIT + run_exports: {} + size: 367376 + timestamp: 1764017265553 +- 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 + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 260182 + timestamp: 1771350215188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda + sha256: cc9accf72fa028d31c2a038460787751127317dcfa991f8d1f1babf216bb454e + md5: 920bb03579f15389b9e512095ad995b7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.6,<2.0a0 + size: 207882 + timestamp: 1765214722852 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.23.1-hc31b594_0.conda + sha256: b6ce82ebe3cf24e70179bd656eacfa97ce9df9a500f2cec6843043466a5e6af8 + md5: 68ceffc6cadae61846a207cae60de094 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - c-blosc2 >=2.23.1,<2.24.0a0 + size: 353899 + timestamp: 1772620395951 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.1.4-hc31b594_0.conda + sha256: 612cbf460e7a0541484713aee5ec74621197edc4eba3da20fe03a7bb9d1c4903 + md5: 9145eebfb1845c6364c7e6b99effc20e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - c-blosc2 >=3.1.4,<3.2.0a0 + size: 389744 + timestamp: 1781706260878 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 + md5: 09262e66b19567aff4f592fb53b28760 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libstdcxx >=13 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.5,<2.0a0 + - xorg-libx11 >=1.8.11,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 978114 + timestamp: 1741554591855 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + sha256: 06525fa0c4e4f56e771a3b986d0fdf0f0fc5a3270830ee47e127a5105bde1b9a + md5: bb6c4808bfa69d6f7f6b07e5846ced37 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 989514 + timestamp: 1766415934926 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda + sha256: de9bb34948b0ac7025707fe0bdaa26a6f253374ddf9da8f74b2ed14943c14211 + md5: 6c913a686cb4060cbd7639a36fa144f0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - shapely >=2.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1541225 + timestamp: 1756883734658 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py314ha0b5721_1.conda + sha256: 700d462314bc9d76ab5df7307829f700e1ee72230c660ab9147fb7721822e983 + md5: fe89c5fa422f215b0d75046ecd4667de + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - shapely >=2.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1557508 + timestamp: 1756883731412 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda + sha256: f9e906b2cb9ae800b5818259472c3f781b14eb1952e867ac5c1f548e92bf02d9 + md5: 60b9cd087d22272885a6b8366b1d3d43 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 296986 + timestamp: 1758716192805 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda + sha256: 7dafe8173d5f94e46cf9cd597cc8ff476a8357fbbd4433a8b5697b2864845d9c + md5: 648ee28dcd4e07a1940a17da62eccd40 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 295716 + timestamp: 1761202958833 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda + sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e + md5: cf45f4278afd6f4e6d03eda0f435d527 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - pycparser + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 300271 + timestamp: 1761203085220 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda + sha256: 02c483817cce596ab0fb79f0f64027a166e20db0c84973e61a08285d53ee463d + md5: 84bf349fad55056ed326fc550671b65c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 426552 + timestamp: 1768510920948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py314hc02f841_1.conda + sha256: 5889371679ebd4cc4d7a1b9a4a6f5ca7146527b9c6da14ba83f2edadbc45ac82 + md5: 552b5d9d8a2a4be882e1c638953e7281 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 438385 + timestamp: 1768510929901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda + sha256: 200da7fefacb1a196dd7b4b6f45106cebe017042b1491e2b27c7cc833beed8ea + md5: 5f68e67b2b9463501260e731e2999dec + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-cgl >=0.60,<0.61.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - 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 + - liblapacke >=3.9.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cbc >=2.10.13,<2.11.0a0 + size: 910148 + timestamp: 1778586394891 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda + sha256: 032ab70fed60c1a23656c883e51573e8f257f6450cab7ebdf1429e6264495336 + md5: 0990c6102633709868d18151e850072a + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - 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 + - liblapacke >=3.9.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cgl >=0.60,<0.61.0a0 + size: 533910 + timestamp: 1778571381173 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda + sha256: e7d0bfe4e2b9bd358e538c459427f0b8a6b7e4458becea63befb536bb42959ee + md5: e79a3a170436d665098f0a40f7cd655b + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - 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 + - liblapacke >=3.9.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-clp >=1.17,<1.18.0a0 + size: 1153761 + timestamp: 1778519879680 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda + sha256: d81c8ddbfbc3a071413249bd70bebddb9fa036591be63e1df896ff59ab0e6eca + md5: 02578ed9fe1a1923d66effeb932e71ce + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - 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 + - liblapacke >=3.9.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-osi >=0.108,<0.109.0a0 + size: 378434 + timestamp: 1778511053515 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda + sha256: f1fae7f3783f5dcbe91527d4b168e98b7107f9d90bf548cb1facd0b64ffccd92 + md5: 4020946ef1fad683935a408ab7127582 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-utils >=2.11,<2.12.0a0 + size: 664399 + timestamp: 1778500281099 +- 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 + run_exports: {} + size: 320386 + timestamp: 1769155979897 +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + sha256: b0314a7f1fb4a294b1a8bcf5481d4a8d9412a9fee23b7e3f93fb10e4d504f2cc + md5: 95bede9cdb7a30a4b611223d52a01aa4 + depends: + - numpy >=1.25 + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 324013 + timestamp: 1769155968691 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py312ha4b625e_0.conda + sha256: c12e00af17f1507dbc186c9c663b44ca58b9b2209f59506be05547bd730346e5 + md5: 46142c21318ee17d5beecf0de1fc5d47 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=2.0 + - libgcc >=14 + - openssl >=3.5.7,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1912490 + timestamp: 1781385597345 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-49.0.0-py314h7fe84b3_0.conda + sha256: 1c8128f2ba8fccf627729968de7fe7504dbb775c829e533439c9ee52134800fd + md5: b1dd101231d277ad724c40c788f6fdd8 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=2.0 + - libgcc >=14 + - openssl >=3.5.7,<4.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - __glibc >=2.17 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1930691 + timestamp: 1781385496617 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + sha256: 7684da83306bb69686c0506fb09aa7074e1a55ade50c3a879e4e5df6eebb1009 + md5: af491aae930edc096b58466c51c4126c + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=13 + - libntlm >=1.8,<2.0a0 + - libstdcxx >=13 + - libxcrypt >=4.4.36 + - openssl >=3.5.5,<4.0a0 + license: BSD-3-Clause-Attribution + license_family: BSD + run_exports: + weak: + - cyrus-sasl >=2.1.28,<3.0a0 + size: 210103 + timestamp: 1771943128249 +- 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 + run_exports: + weak: + - cyrus-sasl >=2.1.28,<3.0a0 + 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 + run_exports: {} + size: 623770 + timestamp: 1771855837505 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py314h5bd0f2a_2.conda + sha256: 5edb3c0fbf5c39b66f71fef0264d4fbab561f6adbdd7ef88188b725a82fcd6da + md5: a6a32cab83d59c7812ddbb03220057e3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - toolz >=0.10.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 641304 + timestamp: 1771855845410 +- 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 + run_exports: + weak: + - dbus >=1.16.2,<2.0a0 + size: 447649 + timestamp: 1764536047944 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + sha256: 3b988146a50e165f0fa4e839545c679af88e4782ec284cc7b6d07dd226d6a068 + md5: 679616eb5ad4e521c83da4650860aba7 + depends: + - libstdcxx >=13 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libexpat >=2.7.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - libglib >=2.84.2,<3.0a0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - dbus >=1.16.2,<2.0a0 + size: 437860 + timestamp: 1747855126005 +- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py314h42812f9_0.conda + sha256: c16696b23e1d75b6eea7d0c8b9c31c03d1987eeb61852f09b6d4042ca015acd3 + md5: a7eb8029c4fe320c0179085707017c2d + depends: + - python + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 2842115 + timestamp: 1780390153580 +- 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 + run_exports: + weak: + - double-conversion >=3.3.1,<3.4.0a0 + size: 69544 + timestamp: 1739569648873 +- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + sha256: 40cdd1b048444d3235069d75f9c8e1f286db567f6278a93b4f024e5642cfaecc + md5: dbe3ec0f120af456b3477743ffd99b74 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - double-conversion >=3.4.0,<3.5.0a0 + size: 71809 + timestamp: 1765193127016 +- conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda + sha256: 2a00d4fda4ce24dff71bc97b6a57cd61fa98be25da38d387d3935cfb8d84cdc3 + md5: 0f73a3e483c4fbc7bf6fb840d816c5a5 + depends: + - __glibc >=2.17,<3.0.a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - jasper >=4.2.8,<5.0a0 + - libaec >=1.1.5,<2.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 4796539 + timestamp: 1772362605927 +- conda: https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py312h31af4aa_1.conda + sha256: fbf3a1cfea7245ec2301b6d04f85723ac03ad2b73fca66295e4f9408cac6800d + md5: 1936571a0a8e701c3c925339fded7c26 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 94102 + timestamp: 1781547137320 +- conda: https://conda.anaconda.org/conda-forge/linux-64/editdistpy-0.2.0-py314ha768014_1.conda + sha256: 12826960dfd6cdceac802fba7d23f8bdf88f601a002e26fda43f7538208a8238 + md5: 58a903a76fa1fade1729e80cdac3c733 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 94782 + timestamp: 1781547136251 +- conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + sha256: a5b51e491fec22bcc1765f5b2c8fff8a97428e9a5a7ee6730095fb9d091b0747 + md5: 057083b06ccf1c2778344b6dabace38b + depends: + - __glibc >=2.17,<3.0.a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libegl-devel + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libgl-devel + - libglx >=1.7.0,<2.0a0 + - libglx-devel + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - epoxy >=1.5.10,<1.6.0a0 + size: 411735 + timestamp: 1758743520805 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.conda + sha256: 801274da37e28d0cff6d091b679d34b10df718420a97d8fe577a968805f396d3 + md5: a68cae58a81a937a6edcb3e4e6f0bbe7 + depends: + - __glibc >=2.17,<3.0.a0 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libgcc >=14 + - libgdal-core >=3.12.1,<3.13.0a0 + - libstdcxx >=14 + - pyparsing + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1203804 + timestamp: 1767051329805 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h1289d80_4.conda + sha256: 97fa972c2f9e8a044dad9f35fb38d21c270b4446d7b6ba671914432260f321e6 + md5: 3358596ee8cd04cca8c3404e8190d8bc + depends: + - __glibc >=2.17,<3.0.a0 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libgcc >=14 + - libgdal-core >=3.10.3,<3.11.0a0 + - libstdcxx >=14 + - pyparsing + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1200808 + timestamp: 1764874731140 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py314hbcf5174_6.conda + sha256: 6a25e057b4fc912ea56accdfd8b083653861c2b61fb875584385c9c27223334b + md5: 9973d51b9bb91ae8cca8cfff05d9106b + depends: + - __glibc >=2.17,<3.0.a0 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libgcc >=14 + - libgdal-core >=3.12.1,<3.13.0a0 + - libstdcxx >=14 + - pyparsing + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1203455 + timestamp: 1767051530201 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda + sha256: 2e50bdcebdf70a865b81f2456bbc586386451ec601c60f2b6cd22b8c40a2d384 + md5: e0e050cfa9fa85fe39632ab11cb7f3e0 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + size: 281880 + timestamp: 1780450077431 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda + sha256: d235ae7075642044ceb3d922ef2a710a82665755ac9bbb7e8dad7daa72bc6d87 + md5: 294fb524171e2a2748cb7fe708aba826 + 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 + run_exports: {} + size: 3007892 + timestamp: 1778770568019 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.conda + sha256: f94040a0d7c449038811097e145f223bd3b2ab4c5181870c6e27e1b9dd777d48 + md5: b39dccf5af984bcb68ee2aa0f3213ea6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglu >=9.0.3,<9.1.0a0 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxau >=1.0.12,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - xorg-libxi >=1.8.2,<2.0a0 + - xorg-libxxf86vm >=1.1.7,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - freeglut >=3.2.2,<4.0a0 + size: 146159 + timestamp: 1776928018299 +- 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 + run_exports: + weak: + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + size: 173839 + timestamp: 1774298173462 +- 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 + run_exports: + weak: + - freexl >=2.0.0,<3.0a0 + size: 59299 + timestamp: 1734014884486 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d + md5: f9f81ea472684d75b9dd8d0b328cf655 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + run_exports: + weak: + - fribidi >=1.0.16,<2.0a0 + size: 61244 + timestamp: 1757438574066 +- conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda + sha256: 7f36a4fc42f6d4cb9c5b210b6604b54eba2e5745c92d76241b6f8fce446818d1 + md5: 6a42923f35087cc88a9fac31ef096ce6 + 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 + run_exports: {} + size: 55016 + timestamp: 1779999817627 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-h2b0a6b4_3.conda + sha256: d8a9d0df91e1939b1fb952b5214e097d681c49faf215d1ad69a7f0acb03c8e08 + md5: aeec474bd508d8aa6c015e2cc7d14651 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libglib >=2.84.3,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - gdk-pixbuf >=2.42.12,<3.0a0 + size: 579311 + timestamp: 1754960116630 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + sha256: c5594497f0646e9079705b3199dbb2d5b13c48173cf110000fa1c8818e2b3e0c + md5: 7892f39a39ed39591a89a28eba03e987 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libglib >=2.86.4,<3.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.56,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - gdk-pixbuf >=2.44.6,<3.0a0 + size: 577414 + timestamp: 1774985848058 +- conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.13.1-h97f6797_0.conda + sha256: 3a9c854fa8cf1165015b6ee994d003c3d6a8b0f532ca22b6b29cd6e8d03942ed + md5: 5bc18c66111bc94532b0d2df00731c66 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.13.1,<3.13.2.0a0 + size: 1871567 + timestamp: 1741051481612 +- conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-h480dda7_0.conda + sha256: 08896dcd94e14a83f247e91748444e610f344ab42d80cbf2b6082b481c3f8f4b + md5: 4d4efd0645cd556fab54617c4ad477ef + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.14.1,<3.14.2.0a0 + size: 1974942 + timestamp: 1761593471198 +- conda: https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.7.4-h239500f_2.conda + sha256: 0cd4454921ac0dfbf9d092d7383ba9717e223f9e506bc1ac862c99f98d2a953c + md5: b0c42bce162a38b1aa2f6dfb5c412bc4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libstdcxx >=13 + - libtiff >=4.7.0,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - zlib + license: MIT + license_family: MIT + run_exports: + weak: + - geotiff >=1.7.4,<1.8.0a0 + size: 128758 + timestamp: 1742402413139 +- 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 + run_exports: + weak: + - gflags >=2.2.2,<2.3.0a0 + size: 119654 + timestamp: 1726600001928 +- 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 + run_exports: + weak: + - giflib >=5.2.2,<5.3.0a0 + size: 77248 + timestamp: 1712692454246 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.84.3-hf516916_0.conda + sha256: bf744e0eaacff469196f6a18b3799fde15b8afbffdac4f5ff0fdd82c3321d0f6 + md5: 39f817fb8e0bb88a63bbdca0448143ea + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libglib 2.84.3 hf39c6af_0 + license: LGPL-2.1-or-later + run_exports: {} + size: 116716 + timestamp: 1754315054614 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.88.1-hee1de02_2.conda + sha256: ae41fd5c867bc4e713a8cc1dc06f5b418026fec116cc222abe33e94235c6b241 + md5: e5a459d2bb98edb88de5a44bfad66b9d + depends: + - libglib ==2.88.1 h0d30a3d_2 + - libffi + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: LGPL-2.1-or-later + run_exports: {} + size: 236955 + timestamp: 1778508800134 +- 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 + run_exports: + weak: + - glog >=0.7.1,<0.8.0a0 + size: 143452 + timestamp: 1718284177264 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glpk-5.0-h445213a_0.tar.bz2 + sha256: 0e19c61198ae9e188c43064414a40101f5df09970d4a2c483c0c46a6b1538966 + md5: efc4b0c33bdf47312ad5a8a0587fa653 + depends: + - gmp >=6.2.1,<7.0a0 + - libgcc-ng >=9.3.0 + license: GPL-3.0-or-later + license_family: GPL + run_exports: + weak: + - glpk >=5.0,<6.0a0 + size: 1047292 + timestamp: 1624569176979 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c + md5: c94a5994ef49749880a8139cf9afcbe1 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + run_exports: + weak: + - gmp >=6.3.0,<7.0a0 + size: 460055 + timestamp: 1718980856608 +- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda + sha256: 3f962b2cbdc2aac3089a5c708477657266c0a665f0eed09981a34d1ab6793065 + md5: 68f704ea294dcec9e09edd9c3d233846 + depends: + - __glibc >=2.17,<3.0.a0 + - libcrc32c >=1.1.2,<1.2.0a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 24900 + timestamp: 1768549198202 +- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py314hd6bf2bd_1.conda + sha256: b076f8b488c981f1c14149f5678f1de0f72f754eee9b2901e85c4dd97f71fc02 + md5: 9878f356d87ec8e4d2cd3c44561128be + depends: + - __glibc >=2.17,<3.0.a0 + - libcrc32c >=1.1.2,<1.2.0a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 26245 + timestamp: 1768549199538 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + sha256: 885fa7d1d7e2ad9ed0a700ee0d81ceb49de278253082d517959b22d6336eecce + md5: cf09e9fc938518e91d0706572cadf17a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - graphite2 >=1.3.15,<2.0a0 + size: 100054 + timestamp: 1780454302233 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda + sha256: efbd7d483f3d79b7882515ccf229eceb7f4ff636ea2019044e98243722f428be + md5: 0adddc9b820f596638d8b0ff9e3b4823 + depends: + - __glibc >=2.17,<3.0.a0 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.42.12,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgcc >=14 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.84.3,<3.0a0 + - librsvg >=2.58.4,<3.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=13.1.2,<14.0a0 + size: 2427887 + timestamp: 1754732581595 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda + sha256: 48d4aae8d2f7dd038b8c2b6a1b68b7bca13fa6b374b78c09fcc0757fa21234a1 + md5: 341fc61cfe8efa5c72d24db56c776f44 + depends: + - __glibc >=2.17,<3.0.a0 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.4,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 + - libexpat >=2.7.3,<3.0a0 + - libgcc >=14 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.86.3,<3.0a0 + - librsvg >=2.60.0,<3.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=14.1.2,<15.0a0 + size: 2426455 + timestamp: 1769427102743 +- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py312h8285ef7_0.conda + sha256: 98b8775df7a853cdf76827c2d0f1342585331dfd3667802b5cbb41d813c51b18 + md5: 7251536dab39be8e96f1f5e2dda3a7e8 + depends: + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 265798 + timestamp: 1781762125451 +- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.2-py314h42812f9_0.conda + sha256: 4aa1f8147701b5ab71a71aa208ec1a4d0c8cfcaa68f1fff9ad5d2015abb8ddde + md5: 5fef7ee7545d98388c129de1a47537bb + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 267632 + timestamp: 1781762129332 +- conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda + sha256: 9b6ef222599d63ca23a9e292c35f454756e321cce52af9f5142303230f0c2762 + md5: dca50c100d8d67882ada32756810372f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgrpc 1.73.1 h3288cfb_1 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 885879 + timestamp: 1761058885541 +- conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py314h2d847ca_1.conda + sha256: 98e20ea067291d3ff9a2aead0f0a6b7086cc312c2024b2453ac5c5b129386d5b + md5: 6742a46f5bf364f193cfb95a80dab23e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgrpc 1.73.1 h3288cfb_1 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 912735 + timestamp: 1761058730109 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h0c6a113_5.conda + sha256: d36263cbcbce34ec463ce92bd72efa198b55d987959eab6210cc256a0e79573b + md5: 67d00e9cfe751cfe581726c5eff7c184 + depends: + - __glibc >=2.17,<3.0.a0 + - at-spi2-atk >=2.38.0,<3.0a0 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.10,<2.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - glib-tools + - harfbuzz >=11.0.0,<12.0a0 + - hicolor-icon-theme + - libcups >=2.3.3,<2.4.0a0 + - libcups >=2.3.3,<3.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libglib >=2.84.0,<3.0a0 + - liblzma >=5.6.4,<6.0a0 + - libxkbcommon >=1.8.1,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.3,<2.0a0 + - wayland >=1.23.1,<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-libxfixes >=6.0.1,<7.0a0 + - xorg-libxi >=1.8.2,<2.0a0 + - xorg-libxinerama >=1.1.5,<1.2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gtk3 >=3.24.43,<4.0a0 + - adwaita-icon-theme + size: 5585389 + timestamp: 1743405684985 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda + sha256: c6bb4f06331bcb0a566d84e0f0fad7af4b9035a03b13e2d5ecfaf13be57e6e10 + md5: bcaea22d85999a4f17918acfab877e61 + depends: + - __glibc >=2.17,<3.0.a0 + - at-spi2-atk >=2.38.0,<3.0a0 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - gdk-pixbuf >=2.44.5,<3.0a0 + - glib-tools + - harfbuzz >=13.2.1 + - hicolor-icon-theme + - libcups >=2.3.3,<2.4.0a0 + - libcups >=2.3.3,<3.0a0 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libgcc >=14 + - libglib >=2.86.4,<3.0a0 + - liblzma >=5.8.2,<6.0a0 + - libxkbcommon >=1.13.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - pango >=1.56.4,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxcomposite >=0.4.7,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - xorg-libxi >=1.8.2,<2.0a0 + - xorg-libxinerama >=1.1.6,<1.2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gtk3 >=3.24.52,<4.0a0 + - adwaita-icon-theme + size: 5939083 + timestamp: 1774288645605 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda + sha256: b5cd16262fefb836f69dc26d879b6508d29f8a5c5948a966c47fe99e2e19c99b + md5: 4d8df0b0db060d33c9a702ada998a8fe + depends: + - libgcc-ng >=12 + - libglib >=2.76.3,<3.0a0 + - libstdcxx-ng >=12 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gts >=0.7.6,<0.8.0a0 + size: 318312 + timestamp: 1686545244763 +- conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda + sha256: de9ec9b1b01b90f2da2d896a5835a2fd8049859aff0c6331ca4594327ec79a8b + md5: b270340809d19ae40ff9913f277b803a + depends: + - __glibc >=2.17,<3.0.a0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1335314 + timestamp: 1775581269364 +- conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py314hc32fe06_102.conda + sha256: df8b14e4a6bff2db5678e297410f38fe69d5f37850865a35c46148355af320a5 + md5: ef5ecbcea33d98087791c056247df30c + depends: + - __glibc >=2.17,<3.0.a0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1336385 + timestamp: 1775581248333 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.4.5-h15599e2_0.conda + sha256: 9d0d74858e8f8b76f6d3bf11a7390e6eb18eb743dd6e5fd7c4e9822634556f6d + md5: 1276ae4aa3832a449fcb4253c30da4bc + 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.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=14 + - libglib >=2.84.3,<3.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - harfbuzz >=11.4.5 + size: 2402438 + timestamp: 1756738217200 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda + sha256: da9901aa1e20cbc2369fda212039b294dd02bce95f005539bab840b7310bf7d0 + md5: 21ee4640b7c2d94e584349fa12b29b9a + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=78.3,<79.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libglib >=2.88.1,<3.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - harfbuzz >=14.2.1 + size: 2362258 + timestamp: 1780450503234 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + sha256: 0d09b6dc1ce5c4005ae1c6a19dc10767932ef9a5e9c755cfdbb5189ac8fb0684 + md5: bd77f8da987968ec3927990495dc22e4 + depends: + - libgcc-ng >=12 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf4 >=4.2.15,<4.2.16.0a0 + size: 756742 + timestamp: 1695661547874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_106.conda + sha256: 1fc50ce3b86710fba3ec9c5714f1612b5ffa4230d70bfe43e2a1436eacba1621 + md5: c223ee1429ba538f3e48cfb4a0b97357 + depends: + - __glibc >=2.17,<3.0.a0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 + size: 3708864 + timestamp: 1770390337946 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda + sha256: ac57ce3abbda2a82d6192bc36fbd7fe96e867d84c999ef81a3da034dfd01a995 + md5: 9c6e11a83468e1d5decae516077a73fb + depends: + - __glibc >=2.17,<3.0.a0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.20.0,<9.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 + size: 3721555 + timestamp: 1780581675871 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda + sha256: 6d7e6e1286cb521059fe69696705100a03b006efb914ffe82a2ae97ecbae66b7 + md5: 129e404c5b001f3ef5581316971e3ea0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 17625 + timestamp: 1771539597968 +- conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.13.1-np2py314h6477eea_0.conda + sha256: 6cfa15a34a907548b04e3db9e330af897813cd7fc12cae51367bae21d2deabb4 + md5: 621086c603df18a9444750023f018866 + depends: + - python + - numpy + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 2340949 + timestamp: 1770878928787 +- conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_0.conda + sha256: f86c64dfc5f8a8f32c2b5731a1614a42a092fee4aa4d53f56c3b93b4c9900822 + md5: 3c2773b3530d49a2ed65ee8e4b477724 + depends: + - python + - numpy + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 2423059 + timestamp: 1775498235447 +- conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py314h6477eea_0.conda + sha256: 1d1bcd473327493b2657039fb0554f4419204e5f0fbc8045866d8a4d88420bcb + md5: 5ca3370caefd2b24ed1bde9b44cff045 + depends: + - python + - numpy + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 2429474 + timestamp: 1775498238470 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e + md5: 8b189310083baabfb622af68fd9d3ae3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=75.1,<76.0a0 + size: 12129203 + timestamp: 1720853576813 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a + md5: c80d8a3b84358cb967fa81e7075fbc8a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 12723451 + timestamp: 1773822285671 +- conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda + sha256: 33f87bd1b9a48c208919641a878541c13316afa1cfabea97c534227d52904a0b + md5: 4cf92a9dd8712cdde044fb56be498bd4 + 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 + run_exports: {} + size: 54524 + timestamp: 1757685416665 +- conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py314h5bd0f2a_2.conda + sha256: 1c9163fd77943c55fe727f5399545141df54f696422bf101089a32526aea3234 + md5: d4d65cfb5c2569d5dbd344039471a534 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 55407 + timestamp: 1757685419776 +- conda: https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda + sha256: f2d5e0735cb3ee40c8c1d9fc5a69c90f3929dfe3bc32d5748e74c4f2069fc01e + md5: 09dcf62e607cbec53fcd1ed7522924a8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-2.1-or-later + run_exports: {} + size: 41559 + timestamp: 1764330576635 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-he45328a_2.conda + sha256: b8a81c003b22e7410c1f649eb35431411f53895f569728fbaef80b4df00b99f2 + md5: 48cf0477d19146171abccfd935f6fc87 + depends: + - __glibc >=2.17,<3.0.a0 + - ampl-asl >=1.0.0,<1.0.1.0a0 + - libblas >=3.9.0,<4.0a0 + - libgcc >=14 + - liblapack >=3.9.0,<4.0a0 + - libspral >=2025.9.18,<2025.9.19.0a0 + - libstdcxx >=14 + - mumps-seq >=5.8.2,<5.8.3.0a0 + license: EPL-1.0 + run_exports: + weak: + - ipopt >=3.14.19,<3.14.20.0a0 + size: 1023930 + timestamp: 1771291600732 +- conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda + sha256: a6a9858eadb4c794b56a1c954c1d4f4b57d96c9fb87092dd46f5bff9b0697b35 + md5: 115ecf05370670f93bc81a8c4f7fd57f + depends: + - __glibc >=2.17,<3.0.a0 + - freeglut >=3.2.2,<4.0a0 + - libexpat >=2.7.4,<3.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglu >=9.0.3,<10.0a0 + - libglu >=9.0.3,<9.1.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + license: JasPer-2.0 + run_exports: + weak: + - jasper >=4.2.9,<5.0a0 + size: 684185 + timestamp: 1773677703432 +- conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py312h1289d80_0.conda + sha256: cb779aabe1cd8e2b3028bdb947a08af80ef9932b9e8c0d4bc297545574c52e60 + md5: 03a97701957945503909d236635db758 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 455001 + timestamp: 1778141723174 +- conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py314ha160325_0.conda + sha256: 8dbe5d7d6cd1b67f21dc2e2232b561c421d3fb5ba6914219efc861c4badc98e9 + md5: 9b8471da7eca8e2bcba84d362b7136cd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - packaging + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 459484 + timestamp: 1778141724775 +- 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 + run_exports: + weak: + - json-c >=0.18,<0.19.0a0 + size: 82709 + timestamp: 1726487116178 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 + md5: b38117a3c920364aff79f870c984b4a3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + run_exports: + weak: + - keyutils >=1.6.3,<2.0a0 + 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 + run_exports: {} + size: 77120 + timestamp: 1773067050308 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda + sha256: e3488ea4a336f29e57de8f282bf40c0505cfc482e03004615e694b48e7d9c79f + md5: 7397e418cab519b8d789936cf2dde6f6 + depends: + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 77363 + timestamp: 1773067048780 +- 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 + run_exports: + weak: + - krb5 >=1.21.3,<1.22.0a0 + size: 1370023 + timestamp: 1719463201255 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + sha256: 9b07046870772f28740e3f6149f09ff222843733087a33c5540b169c6289652d + md5: 54157a1c8c0bb70f62dd0b17fba7e7f2 + depends: + - __glibc >=2.17,<3.0.a0 + - keyutils >=1.6.3,<2.0a0 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 1388990 + timestamp: 1781859420533 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + sha256: 112b5b9462572d970f4abd2912f76a25ee7db158b1e7260163d91dd8a630db84 + md5: 8b3ce45e929cd8e8e5f4d18586b56d8b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - lcms2 >=2.19.1,<3.0a0 + size: 251971 + timestamp: 1780211695895 +- 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 + run_exports: {} + size: 728002 + timestamp: 1774197446916 +- 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 + run_exports: + weak: + - lerc >=4.1.0,<5.0a0 + size: 261513 + timestamp: 1773113328888 +- conda: https://conda.anaconda.org/conda-forge/linux-64/levenshtein-0.27.3-py312h1289d80_0.conda + sha256: 781f3ddaf3b979284aa399698ae817f9351daf67595e390cfac5bae3a6828207 + md5: 5b323b1b5edd0359606d7e53779a8b82 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - rapidfuzz >=3.8.0,<4.0.0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 143332 + timestamp: 1762011214812 +- conda: https://conda.anaconda.org/conda-forge/linux-64/levenshtein-0.27.3-py314ha160325_0.conda + sha256: ce5a48aeb4e243cb47fe7dee86f2d97d185a5e9874395a5862daa3635a412e7e + md5: 9291da1691f7a1a82cc3fde97f455042 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - rapidfuzz >=3.8.0,<4.0.0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 144044 + timestamp: 1762011096983 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda + sha256: dcd1429a1782864c452057a6c5bc1860f2b637dc20a2b7e6eacd57395bbceff8 + md5: 83b160d4da3e1e847bf044997621ed63 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + constrains: + - libabseil-static =20250512.1=cxx17* + - abseil-cpp =20250512.1 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libabseil >=20250512.1,<20250513.0a0 + - libabseil =*=cxx17* + size: 1310612 + timestamp: 1750194198254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.5-h088129d_0.conda + sha256: 822e4ae421a7e9c04e841323526321185f6659222325e1a9aedec811c686e688 + md5: 86f7414544ae606282352fa1e116b41f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libaec >=1.1.5,<2.0a0 + size: 36544 + timestamp: 1769221884824 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda + sha256: 6f35e429909b0fa6a938f8ff79e1d7000e8f15fbb37f67be6f789348fea4c602 + md5: 9de6247361e1ee216b09cfb8b856e2ee + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - liblzma >=5.8.1,<6.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.0,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libarchive >=3.8.1,<3.9.0a0 + size: 883383 + timestamp: 1749385818314 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.8-gpl_hc2c16d8_100.conda + sha256: f916b51f55f51a9bb2d902e0a5f029490f7b745aee549c349751c1787ddc26b8 + md5: 44652e646cb623f486ea72e7e7479222 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libarchive >=3.8.8,<3.9.0a0 + size: 867280 + timestamp: 1782289011634 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-21.0.0-h56a6dad_8_cpu.conda + build_number: 8 + sha256: 1fa9a6aea4c0d3dece59241ff1b92177624e68a89a84738df7fb1b7cad19319c + md5: 3dc4bd7a6243159d2a3291e259222ddc + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-identity-cpp >=1.12.0,<1.12.1.0a0 + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.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.31.1,<6.31.2.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.2.1,<2.2.2.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 + run_exports: + weak: + - libarrow >=21.0.0,<21.1.0a0 + size: 6199233 + timestamp: 1759481842048 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda + build_number: 2 + sha256: 4c6f817c4008d09dc72a1fd91121fd97be670f76c5b3e61aef0f3f48667d60c7 + md5: 282f8460096fdc04d2c62ca2a30357a1 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.35.4,<0.35.5.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 >=20250512.1,<20250513.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.31.1,<6.31.2.0a0 + - libstdcxx >=14 + - 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 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - parquet-cpp <0.0a0 + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow >=23.0.0,<23.1.0a0 + size: 6478168 + timestamp: 1770434744670 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-21.0.0-h635bf11_8_cpu.conda + build_number: 8 + sha256: f00a955134401585ed75d6e9d76d48f9512d1e4f56a2a9260c69008ffc4a6851 + md5: 1b8f002c3ea2f207a8306d94370f526b + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 21.0.0 h56a6dad_8_cpu + - libarrow-compute 21.0.0 h8c2c5c3_8_cpu + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-acero >=21.0.0,<21.1.0a0 + size: 581216 + timestamp: 1759482031187 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda + build_number: 2 + sha256: 5fd1f8f394d6c1a910f66d6b8236db0f8dd0495bf01950defa2863de42d26c68 + md5: f67acaf4653452503669ade10edec780 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.0 h40b5c2d_2_cpu + - libarrow-compute 23.0.0 h8c2c5c3_2_cpu + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-acero >=23.0.0,<23.1.0a0 + size: 612958 + timestamp: 1770434974078 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-21.0.0-h8c2c5c3_8_cpu.conda + build_number: 8 + sha256: a4e2ca70b727f9699f09a5e9c77ca73e555aa2555d9742da9790a0ac71e5ecce + md5: 64342bd7f29894d3f16ef7b71f8f2328 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 21.0.0 h56a6dad_8_cpu + - libgcc >=14 + - libre2-11 >=2025.8.12 + - libstdcxx >=14 + - libutf8proc >=2.11.0,<2.12.0a0 + - re2 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-compute >=21.0.0,<21.1.0a0 + size: 3071770 + timestamp: 1759481909971 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda + build_number: 2 + sha256: 3f6b4c27aa4741349bd9e314924f938a821b8ed42f503ef41558cc7cf0e13e00 + md5: c9c3d7509b7faef60374fa290b4e5071 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.0 h40b5c2d_2_cpu + - libgcc >=14 + - libre2-11 >=2025.8.12 + - libstdcxx >=14 + - libutf8proc >=2.11.3,<2.12.0a0 + - re2 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-compute >=23.0.0,<23.1.0a0 + size: 3007456 + timestamp: 1770434821507 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-21.0.0-h635bf11_8_cpu.conda + build_number: 8 + sha256: 2f801c87f34bc7e93adb4f4d1ac54adf778d9d0ed7c0425dee2e8ffbe1c2d428 + md5: e0aef220789dd2234cbfb8baf759d405 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 21.0.0 h56a6dad_8_cpu + - libarrow-acero 21.0.0 h635bf11_8_cpu + - libarrow-compute 21.0.0 h8c2c5c3_8_cpu + - libgcc >=14 + - libparquet 21.0.0 h790f06f_8_cpu + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-dataset >=21.0.0,<21.1.0a0 + size: 579388 + timestamp: 1759482107976 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda + build_number: 2 + sha256: 03b453325748e0f5045fb3cd820f1061a5094f67cc51ba4f5750d9ab0b5577bd + md5: d3633b19c4d7e26474733e18e602e8ce + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.0 h40b5c2d_2_cpu + - libarrow-acero 23.0.0 h635bf11_2_cpu + - libarrow-compute 23.0.0 h8c2c5c3_2_cpu + - libgcc >=14 + - libparquet 23.0.0 h7376487_2_cpu + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-dataset >=23.0.0,<23.1.0a0 + size: 612157 + timestamp: 1770435074139 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-21.0.0-h3f74fd7_8_cpu.conda + build_number: 8 + sha256: 83fcb14f742e34aad34f007a62f8b414543d20feee7485a74ed3d525148fca50 + md5: 86f6d887749f5f7f30d91ef6a5e01515 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 h56a6dad_8_cpu + - libarrow-acero 21.0.0 h635bf11_8_cpu + - libarrow-dataset 21.0.0 h635bf11_8_cpu + - libgcc >=14 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-substrait >=21.0.0,<21.1.0a0 + size: 483116 + timestamp: 1759482133380 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda + build_number: 2 + sha256: c78b7b150630e2e62006cd5648c8dc05e99acaf93bd3899d6891f87aa3988dbe + md5: 8b003b0de3b7c7455400752d0df67d76 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h40b5c2d_2_cpu + - libarrow-acero 23.0.0 h635bf11_2_cpu + - libarrow-dataset 23.0.0 h635bf11_2_cpu + - libgcc >=14 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-substrait >=23.0.0,<23.1.0a0 + size: 519666 + timestamp: 1770435107469 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libattr-2.5.2-hb03c661_1.conda + sha256: 0cef37eb013dc7091f17161c357afbdef9a9bc79ef6462508face6db3f37db77 + md5: 7e7f0a692eb62b95d3010563e7f963b6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - libattr >=2.5.2,<2.6.0a0 + size: 53316 + timestamp: 1773595896163 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + build_number: 8 + sha256: b2da6bfd72a1c9cb143ccf64bf5b28790cb4eb58bd1cb978f6537b2322f7d48b + md5: 00fc660ab1b2f5ca07e92b4900d10c79 + depends: + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 + constrains: + - blas 2.308 openblas + - mkl <2027 + - libcblas 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 + size: 18804 + timestamp: 1779859100675 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_hc00574d_netlib.conda + build_number: 8 + sha256: 401747bf8926c153d4bd218696a807f1203fe0574465a6e6c85fc733aa63d7e2 + md5: c7d3ff93656266175cf9d812e257d685 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + constrains: + - blas * netlib + track_features: + - blas_netlib + - blas_netlib_2 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 + size: 223358 + timestamp: 1779860388258 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.90.0-hd24cca6_1.conda + sha256: fef9f2977ac341fd0fd7802bccffff0f220e4896f6fef29040428071d0aa863b + md5: 4dfa9b413062a24e09938fb6f91af821 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - icu >=78.1,<79.0a0 + - libgcc >=14 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + run_exports: {} + size: 3229874 + timestamp: 1766347309472 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda + sha256: 2338a92d1de71f10c8cf70f7bb9775b0144a306d75c4812276749f54925612b6 + md5: 1d29d2e33fe59954af82ef54a8af3fe1 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.1.0,<1.2.0a0 + size: 69333 + timestamp: 1756599354727 +- 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 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + size: 79965 + timestamp: 1764017188531 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb03c661_4.conda + sha256: fcec0d26f67741b122f0d5eff32f0393d7ebd3ee6bb866ae2f17f3425a850936 + md5: 5cb5a1c9a94a78f5b23684bcb845338d + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb03c661_4 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlidec >=1.1.0,<1.2.0a0 + size: 33406 + timestamp: 1756599364386 +- 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 + run_exports: + weak: + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 34632 + timestamp: 1764017199083 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb03c661_4.conda + sha256: d42c7f0afce21d5279a0d54ee9e64a2279d35a07a90e0c9545caae57d6d7dc57 + md5: 2e55011fa483edb8bfe3fd92e860cd79 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb03c661_4 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlienc >=1.1.0,<1.2.0a0 + size: 289680 + timestamp: 1756599375485 +- 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 + run_exports: + weak: + - libbrotlienc >=1.2.0,<1.3.0a0 + size: 298378 + timestamp: 1764017210931 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + build_number: 8 + sha256: 1a2bc77bb26520255904a3d9b1f40e6bf0bf9d8d3405c7709dd162282820915a + md5: 33a413f1095f8325e5c30fde3b0d2445 + depends: + - libblas 3.11.0 8_h4a7cf45_openblas + constrains: + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 + size: 18778 + timestamp: 1779859107964 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h8e06fc2_netlib.conda + build_number: 8 + sha256: 3304f4ef23fdf68e51a41f5fad1b36a9b442e76e8056c5abe151e4f3ef43c47a + md5: 9c6d4c45abd885f1bee9579143852474 + depends: + - __glibc >=2.17,<3.0.a0 + - libblas 3.11.0.* + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + track_features: + - blas_netlib + - blas_netlib_2 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 + size: 50855 + timestamp: 1779860392890 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_16.conda + sha256: 83ef7425c3c5c5b179b6d5accb57acfe1ddf16010727afc642be484b4526044e + md5: ff256a40b66a4b6968075efd741523d5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm20 >=20.1.8,<20.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libclang-cpp20.1 >=20.1.8,<20.2.0a0 + size: 21300452 + timestamp: 1779374233040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + sha256: ccb8bd0a8f2d57675b6a60dabb0cc8becb35c2748ac4ec920d7f7625b93c16d8 + md5: 864e6d29ec7378b89ff5b5c9c629099e + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang-cpp22.1 >=22.1.8,<22.2.0a0 + size: 24175081 + timestamp: 1782358841320 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.conda + sha256: e6c0123b888d6abf03c66c52ed89f9de1798dde930c5fd558774f26e994afbc6 + md5: 327c78a8ce710782425a89df851392f7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.0,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libclang13 >=21.1.0 + size: 12358102 + timestamp: 1757383373129 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.conda + sha256: b90ed8467a692788477c06bc0359fac52ed5651d801ddef189ba4b7ecf3ce38c + md5: 2a913525f4201f1adab2711fcf6f89b3 + depends: + - libclang-cpp22.1 ==22.1.8 default_h6c227bf_3 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang13 >=22.1.8 + size: 14283567 + timestamp: 1782358841320 +- 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 + run_exports: + weak: + - libcrc32c >=1.1.2,<1.2.0a0 + size: 20440 + timestamp: 1633683576494 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda + sha256: 205c4f19550f3647832ec44e35e6d93c8c206782bdd620c1d7cf66237580ff9c + md5: 49c553b47ff679a6a1e9fc80b9c5a2d4 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libcups >=2.3.3,<2.4.0a0 + 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 + run_exports: + weak: + - libcups >=2.3.3,<2.4.0a0 + 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 + run_exports: + weak: + - libcurl >=8.18.0,<9.0a0 + size: 462942 + timestamp: 1767821743793 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-hcf29cc6_0.conda + sha256: 93ab25f02666eb8696fa70d9c920f2e3b370742ee17e2758705038a72e11147f + md5: dcd79cabd5d435f48d75db3d81cb5874 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - libnghttp2 >=1.68.1,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 479582 + timestamp: 1782296544301 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda + sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 + md5: 6c77a605a7a689d17d4819c0f8ac9a00 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libdeflate >=1.25,<1.26.0a0 + size: 73490 + timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + sha256: 7d3187c11b7ae66c5595a8afd5a7ce352a490527fdf6614cab129bc7f2c16ba3 + md5: d8d16b9b32a3c5df7e5b3350e2cbe058 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpciaccess >=0.19,<0.20.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libdrm >=2.4.127,<2.5.0a0 + size: 311505 + timestamp: 1778975798004 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + depends: + - ncurses + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 + size: 134676 + timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + sha256: 9a25ea93e8272785405a21d30f84e620befb1d545f6dfaae18f06103b5df0443 + md5: 75e9f795be506c96dd43cb09c7c8d557 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + run_exports: {} + size: 46500 + timestamp: 1779728188901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.conda + sha256: e4b46919c9bb65930bce238bd2736110ed7b8c30e5cd5394e4e1edb48de54843 + md5: 5bc6d55503483aabe8a90c5e7f49a2a4 + depends: + - __glibc >=2.17,<3.0.a0 + - libegl 1.7.0 ha4b6fd6_3 + - libgl-devel 1.7.0 ha4b6fd6_3 + - xorg-libx11 + license: LicenseRef-libglvnd + run_exports: + weak: + - libegl >=1.7.0,<2.0a0 + size: 31718 + timestamp: 1779728222280 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libev >=4.33,<4.34.0a0 + size: 112766 + timestamp: 1702146165126 +- 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 + run_exports: + weak: + - libevent >=2.1.12,<2.1.13.0a0 + size: 427426 + timestamp: 1685725977222 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 + md5: b24d3c612f71e7aa74158d92106318b2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 77856 + timestamp: 1781203599810 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab + md5: ede4673863426c0883c0063d853bbd85 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.4.6,<3.5.0a0 + 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 + run_exports: + weak: + - libffi >=3.5.2,<3.6.0a0 + size: 58592 + timestamp: 1769456073053 +- 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 + run_exports: {} + size: 8049 + timestamp: 1774298163029 +- 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 + run_exports: {} + size: 384575 + timestamp: 1774298162622 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 + md5: 57736f29cc2b0ec0b6c2952d3f101b6a + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 he0feb66_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 1041084 + timestamp: 1778269013026 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + sha256: 9dcf54adfaa5e861123c2da4f2f0451a685464ea7e5a41ad91cf67b31d658d98 + md5: 331ee9b72b9dff570d56b1302c5ab37d + depends: + - libgcc 15.2.0 he0feb66_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + strong: + - libgcc + size: 27694 + timestamp: 1778269016987 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda + sha256: 245be793e831170504f36213134f4c24eedaf39e634679809fd5391ad214480b + md5: 88c1c66987cd52a712eea89c27104be6 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD + license_family: BSD + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 177306 + timestamp: 1766331805898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda + sha256: 19e5be91445db119152217e8e8eec4fd0499d854acc7d8062044fb55a70971cd + md5: 68fc66282364981589ef36868b1a7c78 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.45,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD + license_family: BSD + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 177082 + timestamp: 1737548051015 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.10.3-h02f45b3_13.conda + sha256: 9a1170e7eb91b947fbe32e9d8f42a6c5b750de77b327c088948ecacf9a0ab5bd + md5: 728c94f861dfb7d7cfb9244516626ca9 + depends: + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - geotiff >=1.7.4,<1.8.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.26.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.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 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.45,<10.46.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.10.3.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.10.3,<3.11.0a0 + size: 11007446 + timestamp: 1755813512112 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda + sha256: 8e3b5a88a114a0a23caf12cd049f21f1554b721438731721889d2404fd026cfd + md5: c8ca404aeab8e32c9d6d82a82aeb6511 + depends: + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.1,<3.14.2.0a0 + - giflib >=5.2.2,<5.3.0a0 + - json-c >=0.18,<0.19.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.5,<3.9.0a0 + - libcurl >=8.18.0,<9.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libexpat >=2.7.4,<3.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libjxl >=0.11,<1.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.51.2,<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.5,<4.0a0 + - pcre2 >=10.47,<10.48.0a0 + - proj >=9.7.1,<9.8.0a0 + - xerces-c >=3.3.0,<3.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - libgdal 3.12.2.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.12.2,<3.13.0a0 + size: 12962357 + timestamp: 1771393493666 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda + sha256: 062b2d4c436b5b5e2b1b956b208dc053c7da480b36a909d6ef79017daed4650c + md5: ecf7b755370673d8d116ce45f7c8bbaa + depends: + - __glibc >=2.17,<3.0.a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - libaec >=1.1.5,<2.0a0 + - libgcc >=14 + - libgdal-core 3.12.2 hc2c0581_1 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: {} + size: 562852 + timestamp: 1771394821155 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda + sha256: f5aa2ef73644ec614ff46ae4c8402d73f00f1d4a3e571e247635a0a14ebb448e + md5: ebc9b2164b2e599d5375361e230a1540 + depends: + - __glibc >=2.17,<3.0.a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - libgdal-core 3.12.2 hc2c0581_1 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: {} + size: 673369 + timestamp: 1771394889641 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda + sha256: 8738ba6b64077ba579786c8b902262394b778d1d2cf11e3baf75e3b97a7dc47e + md5: ed2754a12c4fcc929bb39d6b6cc8729c + depends: + - __glibc >=2.17,<3.0.a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - libgdal-core 3.12.2 hc2c0581_1 + - libgdal-hdf4 3.12.2.* + - libgdal-hdf5 3.12.2.* + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libstdcxx >=14 + license: MIT + license_family: MIT + run_exports: {} + size: 745903 + timestamp: 1771395436997 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + sha256: 561a42758ef25b9ce308c4e2cf56daee4f06138385a17e29a492cd928e00be6f + md5: 42bf7eca1a951735fa06c0e3c0d5c8e6 + depends: + - libgfortran5 15.2.0 h68bc16d_19 + constrains: + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 27655 + timestamp: 1778269042954 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + sha256: 057978bb69fea29ed715a9b98adf71015c31baecc4aeb2bfc20d4fd5d83579d4 + md5: 85072b0ad177c966294f129b7c04a2d5 + 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 + run_exports: {} + size: 2483673 + timestamp: 1778269025089 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + sha256: ec353b3076ed8e357ed961d0e9ff6997491cade0e603de5bd18a2e301ac78ebd + md5: f25206d7322c0e9648e8b83694d143ab + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + - libglx 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + run_exports: {} + size: 133469 + timestamp: 1779728207669 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + sha256: 41d7d864ad1f199bdb06ff6cc3931455c8af62f1d2071a08c6fa08affbcb678f + md5: 63e43d278ee5084813fe3c2edf4834ce + depends: + - __glibc >=2.17,<3.0.a0 + - libgl 1.7.0 ha4b6fd6_3 + - libglx-devel 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + run_exports: + weak: + - libgl >=1.7.0,<2.0a0 + size: 115664 + timestamp: 1779728218325 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.84.3-hf39c6af_0.conda + sha256: e1ad3d9ddaa18f95ff5d244587fd1a37aca6401707f85a37f7d9b5002fcf16d0 + md5: 467f23819b1ea2b89c3fc94d65082301 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.45,<10.46.0a0 + constrains: + - glib 2.84.3 *_0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.84.3,<3.0a0 + size: 3961899 + timestamp: 1754315006443 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda + sha256: 33eb5d5310a5c2c0a4707a0afa644801c2e08c8f70c45e1f62f354116dfe0970 + md5: 17d484ab9c8179c6a6e5b7dbb5065afc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libffi >=3.5.2,<3.6.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libzlib >=1.3.2,<2.0a0 + - libiconv >=1.18,<2.0a0 + constrains: + - glib >2.66 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.88.1,<3.0a0 + size: 4754097 + timestamp: 1778508800134 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + sha256: a0105eb88f76073bbb30169312e797ed5449ebb4e964a756104d6e54633d17ef + md5: 8422fcc9e5e172c91e99aef703b3ce65 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=13 + license: SGI-B-2.0 + run_exports: + weak: + - libglu >=9.0.3,<9.1.0a0 + size: 325262 + timestamp: 1748692137626 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + sha256: e019ebe4e3f5cdf23e2f5e58ddf7ade27988c53820115b17b98f218ebcc87748 + md5: eb83f3f8cecc3e9bff9e250817fc69b6 + depends: + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + run_exports: {} + size: 133586 + timestamp: 1779728183422 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + sha256: 2f74713c9ca408ea84e88a30a9028153e7b553e8bb42e06139eac9a753c27da9 + md5: ec3c4350aa0261bf7f87b8ca15c8e80e + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + - xorg-libx11 >=1.8.13,<2.0a0 + license: LicenseRef-libglvnd + run_exports: {} + size: 76586 + timestamp: 1779728199059 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + sha256: a17ae2d4cb2de04a20882ae14ec3cc1958e868a4dec81e3d7eca30115ee50e94 + md5: 16b6330783ce0d1ae8d22782173b32c9 + depends: + - __glibc >=2.17,<3.0.a0 + - libglx 1.7.0 ha4b6fd6_3 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-xorgproto + license: LicenseRef-libglvnd + run_exports: + weak: + - libglx >=1.7.0,<2.0a0 + size: 27363 + timestamp: 1779728211402 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b + md5: faac990cb7aedc7f3a2224f2c9b0c26c + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + strong: + - _openmp_mutex >=4.5 + size: 603817 + timestamp: 1778268942614 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda + sha256: d3341cf69cb02c07bbd1837968f993da01b7bd467e816b1559a3ca26c1ff14c5 + md5: a2e30ccd49f753fd30de0d30b1569789 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libgrpc >=1.73.1,<1.74.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libstdcxx >=14 + - openssl >=3.5.1,<4.0a0 + constrains: + - libgoogle-cloud 2.39.0 *_0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud >=2.39.0,<2.40.0a0 + size: 1307909 + timestamp: 1752048413383 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda + sha256: 59eb8365f0aee384f2f3b2a64dcd454f1a43093311aa5f21a8bb4bd3c79a6db8 + md5: bd21962ff8a9d1ce4720d42a35a4af40 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=14 + - libgoogle-cloud 2.39.0 hdb79228_0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + size: 804189 + timestamp: 1752048589800 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.73.1-h3288cfb_1.conda + sha256: bc9d32af6167b1f5bcda216dc44eddcb27f3492440571ab12f6e577472a05e34 + md5: ff63bb12ac31c176ff257e3289f20770 + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.34.5,<2.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libgcc >=14 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.73.1 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libgrpc >=1.73.1,<1.74.0a0 + size: 8349777 + timestamp: 1761058442526 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + sha256: 5041d295813dfb84652557839825880aae296222ab725972285c5abe3b6e4288 + md5: c197985b58bc813d26b42881f0021c82 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libhwloc >=2.13.0,<2.13.1.0a0 + size: 2436378 + timestamp: 1770953868164 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.conda + sha256: 8b70955d5e9a49d08945d4f8e2eab855b2efa5fce9cb9bc5e75d86764e6f2f38 + md5: 3a9428b74c403c71048104d38437b48c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause + run_exports: + weak: + - libhwy >=1.4.0,<1.5.0a0 + size: 1435782 + timestamp: 1776989559668 +- 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 + run_exports: + weak: + - libiconv >=1.18,<2.0a0 + size: 790176 + timestamp: 1754908768807 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda + sha256: 10056646c28115b174de81a44e23e3a0a3b95b5347d2e6c45cc6d49d35294256 + md5: 6178c6f2fb254558238ef4e6c56fb782 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + run_exports: + weak: + - libjpeg-turbo >=3.1.4.1,<4.0a0 + size: 633831 + timestamp: 1775962768273 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda + sha256: 0c8a78c6a42a6e4c6de3a5e82d692f60400d43f4cc80591745f28b37daad9c70 + md5: 850f48943d6b4589800a303f0de6a816 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libjxl >=0.11,<1.0a0 + size: 1846962 + timestamp: 1777065125966 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda + sha256: f6348ac9cebbc03f765ea6d2da88d57d19531585c8f3a963b98635b208e8bef1 + md5: 953b7cca897e21215302dbfe2af5cd0c + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.5,<3.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - uriparser >=0.9.8,<1.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 412514 + timestamp: 1777026799177 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + build_number: 8 + sha256: 168e327d737059553e15cc6ec36d76b9bbb3931c2a7721555fd68b4c9348b247 + md5: 809be8ba8712c77bc7d44c2d99390dc4 + depends: + - libblas 3.11.0 8_h4a7cf45_openblas + constrains: + - blas 2.308 openblas + - libcblas 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapack >=3.11.0,<3.12.0a0 + size: 18790 + timestamp: 1779859115086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h8876d29_netlib.conda + build_number: 8 + sha256: eddbac0c53b03643afef07fdc29761d94bc2b547db6d6d31c0b97cfa689fd050 + md5: fea92afad2f58c4d67c327d15b1b4019 + depends: + - __glibc >=2.17,<3.0.a0 + - libblas 3.11.0.* + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + track_features: + - blas_netlib + - blas_netlib_2 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapack >=3.11.0,<4.0a0 + size: 2902223 + timestamp: 1779860397307 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_h6ae95b6_openblas.conda + build_number: 8 + sha256: 0b982865888a73fe7c2e7d8e8ee3738ac378b83012a7da1a12264a473cb2382b + md5: da17457f689df5c0f246d2f0b3798fd2 + depends: + - libblas 3.11.0 8_h4a7cf45_openblas + - libcblas 3.11.0 8_h0358290_openblas + - liblapack 3.11.0 8_h47877c9_openblas + constrains: + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapacke >=3.11.0,<3.12.0a0 + size: 18824 + timestamp: 1779859122364 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_hb041515_netlib.conda + build_number: 8 + sha256: fcb3d8917d302509d6d670f0fd50125faf60816580044c5d7de33ac29ae49503 + md5: f8a6ea387ec3f0e43ee193c3ab33b959 + depends: + - __glibc >=2.17,<3.0.a0 + - libblas 3.11.0.* + - libcblas 3.11.0.* + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack 3.11.0.* + track_features: + - blas_netlib + - blas_netlib_2 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapacke >=3.11.0,<4.0a0 + size: 513518 + timestamp: 1779860404689 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda + sha256: a6fddc510de09075f2b77735c64c7b9334cf5a26900da351779b275d9f9e55e1 + md5: 59a7b967b6ef5d63029b1712f8dcf661 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm20 >=20.1.8,<20.2.0a0 + size: 43987020 + timestamp: 1752141980723 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda + sha256: d190f1bf322149321890908a534441ca2213a9a96c59819da6cabf2c5b474115 + md5: 9ad637a7ac380c442be142dfb0b1b955 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm21 >=21.1.0,<21.2.0a0 + size: 44363060 + timestamp: 1756291822911 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + sha256: e9b5f301d6b001a9b8ce782157f56b75c92c4fbc9eba95dc6345c1139251d13b + md5: 298bb2483fc7d15396147cf1c1465359 + 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 + run_exports: + weak: + - libllvm22 >=22.1.8,<22.2.0a0 + size: 44320272 + timestamp: 1781788728739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d + md5: b88d90cad08e6bc8ad540cb310a761fb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 113478 + timestamp: 1775825492909 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 + md5: 2c21e66f50753a083cbe6b80f38268fa + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 92400 + timestamp: 1769482286018 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h81b047f_102.conda + sha256: fe32865925d3d193ad894fc8bccb1badc745796487a0bf55a85591661e8eafe2 + md5: b2431965f6c2a49384e6d3b36bb44e45 + depends: + - __glibc >=2.17,<3.0.a0 + - attr >=2.5.2,<2.6.0a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - zlib + - zstd >=1.5.7,<1.6.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 872799 + timestamp: 1757401949915 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.conda + sha256: cae2f8fe5258fc1a1d2b61cbc9190ed2c0a1b7cdf5d4aac98da071ade6dac152 + md5: a2956b63b1851e9d5eb9f882d02fa3a9 + depends: + - __glibc >=2.17,<3.0.a0 + - attr >=2.5.2,<2.6.0a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 870788 + timestamp: 1770718321021 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda + sha256: 663444d77a42f2265f54fb8b48c5450bfff4388d9c0f8253dd7855f0d993153f + md5: 2a45e7f8af083626f009645a6481f12d + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.34.6,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 + size: 663344 + timestamp: 1773854035739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 + md5: d864d34357c3b65a4b731f78c0801dc4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL + run_exports: + weak: + - libnsl >=2.0.1,<2.1.0a0 + size: 33731 + timestamp: 1750274110928 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + sha256: 3b3f19ced060013c2dd99d9d46403be6d319d4601814c772a3472fe2955612b0 + md5: 7c7927b404672409d9917d49bff5f2d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + run_exports: + weak: + - libntlm >=1.8,<2.0a0 + size: 33418 + timestamp: 1734670021371 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + sha256: 3d9aa85648e5e18a6d66db98b8c4317cc426721ad7a220aa86330d1ccedc8903 + md5: 2d3278b721e40468295ca755c3b84070 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + constrains: + - openblas >=0.3.33,<0.3.34.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libopenblas >=0.3.33,<1.0a0 + size: 5931919 + timestamp: 1776993658641 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda + sha256: 90777039b48529283df5f16383fc399866024257a8bd93de583f4730db1ab30a + md5: c2bd8055a2e2dce7a7f32cfd02101fb6 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + run_exports: {} + size: 51767 + timestamp: 1779728204026 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda + sha256: ba9b09066f9abae9b4c98ffedef444bbbf4c068a094f6c77d70ef6f006574563 + md5: 1c0320794855f457dea27d35c4c71e23 + depends: + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgrpc >=1.73.1,<1.74.0a0 + - libopentelemetry-cpp-headers 1.21.0 ha770c72_1 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + size: 885397 + timestamp: 1751782709380 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda + sha256: b3a1b36d5f92fbbfd7b6426982a99561bdbd7e4adbafca1b7f127c9a5ab0a60f + md5: 9e298d76f543deb06eb0f3413675e13a + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 363444 + timestamp: 1751782679053 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-21.0.0-h790f06f_8_cpu.conda + build_number: 8 + sha256: 221bf7e71ad787ecffcd79db294552077daa8aa760fa20831cae0c095b9d3166 + md5: 80344ce1bdd57e68bd70e742430a408c + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 21.0.0 h56a6dad_8_cpu + - libgcc >=14 + - libstdcxx >=14 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.4,<4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libparquet >=21.0.0,<21.1.0a0 + size: 1318386 + timestamp: 1759482004172 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda + build_number: 2 + sha256: f8a747df762d1197196d6113a1fb56b9c6d396c1b37727f2caeef2887d3e0733 + md5: 64c8c3132e92b2d02e6b0bcdf7125090 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.0 h40b5c2d_2_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 + run_exports: + weak: + - libparquet >=23.0.0,<23.1.0a0 + size: 1393478 + timestamp: 1770434939323 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + sha256: f41721636a7c2e51bc2c642e1127955ab9c81145470714fdaac44d4d09e4af41 + md5: 33082e13b4769b48cfeb648e15bfe3fc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libpciaccess >=0.19,<0.20.0a0 + size: 29147 + timestamp: 1773533027610 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + sha256: 377cfe037f3eeb3b1bf3ad333f724a64d32f315ee1958581fc671891d63d3f89 + md5: eba48a68a1a2b9d3c0d9511548db85db + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + run_exports: + weak: + - libpng >=1.6.58,<1.7.0a0 + size: 317729 + timestamp: 1776315175087 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda + sha256: 06a8ace6cc5ee47b85a5e64fad621e5912a12a0202398f54f302eb4e8b9db1fd + md5: a4769024afeab4b32ac8167c2f92c7ac + 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 + run_exports: + weak: + - libpq >=17.7,<18.0a0 + size: 2649881 + timestamp: 1763565297202 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda + sha256: 076742d4a9fa88711c5fc6726b967e6a03b5060e669aa03288c684a7ae03583b + md5: 2772b7ab7bc43f24e9585a714761a255 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - openldap >=2.6.13,<2.7.0a0 + - openssl >=3.5.6,<4.0a0 + license: PostgreSQL + run_exports: + weak: + - libpq >=18.4,<19.0a0 + size: 2754709 + timestamp: 1778786234149 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda + sha256: b04322e2128684d4043e256f56b74528b0a0a296ba4a81299056ec04655a0580 + md5: da31d891434e50d7e7be8adc5832269b + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libprotobuf >=6.31.1,<6.31.2.0a0 + size: 4204474 + timestamp: 1780003940664 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h75b3fb1_0.conda + sha256: 36870c7e6362386c687f2f40d98de28f53ef84582ff65792f2f53981ede82681 + md5: 6855be9eb1d891cd5afb5eb90501c74c + depends: + - libgcc >=14 + - __glibc >=2.28,<3.0.a0 + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=14.2.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + license: MIT + license_family: MIT + run_exports: + weak: + - libraqm >=0.10.5,<0.11.0a0 + size: 29594 + timestamp: 1780835041392 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda + sha256: eb5d5ef4d12cdf744e0f728b35bca910843c8cf1249f758cf15488ca04a21dbb + md5: a30848ebf39327ea078cf26d114cff53 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - re2 2025.11.05.* + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libre2-11 >=2025.11.5 + size: 211099 + timestamp: 1762397758105 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-he92a37e_3.conda + sha256: a45ef03e6e700cc6ac6c375e27904531cf8ade27eb3857e080537ff283fb0507 + md5: d27665b20bc4d074b86e628b3ba5ab8b + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - freetype >=2.13.3,<3.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - harfbuzz >=11.0.0,<12.0a0 + - libgcc >=13 + - libglib >=2.84.0,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libxml2 >=2.13.7,<2.14.0a0 + - pango >=1.56.3,<2.0a0 + constrains: + - __glibc >=2.17 + license: LGPL-2.1-or-later + run_exports: + weak: + - librsvg >=2.58.4,<3.0a0 + size: 6543651 + timestamp: 1743368725313 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + sha256: 5571bd8239d71961d4e3ce972f865b3ea95a91ce0b53d5749fe2dd24254ddbda + md5: 492c8d9b1c564c2e948b6cb4ba0f8261 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libgcc >=14 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 + constrains: + - __glibc >=2.17 + license: LGPL-2.1-or-later + run_exports: + weak: + - librsvg >=2.62.3,<3.0a0 + size: 3476570 + timestamp: 1780450632624 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda + sha256: eb4082a5135102f5ba9c302da13164d4ed1181d5f0db9d49e5e11a815a7b526f + md5: df81fd57eacf341588d728c97920e86d + depends: + - __glibc >=2.17,<3.0.a0 + - geos >=3.14.1,<3.14.2.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 231670 + timestamp: 1761670395043 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-hd718a1a_18.conda + sha256: 394cf4356e0e26c4c95c9681e01e4def77049374ac78b737193e38c1861e8042 + md5: 4f40dea96ff9935e7bd48893c24891b9 + depends: + - __glibc >=2.17,<3.0.a0 + - geos >=3.13.1,<3.13.2.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 232698 + timestamp: 1741167016983 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.11-int64_h807e49d_3.conda + sha256: d28da67deec6e16bc6acaad1b30a22a251b3868f9e79602d1d1b14b3d5030b90 + md5: cdc96eb14693f0a33fb2daffb1987c4d + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + license: CECILL-C + run_exports: + weak: + - libscotch >=7.0.11,<7.0.12.0a0 + - libscotch * int64_* + size: 345579 + timestamp: 1776441217688 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + sha256: b677bbf1c339d894757c3dcfbb2f88649e499e4991d70ae09a1466da9a6c92d6 + md5: 965e4d531b588b2e42f66fd8e48b056c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: ISC + run_exports: + weak: + - libsodium >=1.0.22,<1.0.23.0a0 + size: 269272 + timestamp: 1779163468406 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda + sha256: 403c1ad74ee70caaac02216a233ef9ec4531497ee14e7fea93a254a005ece88d + md5: 887245164c408c289d0cb45bd508ce5f + depends: + - __glibc >=2.17,<3.0.a0 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.1,<3.14.2.0a0 + - libgcc >=14 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.7.0,<9.8.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 4097449 + timestamp: 1761681679109 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-he17ca71_14.conda + sha256: 82f7f5f4498a561edf84146bfcff3197e8b2d8796731d354446fc4fd6d058e94 + md5: d010b5907ed39fdb93eb6180ab925115 + depends: + - __glibc >=2.17,<3.0.a0 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - libgcc >=13 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libstdcxx >=13 + - libxml2 >=2.13.6,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 4047775 + timestamp: 1742308519433 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.09.18-h74cae3c_2.conda + sha256: f66b648fd6f7b59d94e513f976f7396b9014395f57b5a9907fb07b847fbfd141 + md5: 5ee48d510cb22553d446210b76d1f645 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - libhwloc >=2.13.0,<2.13.1.0a0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - metis >=5.1.0,<5.1.1.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libspral >=2025.9.18,<2025.9.19.0a0 + size: 360426 + timestamp: 1778770889939 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-h0c1763c_0.conda + sha256: 1ab603b6ec93933e76027e1f23b21b22b858ba1b56f1e1695ef6fe5e80cb7358 + md5: 062b0ac602fb0adf250e3dfa86f221c4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 957849 + timestamp: 1780574429573 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + sha256: fa39bfd69228a13e553bd24601332b7cfeb30ca11a3ca50bb028108fe90a7661 + md5: eecce068c7e4eddeb169591baac20ac4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 304790 + timestamp: 1745608545575 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc + md5: 5794b3bdc38177caf969dabd3af08549 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 he0feb66_19 + constrains: + - libstdcxx-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 5852044 + timestamp: 1778269036376 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + sha256: 0672b6b6e1791c92e8eccad58081a99d614fcf82bca5841f9dfa3c3e658f83b9 + md5: e5ce228e579726c07255dbf90dc62101 + depends: + - libstdcxx 15.2.0 h934c35e_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + strong: + - libstdcxx + size: 27776 + timestamp: 1778269074600 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.conda + sha256: af6025aa4a4fc3f4e71334000d2739d927e2f678607b109ec630cc17d716918a + md5: b6e326fbe1e3948da50ec29cee0380db + depends: + - __glibc >=2.17,<3.0.a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libthrift >=0.22.0,<0.22.1.0a0 + size: 423861 + timestamp: 1777018957474 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 + md5: cd5a90476766d53e901500df9215e927 + depends: + - __glibc >=2.17,<3.0.a0 + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + run_exports: + weak: + - libtiff >=4.7.1,<4.8.0a0 + size: 435273 + timestamp: 1762022005702 +- 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 + run_exports: + weak: + - libutf8proc >=2.11.3,<2.12.0a0 + size: 85969 + timestamp: 1768735071295 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + sha256: 9b1bdce27a7e31f7d241aeecff67a1f3101d52a2b1e33ccc2cdf2613072bf81f + md5: 01bb81d12c957de066ea7362007df642 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libuuid >=2.42.2,<3.0a0 + size: 40017 + timestamp: 1781625522462 +- 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: - - openmp_impl <0.0a0 + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libvulkan-loader >=1.4.341.0,<2.0a0 + size: 199795 + timestamp: 1770077125520 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b + md5: aea31d2e5b1091feca96fcfe945c3cf9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libwebp-base >=1.6.0,<2.0a0 + size: 429011 + timestamp: 1752159441324 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa + md5: 92ed62436b625154323d40d5f2f11dd7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + run_exports: + weak: + - libxcb >=1.17.0,<2.0a0 + size: 395888 + timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + run_exports: + weak: + - libxcrypt >=4.4.36 + size: 100393 + timestamp: 1702724383534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.11.0-he8b52b9_0.conda + sha256: 23f47e86cc1386e7f815fa9662ccedae151471862e971ea511c5c886aa723a54 + md5: 74e91c36d0eef3557915c68b6c2bef96 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + run_exports: + weak: + - libxkbcommon >=1.11.0,<2.0a0 + size: 791328 + timestamp: 1754703902365 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + sha256: 046f2ff4acebd8729fac03e99c8c307dfb48b6a32894ba8c11576e78f6e76e43 + md5: dc8b067e22b414172bedd8e3f03f3c95 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + run_exports: + weak: + - libxkbcommon >=1.13.2,<2.0a0 + size: 851166 + timestamp: 1780213397575 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + sha256: 3d44f737c5ae52d5af32682cc1530df433f401f8e58a7533926536244127572a + md5: e79d2c2f24b027aa8d5ab1b1ba3061e7 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.3 + license: MIT + license_family: MIT + run_exports: {} + size: 559775 + timestamp: 1776376739004 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda + sha256: 5d12e993894cb8e9f209e2e6bef9c90fa2b7a339a1f2ab133014b71db81f5d88 + md5: 35eeb0a2add53b1e50218ed230fa6a02 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 >=2.13.9,<2.14.0a0 + size: 697033 + timestamp: 1761766011241 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + sha256: 3bc5551720c58591f6ea1146f7d1539c734ed1c40e7b9f5cb8cb7e900c509aba + md5: 995d8c8bad2a3cc8db14675a153dec2b + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 hca6bf5a_0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 46810 + timestamp: 1776376751152 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda + sha256: adada9c781ea51faea3e3adcd6883dc294ff2fa044c7f4e199430a11862dfa40 + md5: be70cb50dd0ecc1531c58034d38f72e0 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2 2.15.3 h49c6c72_0 + - libxml2-16 2.15.3 hca6bf5a_0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 80529 + timestamp: 1776376762779 +- 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 + run_exports: + weak: + - libxslt >=1.1.43,<2.0a0 + size: 245434 + timestamp: 1757963724977 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda + sha256: 35ddfc0335a18677dd70995fa99b8f594da3beb05c11289c87b6de5b930b47a3 + md5: 31059dc620fa57d787e3899ed0421e6d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxml2 >=2.13.8,<2.14.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxslt >=1.1.43,<2.0a0 + size: 244399 + timestamp: 1753273455036 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + sha256: 991e7348b0f650d495fb6d8aa9f8c727bdf52dabf5853c0cc671439b160dce48 + md5: a7b27c075c9b7f459f1c022090697cba + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libzip >=1.11.2,<2.0a0 + size: 109043 + timestamp: 1730442108429 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 + md5: d87ff7921124eccd67248aa483c23fec + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 63629 + timestamp: 1774072609062 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda + sha256: 4b27a5903ab30141832924f882988a42591696a4fed8e25124e6369791664f63 + md5: 03cbf03d08ba6a45f906c2542c894a52 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1571628 + timestamp: 1779194839109 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py314hae3bed6_0.conda + sha256: 7238bd901bc6efe5d568c74a32d67f4135abbbdebfd6954a2e48b3aa399835cd + md5: d541b0e73ecc183f9062a1aa95acbd1b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1583195 + timestamp: 1779194870520 +- 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 - size: 28948 - timestamp: 1770939786096 -- conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - build_number: 7 - sha256: 30006902a9274de8abdad5a9f02ef7c8bb3d69a503486af0c1faee30b023e5b7 - md5: eaac87c21aff3ed21ad9656697bb8326 + run_exports: {} + size: 44154 + timestamp: 1765026394687 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314hd4c109c_1.conda + sha256: 7f3083018be486b73c82e5e2421ab882d5231fcd424843c96058b01ce5f3cbaf + md5: 2f6295571ea5e9278046efc3ef377a98 depends: - - llvm-openmp >=9.0.1 + - python + - lz4-c + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.14.* *_cp314 + - lz4-c >=1.10.0,<1.11.0a0 license: BSD-3-Clause license_family: BSD - size: 8328 - timestamp: 1764092562779 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - build_number: 7 - sha256: 7acaa2e0782cad032bdaf756b536874346ac1375745fb250e9bdd6a48a7ab3cd - md5: a44032f282e7d2acdeb1c240308052dd + run_exports: {} + size: 45224 + timestamp: 1765026391393 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 + md5: 9de5350a85c4a20c685259b889aa6393 depends: - - llvm-openmp >=9.0.1 - license: BSD-3-Clause + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause license_family: BSD - 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 + run_exports: + weak: + - lz4-c >=1.10.0,<1.11.0a0 + size: 167055 + timestamp: 1733741040117 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + sha256: 5c6bbeec116e29f08e3dad3d0524e9bc5527098e12fc432c0e5ca53ea16337d4 + md5: 45161d96307e3a447cc3eb5896cf6f8c depends: - - libgomp >=7.5.0 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - lzo >=2.10,<3.0a0 + size: 191060 + timestamp: 1753889274283 +- 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: - - openmp_impl <0.0a0 - - msys2-conda-epoch <0.0a0 + - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - size: 52252 - timestamp: 1770943776666 -- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 - md5: aaa2a381ccc56eac91d63b6c1240312f - depends: - - cpython - - python-gil - license: MIT - license_family: MIT - size: 8191 - timestamp: 1744137672556 -- conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 - md5: 74ac5069774cdbc53910ec4d631a3999 + run_exports: {} + size: 26057 + timestamp: 1772445297924 +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + sha256: c279be85b59a62d5c52f5dd9a4cd43ebd08933809a8416c22c3131595607d4cf + md5: 9a17c4307d23318476d7fbf0fedc0cde depends: - - pygments - - python >=3.9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - size: 1326096 - timestamp: 1734956217254 -- conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda - sha256: a362b4f5c96a0bf4def96be1a77317e2730af38915eb9bec85e2a92836501ed7 - md5: b3f0179590f3c0637b7eb5309898f79e + run_exports: {} + size: 27424 + timestamp: 1772445227915 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.7-py312h7900ff3_0.conda + sha256: a90b146dcaae011f97b85776dcd9751acf31db6206c9da7a867b2870a082c642 + md5: 71da16a72db3da61f5569da05fd1c750 depends: - - __unix - - hicolor-icon-theme - - librsvg - license: LGPL-3.0-or-later OR CC-BY-SA-3.0 - license_family: LGPL - size: 631452 - timestamp: 1758743294412 -- conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda - sha256: 0deeaf0c001d5543719db9b2686bc1920c86c7e142f9bec74f35e1ce611b1fc2 - md5: 8c4061f499edec6b8ac7000f6d586829 + - matplotlib-base >=3.10.7,<3.10.8.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 + run_exports: {} + size: 17267 + timestamp: 1760560562908 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py312h7900ff3_0.conda + sha256: 0301737612197e3931a73858f642c38331e4906aa48227a29b7ba72c9c343678 + md5: 9ad541e75ff51cb70105c67324e418fe depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 19164 - timestamp: 1733762153202 -- conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda - sha256: 6c6ddfeefead96d44f09c955b04967a579583af2dc63518faf029e46825e41ab - md5: 8a9936643c4a9565459c4a8eb5d4e3ff + - matplotlib-base >=3.11.0,<3.11.1.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 + run_exports: {} + size: 14872 + timestamp: 1781626897041 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.0-py314hdafbbf9_0.conda + sha256: 10ace2fb5f090048e32117e4fc6404dbc924c95db8c0d648d26194d61b281340 + md5: 2d3b012dbe43f0779bbc251b4d02989f + depends: + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - pyside6 >=6.7.2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 14891 + timestamp: 1781626916081 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py312he3d6523_0.conda + sha256: a86bf43f40c8afa3dbe846c62e54dc7496493cc882acdf366b5197205e7709d8 + md5: 066291f807305cff71a8ec1683fc9958 depends: - - python >=3.10 + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.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 - size: 20727 - timestamp: 1779297825279 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.14.1-py312h5d8c7f2_0.conda - sha256: 7e03efaf3671cfca5d3195dc18aa3ca6bc182e0e34d30a95adb4f64f71d8f10c - md5: 10e4a93c73bfe09c5909cb1d41a1e40e + run_exports: {} + size: 8536303 + timestamp: 1760560544102 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py312h1c5ec97_0.conda + sha256: 4d5db0491814ce2e70053ae5ac9ecd0a4f7103adb6df0e6eb0dcb7638145e65b + md5: 847125fead148cb26f52f8c3413cea12 depends: - __glibc >=2.17,<3.0.a0 - - aiohappyeyeballs >=2.5.0 - - aiosignal >=1.4.0 - - attrs >=17.3.0 - - frozenlist >=1.1.1 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - multidict >=4.5,<7.0 - - propcache >=0.2.0 + - libraqm >=0.10.5,<0.11.0a0 + - libstdcxx >=14 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 - python >=3.12,<3.13.0a0 + - python-dateutil >=2.7 - python_abi 3.12.* *_cp312 - - typing_extensions >=4.4 - - yarl >=1.17.0,<2.0 - license: MIT AND Apache-2.0 - license_family: Apache - size: 1078273 - timestamp: 1780913823270 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda - sha256: 745c449c1dccfeafbd33b4068f7be35d8d6a6307946817414185a67f51538f9d - md5: bb2b52fed934237c452506f1e36a0cd9 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 9022139 + timestamp: 1781626880429 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.0-py314h261f116_0.conda + sha256: d89de93d3cd4d4b2c3ce2f081df1b7ea83b8b3d8c4ba05aea1968ee43a4d9954 + md5: 6b2f4b994b97722933dacd51776d5c49 depends: - - __osx >=11.0 - - aiohappyeyeballs >=2.5.0 - - aiosignal >=1.4.0 - - attrs >=17.3.0 - - frozenlist >=1.1.1 - - multidict >=4.5,<7.0 - - propcache >=0.2.0 + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libraqm >=0.10.5,<0.11.0a0 + - libstdcxx >=14 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 9034523 + timestamp: 1781626897073 +- conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda + sha256: e8a00971e6d00bd49f375c5d8d005b37a9abba0b1768533aed0f90a422bf5cc7 + md5: 28eb714416de4eb83e2cbc47e99a1b45 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - metis >=5.1.0,<5.1.1.0a0 + size: 3923560 + timestamp: 1728064567817 +- conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda + sha256: 41558b95a387ce2374260aa034a99c3a88cbb98e1a56510f4fa6839063de867b + md5: fe7b4ff5792fee512aad843294ea809a + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Zlib + license_family: Other + run_exports: + weak: + - minizip >=4.2.1,<5.0a0 + size: 520570 + timestamp: 1778002506337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda + sha256: 8690f550a780f75d9c47f7ffc15f5ff1c149d36ac17208e50eda101ca16611b9 + md5: 85ce2ffa51ab21da5efa4a9edc5946aa + depends: + - __glibc >=2.17,<3.0.a0 + - gmp >=6.3.0,<7.0a0 + - libgcc >=14 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - mpfr >=4.2.2,<5.0a0 + size: 730422 + timestamp: 1773413915171 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py312hd9148b4_0.conda + sha256: cb47e612ae50b589d6370eaacad826864894434515ac441898c790f635ba2c40 + md5: 7d3516af126c9f5330f31622350a443e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - typing_extensions >=4.4 - - yarl >=1.17.0,<2.0 - license: MIT AND Apache-2.0 + license: Apache-2.0 license_family: Apache - size: 1048378 - timestamp: 1780913675043 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda - sha256: c77dcdfc4f47f0ed86d5aff9ed19cbe91bd059959d5ce85b9234903b393d4113 - md5: 3946bccca9216a21d4a61a49a902aa06 + run_exports: {} + size: 102104 + timestamp: 1782070372383 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h9891dd4_0.conda + sha256: bbbb210e90dbd8c9ddba24730aca81aefe23f5ecaf79a81b6740e0dbd25f7b21 + md5: 9b67bf9c63607097b6e010a7b555a388 depends: - - __osx >=11.0 - - aiohappyeyeballs >=2.5.0 - - aiosignal >=1.4.0 - - attrs >=17.3.0 - - frozenlist >=1.1.1 - - multidict >=4.5,<7.0 - - propcache >=0.2.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - typing_extensions >=4.4 - - yarl >=1.17.0,<2.0 - license: MIT AND Apache-2.0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 license_family: Apache - size: 1049144 - timestamp: 1780913992605 -- conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda - sha256: 8b22d894d8642a42f5c0c9a70293dfed7efcc431552d3746e148897e5e6880c2 - md5: 19164d6ac3875e2dfcb278a9d126af8c + run_exports: {} + size: 103513 + timestamp: 1782070374726 +- conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda + sha256: 0da7e7f4e69bfd6c98eff92523e93a0eceeaec1c6d503d4a4cd0af816c3fe3dc + md5: 17c77acc59407701b54404cfd3639cac depends: - - aiohappyeyeballs >=2.5.0 - - aiosignal >=1.4.0 - - attrs >=17.3.0 - - frozenlist >=1.1.1 - - multidict >=4.5,<7.0 - - propcache >=0.2.0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - typing_extensions >=4.4 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - yarl >=1.17.0,<2.0 - license: MIT AND Apache-2.0 - license_family: Apache - size: 1026227 - timestamp: 1780913508178 -- conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda - sha256: 8dc149a6828d19bf104ea96382a9d04dae185d4a03cc6beb1bc7b84c428e3ca2 - md5: 421a865222cd0c9d83ff08bc78bf3a61 - depends: - - frozenlist >=1.1.0 - - python >=3.9 - - typing_extensions >=4.2 license: Apache-2.0 license_family: APACHE - size: 13688 - timestamp: 1751626573984 -- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea - md5: 1fd9696649f65fd6611fcdb4ffec738a - depends: - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 18684 - timestamp: 1733750512696 -- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16-hb03c661_1.conda - sha256: 65f50a67b8715ad01eb73710d540c816aab14cc3e52a74e48fc97e4716224f2e - md5: 499abc445d330a2a537428a1340cd457 - depends: - - __glibc >=2.17,<3.0.a0 + run_exports: {} + size: 100056 + timestamp: 1771611023053 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.8.2-h5a610fb_2.conda + sha256: 0e7bde047934c87b8f7e663ee0c06d679d0347d84228ca83cb9fd09abc722156 + md5: 8ae8d5b0f9d76a386d74adce53e6a81d + license: CECILL-C + run_exports: {} + size: 20694 + timestamp: 1771833764224 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.8.2-hc1b3267_2.conda + sha256: ce6c9495defd9a45ead27701e76fc8405571c9cfa305cbfa1f407b773d8e5e41 + md5: d4f0602b1cd00d94e1467cdb60ba7750 + depends: + - mumps-include ==5.8.2 h5a610fb_2 + - _openmp_mutex >=4.5 + - libgfortran5 >=14.3.0 + - libgfortran - libgcc >=14 - license: LGPL-2.1-or-later - license_family: LGPL - size: 592600 - timestamp: 1781119076396 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ampl-asl-1.0.0-h5888daf_2.conda - sha256: c5c1057778bec78e07a4a8f122c3659767817fc0a9fa034724ff931ad90af57b - md5: ef757816a8f0fee2650b6c7e19980b6b + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - metis >=5.1.0,<5.1.1.0a0 + - libscotch >=7.0.11,<7.0.12.0a0 + - libscotch * int64_* + constrains: + - libopenblas * *openmp* + license: CECILL-C + run_exports: + weak: + - mumps-seq >=5.8.2,<5.8.3.0a0 + size: 2711532 + timestamp: 1771833764229 +- 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 - constrains: - - ampl-mp >=4.0.0 - license: BSD-3-Clause AND SMLNJ - size: 516511 - timestamp: 1732439392742 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda - sha256: 628a84a8f733db11b0904ffd28347a574804101975951f83e6410616b2615936 - md5: 6b685000856e0cfdb468b8d87b51f6f0 - depends: - - __osx >=10.13 - - libcxx >=18 - constrains: - - ampl-mp >=4.0.0 - license: BSD-3-Clause AND SMLNJ - size: 481638 - timestamp: 1732439478905 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda - sha256: 47a5da6cd38a32c086017a5d2ed2b67e0cc24e25268a9c4cc91ea7d8f1cb9507 - md5: bb25b8fa2b28474412dda4e1a95853b4 - depends: - - __osx >=11.0 - - libcxx >=18 - constrains: - - ampl-mp >=4.0.0 - license: BSD-3-Clause AND SMLNJ - size: 411989 - timestamp: 1732439500161 -- conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda - sha256: 0969867af79bd415322d94845acff44a6cb5d7acb3db02a81b582a57c375de11 - md5: 6cd7240c925d0ba5b9aee6ea1b566d87 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - constrains: - - ampl-mp >=4.0.0 - license: BSD-3-Clause AND SMLNJ - size: 409018 - timestamp: 1732439566380 -- conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.6-pyhd8ed1ab_1.conda - sha256: e8d87cb66bcc62bc8d8168037b776de962ebf659e45acb1a813debde558f7339 - md5: 5a81866192811f3a0827f5f93e589f02 + license: MIT + license_family: MIT + run_exports: + weak: + - muparser >=2.3.5,<2.4.0a0 + size: 203174 + timestamp: 1747116762269 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 + md5: fc21868a1a5aacc937e7a18747acb8a5 depends: - - docutils >=0.3 - - pyparsing - - python >=3.9 - license: EPL-2.0 - size: 21899 - timestamp: 1734603085333 -- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_0.conda - sha256: cc9fbc50d4ee7ee04e49ee119243e6f1765750f0fd0b4d270d5ef35461b643b1 - md5: 52be5139047efadaeeb19c6a5103f92a + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: X11 AND BSD-3-Clause + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 918956 + timestamp: 1777422145199 +- conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.conda + sha256: a2694dad5a7772ea6b38366dc9e701821f373f4a96c0f1109344a46e005043ad + md5: ed7ab4073fe4c48d0f9d3a80b6a17f74 depends: - - python >=3.10 - - python + - __glibc >=2.17,<3.0.a0 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 14222 - timestamp: 1762868213144 -- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda - sha256: e0ea1ba78fbb64f17062601edda82097fcf815012cf52bb704150a2668110d48 - md5: 2934f256a8acfe48f6ebb4fce6cde29c + run_exports: {} + size: 1109790 + timestamp: 1760540565753 +- conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py314hed328fd_100.conda + sha256: 81efd0668389cdc7c5bb758baf71f369d81daeb9fad2ae3370b73beb8d535f22 + md5: d5cebea694ca987a64a93464ed7a844e depends: - - python >=3.9 - - typing-extensions >=4.0.0 + - __glibc >=2.17,<3.0.a0 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 18074 - timestamp: 1733247158254 -- conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.13.0-pyhcf101f3_0.conda - sha256: f09aed24661cd45ba54a43772504f05c0698248734f9ae8cd289d314ac89707e - md5: af2df4b9108808da3dc76710fe50eae2 + run_exports: {} + size: 1119160 + timestamp: 1760540716792 +- conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.4-nompi_py312h25f8dc5_102.conda + sha256: eecbf3489560510d2c7d8d73ae812b1d0d1241f667e250afdd3faad244fb3a52 + md5: 99217b58c029977345b72bb36a1f6596 depends: - - exceptiongroup >=1.0.2 - - idna >=2.8 - - python >=3.10 - - typing_extensions >=4.5 - python - constrains: - - trio >=0.32.0 - - uvloop >=0.22.1 - - winloop >=0.2.3 + - certifi + - cftime + - numpy + - hdf5 + - libnetcdf + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 146764 - timestamp: 1774359453364 -- conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda - sha256: 5b9ef6d338525b332e17c3ed089ca2f53a5d74b7a7b432747d29c6466e39346d - md5: f4e90937bbfc3a4a92539545a37bb448 - depends: - - python >=3.9 + run_exports: {} + size: 1151979 + timestamp: 1768552448951 +- 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 - size: 14835 - timestamp: 1733754069532 -- conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda - sha256: 8f032b140ea4159806e4969a68b4a3c0a7cab1ad936eb958a2b5ffe5335e19bf - md5: 54898d0f524c9dee622d44bbb081a8ab - depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - size: 10076 - timestamp: 1733332433806 -- conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.4.2-pyhd8ed1ab_0.conda - sha256: 4e2ab07499c10f594714f9ca85704b8df104108cdfef61bacb63fd6a6c40b45b - md5: 9a005ba5f540619a1343587b4ee3d95e - depends: - - pandas >=2.0.0,<3.0.0 - - pyarrow >=17.0.0 - - pystac >=1.8.3,<2.0.0 - - python >=3.9 - - requests >=2.27.1,<3.0.0 - - tqdm >=4.65.0,<5.0.0 - license: AGPL-3.0-only - license_family: AGPL - size: 30100 - timestamp: 1750863510153 -- conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda - sha256: bea62005badcb98b1ae1796ec5d70ea0fc9539e7d59708ac4e7d41e2f4bb0bad - md5: 8ac12aff0860280ee0cff7fa2cf63f3b + run_exports: {} + size: 136216 + timestamp: 1758194284857 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda + sha256: ae1ec07448a10cdfcaf5df4a818291b0f4a99eb398e02ea5d7fc5d3c76be108f + md5: 86a969eeb489119374ec1d2e863777e6 depends: - - argon2-cffi-bindings - - python >=3.9 - - typing-extensions - constrains: - - argon2_cffi ==999 + - __glibc >=2.17,<3.0.a0 + - deprecated + - libgcc >=14 + - libstdcxx >=14 + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing_extensions license: MIT license_family: MIT - size: 18715 - timestamp: 1749017288144 -- conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py312h4c3975b_2.conda - sha256: 7988c207b2b766dad5ebabf25a92b8d75cb8faed92f256fd7a4e0875c9ec6d58 - md5: 1567f06d717246abab170736af8bad1b + run_exports: {} + size: 813229 + timestamp: 1764782491676 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py314ha0b5721_0.conda + sha256: d420e372ef39890bce10727892dcc7336716a3417d17bf0c47958645e20303d5 + md5: 780127fd34cd3b3c320c8e8d22ff4b0e depends: - __glibc >=2.17,<3.0.a0 - - cffi >=1.0.1 + - deprecated - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libstdcxx >=14 + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing_extensions license: MIT license_family: MIT - size: 35646 - timestamp: 1762509443854 -- conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py312h80b0991_2.conda - sha256: b18ea88c1a3e8c9d6a05f1aa71928856cfdcb5fd4ad0353638f4bac3f0b9b9a2 - md5: 66f6b81d4bf42e3da028763e9d873bff + run_exports: {} + size: 809777 + timestamp: 1764782495559 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda + sha256: f46a6264647aa650d7481ca27aa5dc93c78bb1d7721f572ac326e79211264ee3 + md5: 98ecb65a9dd993774cc03f07a8b83231 depends: - - __osx >=10.13 - - cffi >=1.0.1 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - nomkl + - numpy >=1.23,<3 + - numpy >=1.23.0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 33431 - timestamp: 1762509769660 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py312h4409184_2.conda - sha256: 24c475f6f7abf03ef3cc2ac572b7a6d713bede00ef984591be92cdc439b09fbc - md5: 0a2a07b42db3f92b8dccf0f60b5ebee8 + run_exports: {} + size: 214944 + timestamp: 1778498659910 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py314heb044ea_102.conda + sha256: 4ba250aecc15c0c7932322b0c9cf1b7ae0d425d51d0df6aa89da1f791950d6d1 + md5: 8798ac863dc929f966e2646a853c1f25 depends: - - __osx >=11.0 - - cffi >=1.0.1 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - nomkl + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 34224 - timestamp: 1762509989973 -- conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py312he06e257_2.conda - sha256: 38c5e43d991b0c43713fa2ceba3063afa4ccad2dd4c8eb720143de54d461a338 - md5: 5dc3781bbc4ddce0bf250a04c1a192c2 + run_exports: {} + size: 218919 + timestamp: 1778498673852 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + sha256: fe3459c75cf84dcef6ef14efcc4adb0ade66038ddd27cadb894f34f4797687d8 + md5: d8285bea2a350f63fab23bf460221f3f depends: - - cffi >=1.0.1 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 - 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 - size: 38535 - timestamp: 1762509763237 -- conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda - sha256: fd512bde81be7f942e1efb54c6a7305c16375347ccacf9375ada70cdc0f4f0d3 - md5: 3c0e753fd317fa10d34020a2bc8add8e + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.26.4,<2.0a0 + size: 7484186 + timestamp: 1707225809722 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda + sha256: 1d8377c8001c15ed12c2713b723213474b435706ab9d34ede69795d64af9e94d + md5: 4ea6b620fdf24a1a0bc4f1c7134dfafb depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 12806 - timestamp: 1764079623900 -- conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda - sha256: 792da8131b1b53ff667bd6fc617ea9087b570305ccb9913deb36b8e12b3b5141 - md5: 85c4f19f377424eafc4ed7911b291642 + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.23,<3 + size: 8926994 + timestamp: 1770098474394 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda + sha256: bc61ae892973751a6b0e6ecea57ed6d7053224bddcb007165d6ceb1d7344ad47 + md5: f49b5f950379e0b97c35ca97682f7c6a depends: - - python >=3.10 - - python-dateutil >=2.7.0 - - python-tzdata - python - license: Apache-2.0 - license_family: APACHE - size: 113854 - timestamp: 1760831179410 -- conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-4.0.4-py312h7900ff3_0.conda - sha256: 50d706c0700ee47617de6a850cab0bb4a3419c2ed86804c21f449735f09e1c48 - md5: 78bdb6d3da524bdea10ef44e5ec7658d + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.23,<3 + size: 8928909 + timestamp: 1779169198391 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.0-py312h33ff503_0.conda + sha256: c8d5f70715fc6cd3dcd16fdd11b51879ed4484963f066b33fbaf20c4ffb153af + md5: 24f70d3db040fc69ee72cc38e55bc8e3 depends: - - python >=3.12,<3.13.0a0 + - python + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - license_family: LGPL - size: 509570 - timestamp: 1770634488093 -- conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py312hb401068_0.conda - sha256: 3803f7475a0b62585847dfd03a55571ee21495a9667ef07dbdd9f34b7a923706 - md5: 6c383a4df7daf22811ab8172d01cff6f + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.25,<3 + size: 8911732 + timestamp: 1782112536981 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjdk-24.0.2-h5755bd7_0.conda + sha256: 1080419a2f5fca5a5a5b47688a9941d6e26e43c15405f93513e18154171530f1 + md5: 2cb7cefb4a66a25110b0fa8798cb4887 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - license_family: LGPL - size: 509345 - timestamp: 1770634843191 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py312h81bd7bf_0.conda - sha256: a4b8f314e2ced66f99d7d5948d3e481f24f336be0db64e6417f6bb9aa0df5fb3 - md5: 6d1f4744a6b483b7738b60f4cd508a20 + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - giflib >=5.2.2,<5.3.0a0 + - harfbuzz >=11.4.5 + - lcms2 >=2.17,<3.0a0 + - libcups >=2.3.3,<2.4.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=14 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.8.2,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + - xorg-libxt >=1.3.1,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + license: GPL-2.0-or-later WITH Classpath-exception-2.0 + license_family: GPL + run_exports: {} + size: 116404142 + timestamp: 1757258102756 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d + md5: 11b3379b191f63139e29c0d19dee24cd depends: - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - license_family: LGPL - size: 509900 - timestamp: 1770634914230 -- conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py312h2e8e312_0.conda - sha256: 24916ad967b6b0d25c6ed2cff1e61b17f4f72d0c73cbdc5f2afdd55dcc0a36b5 - md5: 0cec3709c887fd21483f9fe36d039bac + - __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 + run_exports: + weak: + - openjpeg >=2.5.4,<3.0a0 + size: 355400 + timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + sha256: cb0b07db15e303e6f0a19646807715d28f1264c6350309a559702f4f34f37892 + md5: 2e5bf4f1da39c0b32778561c3c4e5878 + depends: + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.27,<3.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.5.0,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + run_exports: + weak: + - openldap >=2.6.10,<2.7.0a0 + size: 780253 + timestamp: 1748010165522 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda + sha256: 21c4f6c7f41dc9bec2ea2f9c80440d9a4d45a6f2ac13243e658f10dcf1044146 + md5: 680608784722880fbfe1745067570b00 + depends: + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.28,<3.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.6,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + run_exports: + weak: + - openldap >=2.6.13,<2.7.0a0 + size: 786149 + timestamp: 1775741359582 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda + sha256: 04839d313708a6b8c185bc9fcc56ccef985ed91520420c665b5e67b55fd8b5fb + md5: 04ab345ef65b88bcbb8ac3d083427bfc depends: + - et_xmlfile + - libgcc >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - license_family: LGPL - size: 508356 - timestamp: 1770634547561 -- 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 - size: 28797 - timestamp: 1763410017955 -- conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda - sha256: ea8486637cfb89dc26dc9559921640cd1d5fd37e5e02c33d85c94572139f2efe - md5: b85e84cb64c762569cc1a760c2327e0a + license: MIT + license_family: MIT + run_exports: {} + size: 476128 + timestamp: 1769122092500 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py314hf3b76af_3.conda + sha256: 7a6c2355af80e8d1e9a851347dc4f5e737a21da8ebeb7f6e4b9889eb8a0186a2 + md5: bc90b1901f01e0772c74e24b6f931137 depends: - - python >=3.10 - - typing_extensions >=4.0.0 - - python + - et_xmlfile + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 22949 - timestamp: 1773926359134 -- conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 - sha256: 26ab9386e80bf196e51ebe005da77d57decf6d989b4f34d96130560bc133479c - md5: 6b889f174df1e0f816276ae69281af4d + run_exports: {} + size: 488593 + timestamp: 1769122083134 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b + md5: 79dd2074b5cd5c5c6b2930514a11e22d depends: - - at-spi2-core >=2.40.0,<2.41.0a0 - - atk-1.0 >=2.36.0 - - dbus >=1.13.6,<2.0a0 - - libgcc-ng >=9.3.0 - - libglib >=2.68.1,<3.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 339899 - timestamp: 1619122953439 -- conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-core-2.40.3-h0630a04_0.tar.bz2 - sha256: c4f9b66bd94c40d8f1ce1fad2d8b46534bdefda0c86e3337b28f6c25779f258d - md5: 8cb2fc4cd6cc63f1369cfa318f581cc3 + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 3159683 + timestamp: 1781069855778 +- conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.1-hd747db4_0.conda + sha256: 8d91d6398fc63a94d238e64e4983d38f6f9555460f11bed00abb2da04dbadf7c + md5: ddab8b2af55b88d63469c040377bd37e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - orc >=2.2.1,<2.2.2.0a0 + size: 1316445 + timestamp: 1759424644934 +- conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda + sha256: 84cfe4e11d3186c0c369f111700e978c849fb9e4ab7ed031acbe3663daacd141 + md5: a98b8d7cfdd20004f1bdd1a51cb22c58 depends: - - dbus >=1.13.6,<2.0a0 - - libgcc-ng >=9.3.0 - - libglib >=2.68.3,<3.0a0 - - xorg-libx11 - - xorg-libxi - - xorg-libxtst - license: LGPL-2.1-or-later - license_family: LGPL - size: 658390 - timestamp: 1625848454791 -- conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda - sha256: df682395d05050cd1222740a42a551281210726a67447e5258968dd55854302e - md5: f730d54ba9cd543666d7220c9f7ed563 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - orc >=2.2.2,<2.2.3.0a0 + size: 1317120 + timestamp: 1768247825733 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py312hf79963d_1.conda + sha256: f633d5f9b28e4a8f66a6ec9c89ef1b6743b880b0511330184b4ab9b7e2dda247 + md5: e597b3e812d9613f659b7d87ad252d18 depends: - - libgcc-ng >=12 - - libglib >=2.80.0,<3.0a0 - - libstdcxx-ng >=12 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.22.4 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 constrains: - - atk-1.0 2.38.0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 355900 - timestamp: 1713896169874 -- conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda - sha256: a5972a943764e46478c966b26be61de70dcd7d0cfda4bd0b0c46916ae32e0492 - md5: d9684247c943d492d9aac8687bc5db77 + - xarray >=2022.12.0 + - qtpy >=2.3.0 + - html5lib >=1.1 + - pandas-gbq >=0.19.0 + - tzdata >=2022.7 + - fsspec >=2022.11.0 + - fastparquet >=2022.12.0 + - odfpy >=1.4.1 + - pyxlsb >=1.0.10 + - scipy >=1.10.0 + - sqlalchemy >=2.0.0 + - pytables >=3.8.0 + - bottleneck >=1.3.6 + - pyarrow >=10.0.1 + - numexpr >=2.8.4 + - pyqt5 >=5.15.9 + - xlsxwriter >=3.0.5 + - openpyxl >=3.1.0 + - blosc >=1.21.3 + - matplotlib >=3.6.3 + - lxml >=4.9.2 + - numba >=0.56.4 + - s3fs >=2022.11.0 + - tabulate >=0.9.0 + - xlrd >=2.0.1 + - gcsfs >=2022.11.0 + - pyreadstat >=1.2.0 + - python-calamine >=0.1.7 + - zstandard >=0.19.0 + - psycopg2 >=2.9.6 + - beautifulsoup4 >=4.11.2 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15099922 + timestamp: 1759266031115 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py314ha0b5721_2.conda + sha256: 0a86a582b906d9cfd4d2c59180898fe9d714b55eea7ced71630a1fedae206c62 + md5: fe3a5c8be07a7b82058bdeb39d33d93b depends: - - __osx >=10.9 - - libcxx >=16 - - libglib >=2.80.0,<3.0a0 - - libintl >=0.22.5,<1.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.22.4 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.14.* *_cp314 + - pytz >=2020.1 constrains: - - atk-1.0 2.38.0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 349989 - timestamp: 1713896423623 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - sha256: b0747f9b1bc03d1932b4d8c586f39a35ac97e7e72fe6e63f2b2a2472d466f3c1 - md5: 57301986d02d30d6805fdce6c99074ee + - pyarrow >=10.0.1 + - numba >=0.56.4 + - odfpy >=1.4.1 + - xlsxwriter >=3.0.5 + - tabulate >=0.9.0 + - html5lib >=1.1 + - lxml >=4.9.2 + - blosc >=1.21.3 + - s3fs >=2022.11.0 + - fsspec >=2022.11.0 + - psycopg2 >=2.9.6 + - pandas-gbq >=0.19.0 + - openpyxl >=3.1.0 + - qtpy >=2.3.0 + - python-calamine >=0.1.7 + - sqlalchemy >=2.0.0 + - pyqt5 >=5.15.9 + - bottleneck >=1.3.6 + - zstandard >=0.19.0 + - numexpr >=2.8.4 + - tzdata >=2022.7 + - scipy >=1.10.0 + - gcsfs >=2022.11.0 + - pyxlsb >=1.0.10 + - matplotlib >=3.6.3 + - pytables >=3.8.0 + - beautifulsoup4 >=4.11.2 + - pyreadstat >=1.2.0 + - fastparquet >=2022.12.0 + - xlrd >=2.0.1 + - xarray >=2022.12.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15178918 + timestamp: 1764615084415 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.3-py312h8ecdadd_0.conda + sha256: 009408dcfdc789b8a1748d6a63fd2134ea2edc8474231ea7beba0ac3ad772a37 + md5: 15c437bfa4cbddd379b95357c9aa4150 depends: - - __osx >=11.0 - - libcxx >=16 - - libglib >=2.80.0,<3.0a0 - - libintl >=0.22.5,<1.0a0 + - python + - numpy >=1.26.0 + - python-dateutil >=2.8.2 + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.23,<3 constrains: - - atk-1.0 2.38.0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 347530 - timestamp: 1713896411580 -- conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda - sha256: 4664b9622e9ed53796825aea4a514ac76c42e6a6c553c16a148ad6dccbc16f8f - md5: 81f981df273cd627927372680aa9dd31 - depends: - - bottleneck - - cdsapi - - cfgrib >=0.9.15.0 - - dask >=2021.10 - - geopandas - - h5netcdf >=1.6.1 - - netcdf4 - - numexpr - - numpy - - pandas >=1.1 - - progressbar2 - - pyproj >=2 - - pytest - - python >=3.10 - - rasterio >=1.3,!=1.4.0,!=1.4.1 - - requests - - scipy - - shapely - - toolz - - tqdm - - xarray >=0.20 - - yaml - license: GPL-3.0-or-later + - adbc-driver-postgresql >=1.2.0 + - adbc-driver-sqlite >=1.2.0 + - beautifulsoup4 >=4.12.3 + - blosc >=1.21.3 + - bottleneck >=1.4.2 + - fastparquet >=2024.11.0 + - fsspec >=2024.10.0 + - gcsfs >=2024.10.0 + - html5lib >=1.1 + - hypothesis >=6.116.0 + - jinja2 >=3.1.5 + - lxml >=5.3.0 + - matplotlib >=3.9.3 + - numba >=0.60.0 + - numexpr >=2.10.2 + - odfpy >=1.4.1 + - openpyxl >=3.1.5 + - psycopg2 >=2.9.10 + - pyarrow >=13.0.0 + - pyiceberg >=0.8.1 + - pymysql >=1.1.1 + - pyqt5 >=5.15.9 + - pyreadstat >=1.2.8 + - pytables >=3.10.1 + - pytest >=8.3.4 + - pytest-xdist >=3.6.1 + - python-calamine >=0.3.0 + - pytz >=2024.2 + - pyxlsb >=1.0.10 + - qtpy >=2.4.2 + - scipy >=1.14.1 + - s3fs >=2024.10.0 + - sqlalchemy >=2.0.36 + - tabulate >=0.9.0 + - xarray >=2024.10.0 + - xlrd >=2.0.1 + - xlsxwriter >=3.2.0 + - zstandard >=0.23.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14872605 + timestamp: 1778602625175 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pandoc-3.10-ha770c72_0.conda + sha256: 2f17a165a04833bd249215336b00df912bad7f03ae445a36765b47593df34057 + md5: a4b80dd6e9e0784ba48e6803bef1e17a + license: GPL-2.0-or-later license_family: GPL - size: 91296 - timestamp: 1754897384499 -- conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-hb03c661_1.conda - sha256: 78c516af87437f52d883193cf167378f592ad445294c69f7c69f56059087c40d - md5: 9bb149f49de3f322fca007283eaa2725 + run_exports: {} + size: 22516793 + timestamp: 1780595446569 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + sha256: 3613774ad27e48503a3a6a9d72017087ea70f1426f6e5541dbdb59a3b626eaaf + md5: 79f71230c069a287efe3a8614069ddf1 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.10,<2.0a0 + - harfbuzz >=11.0.1 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libglib >=2.84.2,<3.0a0 + - libpng >=1.6.49,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 455420 + timestamp: 1751292466873 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda + sha256: 315b52bfa6d1a820f4806f6490d472581438a28e21df175290477caec18972b0 + md5: d53ffc0edc8eabf4253508008493c5bc depends: - __glibc >=2.17,<3.0.a0 - - libattr 2.5.2 hb03c661_1 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 - libgcc >=14 - license: GPL-2.0-or-later - license_family: GPL - size: 31386 - timestamp: 1773595914754 -- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab - md5: c6b0543676ecb1fb2d7643941fe375f2 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 458036 + timestamp: 1774281947855 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.45-hc749103_0.conda + sha256: 27c4014f616326240dcce17b5f3baca3953b6bc5f245ceb49c3fa1e6320571eb + md5: b90bece58b4c2bf25969b70f3be42d25 depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 64927 - timestamp: 1773935801332 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.1-h48c9088_3.conda - sha256: e9c3dece30c12dfac995a8386bd2d1225d0b5f14c0753fcf4fef086047f77048 - md5: afdbdbe7f786f47a36a51fdc2fe91210 + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - pcre2 >=10.45,<10.46.0a0 + size: 1197308 + timestamp: 1745955064657 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda + sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff + md5: 7a3bff861a6583f1889021facefc08b1 depends: - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 - libgcc >=14 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 122946 - timestamp: 1757625693207 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.9.3-hef928c7_0.conda - sha256: d9c5babed03371448bb0dc91a1573c80d278d1222a3b0accef079ed112e584f9 - md5: bdd464b33f6540ed70845b946c11a7b8 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - pcre2 >=10.47,<10.48.0a0 + size: 1222481 + timestamp: 1763655398280 +- 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 - - aws-c-http >=0.10.7,<0.10.8.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.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 133443 - timestamp: 1764765235190 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.1-h2e727e9_3.conda - sha256: e4d314403229b4c899de1322a3e57ca2fddfb2b641e7ed73eb11bd3f04c1f2ca - md5: b57046504c4331fbcff511f8fc8ef288 - depends: - - __osx >=10.13 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 110690 - timestamp: 1757625708334 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda - sha256: aaadae39675911059bf0caa072c9d0cab622278365f6c3ceb6a63a2e9e57df03 - md5: a04fb222805ce5697065036ae1676436 - depends: - - __osx >=10.13 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - license: Apache-2.0 - license_family: APACHE - size: 119662 - timestamp: 1764765258455 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.1-h41ebd0a_3.conda - sha256: 4114ebee79ea6c4bab0522e9c6ce366b87f9bbc28ab11b3ce1becd9f51b58b67 - md5: c011208b4dd96a573efb00805ffae8b1 - depends: - - __osx >=11.0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 106581 - timestamp: 1757625789102 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.conda - sha256: 491576e1ef8640e0cc345705c2028aebb98e015d51471395fe595f60a3b33884 - md5: f0cc47ecd2058f2dd65fde1a5f6528ec - depends: - - __osx >=11.0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - 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-io >=0.23.3,<0.23.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 114473 - timestamp: 1764765266429 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.conda - sha256: 1ca3be8873335aff46da2d613c0e9e0c27b9878e402548e3cf31cd378a2f9342 - md5: 6f42aac88a3b880dd3a4e0fe61f418bc - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-c-http >=0.10.7,<0.10.8.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-io >=0.23.3,<0.23.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 125616 - timestamp: 1764765271198 -- 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 + - 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 + run_exports: {} + size: 1039561 + timestamp: 1775060059882 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py314h8ec4b1a_0.conda + sha256: 123d8a7c16c88658b4f29e9f115a047598c941708dade74fbaff373a32dbec5e + md5: 76c4757c0ec9d11f969e8eb44899307b depends: - - __glibc >=2.17,<3.0.a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 + - python - 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/linux-64/aws-c-cal-0.9.2-he7b75e1_1.conda - sha256: 30ecca069fdae0aa6a8bb64c47eb5a8d9a7bef7316181e8cbb08b7cb47d8b20f - md5: c04d1312e7feec369308d656c18e7f3e - depends: - __glibc >=2.17,<3.0.a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - libgcc >=14 - - openssl >=3.5.1,<4.0a0 - license: Apache-2.0 - license_family: Apache - size: 50942 - timestamp: 1752240577225 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda - sha256: c085b749572ca7c137dfbf8a2a4fd505657f8f7f8a7b374d5f41bf4eb2dd9214 - md5: cbf7be9e03e8b5e38ec60b6dbdf3a649 - depends: - - __osx >=10.13 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: Apache - size: 45262 - timestamp: 1764593359925 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.2-h6f29d6d_1.conda - sha256: 41d60e59a6c906636a6c82b441d10d21a1623fd03188965319572a17e03f4da1 - md5: 44f3a90d7c5a280f68bf1a7614f057b6 - depends: - - __osx >=10.13 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: Apache - size: 40872 - timestamp: 1752240723936 -- 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/osx-arm64/aws-c-cal-0.9.2-hd08b81e_1.conda - sha256: 0cff81daf70f64bb8bf51f0883727d253c0462085f6bfe3d6c619479fbaec329 - md5: f8d75a83ced3f7296fed525502eac257 + - libtiff >=4.7.1,<4.8.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - python_abi 3.14.* *_cp314 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - lcms2 >=2.18,<3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: HPND + run_exports: {} + size: 1082797 + timestamp: 1775060059882 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a + md5: c01af13bdc553d1a8fbfff6e8db075f0 depends: - - __osx >=11.0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: Apache - size: 41154 - timestamp: 1752240791193 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-cal-0.9.13-h46f3b43_1.conda - sha256: 5f61082caea9fbdd6ba02702935e9dea9997459a7e6c06fd47f21b81aac882fb - md5: 7cc4953d504d4e8f3d6f4facb8549465 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + run_exports: + weak: + - pixman >=0.46.4,<1.0a0 + size: 450960 + timestamp: 1754665235234 +- conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.42.0-py310h49dadd8_0.conda + noarch: python + sha256: ba98594192a34ef55cda235bc09e34eb23796692ba7c0403be8ffec8038d4bb2 + md5: ee1871c46914e16694d47e9cf0c2eacb 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.4-hb03c661_0.conda - sha256: 6c9e1b9e82750c39ac0251dcfbeebcbb00a1af07c0d7e3fb1153c4920da316eb - md5: ae5621814cb99642c9308977fe90ed0d + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - _python_abi3_support 1.* + - cpython >=3.10 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 41917352 + timestamp: 1782310371941 +- 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 - license: Apache-2.0 - license_family: Apache - size: 236420 - timestamp: 1752193614294 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.12.6-hb03c661_0.conda - sha256: 926a5b9de0a586e88669d81de717c8dd3218c51ce55658e8a16af7e7fe87c833 - md5: e36ad70a7e0b48f091ed6902f04c23b8 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + run_exports: + weak: + - proj >=9.6.2,<9.7.0a0 + size: 3240415 + timestamp: 1754927975218 +- conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda + sha256: c94d3d8ef40d1ea018860d66c416003bc03adede7d212efc9218bb64041fe2f7 + md5: 031e33ae075b336c0ce92b14efa886c5 depends: + - sqlite + - libtiff + - libcurl - __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-64/aws-c-common-0.12.4-h1c43f85_0.conda - sha256: 94e26ee718358b505aa3c3ddfcedcabd0882de9ff877057985151874b54e9851 - md5: f9547dfb10c15476c17d2d54b61747b8 - depends: - - __osx >=10.13 - license: Apache-2.0 - license_family: Apache - size: 228243 - timestamp: 1752193906883 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda - sha256: 66fb2710898bb3e25cb4af52ee88a0559dcde5e56e6bd09b31b98a346a89b2e3 - md5: c7f2d588a6d50d170b343f3ae0b72e62 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libcurl >=8.18.0,<9.0a0 + - libsqlite >=3.51.2,<4.0a0 + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + run_exports: + weak: + - proj >=9.7.1,<9.8.0a0 + size: 3593669 + timestamp: 1770890751115 +- conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda + sha256: 013669433eb447548f21c3c6b16b2ed64356f726b5f77c1b39d5ba17a8a4b8bc + md5: a83f6a2fdc079e643237887a37460668 depends: - - __osx >=10.13 - license: Apache-2.0 - license_family: Apache - size: 230785 - timestamp: 1763585852531 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.4-h6caf38d_0.conda - sha256: d94c508308340b5b8294d2c382737b72b77e9df688610fa034d0a009a9339d73 - md5: 7a3edd3d065687fe3aa9a04a515fd2bf + - __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 + run_exports: + weak: + - prometheus-cpp >=1.3.0,<1.4.0a0 + size: 199544 + timestamp: 1730769112346 +- conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda + sha256: c9138bbb53d4bac010526a8deace8cf764aac13fad5280d0a71556bad6c04d29 + md5: d681d6ad9fa2ca3c8cacb7f3b23d54f3 depends: - - __osx >=11.0 + - __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 - size: 221313 - timestamp: 1752193769784 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.6-hc919400_0.conda - sha256: cd3817c82470826167b1d8008485676862640cff65750c34062e6c20aeac419b - md5: b759f02a7fa946ea9fd9fb035422c848 + license_family: APACHE + run_exports: {} + size: 51586 + timestamp: 1780037816755 +- conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.conda + sha256: 9c1dffa6371b5ae5a7659f08fa075a1a9d7b32fd11d5eaa1e7192eba4cae1207 + md5: 2aaf8d6c729beb30d1b41964e7fb2cd6 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 + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libprotobuf 6.31.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 479025 + timestamp: 1760393393854 +- conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py314h503b32b_2.conda + sha256: 55c4d82eaa400d3d21701ce152397489b077177527564674aff8021fae536401 + md5: 1699ff22b094378d3a4b20019a995cf3 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.1-h8b1a151_9.conda - sha256: 96edccb326b8c653c8eb95a356e01d4aba159da1a97999577b7dd74461b040b4 - md5: f7ec84186dfe7a9e3a9f9e5a4d023e75 + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - libprotobuf 6.31.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 487685 + timestamp: 1760393455342 +- 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 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 22272 - timestamp: 1764593718823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.3.1-h92c474e_6.conda - sha256: 154d4a699f4d8060b7f2cec497a06e601cbd5c8cde6736ced0fb7e161bc6f1bb - md5: 3490e744cb8b9d5a3b9785839d618a17 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 225545 + timestamp: 1769678155334 +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda + sha256: f15574ed6c8c8ed8c15a0c5a00102b1efe8b867c0bd286b498cd98d95bd69ae5 + md5: 4f225a966cfee267a79c5cb6382bd121 depends: - - __glibc >=2.17,<3.0.a0 + - python - libgcc >=14 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 22116 - timestamp: 1752240005329 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h7a4e982_6.conda - sha256: 2029ee55f83e1952ea0c220b0dd30f1b6f9e9411146c659489fcfd6a29af2ddf - md5: 6a4b25acf73532bbec863c2c2ae45842 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 231303 + timestamp: 1769678156552 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 + md5: b3c17d95b5a10c6e64a21fa17573e70e depends: - - __osx >=10.13 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 21116 - timestamp: 1752240021842 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda - sha256: b99ddb6654ca12b9f530ca4cbe4d2063335d4ac43f9d97092c4076ccaf9b89e7 - md5: abb79371a321d47da8f7ddca128533de + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + run_exports: {} + size: 8252 + timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py312hd0750ca_3.conda + sha256: ebc3fcf01092a6186e574295f808ba272fbf88234991262deef222b039023d73 + md5: 1ade2915cfabbcb8f07e7b4387f4d49b depends: - - __osx >=10.13 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 21423 - timestamp: 1764593738902 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.1-h16f91aa_9.conda - sha256: 988f2251c5ddb91a93a3893e52eccb4fdd8b755af80bbc2bf739aabc25c5cfdf - md5: 8dc111381c4c73deb8b9a529b3abee4a + - amply >=0.1.2 + - coin-or-cbc + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 225053 + timestamp: 1757853374018 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py314h312e2f4_3.conda + sha256: 32354767a80f6650ad043356a975e7562c7286f7b2cdbb2acfe15bd057508e2f + md5: 057e330e50d141ee706f1d4c46594979 depends: - - __osx >=11.0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 21372 - timestamp: 1764593773975 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.1-habbe1e8_6.conda - sha256: 633c7ee0e80c24fa6354b2e1c940af6d7f746c9badc3da94681a1a660faeca39 - md5: 35c95aad3ab99e0a428c2e02e8b8e282 + - amply >=0.1.2 + - coin-or-cbc + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 230470 + timestamp: 1757853295064 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-21.0.0-py312h7900ff3_3.conda + sha256: f7874f2b9157def874c0d7c69c64876e698de22c728b3a8b27b143bfe986eaf7 + md5: 17cade9505f6782f9df648844d07f23a depends: - - __osx >=11.0 - - aws-c-common >=0.12.4,<0.12.5.0a0 + - libarrow-acero 21.0.0.* + - libarrow-dataset 21.0.0.* + - libarrow-substrait 21.0.0.* + - libparquet 21.0.0.* + - pyarrow-core 21.0.0 *_3_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE - size: 21037 - timestamp: 1752240015504 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.1-hcb3a2da_9.conda - sha256: ff1046d67709960859adfa5793391a2d233bb432ec7429069fcfab5b643827df - md5: 0888dbe9e883582d138ec6221f5482d6 + run_exports: {} + size: 33391 + timestamp: 1770649947337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda + sha256: a188741519a763aeb2ca3da6cc6ef1ec80915a2f1ea51402369dd4f06279968f + md5: 37143c8f2ee5efeae94e09654d284350 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 + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE - size: 23136 - timestamp: 1764593733263 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.2-hcb3a2da_0.conda - sha256: f98fbb797d28de3ae41dbd42590549ee0a2a4e61772f9cc6d1a4fa45d47637de - md5: 0385f2340be1776b513258adaf70e208 + run_exports: {} + size: 27287 + timestamp: 1769291578069 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py314hdafbbf9_0.conda + sha256: 45dc76268f1dcf3bc448c751c3f36c4c71f82580b751d87145905c1d1ece9eb0 + md5: f63f85bccdd104d2ffa341fd705f86d9 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 + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 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.5.6-h82d11aa_3.conda - sha256: 849d645bf5c7923d9b0d4ba02050714c856495e34b0328b46c0c968045691117 - md5: a6374ed86387e0b1967adc8d8988db86 + run_exports: {} + size: 27335 + timestamp: 1769291544343 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-21.0.0-py312hc195796_3_cpu.conda + build_number: 3 + sha256: 971bda6454d8a8a0eba51bf5d4ad218706e3be9fd8f1449d60cacf401dbf53b8 + md5: 4093c96a1b3b192e811543e57a1a347d depends: - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 + - libarrow 21.0.0.* *cpu + - libarrow-compute 21.0.0.* *cpu - libgcc >=14 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 + - 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: 58941 - timestamp: 1757606335645 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.5.7-h28f887f_1.conda - sha256: a5b151db1c8373b6ca2dacea65bc8bda02791a43685eebfa4ea987bb1a758ca9 - md5: 7b8e3f846353b75db163ad93248e5f9d + run_exports: {} + size: 4708748 + timestamp: 1770649937127 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda + sha256: b8280cfa171e136952e6e8d64788b552ec69576ddb44d6c3b13e7bcdaa347cca + md5: b1d1c92d8d625d5e969adfd9d19168d8 depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu - libgcc >=14 - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 + - 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 - size: 58806 - timestamp: 1764675439822 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.6-hfc6d359_3.conda - sha256: addd56bead2c44d96b1818f182e3caff862e1b1c91e5caf872eba7d421337ad6 - md5: 71141779bef9168a5bbe24bfdb4af5d9 + run_exports: {} + size: 5310314 + timestamp: 1770672654158 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py314h969be7f_0_cpu.conda + sha256: 84d844416e10facfa194d4b9d54e2e1f5bedd3e31904ac105fc6b3d092229c7f + md5: 66b6069247a271f2792ecb90e1087fde depends: - - libcxx >=19 - - __osx >=10.13 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 + - __glibc >=2.17,<3.0.a0 + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu license: Apache-2.0 license_family: APACHE - size: 52439 - timestamp: 1757606366817 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda - sha256: 56f7aebd59d5527830ef7cf6e91f63ee4c5cf510af56529276affe8e2dc9eb24 - md5: e0d71662f35b21fb993484238b4861d9 + run_exports: {} + size: 5385344 + timestamp: 1770672654686 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda + sha256: b8260660d064fb947f4b573ec4a782696bc8b19042452eaa4e9bb1152b540555 + md5: dfb9a57535eb8c35c6744da7043063f0 depends: - - __osx >=10.13 - - libcxx >=19 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - license: Apache-2.0 - license_family: APACHE - size: 52911 - timestamp: 1764675471218 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.6-hf65d68d_3.conda - sha256: d84e174bc63a9d22b538ee00924d9e1089b9aa34d7419276230ded5af9ab8d1b - md5: 6f8e9b398a144ed59b0a0c380e152968 + - 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 + run_exports: {} + size: 1895409 + timestamp: 1778084226169 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda + sha256: 802e216c39f1359aed60823b6e11d8ccd812b0ae1c81ae5ac1c81f99446409ab + md5: 0c96993dbeadf3a277cf757b9f1c9412 depends: - - libcxx >=19 - - __osx >=11.0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 51857 - timestamp: 1757606346473 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.7-h9ae9c55_1.conda - sha256: c336b71a356d9b39fa6e9769d475dea6fd0cfe25ad81dcecac3102ef30f8b753 - md5: 53c59e7f68bbd3754de6c8dcd4c27f86 + - python + - typing-extensions >=4.6.0,!=4.7.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 1895020 + timestamp: 1778084229247 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.11.0-py312h02b19dd_0.conda + sha256: 28ad34f1e1ddad99bbbd7d2609fe46855e920f6985644f52852adf9ecfddc868 + md5: b4e4e057ab327b7a1270612587a75523 depends: - - libcxx >=19 - - __osx >=11.0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 52221 - timestamp: 1764675514267 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda - sha256: 5fbbfd835831dace087064d08c38eb279b7db3231fbd0db32fad86fe9273c10c - md5: 34e3b065b76c8a144c92e224cc3f5672 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libgdal-core >=3.10.3,<3.11.0a0 + - libstdcxx >=13 + - numpy + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 665062 + timestamp: 1746734790035 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda + sha256: 2b0a366d9066e3d9f495369b95cdb1b9d3dba2f59577e4560b7d1086e1fe3d70 + md5: f8e7e5ddfbdca16b65335b0b6615eb4c depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 57054 - timestamp: 1764675494741 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.9-h972bbec_2.conda - sha256: a5be74b1fdab94159eedf2c094cf177cbddc921bc775b0daf850e4c0372468f4 - md5: a18eef8a4007656c5408fc8afe9f4442 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgdal-core >=3.12.0,<3.13.0a0 + - libstdcxx >=14 + - numpy + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 661347 + timestamp: 1764402531050 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py314hbcf5174_0.conda + sha256: 53b72845bc9051b1b94c83ed06047788cdb07af529b9368393ac1a9eb720ac21 + md5: b6696a3d5c567d3b2015bf77f454f247 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.4-h94feff3_3.conda - sha256: ce1fb6eb7a3bb633112b334647382c4a28a1bf85ab7b02b53a34aebc984a8e89 - md5: 8dd69714ac24879be0865676eb333f6b + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgdal-core >=3.12.0,<3.13.0a0 + - libstdcxx >=14 + - numpy + - packaging + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 667940 + timestamp: 1764402531595 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.0-py314ha160325_0.conda + sha256: f14d93525cf5e6eca82299b1d0d5d4f21816eafba80f5b2f9b92f40ed3adf52d + md5: a264e102e9315486c5cccb2feaf8db91 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8117548 + timestamp: 1771630906811 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda + sha256: ebe85d7eeea549dc53d39194258e3e920c9f5264b45cd91331a4d3e8346c65b7 + md5: f920bf26bf3b4e98a121c12d1e9147ab + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8257164 + timestamp: 1780616878136 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312h1c88c49_1.conda + sha256: e0ca1d99228f96ba872d6a4085dfd337513dd24ee3a25f0997d985ae97d7d632 + md5: df6837caa76c161b682c27042a851cfb depends: - __glibc >=2.17,<3.0.a0 + - certifi - libgcc >=14 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 224208 - timestamp: 1757610690937 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.10.7-ha8fc4e3_5.conda - sha256: 5527224d6e0813e37426557d38cb04fed3753d6b1e544026cfbe2654f5e556be - md5: 3028f20dacafc00b22b88b324c8956cc + - proj >=9.6.2,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 525395 + timestamp: 1756536636377 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda + sha256: ea0299f9699547531e81dd685f7ff0e50f7bc6dad932d8005ef24c3393cc07c1 + md5: c3258c31e507a81f0b52156bcca81e73 depends: + - python + - proj + - certifi - libgcc >=14 - __glibc >=2.17,<3.0.a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 224580 - timestamp: 1764675497060 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.4-h892fe1a_3.conda - sha256: 380cb2f286a0be9cccc3d1582caeac99a774ac9c89ddfd0f0e575b58a84fabf4 - md5: aa7b5f43139c24f915494d27c760e57e - depends: - - __osx >=10.13 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 191788 - timestamp: 1757610727097 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda - sha256: 53ee041db79f6cbff62179b2f693e50e484d163b9a843a3dbbb80dbc36220c7e - md5: acff093ebb711857fb78fae3b656631c - depends: - - __osx >=10.13 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 192149 - timestamp: 1764675489248 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.4-h70a9c10_3.conda - sha256: a9e2c19378d5dd42904f76fbaf0b9726e2af890e5b53fcf975f242a6aa4c6196 - md5: 39d91ec5c4ac0c0fba2e1c48e383706b - depends: - - __osx >=11.0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 170425 - timestamp: 1757610702161 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.7-h5928ca5_5.conda - sha256: 29e180b61155279a2e64011b95957fbe38385113c60467b8d34fce47bc29c728 - md5: f12bd6066c693efba2e5886e2c70d7ba - depends: - - __osx >=11.0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 171020 - timestamp: 1764675515369 -- 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/win-64/aws-c-http-0.10.7-hc678f4a_5.conda - sha256: 4f41b922ce01c983f98898208d49af5f3d6b0d8f3e8dcb44bd13d8183287b19a - md5: 3427460b0654d317e72a0ba959bb3a23 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-compression >=0.3.1,<0.3.2.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - license: Apache-2.0 - license_family: APACHE - size: 206709 - timestamp: 1764675527860 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.22.0-h57f3b0d_1.conda - sha256: 3dc378afddcdaf4179daccba1ef0b755eea264ff739ceab1d499b271340ea874 - md5: 2de3494a513d360155b7f4da7b017840 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 551823 + timestamp: 1772623249858 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py314h68799e9_3.conda + sha256: 134f5d548348d3beaf4f55011c39d36b6e8753141f3bfa0d6594cc69a751cdd9 + md5: a9d01aa73920bd1fc6186e991161349a depends: + - python + - proj + - certifi - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - s2n >=1.5.26,<1.5.27.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 180809 - timestamp: 1758212800114 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.23.3-hdaf4b65_5.conda - sha256: 07d7f2a4493ada676084c3f4313da1fab586cf0a7302572c5d8dde6606113bf4 - md5: 132e8f8f40f0ffc0bbde12bb4e8dd1a1 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 565644 + timestamp: 1772623254178 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda + sha256: 04b608cd039bc4539c797e23366636ff09fd4998e24018482f2d19d5e32f237d + md5: cecc62244bbf204ae948acbced2ffa11 depends: + - python + - numpy >=1.16.0 - libgcc >=14 + - libstdcxx >=14 - __glibc >=2.17,<3.0.a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - s2n >=1.6.2,<1.6.3.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - license: Apache-2.0 - license_family: APACHE - size: 181361 - timestamp: 1765168239856 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.22.0-h5c36c82_1.conda - sha256: a1a34d8779e81846dd78140fb217a123c964461a07283c13f595cc8970576aed - md5: 763c3d88bd8b0ca47e97c8cf10b3a734 + - numpy >=1.23,<3 + - scip >=10.0.0,<11.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 1085440 + timestamp: 1778947335665 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py314h6477eea_0.conda + sha256: 0ba885cec5cac2560cef1fbcd309e1a303ce12b35e0a9f433387b5bef073ebed + md5: 7c23b035b06840d590050e38c9b147cb depends: - - __osx >=10.15 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 182335 - timestamp: 1758212805103 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda - sha256: 734496fb5a33a4d13ff0a27c5bc4a0f4e7fe9ed15ec099722d5be82b456b9502 - md5: d9cc056da3a1ee0a2da750d10a5496f3 + - python + - numpy >=1.16.0 + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 + - scip >=10.0.0,<11.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 1062665 + timestamp: 1778947334187 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda + sha256: 6f9e4fd9f6aa1d82a524384399c956c0c79c6c5df5ae42e241eb59f42c11ffbf + md5: 90f891bc96f673acbff89f6f405aef10 depends: - - __osx >=10.15 - - 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: 182572 - timestamp: 1765168277462 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.22.0-h89d1e94_1.conda - sha256: 680c309d4ebbd5a1b408d043766d1aec628c5b6d304ceff13a01db8ca21fa9a8 - md5: 2e51b01a5f52349f51e8e0965f604fe6 + - python + - qt6-main 6.11.1.* + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - libopengl >=1.7.0,<2.0a0 + - libclang13 >=22.1.5 + - libxslt >=1.1.43,<2.0a0 + - qt6-main >=6.11.1,<6.12.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libgl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 13797566 + timestamp: 1778933891067 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + sha256: e410d0d4151f418dc75ea2dc38dfb0e7a136090b6874e5ca1c699fa840b4994d + md5: 5d2051f0630a568926943fc53c0aaa4c depends: - - __osx >=11.0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - license: Apache-2.0 - license_family: APACHE - size: 176207 - timestamp: 1758212831591 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.23.3-hbe03c90_5.conda - sha256: bf1c7cf7997d28922283e6612e5ea6a9409fcfc2749cd4acfafd1bf6e0c57c08 - md5: c249aa1a151e319d7acd05a2e1f165d2 + - python + - qt6-main 6.11.1.* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libxslt >=1.1.43,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - python_abi 3.14.* *_cp314 + - qt6-main >=6.11.1,<6.12.0a0 + - libclang13 >=22.1.5 + - libxml2 + - libxml2-16 >=2.14.6 + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 13821776 + timestamp: 1778933872780 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.2-py312h5654102_1.conda + sha256: 51e77f7701d535d2dbbc4ad8fd878a3e34d5d7acda2aa4c2f9fc45b9759eca02 + md5: f081a3bd12e609dce6ebe7eed98e6783 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 - size: 176451 - timestamp: 1765168273313 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda - sha256: 2d726ffd67fb387dbebf63c9b9965b476b9d670f683e71c3dca1feb6365ddc7c - md5: 400792109e426730ac9047fd6c9537ef + - __glibc >=2.17,<3.0.a0 + - libclang13 >=21.1.0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libxslt >=1.1.43,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt6-main 6.9.2.* + - qt6-main >=6.9.2,<6.10.0a0 + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 10127456 + timestamp: 1756673992677 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.10.2-py312hefc0c3f_11.conda + sha256: 415eedf88c550bfa6d184e0286803ae3a9af1c6e86106349de7a639a9be5c685 + md5: fb8b98904d2397b1edef0e14370d8fc8 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.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: 182053 - timestamp: 1765168273517 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.26.1-h0d5b9f9_2.conda - sha256: 15f28a85ef7b841f75e658392882b9e3ee61f7727cce5ba85a9b5c9fc981ee64 - md5: fbc0da512f0ae855cab743c7ba2d094e + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=2.23.0,<2.24.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1632767 + timestamp: 1770023698503 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda + sha256: dc2effe5756d74ae2365caad8d2b8e0185c46a4bf36eb5123f89dfd7e324328a + md5: 5b4f660c813f9a39dd996d073ccfa5df 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.13.3-h2b1cf8c_6.conda - sha256: e4d782791591d6d19e1ea196e1f9494a4c30b0a052555648b64098a682ce9703 - md5: 7bb5e26afec09a59283ec1783798d74a + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1635669 + timestamp: 1780064542622 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py314h5611b9a_3.conda + sha256: 7f7fb4e03e1447b4648a4d5b667d5f3202bad7e9e3656998b3ccc9d6b670445f + md5: 5e417edb9951b60d96f8d9b2d1e025be depends: - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 - libgcc >=14 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 216041 - timestamp: 1757626689282 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.13.3-hc63082f_11.conda - sha256: fb102b0346a1f5c4f3bb680ec863c529b0333fa4119d78768c3e8a5d1cc2c812 - md5: 6a653aefdc5d83a4f959869d1759e6e3 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1682447 + timestamp: 1780064548276 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.12-hfe2f287_0_cpython.conda + sha256: 5386d8c8230b6478ae165ff34f57d498891ac160e871629cbb4d4256e69cc542 + md5: ceada987beec823b3c702710ee073fba depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.1,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 - libgcc >=14 + - liblzma >=5.8.1,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libuuid >=2.41.2,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.4,<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 + run_exports: + weak: + - python_abi 3.12.* *_cp312 + noarch: + - python + size: 31547362 + timestamp: 1760367376467 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + sha256: a44655c1c3e1d43ed8704890a91e12afd68130414ea2c0872e154e5633a13d7e + md5: 7eccb41177e15cc672e1babe9056018e + depends: - __glibc >=2.17,<3.0.a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 216454 - timestamp: 1764681745427 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-h04ed212_6.conda - sha256: ecd46edbf180ecd929ac338b94a70a1b0879688cae5bad4bbe609146a6564495 - md5: 229caca3b9c8b264e4184e37238988bf + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.12.* *_cp312 + noarch: + - python + size: 31608571 + timestamp: 1772730708989 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + build_number: 101 + sha256: cb0628c5f1732f889f53a877484da98f5a0e0f47326622671396fb4f2b0cd6bd + md5: c014ad06e60441661737121d3eae8a60 depends: - - __osx >=10.13 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 188189 - timestamp: 1757626711253 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda - sha256: c05215c85f90a0caba1202f4c852d6e3a2ad93b4a25f286435a8e855db4237ae - md5: 96f22c912f1cf3493d9113b9fd04c912 + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.3,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 36702440 + timestamp: 1770675584356 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.5-habeac84_100_cp314.conda + build_number: 100 + sha256: 55eed9bf2a3f6e90311276f0834737fe7c2d9ec3e5e2e557507858df4c7521e6 + md5: da92e59ff92f2d5ede4f612af20f583f depends: - - __osx >=10.13 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 188230 - timestamp: 1764681760102 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-haf5c5c8_11.conda - sha256: 880996ae8c792eb15fcbca0a452d8b3508dba16ed7384bdb73fb7ed6c075c125 - md5: 3fcd02361ce1427ae5968fcd532a85b4 + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.8.0,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.1,<4.0a0 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.6,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 36745188 + timestamp: 1779236923603 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-calamine-0.6.1-py312h0ccc70a_0.conda + sha256: a1c90e9c687d4cb432e8b0030f69de3e7b809da86e990d0824e43500cadb3bc4 + md5: 863e4180d989008688278107dceec434 depends: - - __osx >=11.0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - license: Apache-2.0 - license_family: APACHE - size: 150454 - timestamp: 1764681796127 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-he7b126b_6.conda - sha256: d1928f5f726e76b654eb395ccd983a80698019784da9020c04d16bf0e91fc2cb - md5: ff984f7e551996b8624a38b69b81e068 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 798261 + timestamp: 1764158502905 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda + sha256: 11e3fdbd01acf7a255126ac0f98c56cdb47515d83d3be6548baa757e8e67b232 + md5: fe3e310aa4a84610012a3889e23d76eb depends: - - __osx >=11.0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 + - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE - size: 150220 - timestamp: 1757626776230 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda - sha256: 9b241397ef436dcf67e8e6cde15ff9c0d03ea942ad11e27c77caecce0d51b5be - md5: 6c043365f1d3f89c0b68238c6f5b8cce + run_exports: {} + size: 230465 + timestamp: 1772376218988 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py314h56abb78_0.conda + sha256: 3ecb39349fd6f7bdb50f8e3984543a2cc234616e6d24d6e19d89f3737d27cb13 + md5: 8da2d87e5f1c73ec72c5e827d3df2033 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 + - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 license: Apache-2.0 license_family: APACHE - size: 206357 - timestamp: 1764681793150 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.14.0-h833cf40_1.conda - sha256: 6340943c5adfc73a9b9b7e6152a2d8c793fd6d9d85bfaa0b399ca09fcf40ebf8 - md5: 0088f53ad6df2dfb2832d7bde7567dd7 + run_exports: {} + size: 240153 + timestamp: 1772376217210 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda + sha256: cb142bfd92f6e55749365ddc244294fa7b64db6d08c45b018ff1c658907bfcbf + md5: 15878599a87992e44c059731771591cb 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.3-h06ab39a_1.conda - sha256: 8de2292329dce2fd512413d83988584d616582442a07990f67670f9bc793a98b - md5: 3689a4290319587e3b54a4f9e68f70c8 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 198293 + timestamp: 1770223620706 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d + md5: 2035f68f96be30dc60a5dfd7452c7941 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 202391 + timestamp: 1770223462836 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + noarch: python + sha256: 970b2a1d12983d8d1cc05d914ad88a0b6ef1fa14038c9649aa834dd6ebee65d7 + md5: acd216255e1370e9aeab5351b831f07c depends: + - python - libgcc >=14 + - libstdcxx >=14 - __glibc >=2.17,<3.0.a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - openssl >=3.5.4,<4.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - license: Apache-2.0 - license_family: APACHE - size: 151382 - timestamp: 1765174166541 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.8.6-h4e5ac4b_5.conda - sha256: 2e1fdbcbb3da881ae0eb381697f4f1ece2bd9f534b05e7ed9f21b0e6cbac6f32 - md5: 1557911474d926a8bd7b32a5f02bba35 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 210896 + timestamp: 1779483879367 +- 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 + run_exports: + weak: + - qhull >=2020.2,<2020.3.0a0 + size: 552937 + timestamp: 1720813982144 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda + sha256: aefbc43bde188ff4027d480da99c7fa9e8e6341e9762e065190239cb9b99bb1c + md5: 331d660aef48fec733a878dd1f8f4206 + depends: + - libxcb + - xcb-util + - xcb-util-wm + - xcb-util-keysyms + - xcb-util-image + - xcb-util-renderutil + - xcb-util-cursor + - libgl-devel + - libegl-devel + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - xcb-util >=0.4.1,<0.5.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - xorg-libxxf86vm >=1.1.7,<2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libpq >=18.4,<19.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - wayland >=1.25.0,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - libpng >=1.6.58,<1.7.0a0 + - harfbuzz >=14.2.1 + - xcb-util-cursor >=0.1.6,<0.2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - libcups >=2.3.3,<2.4.0a0 + - libxcb >=1.17.0,<2.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libdrm >=2.4.127,<2.5.0a0 + - xorg-libxcomposite >=0.4.7,<1.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - zstd >=1.5.7,<1.6.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - icu >=78.3,<79.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - alsa-lib >=1.2.16,<1.3.0a0 + - openssl >=3.5.6,<4.0a0 + - libglib >=2.88.1,<3.0a0 + - libgl >=1.7.0,<2.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - double-conversion >=3.4.0,<3.5.0a0 + - dbus >=1.16.2,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + constrains: + - qt ==6.11.1 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - qt6-main >=6.11.1,<7.0a0 + size: 60185421 + timestamp: 1780593127053 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h3fc9a0a_0.conda + sha256: 70ca22551a307b7b23108dae31fc51dadac0742d44fc485bb7d3a865b4d47599 + md5: 70b5132b6e8a65198c2f9d5552c41126 + 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 >=11.4.3 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang-cpp20.1 >=20.1.8,<20.2.0a0 + - libclang13 >=20.1.8 + - libcups >=2.3.3,<2.4.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.84.3,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libllvm20 >=20.1.8,<20.2.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libpq >=17.6,<18.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxkbcommon >=1.11.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.45,<10.46.0a0 + - wayland >=1.24.0,<2.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-cursor >=0.1.5,<0.2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 6.9.2 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - qt6-main >=6.9.2,<6.10.0a0 + size: 52566799 + timestamp: 1756296889250 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda + sha256: 4bb69b2f68fd23e34592e4f9bf5842179debf77a59c19eeac2ec26708b7e2a62 + md5: e27bccb2b700b55a6d8967b14f08cb59 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 2141428 + timestamp: 1775565638201 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py314ha160325_0.conda + sha256: 252e229a6270576a7f12016f03066b70421e48cbd8aad0d14c59ee0c75ce7a22 + md5: 63555975c6c68525b430ecdb57efd5c1 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - openssl >=3.5.2,<4.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-auth >=0.9.1,<0.9.2.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - license: Apache-2.0 - license_family: APACHE - size: 137467 - timestamp: 1757647972268 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda - sha256: 9c989a5f0b35ff5cee91b74bcba0d540ce5684450dc072ba0bb5299783cdf9cd - md5: 33c653401dc7b016b0011cb4d16de458 + - libstdcxx >=14 + - numpy + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 2123470 + timestamp: 1775565679067 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.4.3-py312h1df8778_2.conda + sha256: 59d5a8797f48a06b2ebbc71002093843b652dea5ad35c8ebc6ab7383ea8a9b70 + md5: a130de9fec7b062ce793dca872fcb622 depends: - - __osx >=10.13 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.23.3,<0.23.4.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: 133827 - timestamp: 1765174162875 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.8.6-h19e4261_5.conda - sha256: bef31467a073e6d4cac12b215caa6444d9220d0590bb62c86b56e7955bf20350 - md5: 02d47c3d0ce99304bd6ccbd8578a01ed + - __glibc >=2.17,<3.0.a0 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libgcc >=14 + - libgdal-core <3.11 + - libgdal-core >=3.10.3,<3.11.0a0 + - libstdcxx >=14 + - numpy >=1.23,<3 + - proj >=9.6.2,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8069040 + timestamp: 1758129682893 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda + sha256: c7a9a69149a15262e14c32232459d45e3ef58aee65e46ed60b270a6ded54a573 + md5: f0d110978a87b200a06412b56b26407c depends: - - __osx >=10.13 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-auth >=0.9.1,<0.9.2.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 121692 - timestamp: 1757648036791 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.3-h8da9771_1.conda - sha256: 31f432d1a0f7dacbe80b476c3236c22a71f4018e840ae6974e843d38d5763335 - md5: 06417cb45f131cf503d3483446cedbc3 + - __glibc >=2.17,<3.0.a0 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libgcc >=14 + - libgdal-core >=3.12.1,<3.13.0a0 + - libstdcxx >=14 + - numpy >=1.23,<3 + - proj >=9.7.1,<9.8.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8133020 + timestamp: 1767632791843 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py314ha1f92a4_0.conda + sha256: 399feb6f2fd60f54e4d7cb2351a7fb6dfb3f64d1e02457b6e396ba29f97cd9dd + md5: 15b1e205270451c078c79d0480438e8e depends: - - __osx >=11.0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 129384 - timestamp: 1765174183548 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.8.6-h7a3c519_5.conda - sha256: 4d1e30120d846420ccaf46be44a2f24a4ca3a98acd3f383fbe98d9d60ad3be69 - md5: c33295f9e4a4bdb0d6e08e0d242599b0 + - __glibc >=2.17,<3.0.a0 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libgcc >=14 + - libgdal-core >=3.12.1,<3.13.0a0 + - libstdcxx >=14 + - numpy >=1.23,<3 + - proj >=9.7.1,<9.8.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8233787 + timestamp: 1767632660362 +- conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda + sha256: 2f225ddf4a274743045aded48053af65c31721e797a45beed6774fdc783febfb + md5: 0227d04521bc3d28c7995c7e1f99a721 depends: - - __osx >=11.0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-auth >=0.9.1,<0.9.2.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 117752 - timestamp: 1757647971064 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.conda - sha256: cda138c03683e85f29eafc680b043a40f304ac8759138dc141a42878eb17a90f - md5: dcfc08ccd8e332411c454e38110ea915 + - libre2-11 2025.11.05 h7b12aa8_0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libre2-11 >=2025.11.5 + - re2 + size: 27316 + timestamp: 1762397780316 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 + md5: d7d95fc8287ea7bf33e0e7116d2b95ec depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-checksums >=0.2.7,<0.2.8.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - license: Apache-2.0 - license_family: APACHE - size: 141805 - timestamp: 1765174184168 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.5-h3ec5e31_3.conda - sha256: 2bcf3bd41cc3a7e8cac172d2b59da3577e473ca50c274e0cd02da43f943258db - md5: 086743bc5701b6e6d542bcacbfbfdb89 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: + weak: + - readline >=8.3,<9.0a0 + size: 345073 + timestamp: 1765813471974 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda + sha256: bc4a5045fd79e68392fb0661c698303c16e88b83d50626c2bc49c403555e900d + md5: a9e6fe6228340517c3b6a98bf5a76e2e 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 + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 312248 + timestamp: 1779976992617 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py314h1bee95f_0.conda + sha256: 79d753848377c415578f42285f5f87be711503b887c99e8890fd51d3fae1d6a5 + md5: fb5b4fc759b225d4f32730cc8380ec8e depends: + - python - __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/linux-64/aws-c-sdkutils-0.2.4-h92c474e_1.conda - sha256: a9e071a584be0257b2ec6ab6e1f203e9d6b16d2da2233639432727ffbf424f3d - md5: 4ab554b102065910f098f88b40163835 + - python_abi 3.14.* *_cp314 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 309696 + timestamp: 1779976994059 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda + sha256: dc520329bdfd356e2f464393f8ad9b8450fd5a269699907b2b8d629300c2c068 + md5: 84aa470567e2211a2f8e5c8491cdd78c depends: + - python - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 59146 - timestamp: 1752240966518 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h7a4e982_1.conda - sha256: 85d1b9eb67e02f6a622dcc0c854683da8ccd059d59b80a1ffa7f927eac771b93 - md5: 9ab61d370fc6e4caeb5525ef92e2d477 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 148221 + timestamp: 1766159515069 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda + sha256: 3bd8db7556e87c98933a47ff9f962af7b8e0dc3757a72180b27cbfcb1f98d2d9 + md5: 4f35ae1228a6c5d9df593367ffe8dda1 depends: - - __osx >=10.13 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 55375 - timestamp: 1752240983413 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda - sha256: 468629dbf52fee6dcabda1fcb0c0f2f29941b9001dcc75a57ebfbe38d0bde713 - md5: b384fb05730f549a55cdb13c484861eb + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 150041 + timestamp: 1766159514023 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.19-h6a952e8_0.conda + noarch: python + sha256: 6791056748e4c4d06a286d1b591b2543764988b85d91ae12284635ae7f81de80 + md5: a7fb4598acb68a071b45d53820ff8812 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 9506544 + timestamp: 1782288610637 +- conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.26-h5ac9029_0.conda + sha256: 14acdf5685f457988dba0053b9d29f1861b1c8fff6da13ec863d6a2b6ac75bff + md5: 0cfd80e699ae130623c0f42c6c6cf798 depends: - - __osx >=10.13 - - aws-c-common >=0.12.6,<0.12.7.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - openssl >=3.5.2,<4.0a0 license: Apache-2.0 - license_family: APACHE - size: 55664 - timestamp: 1764610141049 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-h16f91aa_4.conda - sha256: 8a4ee03ea6e14d5a498657e5fe96875a133b4263b910c5b60176db1a1a0aaa27 - md5: 658a8236f3f1ebecaaa937b5ccd5d730 + license_family: Apache + run_exports: + weak: + - s2n >=1.5.26,<1.5.27.0a0 + size: 390887 + timestamp: 1758013933691 +- conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda + sha256: dec76e9faa3173579d34d226dbc91892417a80784911daf8e3f0eb9bad19d7a6 + md5: bade189a194e66b93c03021bd36c337b depends: - - __osx >=11.0 - - aws-c-common >=0.12.6,<0.12.7.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - openssl >=3.5.4,<4.0a0 license: Apache-2.0 - license_family: APACHE - size: 53430 - timestamp: 1764755714246 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-habbe1e8_1.conda - sha256: cab7f54744619b88679c577c9ec8d56957bc8f6829e9966a7e50857fbc6c756d - md5: 9d77627725afb71b57f38355ee9e2829 + license_family: Apache + run_exports: + weak: + - s2n >=1.6.2,<1.6.3.0a0 + size: 394197 + timestamp: 1765160261434 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.7.2-py312h4f0b9e3_0.conda + sha256: 27e2f65075556804a7524dc6bcc34829602f986621728100c0ef07b404168aa8 + md5: ee36c7b06c5d7c0ae750147ed9faee8a depends: - - __osx >=11.0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 53149 - timestamp: 1752240972623 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-sdkutils-0.2.4-hcb3a2da_4.conda - sha256: c86c30edba7457e04d905c959328142603b62d7d1888aed893b2e21cca9c302c - md5: 3c97faee5be6fd0069410cf2bca71c85 + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - joblib >=1.2.0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.22.0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - scipy >=1.8.0 + - threadpoolctl >=3.1.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 9694630 + timestamp: 1757406448831 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.8.0-np2py314hf09ca88_1.conda + sha256: bcf374fe61712928c624f410a831e9f2a36ad13429f598e6028203588d24b914 + md5: c9d90e43202c721281f3d74129223515 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.7-h8b1a151_5.conda - sha256: a8693d2e06903a09e98fe724ed5ec32e7cd1b25c405d754f0ab7efb299046f19 - md5: 68da5b56dde41e172b7b24f071c4b392 + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.3.0 + - threadpoolctl >=3.2.0 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 9992698 + timestamp: 1765801260253 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda + sha256: 8c0cd0326b5a17ddcf189fc4f119bf6871b7853595c088075847c484a3ed567e + md5: e6e9b5795bb495325c3b4ebd451519aa depends: + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.4.0 + - threadpoolctl >=3.5.0 + - narwhals >=2.0.1 + - libgcc >=14 + - _openmp_mutex >=4.5 - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 10038167 + timestamp: 1780401052981 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-h6576b78_1.conda + sha256: e8487dc8606fb4693ca0a5a18c131bb4b6f9f394c32d2bbf8255e9d3774ba293 + md5: c22620d96a34e40be130ba5d3b54c9a3 + depends: + - libgfortran5 >=14.3.0 + - libgfortran - libgcc >=14 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 76915 - timestamp: 1764593731486 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.2.7-h92c474e_2.conda - sha256: 7168007329dfb1c063cd5466b33a1f2b8a28a00f587a0974d97219432361b4db - md5: 248831703050fe9a5b2680a7589fdba9 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - mpfr >=4.2.2,<5.0a0 + - gmp >=6.3.0,<7.0a0 + - libzlib >=1.3.2,<2.0a0 + - tbb >=2023.0.0 + - ipopt >=3.14.19,<3.14.20.0a0 + - libboost >=1.90.0,<1.91.0a0 + - libblas >=3.9.0,<4.0a0 + license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND + run_exports: + weak: + - scip >=10.0.2,<11.0a0 + size: 16230279 + timestamp: 1781769999128 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda + sha256: d5ac05ad45c0d48731eb189c2cbb2bb99f0e3cb7e1acaad373cb2f1f2597fc75 + md5: 15995ecb2ef890778ba9a3750190f09d depends: - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 - libgcc >=14 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 76748 - timestamp: 1752241068761 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h7a4e982_2.conda - sha256: 523e5d6ffb58a333c6e4501e18120b53290ddad1f879e72ac7f58b15b505f92a - md5: a8a7aa3088b1310cebbc4777f887bd80 + - 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 + run_exports: {} + size: 16828243 + timestamp: 1779874781187 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda + sha256: c304dfb0bbf0d824d3706623f6437237d7bfc83941bb7b18f80e05abb10ec79e + md5: f8d242c552b0f7f682451ce95879af5e depends: - - __osx >=10.13 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 75320 - timestamp: 1752241080472 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda - sha256: 0f67c453829592277f90d520f7855e260cf0565a3dc59fe90c55293996b7fbe9 - md5: cccf553ce36da9ae739206b69c1a4d28 + - __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 >=2.0.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 17104066 + timestamp: 1781912972195 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda + sha256: 85503102237f8515ab92319fc14609e894ac9e95e3a1398b0c49db1f9ee50877 + md5: 62c390c1f8f51240f1ebc7ba782669ad depends: - - __osx >=10.13 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 75646 - timestamp: 1764593751665 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.7-h16f91aa_5.conda - sha256: c630ece8c0fe99cdf03774bb0b048cfd72daec0458dbc825be5de0106431087e - md5: ee9ebfd7b6fdf61dd632e4fea6287c47 + - __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 >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 17260022 + timestamp: 1781912924009 +- conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.0.7-py312h21f5128_1.conda + sha256: 3132247fea369826a6ab0857693be7cb35ef690bb1f7f28ccaf20351432e4b2a + md5: 98d83a309c3f330793a7cc8d48c67f81 depends: - - __osx >=11.0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 74377 - timestamp: 1764593734393 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.7-habbe1e8_2.conda - sha256: 648c3d23df53b4cea1d551e4e54a544284be5436af5453296ed8184d970efc3a - md5: f3f6fef7c8d8ce7f80df37e4aaaf6b93 + - __glibc >=2.17,<3.0.a0 + - geos >=3.13.1,<3.13.2.0a0 + - libgcc >=13 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 572785 + timestamp: 1741167094882 +- conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py312h383787d_2.conda + sha256: da100ac0210f52399faf814f701165058fa2e2f65f5c036cdf2bf99a40223373 + md5: 69e400d3deca12ee7afd4b73a5596905 depends: - - __osx >=11.0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 74030 - timestamp: 1752241089866 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.10-hcb3a2da_0.conda - sha256: 505b2365bbf3c197c9c2e007ba8262bcdaaddc970f84ce67cf73868ca2990989 - md5: 96e950e5007fb691322db578736aba52 + - __glibc >=2.17,<3.0.a0 + - geos >=3.14.1,<3.14.2.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 + run_exports: {} + size: 631649 + timestamp: 1762523699384 +- conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py314hbe3edd8_2.conda + sha256: 17cb5cec9283f993072e8b6f5e1417d8d892cc5efa27029eae954ab06b33c7e2 + md5: 5963e6ee81772d450a35e6bc95522761 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/win-64/aws-checksums-0.2.7-hcb3a2da_5.conda - sha256: ca5e0719b7ca257462a4aa7d3b99fde756afaf579ee1472cac91c04c7bf3a725 - md5: 38f1501fc55f833a4567c83581a2d2ed + - __glibc >=2.17,<3.0.a0 + - geos >=3.14.1,<3.14.2.0a0 + - libgcc >=14 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 652785 + timestamp: 1762523657698 +- conda: https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py312h4c3975b_0.conda + sha256: 70a0ab8787576d55f23d114cc1d7569fd83f5b148c71a7f277180299e86ea8f1 + md5: bb3b931588a7dc83cc7b82836b0017df + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 160254 + timestamp: 1777112097179 +- conda: https://conda.anaconda.org/conda-forge/linux-64/simplejson-4.1.1-py314h5bd0f2a_0.conda + sha256: d4e5dff4086b8efda9e1f12d456a24a5d62a355b01a681eaa97a2ef95b91a246 + md5: 3f114d76f35141da9f4be18af7cba051 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: 93142 - timestamp: 1764593765744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.34.4-h60c762c_0.conda - sha256: 4fce59fd1fc9848cb060e9ad59f0934ff848ca06455eb487ea52152d7299b7ed - md5: d41cf259f1b3e2a2347b11b98f64623d + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 163682 + timestamp: 1777112100084 +- 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 + run_exports: + weak: + - snappy >=1.2.2,<1.3.0a0 + size: 45829 + timestamp: 1762948049098 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py312h5253ce2_0.conda + sha256: f0ef18298e6fc437006ffb607dbbefa313091576b6e86bdcfdc4f54128249116 + md5: 80530f530854c51df16c11ad2b0cb517 + 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 + run_exports: {} + size: 3709760 + timestamp: 1781547880247 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py314h0f05182_0.conda + sha256: 3c46e9af535a376c7269b61563f84c601235b00d50fc97f87ffbf3b68a51fe17 + md5: aeb7447f3ea37b2bb32167267dcf0bfe + depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-s3 >=0.8.6,<0.8.7.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-event-stream >=0.5.6,<0.5.7.0a0 - - aws-c-mqtt >=0.13.3,<0.13.4.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-auth >=0.9.1,<0.9.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 408260 - timestamp: 1758141985203 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.35.4-h8824e59_0.conda - sha256: 524fc8aa2645e5701308b865bf5c523257feabc6dfa7000cb8207ccfbb1452a1 - md5: 113b9d9913280474c0868b0e290c0326 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 4034632 + timestamp: 1781547880247 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_0.conda + sha256: b7c3217b437f8aa531b4a18c89dc137b6066757f1e93146dc0d8d999ef55da09 + md5: 38d9bf35a4cc83094a327811e548b660 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libstdcxx >=14 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-mqtt >=0.13.3,<0.13.4.0a0 - - aws-c-s3 >=0.11.3,<0.11.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 408804 - timestamp: 1765200263609 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.34.4-h3f46267_0.conda - sha256: 9178e2c387e225ce4ede4cbb9014f7cddf2b7ef223ca63520b9887c106774f76 - md5: acefbcecb87a1c7b11c54e73376c8d65 + - libsqlite 3.53.2 h0c1763c_0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 205545 + timestamp: 1780574435288 +- conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda + sha256: 0c61eccf3f71b9812da8ced747b1f22bafd6f66f9a64abe06bbe147a03b7322e + md5: 423b8676bd6eed60e97097b33f13ea3f depends: - - libcxx >=19 - - __osx >=10.13 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-auth >=0.9.1,<0.9.2.0a0 - - aws-c-event-stream >=0.5.6,<0.5.7.0a0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-mqtt >=0.13.3,<0.13.4.0a0 - - aws-c-s3 >=0.8.6,<0.8.7.0a0 - license: Apache-2.0 - license_family: APACHE - size: 343151 - timestamp: 1758142004222 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda - sha256: d3ab94c9245f667c78940d6838529401795ce0df02ad561d190c38819a312cd9 - md5: 31db311b3005b16ff340796e424a6b3c + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - scipy !=1.9.2,>=1.8 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 11903737 + timestamp: 1764983555676 +- conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py314hc02f841_0.conda + sha256: 993473f46dad2e274be57eca65b49a68c7fe89f34d0841ee12888ae77ebbdd64 + md5: 224e6e308b3df5c0c99d8ca5244bb34c depends: - - libcxx >=19 - - __osx >=10.13 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-mqtt >=0.13.3,<0.13.4.0a0 - - aws-c-s3 >=0.11.3,<0.11.4.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 - license: Apache-2.0 - license_family: APACHE - size: 343812 - timestamp: 1765200322696 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.34.4-h01415d0_0.conda - sha256: 9b6e87354496d34c4b71bd012bc69705d1316b2c2ba4532c850105cd9cf27b47 - md5: 034456ff7a54b8d8e505cfd9b17005fd + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - scipy !=1.9.2,>=1.8 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 12342973 + timestamp: 1764983314123 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tabula-py-2.7.0-py312h7900ff3_2.conda + sha256: 9c7b2433d6cf73ae23ff964c2de681d093558826035b13bc8e30f528d332f46b + md5: 1a47f3828efdbb8c947b71c23642209a depends: - - libcxx >=19 - - __osx >=11.0 - - aws-c-cal >=0.9.2,<0.9.3.0a0 - - aws-c-event-stream >=0.5.6,<0.5.7.0a0 - - aws-c-http >=0.10.4,<0.10.5.0a0 - - aws-c-s3 >=0.8.6,<0.8.7.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-auth >=0.9.1,<0.9.2.0a0 - - aws-c-io >=0.22.0,<0.22.1.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-mqtt >=0.13.3,<0.13.4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 265588 - timestamp: 1758142053181 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.35.4-h74951b9_0.conda - sha256: 465527f414c2399ab70503d9d4e891658e7698439ba7f22d723f2ca8c03bb3e8 - md5: 87351fb3a08425237b701c582773be1a + - distro + - numpy + - openjdk + - pandas + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - requests + - setuptools + - setuptools_scm + license: MIT + license_family: MIT + run_exports: {} + size: 11851722 + timestamp: 1762185634966 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + sha256: 30cb9355c2fefc20ff1a3d6566b9714d5614086a2524c07721fc344eb20515ae + md5: 7073b15f9364ebc118998601ac6ca6a6 depends: - - __osx >=11.0 - - libcxx >=19 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 - - aws-c-s3 >=0.11.3,<0.11.4.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-c-mqtt >=0.13.3,<0.13.4.0a0 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 - - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libstdcxx >=14 license: Apache-2.0 license_family: APACHE - size: 266862 - timestamp: 1765200345049 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda - sha256: 7b4aef9e1823207a5f91e8b5b95853bdfafcfea306cd62b99fd53c38aa5c3da0 - md5: ce1a20b5c406727e32222ac91e5848c4 + run_exports: {} + size: 182331 + timestamp: 1778673758649 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda + sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac + md5: cffd3bdd58090148f4cfcd831f4b26ab depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-c-mqtt >=0.13.3,<0.13.4.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.5.7,<0.5.8.0a0 - - aws-c-http >=0.10.7,<0.10.8.0a0 - - aws-c-cal >=0.9.13,<0.9.14.0a0 - - aws-c-auth >=0.9.3,<0.9.4.0a0 - - aws-c-s3 >=0.11.3,<0.11.4.0a0 - - aws-c-io >=0.23.3,<0.23.4.0a0 + - __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 + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3301196 + timestamp: 1769460227866 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py312h4c3975b_0.conda + sha256: f54504d6eeef133ddc2b964b6a021f3faf085bb08bd70debc07f56d6b9b726f1 + md5: 55f526c3fb5302a1ce922612348442e1 + 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 - size: 302247 - timestamp: 1765200336894 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.3-h5e571c5_0.conda - sha256: d970dfe1a26c8f78c8f5215aacb96c9105a845a7e6bb00973051c077ef6d26be - md5: b80eaad1305cbdefefb010a5724acad5 + license_family: Apache + run_exports: {} + size: 864705 + timestamp: 1781006801632 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + sha256: bbb7056f7c5fd606df16ed73ee68687050de2c02fd69a3f69a1cb533a7ed2ae8 + md5: 4a8e5889712641aabdf6695e292857fe 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 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 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.606-h20b40b1_10.conda - sha256: e0d81b7dd6d054d457a1c54d17733d430d96dc5ca9b2ca69a72eb41c3fc8c9bf - md5: 937d1d4c233adc6eeb2ac3d6e9a73e53 + license_family: Apache + run_exports: {} + size: 918368 + timestamp: 1781006801436 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py312h8285ef7_0.conda + sha256: cf86c15e531a70fa7c58775e5ce6ec6cd231c1630e6eb8ae186ad1b466217528 + md5: 88a3e9a8d30da26495a4326b727569a0 depends: + - python - libstdcxx >=14 - libgcc >=14 - __glibc >=2.17,<3.0.a0 - - libcurl >=8.17.0,<9.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-crt-cpp >=0.35.4,<0.35.5.0a0 - - libzlib >=1.3.1,<2.0a0 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 - license: Apache-2.0 - license_family: APACHE - size: 3472674 - timestamp: 1765257107074 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.606-h32384e2_4.conda - sha256: 9ec76250145458fed50f02ac26af254c90a90d49249649e0eb81f9ddb6176384 - md5: 31067fbcb4ddfd76bc855532cc228568 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 60150 + timestamp: 1781561600697 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.13.0-py314h42812f9_0.conda + sha256: d8419b0fef8d14a37deb0f0049aff1774322f76783e1f259868c612dd18d39e9 + md5: 38a5fe5d0c791a129d69b7d98b1f5e4f depends: + - python + - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 - libgcc >=14 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 59899 + timestamp: 1781561593186 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py314h9891dd4_0.conda + sha256: c84034056dc938c853e4f61e72e5bd37e2ec91927a661fb9762f678cbea52d43 + md5: 5d3c008e54c7f49592fca9c32896a76f + depends: - __glibc >=2.17,<3.0.a0 - - aws-crt-cpp >=0.34.4,<0.34.5.0a0 - - aws-c-event-stream >=0.5.6,<0.5.7.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - libcurl >=8.14.1,<9.0a0 - - libzlib >=1.3.1,<2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 3367060 - timestamp: 1758606136188 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda - sha256: 3b7ee2bc2bbd41e1fca87b1c1896b2186644f20912bf89756fd39020f8461e13 - md5: 768c6b78e331a2938af208e062fd6702 + - cffi + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 15004 + timestamp: 1769438727085 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py312h4c3975b_0.conda + sha256: 895bbfe9ee25c98c922799de901387d842d7c01cae45c346879865c6a907f229 + md5: 0b6c506ec1f272b685240e70a29261b8 depends: - - libcxx >=19 - - __osx >=10.13 - - libcurl >=8.17.0,<9.0a0 - - aws-crt-cpp >=0.35.4,<0.35.5.0a0 - - libzlib >=1.3.1,<2.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + - __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 - size: 3313002 - timestamp: 1765257111791 -- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-hda6ec86_4.conda - sha256: cc2c1caf7cb0eb4c0cab4a5fbee6f93f0d6d901888098b55e986c52f5774bab1 - md5: 0077cfdb12c7cda7cfa4e30408884eb4 + license_family: Apache + run_exports: {} + size: 410641 + timestamp: 1770909099497 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_0.conda + sha256: ff1c1d7c23b91c9b0eb93a3e1380f4e2ac6c37ea2bba4f932a5484e9a55bba30 + md5: 494fdf358c152f9fdd0673c128c2f3dd depends: - - __osx >=10.13 - - libcxx >=19 - - libzlib >=1.3.1,<2.0a0 - - aws-crt-cpp >=0.34.4,<0.34.5.0a0 - - libcurl >=8.14.1,<9.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - license_family: APACHE - size: 3190106 - timestamp: 1758606185517 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h2169b1b_4.conda - sha256: 0e0a1d5cfa4e4a3f229fd6cb7db5e3f4a603132e22cfff47e94c4e58ab81a897 - md5: 0871f2fc2273bfd84c4e40d0604949ed + license_family: Apache + run_exports: {} + size: 409562 + timestamp: 1770909102180 +- conda: https://conda.anaconda.org/conda-forge/linux-64/uriparser-0.9.8-hac33072_0.conda + sha256: 2aad2aeff7c69a2d7eecd7b662eef756b27d6a6b96f3e2c2a7071340ce14543e + md5: d71d3a66528853c0a1ac2c02d79a0284 depends: - - libcxx >=19 - - __osx >=11.0 - - libzlib >=1.3.1,<2.0a0 - - libcurl >=8.14.1,<9.0a0 - - aws-c-event-stream >=0.5.6,<0.5.7.0a0 - - aws-crt-cpp >=0.34.4,<0.34.5.0a0 - - aws-c-common >=0.12.4,<0.12.5.0a0 - license: Apache-2.0 - license_family: APACHE - size: 3011040 - timestamp: 1758701033139 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h4e1b0f7_10.conda - sha256: 87660413df6c49984a897544c8ace8461cd4ed69301ede5a793d00530985f702 - md5: a392fe9e9a3c6e0b65161533aca39be9 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - uriparser >=0.9.8,<1.0a0 + size: 48270 + timestamp: 1715010035325 +- conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py312h20c3967_3.conda + sha256: b91e504d9bac172fd8f9f8902c8df85f65ceabd1e7e5a737183a494c49edbc15 + md5: 67d76e548cb09501c0f22071c7d86b26 depends: - - __osx >=11.0 - - libcxx >=19 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 - - libzlib >=1.3.1,<2.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - aws-crt-cpp >=0.35.4,<0.35.5.0a0 - - libcurl >=8.17.0,<9.0a0 + - python + - pyyaml >=3.10 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE - size: 3121951 - timestamp: 1765257130593 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.conda - sha256: 8a12c4f6774ecb3641048b74133ff5e6c2b560469fe5ac1d7515631b84e63059 - md5: d9b942bede589d0ad1e8e360e970efd0 + run_exports: {} + size: 151142 + timestamp: 1772608172713 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda + sha256: ba673427dcd480cfa9bbc262fd04a9b1ad2ed59a159bd8f7e750d4c52282f34c + md5: 0f2ca7906bf166247d1d760c3422cb8a depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - aws-crt-cpp >=0.35.4,<0.35.5.0a0 - - aws-c-common >=0.12.6,<0.12.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - aws-c-event-stream >=0.5.7,<0.5.8.0a0 - license: Apache-2.0 - license_family: APACHE - size: 3438133 - timestamp: 1765257127502 -- conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.747-h532609e_1.conda - sha256: fca0b8b5c8c5153cbc6e2d33db098218f5df8d9494bdebd18884f98d21cd9a69 - md5: 502016afd445393bf698dfcc005909de + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.0,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + run_exports: + weak: + - wayland >=1.24.0,<2.0a0 + 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: - - 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 + - __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 + run_exports: + weak: + - wayland >=1.25.0,<2.0a0 + size: 334139 + timestamp: 1773959575393 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda + sha256: 8320d5af37eb8933e5d129884ea013b2687e75b08aff5216193df3378eaea92f + md5: 8af3faf88325836e46c6cb79828e058c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 64608 + timestamp: 1756851740646 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py314h5bd0f2a_1.conda + sha256: e2b6545651aed5e7dead39b7ba3bf8c2669f194c71e89621343bd0bb321a87f1 + md5: 82da729c870ada2f675689a39b4f697f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 64997 + timestamp: 1756851739706 +- 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 + run_exports: + weak: + - xcb-util >=0.4.1,<0.5.0a0 + size: 20772 + timestamp: 1750436796633 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + 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 + run_exports: + weak: + - xcb-util-cursor >=0.1.6,<0.2.0a0 + size: 20829 + timestamp: 1763366954390 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + 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 + run_exports: + weak: + - xcb-util-image >=0.4.0,<0.5.0a0 + size: 24551 + timestamp: 1718880534789 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + size: 14314 + timestamp: 1718846569232 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + size: 16978 + timestamp: 1718848865819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xcb-util-wm >=0.4.2,<0.5.0a0 + size: 51689 + timestamp: 1718844051451 +- conda: https://conda.anaconda.org/conda-forge/linux-64/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 - size: 23793013 - timestamp: 1772084570337 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.0-h3a458e0_1.conda - sha256: a1f1be2e34a2e331899a69b642e8bda1e66002bda3b611d70141a43c397181ca - md5: 682cb082bbd998528c51f1e77d9ce415 + license_family: Apache + run_exports: + weak: + - xerces-c >=3.2.5,<3.3.0a0 + size: 1648243 + timestamp: 1727733890754 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.3.0-hd9031aa_1.conda + sha256: 605980121ad3ee9393a9b53fb0996929c9732f8fc6b9f796d25244ca6fa23032 + md5: 66a1db55ecdb7377d2b91f54cd56eafa depends: - __glibc >=2.17,<3.0.a0 - - libcurl >=8.14.1,<9.0a0 + - icu >=78.1,<79.0a0 - libgcc >=14 + - libnsl >=2.0.1,<2.1.0a0 - libstdcxx >=14 - - openssl >=3.5.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - xerces-c >=3.3.0,<3.4.0a0 + size: 1660075 + timestamp: 1766327494699 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + sha256: 3b04afd5d1a65d2d27ac2d49a63b01ab8bcd875776779ec63e337370ed38afdc + md5: b233b41be0bf210989d57160ed39b394 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - xorg-libx11 >=1.8.13,<2.0a0 license: MIT license_family: MIT - size: 351962 - timestamp: 1758035811172 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.16.2-h206d751_0.conda - sha256: 321d1070905e467b6bc6f5067b97c1868d7345c272add82b82e08a0224e326f0 - md5: 5492abf806c45298ae642831c670bba0 + run_exports: {} + size: 441670 + timestamp: 1782027360439 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b + md5: fb901ff28063514abb6046c9ec2c4a45 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libice >=1.1.2,<2.0a0 + size: 58628 + timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 + md5: 1c74ff8c35dcadf952a16f752ca5aa49 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libsm >=1.2.6,<2.0a0 + size: 27590 + timestamp: 1741896361728 +- 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 - - libcurl >=8.18.0,<9.0a0 - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.4,<4.0a0 + - libxcb >=1.17.0,<2.0a0 license: MIT license_family: MIT - size: 348729 - timestamp: 1768837519361 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.0-he2a98a9_1.conda - sha256: caec6a8100625da04d6245c1c3a679ead35373cccd7aae8b1dbac59564c8e7c5 - md5: 1c2102832e5045c982058a860eb4c0d8 + run_exports: + weak: + - xorg-libx11 >=1.8.13,<2.0a0 + size: 839652 + timestamp: 1770819209719 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b + md5: b2895afaf55bf96a8c8282a2e47a5de0 depends: - - __osx >=10.13 - - libcurl >=8.14.1,<9.0a0 - - libcxx >=19 - - openssl >=3.5.2,<4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 license: MIT license_family: MIT - size: 300765 - timestamp: 1758036085232 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda - sha256: bc2cde0d7204b3574084de1d83d80bceb7eb1550a17a0f0ccedbb312145475d3 - md5: 24997c4c96d1875956abd9ce37f262eb + run_exports: + weak: + - xorg-libxau >=1.0.12,<2.0a0 + size: 15321 + timestamp: 1762976464266 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda + sha256: 048c103000af9541c919deef03ae7c5e9c570ffb4024b42ecb58dbde402e373a + md5: f2ba4192d38b6cef2bb2c25029071d90 depends: - - __osx >=10.13 - - libcurl >=8.18.0,<9.0a0 - - libcxx >=19 - - openssl >=3.5.4,<4.0a0 + - __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 - size: 298273 - timestamp: 1768837905794 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.0-h88fedcc_1.conda - sha256: 007cc6e7d821bc9553549dcdcdd500bac036dc169e920afff3968d981f7c86de - md5: 3633a96ad986211071b6f4e1884fa187 + run_exports: + weak: + - xorg-libxcomposite >=0.4.7,<1.0a0 + size: 14415 + timestamp: 1770044404696 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a + md5: 2ccd714aa2242315acaf0a67faea780b depends: - - __osx >=11.0 - - libcurl >=8.14.1,<9.0a0 - - libcxx >=19 - - openssl >=3.5.2,<4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 license: MIT license_family: MIT - size: 292995 - timestamp: 1758036239250 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.2-he5ae378_0.conda - sha256: d9a04af33d9200fcd9f6c954e2a882c5ac78af4b82025623e59cb7f7e590b451 - md5: 7efe92d28599c224a24de11bb14d395e + run_exports: + weak: + - xorg-libxcursor >=1.2.3,<2.0a0 + size: 32533 + timestamp: 1730908305254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + sha256: 43b9772fd6582bf401846642c4635c47a9b0e36ca08116b3ec3df36ab96e0ec0 + md5: b5fcc7172d22516e1f965490e65e33a4 depends: - - __osx >=11.0 - - libcurl >=8.18.0,<9.0a0 - - libcxx >=19 - - openssl >=3.5.4,<4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 license: MIT license_family: MIT - 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 + run_exports: + weak: + - xorg-libxdamage >=1.1.6,<2.0a0 + size: 13217 + timestamp: 1727891438799 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 + md5: 1dafce8548e38671bea82e3f5c6ce22f depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 license: MIT license_family: MIT - size: 500955 - timestamp: 1768837821295 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.12.0-ha729027_0.conda - sha256: 734857814400585dca2bee2a4c2e841bc89c143bf0dcc11b4c7270cea410650c - md5: 3dab8d6fa3d10fe4104f1fbe59c10176 + run_exports: + weak: + - xorg-libxdmcp >=1.1.5,<2.0a0 + size: 20591 + timestamp: 1762976546182 +- 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 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.1,<4.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 license: MIT license_family: MIT - size: 241853 - timestamp: 1753212593417 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.13.3-hed0cdb0_1.conda - sha256: 2beb6ae8406f946b8963a67e72fe74453e1411c5ae7e992978340de6c512d13c - md5: 68bfb556bdf56d56e9f38da696e752ca + run_exports: + weak: + - xorg-libxext >=1.3.7,<2.0a0 + size: 50326 + timestamp: 1769445253162 +- 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 + run_exports: + weak: + - xorg-libxfixes >=6.0.2,<7.0a0 + size: 20071 + timestamp: 1759282564045 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda + sha256: 495f99c8eacfa4ae2d8fed2a7f2105777af89acdc204df145d2bbbc380ac631b + md5: adba2e334082bb218db806d4c12277c9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libxi >=1.8.3,<2.0a0 + size: 47717 + timestamp: 1779111857071 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_0.conda + sha256: 3a9da41aac6dca9d3ff1b53ee18b9d314de88add76bafad9ca2287a494abcd86 + md5: 93f5d4b5c17c8540479ad65f206fea51 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 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 license: MIT license_family: MIT - size: 250511 - timestamp: 1770344967948 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.12.0-hc0a8a32_0.conda - sha256: 61e12e805d9487a90c8abd1373af939fd6841184468d9730b22e7e218adef41d - md5: 9d9911c437b3e43d02d8d1df0b415da4 + run_exports: + weak: + - xorg-libxinerama >=1.1.6,<1.2.0a0 + size: 14818 + timestamp: 1769432261050 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda + sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 + md5: e192019153591938acf7322b6459d36e depends: - - __osx >=10.13 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - libcxx >=19 - - openssl >=3.5.1,<4.0a0 + - __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 - size: 169886 - timestamp: 1753212914544 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda - sha256: 182769c18c23e2b29bb35f6fca4c233f0125f84418dacb2c36912298dafbe42e - md5: 14d2491d2dfcbb127fa0ff6219704ab5 + run_exports: + weak: + - xorg-libxrandr >=1.5.5,<2.0a0 + 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 depends: - - __osx >=10.13 - - azure-core-cpp >=1.16.2,<1.16.3.0a0 - - libcxx >=19 - - openssl >=3.5.5,<4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libxrender >=0.9.12,<0.10.0a0 + size: 33005 + timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.1-hb9d3cd8_0.conda + sha256: a8afba4a55b7b530eb5c8ad89737d60d60bc151a03fbef7a2182461256953f0e + md5: 279b0de5f6ba95457190a1c459a64e31 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libice >=1.1.1,<2.0a0 + - xorg-libsm >=1.2.4,<2.0a0 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libxt >=1.3.1,<2.0a0 + size: 379686 + timestamp: 1731860547604 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a + md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 license: MIT license_family: MIT - size: 175167 - timestamp: 1770345309347 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.12.0-hd83eed2_0.conda - sha256: b1cc54a52c735f6f791671763580501bb7ad016e4bcca005f8acea2f619b8709 - md5: 78ac8ce287aef15f819c2927e0fc29c6 + run_exports: + weak: + - xorg-libxtst >=1.2.5,<2.0a0 + 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: - - __osx >=11.0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - libcxx >=19 - - openssl >=3.5.1,<4.0a0 + - __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 - size: 162705 - timestamp: 1753212949473 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.13.3-h810541e_1.conda - sha256: 428fa73808a688a252639080b6751953ad7ecd8a4cbd8f23147b954d6902b31b - md5: ca46cc84466b5e05f15a4c4f263b6e80 + run_exports: + weak: + - xorg-libxxf86vm >=1.1.7,<2.0a0 + size: 18701 + timestamp: 1769434732453 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + sha256: 7a8c64938428c2bfd016359f9cb3c44f94acc256c6167dbdade9f2a1f5ca7a36 + md5: aa8d21be4b461ce612d8f5fb791decae depends: - - __osx >=11.0 - - azure-core-cpp >=1.16.2,<1.16.3.0a0 - - libcxx >=19 - - openssl >=3.5.5,<4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 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 + run_exports: {} + size: 570010 + timestamp: 1766154256151 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + md5: a77f85f77be52ff59391544bfe73390a 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 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 license: MIT license_family: MIT - size: 424962 - timestamp: 1770345047909 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.14.0-hb1c9500_1.conda - sha256: 83cea4a570a457cc18571c92d7927e6cc4ea166f0f819f0b510d4e2c8daf112d - md5: 30da390c211967189c58f83ab58a6f0c + run_exports: + weak: + - yaml >=0.2.5,<0.3.0a0 + size: 85189 + timestamp: 1753484064210 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda + sha256: 9906e3e09ea7b734325cce2ebe7ac9a1d645d49e71823bffa54d9bf157c6b3ed + md5: 348307a7ed6137b1022f3809e2762f39 depends: - __glibc >=2.17,<3.0.a0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - idna >=2.0 + - libgcc >=14 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 155061 + timestamp: 1779246264888 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + sha256: dc9f28dedcb5f35a127fad2d847674d2833369dd616d294e423b8997df31d8a8 + md5: 96b08867e21d4694fa5c2c226e6581b0 + depends: - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 577592 - timestamp: 1753219590665 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.16.0-hf824e48_2.conda - sha256: ec278ffc9785cffeed097f57483fd0bc32c9083f56d7e6d95de46e560e4b49d1 - md5: 315c1c09f02a1efeb1b4d3dbcd2aa26a + - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + run_exports: + weak: + - zeromq >=4.3.5,<4.4.0a0 + size: 311184 + timestamp: 1779123989774 +- 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 + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 95931 + timestamp: 1774072620848 +- 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 - - azure-core-cpp >=1.16.2,<1.16.3.0a0 - - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 580752 - timestamp: 1778727162545 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.14.0-hb076ce7_1.conda - sha256: 3c1a386f07f4dbfb3d5eb9d4d1bf7a34544e4b37af90ce67445861712eacdb26 - md5: 0a8e22a75ab442b214c6879e73ddbda6 + license: Zlib + license_family: Other + run_exports: + weak: + - zlib-ng >=2.3.3,<2.4.0a0 + size: 122618 + timestamp: 1770167931827 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h5253ce2_1.conda + sha256: c2bcb8aa930d6ea3c9c7a64fc4fab58ad7bcac483a9a45de294f67d2f447f413 + md5: 02738ff9855946075cbd1b5274399a41 depends: - - __osx >=10.13 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 - - libcxx >=19 - license: MIT - license_family: MIT - size: 433081 - timestamp: 1753219827826 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda - sha256: 7353b04b2aff8c34610011710be614733df343986f7b15d825dbed27005ef742 - md5: 5bf9d81a733e5864a723bd308a473c6b + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 467133 + timestamp: 1762512686069 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h0f05182_1.conda + sha256: e589f694b44084f2e04928cabd5dda46f20544a512be2bdb0d067d498e4ac8d0 + md5: 2930a6e1c7b3bc5f66172e324a8f5fc3 depends: - - __osx >=11.0 - - azure-core-cpp >=1.16.2,<1.16.3.0a0 - - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 - - libcxx >=19 - license: MIT - license_family: MIT - size: 434697 - timestamp: 1778727610755 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.14.0-he094cc7_1.conda - sha256: df570ea362bb446bd4cf1353405daad1898887a7ab0d35af3250bed332a9895a - md5: 496217fd6aaa6d43646252a586c1445c + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 473605 + timestamp: 1762512687493 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 + md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 depends: - - __osx >=11.0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 - - libcxx >=19 - license: MIT - license_family: MIT - size: 425677 - timestamp: 1753219837256 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-h5446563_2.conda - sha256: 2ab2bc487d2cb985d2d45adbac7a6fe9a554bd78808268622566acb5e28fe5a2 - md5: 1ac96ad3d642a951b4576ea09ae502a3 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 601375 + timestamp: 1764777111296 +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + md5: aaa2a381ccc56eac91d63b6c1240312f depends: - - __osx >=11.0 - - azure-core-cpp >=1.16.2,<1.16.3.0a0 - - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 - - libcxx >=19 + - cpython + - python-gil license: MIT license_family: MIT - size: 426524 - timestamp: 1778727625073 -- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-blobs-cpp-12.16.0-h81bf7d1_2.conda - sha256: 303e08ee92f09e98d23bfd8c566f9f46f50dc732792497833425b0f6f2a61fd1 - md5: cff26b4c1811a4cb84a8d3e5ff955650 + run_exports: {} + size: 8191 + timestamp: 1744137672556 +- conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + sha256: a362b4f5c96a0bf4def96be1a77317e2730af38915eb9bec85e2a92836501ed7 + md5: b3f0179590f3c0637b7eb5309898f79e depends: - - azure-core-cpp >=1.16.2,<1.16.3.0a0 - - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 782578 - timestamp: 1778727275165 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.10.0-hebae86a_2.conda - sha256: 071536dc90aa0ea22a5206fbac5946c70beec34315ab327c4379983e7da60196 - md5: 0d93ce986d13e46a8fc91c289597d78f + - __unix + - hicolor-icon-theme + - librsvg + license: LGPL-3.0-or-later OR CC-BY-SA-3.0 + license_family: LGPL + run_exports: {} + size: 631452 + timestamp: 1758743294412 +- conda: https://conda.anaconda.org/conda-forge/noarch/affine-2.4.0-pyhd8ed1ab_1.conda + sha256: 0deeaf0c001d5543719db9b2686bc1920c86c7e142f9bec74f35e1ce611b1fc2 + md5: 8c4061f499edec6b8ac7000f6d586829 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 19164 + timestamp: 1733762153202 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.2-pyhd8ed1ab_0.conda + sha256: 6c6ddfeefead96d44f09c955b04967a579583af2dc63518faf029e46825e41ab + md5: 8a9936643c4a9565459c4a8eb5d4e3ff + depends: + - python >=3.10 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 20727 + timestamp: 1779297825279 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiohttp-3.14.1-pyhf64b827_0.conda + sha256: 1ddfd04d7304becd30251933f6a21316a2b1d980e4d4b7398aa6650ce41e5ca4 + md5: fc49257102291bf3724c550e7ce4b188 + depends: + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - async-timeout >=4.0,<6.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.10 + - typing_extensions >=4.4 + - yarl >=1.17.0,<2.0 + track_features: + - aiohttp_no_compile + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 517238 + timestamp: 1780913385603 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + sha256: 8dc149a6828d19bf104ea96382a9d04dae185d4a03cc6beb1bc7b84c428e3ca2 + md5: 421a865222cd0c9d83ff08bc78bf3a61 depends: - - __glibc >=2.17,<3.0.a0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 >=2.13.8,<2.14.0a0 - - openssl >=3.5.1,<4.0a0 - license: MIT - license_family: MIT - size: 148875 - timestamp: 1753211824276 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.13.0-ha7a2c86_0.conda - sha256: 67fa6937bc2f6400f5ff19727f5d926fdc68d7fce3aaeab4016f49bb93d89cbb - md5: a7e8cca395e0a1616b389749580b7804 + - frozenlist >=1.1.0 + - python >=3.9 + - typing_extensions >=4.2 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 13688 + timestamp: 1751626573984 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiosqlite-0.21.0-pyhaa4b35c_0.conda + sha256: be1beccd6a6f8e1101894ed2dcdfcaef7f943d7ea26aaf4712e8080fe655212e + md5: f3549a4607ecf6f0bdbb4afe9b05f2d2 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.6,<4.0a0 + - python >=3.9 + - typing-extensions >=4.0 + - typing_extensions >=4.0 license: MIT license_family: MIT - size: 159140 - timestamp: 1778661935076 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.10.0-h18ceab9_2.conda - sha256: c2bebed989978bca831ef89db6e113f6a8af0bf4c8274376e85522451da68f2e - md5: 2ba82ed04f97b7bb609147fd87c96856 + run_exports: {} + size: 19715 + timestamp: 1754034676396 +- conda: https://conda.anaconda.org/conda-forge/noarch/alembic-1.18.4-pyhcf101f3_0.conda + sha256: 83fc576dbcd59427f55be9623e1b101a1607ed9b4dc8633d86ada30c6ec1cf1d + md5: c45fa7cf996b766cb63eadf3c3e6408a depends: - - __osx >=10.13 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - libcxx >=19 - - libxml2 >=2.13.8,<2.14.0a0 - - openssl >=3.5.1,<4.0a0 + - python >=3.10 + - sqlalchemy >=1.4.23 + - mako + - typing_extensions >=4.12 + - tomli + - python license: MIT license_family: MIT - size: 125256 - timestamp: 1753211912801 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda - sha256: 21cf4bc77e20a4a4874452dc5438fdae86f2cccfa2ffa29e920b2be0450e906b - md5: 7d4ec20278fbc5159c0899787a8afea3 + run_exports: {} + size: 184763 + timestamp: 1770806831769 +- conda: https://conda.anaconda.org/conda-forge/noarch/amply-0.1.7-pyhd8ed1ab_0.conda + sha256: a21c69c91d735faaf7b74dc2b3d013b14016951b66354461fc1d796caab9b1c4 + md5: 69a01a9927733014f3955861e2969a7b 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.6,<4.0a0 - license: MIT - license_family: MIT - size: 133457 - timestamp: 1778662369219 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.10.0-h12fd690_2.conda - sha256: 9b0fa0c2acbd69de6fce19c180439af8ed748a3facdc5e5eaa9b543371078497 - md5: 9be5f38d5306ac1069fcf3818549d56c + - docutils >=0.3 + - pyparsing + - python >=3.10 + license: EPL-2.0 + run_exports: {} + size: 26885 + timestamp: 1782349642228 +- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-doc-0.0.4-pyhcf101f3_0.conda + sha256: cc9fbc50d4ee7ee04e49ee119243e6f1765750f0fd0b4d270d5ef35461b643b1 + md5: 52be5139047efadaeeb19c6a5103f92a depends: - - __osx >=11.0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - libcxx >=19 - - libxml2 >=2.13.8,<2.14.0a0 - - openssl >=3.5.1,<4.0a0 + - python >=3.10 + - python license: MIT license_family: MIT - size: 120171 - timestamp: 1753211997430 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda - sha256: bc73ce983d90baa732e6f64e4d8b4ddbb8e671c5d6e7b9475d33dbd118ddd5b6 - md5: 4cfc08976cf62fef7736a763652987cb + run_exports: {} + size: 14222 + timestamp: 1762868213144 +- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda + sha256: e0ea1ba78fbb64f17062601edda82097fcf815012cf52bb704150a2668110d48 + md5: 2934f256a8acfe48f6ebb4fce6cde29c 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.6,<4.0a0 + - python >=3.9 + - typing-extensions >=4.0.0 license: MIT license_family: MIT - size: 128808 - timestamp: 1778662321258 -- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda - sha256: a6c53ef367cfbee76793ea35160f902bd5d1ebebb579a7a53d6b4de3b2011b32 - md5: 40d5c4a1192882e4f6c4a59631f0d2d4 + run_exports: {} + size: 18074 + timestamp: 1733247158254 +- conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.14.1-pyhcf101f3_0.conda + sha256: 6119355a0b2a33e7b0dd31a740dbe01df66ffee0a643f80968afb1d53e7dbdb3 + md5: 7498bb2648f852c6a3cd5724ca80bdeb 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 + - exceptiongroup >=1.0.2 + - idna >=2.8 + - python >=3.10 + - typing_extensions >=4.5 + - python + constrains: + - trio >=0.32.0 + - uvloop >=0.22.1 + - winloop >=0.2.3 license: MIT license_family: MIT - size: 256294 - timestamp: 1778662025067 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-h8b27e44_3.conda - sha256: aec2e2362a605e37a38c4b34f191e98dd33fdc64ce4feebd60bd0b4d877ab36b - md5: 7b738aea4f1b8ae2d1118156ad3ae993 + run_exports: {} + size: 161308 + timestamp: 1782357087265 +- conda: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyhd8ed1ab_1.conda + sha256: 5b9ef6d338525b332e17c3ed089ca2f53a5d74b7a7b432747d29c6466e39346d + md5: f4e90937bbfc3a4a92539545a37bb448 depends: - - __glibc >=2.17,<3.0.a0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 - - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 - - libgcc >=14 - - libstdcxx >=14 + - python >=3.9 license: MIT license_family: MIT - size: 299871 - timestamp: 1753226720130 -- conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.14.0-h539c000_2.conda - sha256: 7765e9082b544555f74473ec21e366d92bb7688635d42d200860798e8b792a25 - md5: 245b61f9baef23f8f6cf04ccda928521 + run_exports: {} + size: 14835 + timestamp: 1733754069532 +- conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_1.conda + sha256: 8f032b140ea4159806e4969a68b4a3c0a7cab1ad936eb958a2b5ffe5335e19bf + md5: 54898d0f524c9dee622d44bbb081a8ab 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.13.0,<12.13.1.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 302771 - timestamp: 1778763856084 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.12.0-h8df8335_3.conda - sha256: 15f5ba331b3e95a78c34b8a5e740b60254b6d46df014d4ebaa861f8b03b9a113 - md5: 0dfefe135030f2a90bee5b27c64aa303 + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 10076 + timestamp: 1733332433806 +- conda: https://conda.anaconda.org/conda-forge/noarch/arcosparse-0.5.1-pyhd8ed1ab_0.conda + sha256: e776085662b606fd4a0853bf1f4f1f32dbebc8e072cbb7eee9a0a938c13f7855 + md5: 3fab2110d93a828f88ace66e418d6ef8 depends: - - __osx >=10.13 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 - - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 - - libcxx >=19 + - pandas >=2.0.0 + - pyarrow >=17.0.0 + - pystac >=1.8.3,<2.0.0 + - python >=3.10 + - requests >=2.27.1,<3.0.0 + - tqdm >=4.65.0,<5.0.0 + license: EUPL-1.2 + run_exports: {} + size: 27078 + timestamp: 1773048360594 +- conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda + sha256: bea62005badcb98b1ae1796ec5d70ea0fc9539e7d59708ac4e7d41e2f4bb0bad + md5: 8ac12aff0860280ee0cff7fa2cf63f3b + depends: + - argon2-cffi-bindings + - python >=3.9 + - typing-extensions + constrains: + - argon2_cffi ==999 license: MIT license_family: MIT - size: 203691 - timestamp: 1753226916309 -- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda - sha256: 040025c0dc8e338dc1038572748ffc2d1bb6f646b2c4a95daae3a4468a74af0f - md5: b3e6633ee0101fb99316de21754ec448 + run_exports: {} + size: 18715 + timestamp: 1749017288144 +- conda: https://conda.anaconda.org/conda-forge/noarch/argparse-dataclass-2.0.0-pyhd8ed1ab_1.conda + sha256: fd512bde81be7f942e1efb54c6a7305c16375347ccacf9375ada70cdc0f4f0d3 + md5: 3c0e753fd317fa10d34020a2bc8add8e 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.13.0,<12.13.1.0a0 - - libcxx >=19 + - python >=3.9 license: MIT license_family: MIT - size: 204849 - timestamp: 1778764549811 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.12.0-h30213e0_3.conda - sha256: efa7abc4fded5b028f3f0e80dd271286255c3e746bf201f270556bbf13b01258 - md5: ee25593a451954f56a58eda1ad4bda07 + run_exports: {} + size: 12806 + timestamp: 1764079623900 +- conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda + sha256: 792da8131b1b53ff667bd6fc617ea9087b570305ccb9913deb36b8e12b3b5141 + md5: 85c4f19f377424eafc4ed7911b291642 depends: - - __osx >=11.0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 - - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 - - libcxx >=19 + - python >=3.10 + - python-dateutil >=2.7.0 + - python-tzdata + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 113854 + timestamp: 1760831179410 +- 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 + run_exports: {} + size: 28797 + timestamp: 1763410017955 +- conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.3.0-pyhcf101f3_0.conda + sha256: ea8486637cfb89dc26dc9559921640cd1d5fd37e5e02c33d85c94572139f2efe + md5: b85e84cb64c762569cc1a760c2327e0a + depends: + - python >=3.10 + - typing_extensions >=4.0.0 + - python license: MIT license_family: MIT - size: 197289 - timestamp: 1753227070997 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda - sha256: 77dde85d2c3c4c2f2a0a0cf6ac7e2b2458d60fe9a633e8fe934f0c9bfcbae168 - md5: 4dbee4ea590bf017fb7b2fba71b16b24 + run_exports: {} + size: 22949 + timestamp: 1773926359134 +- conda: https://conda.anaconda.org/conda-forge/noarch/async-timeout-5.0.1-pyhcf101f3_2.conda + sha256: 6638b68ab2675d0bed1f73562a4e75a61863b903be1538282cddb56c8e8f75bd + md5: 0d0ef7e4a0996b2c4ac2175a12b3bf69 + depends: + - python >=3.10 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 13559 + timestamp: 1767290444597 +- conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.4.1-pyhd8ed1ab_1.conda + sha256: 4664b9622e9ed53796825aea4a514ac76c42e6a6c553c16a148ad6dccbc16f8f + md5: 81f981df273cd627927372680aa9dd31 + depends: + - bottleneck + - cdsapi + - cfgrib >=0.9.15.0 + - dask >=2021.10 + - geopandas + - h5netcdf >=1.6.1 + - netcdf4 + - numexpr + - numpy + - pandas >=1.1 + - progressbar2 + - pyproj >=2 + - pytest + - python >=3.10 + - rasterio >=1.3,!=1.4.0,!=1.4.1 + - requests + - scipy + - shapely + - toolz + - tqdm + - xarray >=0.20 + - yaml + license: GPL-3.0-or-later + license_family: GPL + run_exports: {} + size: 91296 + timestamp: 1754897384499 +- conda: https://conda.anaconda.org/conda-forge/noarch/atlite-0.6.1-pyhd8ed1ab_0.conda + sha256: c12af4ab017b98bdc96e0b69bc13c127eae11e9934a22800ac97e1dc4fab126c + md5: eb6d307eabcb6918e1c34cce221546bc 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.13.0,<12.13.1.0a0 - - libcxx >=19 - license: MIT - license_family: MIT - size: 198818 - timestamp: 1778764243281 -- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda - sha256: 4ee09742ae920c02bf84926c63d339b9662785b5aec80963af709b1c139068f4 - md5: 8a63603563a73598ab7d632158be0aa1 + - bottleneck + - cdsapi + - cfgrib >=0.9.15.0 + - dask >=2021.10 + - geopandas + - h5netcdf >=1.6.1 + - netcdf4 + - numexpr + - numpy + - pandas >=1.1 + - progressbar2 + - pyproj >=2 + - pytest + - python >=3.10 + - rasterio >=1.3,!=1.4.0,!=1.4.1 + - requests + - scipy + - shapely + - toolz + - tqdm + - xarray >=0.20 + - yaml + license: GPL-3.0-or-later + license_family: GPL + run_exports: {} + size: 93737 + timestamp: 1776775706265 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab + md5: c6b0543676ecb1fb2d7643941fe375f2 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.13.0,<12.13.1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python >=3.10 + - python license: MIT license_family: MIT - size: 439535 - timestamp: 1778763967002 + run_exports: {} + size: 64927 + timestamp: 1773935801332 - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 md5: f1976ce927373500cc19d3c0b2c85177 @@ -10596,55 +19378,45 @@ packages: - pytz >=2015.7 license: BSD-3-Clause license_family: BSD + run_exports: {} size: 7684321 timestamp: 1772555330347 -- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.5.0-py312h90b7ffd_0.conda - sha256: a2b08a4e5e549b5f67c38edffd175437e2208547a7e67b5fa5373b67ef419e50 - md5: b31dba71fe091e7201826e57e0f7b261 - depends: - - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause AND MIT AND EPL-2.0 - size: 239928 - timestamp: 1778594049826 -- conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.5.0-py312h5f4ecc6_0.conda - sha256: f6166347ee8dd7e5c71029c27e89cc5d4a84ccb3f374761363d5bce08ce92227 - md5: c987aba92ae6e528ed495f1ea71d4834 +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + noarch: generic + sha256: 709cac7434d1c5a8828105036212a2a36022a07d807e89e2e99cac939c2d2526 + md5: 40d89d8546ad6e139e73ec8f6d56068b depends: - - python - - __osx >=11.0 - - python_abi 3.12.* *_cp312 - - zstd >=1.5.7,<1.6.0a0 + - python >=3.14 license: BSD-3-Clause AND MIT AND EPL-2.0 - size: 240621 - timestamp: 1778594129022 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.5.0-py312h87c4bb7_0.conda - sha256: a492dcf07b1c58797b3192f11aef7e3beb18ec91646d6a5acfe5c6e61e66118d - md5: 6ec306e02579965dc9c01092a5f4ce4c + run_exports: {} + size: 7526 + timestamp: 1781450817767 +- conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-7.0-pyhcf101f3_0.conda + sha256: 4e32871acb663d8d64342c486d960b3e64e24b7c715247a1e6a6f46d1b428802 + md5: 970a19304a794630a882b9dcd9e1beb4 depends: + - python >=3.10 - python - - __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 - size: 240840 - timestamp: 1778594074672 -- conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.5.0-py312h06d0912_0.conda - sha256: 55173c22b24fd257851f2967d4b0256172be3455bd5246b6b7a5c21eb0863f98 - md5: 891112b1a79fc9800317c5d56e056a8b + license: MIT + license_family: MIT + run_exports: {} + size: 158181 + timestamp: 1777493261325 +- conda: https://conda.anaconda.org/conda-forge/noarch/beaupy-3.12.0-pyhcf101f3_0.conda + sha256: f4e27cf4ce2f406da933e329301cbf5ce1f49c3fb1b49794864673a611d89e1a + md5: 5641505172527e4f75ef28139317c7a9 depends: + - python >=3.10 + - rich >=12.2.0 + - emoji >=2.0.0,<3.0.0 + - questo >=0.4.1,<0.5.0 + - python-yakh >=0.4.1,<0.5.0 - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause AND MIT AND EPL-2.0 - size: 238601 - timestamp: 1778594083648 + license: MIT + license_family: MIT + run_exports: {} + size: 21439 + timestamp: 1779399834508 - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda sha256: aed4b9dcf68ec2a75e5645fed14d77fd884d38d2e52bfa6ef4b278d90cd88781 md5: 3b261da3fe9b4168738712832410b022 @@ -10654,6 +19426,7 @@ packages: - typing-extensions license: MIT license_family: MIT + run_exports: {} size: 92704 timestamp: 1780853175566 - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.4.0-pyhcf101f3_0.conda @@ -10666,6 +19439,7 @@ packages: constrains: - tinycss2 >=1.1.0,<1.5 license: Apache-2.0 AND MIT + run_exports: {} size: 142246 timestamp: 1780675823953 - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.4.0-hac0b51c_0.conda @@ -10675,6 +19449,7 @@ packages: - bleach ==6.4.0 pyhcf101f3_0 - tinycss2 license: Apache-2.0 AND MIT + run_exports: {} size: 4406 timestamp: 1780675823953 - conda: https://conda.anaconda.org/conda-forge/noarch/blinker-1.9.0-pyhff2d567_0.conda @@ -10684,66 +19459,9 @@ packages: - python >=3.9 license: MIT license_family: MIT + run_exports: {} size: 13934 timestamp: 1731096548765 -- conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda - sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d - md5: 2c2fae981fd2afd00812c92ac47d023d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - snappy >=1.2.1,<1.3.0a0 - - zstd >=1.5.6,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 48427 - timestamp: 1733513201413 -- conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda - sha256: 876bdb1947644b4408f498ac91c61f1f4987d2c57eb47c0aba0d5ee822cd7da9 - md5: 717852102c68a082992ce13a53403f9d - depends: - - __osx >=10.13 - - 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 - size: 46990 - timestamp: 1733513422834 -- 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 - 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 - size: 49840 - timestamp: 1733513605730 - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.9.1-pyhd8ed1ab_0.conda sha256: b3d3b93a17fa678e81cd5ff5309fe64c7feb65c71cb134f14e4fe2113dc0c8d5 md5: 123fcfe0df4b6fc21804538e59cdaafe @@ -10762,23 +19480,25 @@ packages: - panel >=1.8.10 license: BSD-3-Clause license_family: BSD + run_exports: {} size: 4526315 timestamp: 1781002115296 -- conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.27-pyhd8ed1ab_0.conda - sha256: b109485a060a305046610cae2e29665102f4c5118b34332e4daa52067b80a641 - md5: 4b9a16cd57559083d52f7a50071dc463 +- conda: https://conda.anaconda.org/conda-forge/noarch/boto3-1.43.36-pyhd8ed1ab_0.conda + sha256: 2f7038c1e72dcd8e66979403775dd051b1940d15423104387fde1dbdf75c7e96 + md5: f740e8acb38ea16c22e60b6fc0ae7c9e depends: - - botocore >=1.43.27,<1.44.0 + - botocore >=1.43.36,<1.44.0 - jmespath >=0.7.1,<2.0.0 - python >=3.10 - - s3transfer >=0.18.0,<0.19.0 + - s3transfer >=0.19.0,<0.20.0 license: Apache-2.0 license_family: Apache - size: 88862 - timestamp: 1781217469687 -- conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.27-pyhd8ed1ab_0.conda - sha256: 4b6bd1f934e373562e949b6823e7f0875c1f5ab5814a4d4a0606a19e4d247053 - md5: b2d0ce05d097824ccfa3ab6f52535d0f + run_exports: {} + size: 88652 + timestamp: 1782323346611 +- conda: https://conda.anaconda.org/conda-forge/noarch/botocore-1.43.36-pyhd8ed1ab_0.conda + sha256: 034a19f83d34e70eded5c4baa23cedba5ccd5ef97f37e1d676dd1ab781057873 + md5: f5e09a21f1ee38e1be4787fea94e6823 depends: - jmespath >=0.7.1,<2.0.0 - python >=3.10 @@ -10786,67 +19506,9 @@ packages: - urllib3 >=1.25.4,!=2.2.0,<3 license: Apache-2.0 license_family: Apache - size: 8632517 - timestamp: 1781206884191 -- conda: https://conda.anaconda.org/conda-forge/linux-64/bottleneck-1.6.0-np2py312hfb8c2c5_3.conda - sha256: 59deb2e5147e1727c67f0409cf40163e32254362ae361b5761fd10bc7c255267 - md5: 99981dfd6b851dba87c43b5f895e6d6a - depends: - - numpy - - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: BSD-2-Clause - license_family: BSD - size: 157720 - timestamp: 1762775764398 -- conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda - sha256: 9afee13a69205434ebfca82d0d26f9e2dab6cb83bc05481fbf93417cc95a4c57 - md5: 0e9639e5608a478cc91d4600f5e256e6 - depends: - - numpy - - python - - __osx >=10.13 - - python_abi 3.12.* *_cp312 - - numpy >=1.23,<3 - license: BSD-2-Clause - license_family: BSD - size: 157082 - timestamp: 1762775861115 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.conda - sha256: e2778cb8c253162e7c168bdf6dfd4ef76b5575c1c92179096c2e20e3f466d469 - md5: c0801688b09699777011e72c800eead0 - depends: - - numpy - - python - - python 3.12.* *_cpython - - __osx >=11.0 - - python_abi 3.12.* *_cp312 - - numpy >=1.23,<3 - license: BSD-2-Clause - license_family: BSD - size: 138458 - timestamp: 1762775942052 -- conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.conda - sha256: def9bf1ebd27a95f4bc9757df34a89a9b5ad24842904105af432d8ff8c75867a - md5: a062b6b39e12d9b4a2fb8c79a0ac4b8f - depends: - - numpy - - python - - 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 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: BSD-2-Clause - license_family: BSD - size: 140489 - timestamp: 1762775808683 + run_exports: {} + size: 8767183 + timestamp: 1782313417035 - conda: https://conda.anaconda.org/conda-forge/noarch/branca-0.8.2-pyhd8ed1ab_0.conda sha256: 1acf87c77d920edd098ddc91fa785efc10de871465dee0f463815b176e019e8b md5: 1fcdf88e7a8c296d3df8409bf0690db4 @@ -10855,5987 +19517,7209 @@ packages: - python >=3.10 license: MIT license_family: MIT + run_exports: {} size: 30176 timestamp: 1759755695447 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb03c661_4.conda - sha256: 294526a54fa13635341729f250d0b1cf8f82cad1e6b83130304cbf3b6d8b74cc - md5: eaf3fbd2aa97c212336de38a51fe404e +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda + sha256: 7f458e4a82514d7bebbfef23d92817794a16aaf1c748a15f04870d4fb49aeab2 + md5: b9696b2cf00dfeec138c70cee38ed192 depends: - - __glibc >=2.17,<3.0.a0 - - brotli-bin 1.1.0 hb03c661_4 - - libbrotlidec 1.1.0 hb03c661_4 - - libbrotlienc 1.1.0 hb03c661_4 - - libgcc >=14 - license: MIT - license_family: MIT - size: 19883 - timestamp: 1756599394934 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda - sha256: e511644d691f05eb12ebe1e971fd6dc3ae55a4df5c253b4e1788b789bdf2dfa6 - md5: 8ccf913aaba749a5496c17629d859ed1 + - __win + license: ISC + run_exports: {} + size: 129352 + timestamp: 1781709016515 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda + sha256: f8e3c730fa14ee3f170493779f06522c4acf89169f43db4f039727709b6419cf + md5: a9965dd99f683c5f444428f896635716 + depends: + - __unix + license: ISC + run_exports: {} + size: 128866 + timestamp: 1781708962055 +- conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + noarch: python + sha256: 561e6660f26c35d137ee150187d89767c988413c978e1b712d53f27ddf70ea17 + md5: 9b347a7ec10940d3f7941ff6c460b551 + depends: + - cached_property >=1.5.2,<1.5.3.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 4134 + timestamp: 1615209571450 +- conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + sha256: 6dbf7a5070cc43d90a1e4c2ec0c541c69d8e30a0e25f50ce9f6e4a432e42c5d7 + md5: 576d629e47797577ab0f1b351297ef4a + depends: + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 11065 + timestamp: 1615209567874 +- conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda + sha256: c3c5772e8f3c9080b3b89765bb9e9d88972792b54d96d546c29672965bbb8d6c + md5: eb57a77657c275d8d0b3542b070f484c 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 + - python >=3.10 + - attrs >=25.4.0 + - typing_extensions >=4.14.0 + - exceptiongroup >=1.1.1 + - python license: MIT license_family: MIT - size: 20103 - timestamp: 1764017231353 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.1.0-h1c43f85_4.conda - sha256: 13847b7477bd66d0f718f337e7980c9a32f82ec4e4527c7e0a0983db2d798b8e - md5: 1a0a37da4466d45c00fc818bb6b446b3 + run_exports: {} + size: 59678 + timestamp: 1771485958517 +- conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda + sha256: 1237a587e35fa74b36323084e58620367a3adf7f60f201b7a9c41261958dc5d4 + md5: 1f878573c1ee2798c052bee1f5a94f50 depends: - - __osx >=10.13 - - brotli-bin 1.1.0 h1c43f85_4 - - libbrotlidec 1.1.0 h1c43f85_4 - - libbrotlienc 1.1.0 h1c43f85_4 - license: MIT - license_family: MIT - size: 20022 - timestamp: 1756599872109 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda - sha256: c838c71ded28ada251589f6462fc0f7c09132396799eea2701277566a1a863bf - md5: 149d8ee7d6541a02a6117d8814fd9413 + - ecmwf-datastores-client >=0.4.0 + - python >=3.10 + - requests >=2.5.0 + - tqdm + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 17643 + timestamp: 1759286472486 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.6.17-pyhd8ed1ab_0.conda + sha256: 6c13620e458ba43278379d0cdacc30c497336bddfda81681fd50d114a65c702f + md5: c13824fedced67005d3832c152fe9c2f depends: - - __osx >=10.13 - - brotli-bin 1.2.0 h8616949_1 - - libbrotlidec 1.2.0 h8616949_1 - - libbrotlienc 1.2.0 h8616949_1 - license: MIT - license_family: MIT - size: 20194 - timestamp: 1764017661405 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h6caf38d_4.conda - sha256: 8aa8ee52b95fdc3ef09d476cbfa30df722809b16e6dca4a4f80e581012035b7b - md5: ce8659623cea44cc812bc0bfae4041c5 + - python >=3.10 + license: ISC + run_exports: {} + size: 133877 + timestamp: 1781719949728 +- conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda + sha256: 2f800c85e4c05167281524b59aa621f173bed37480d4df65e65e7f76818def1a + md5: 0f12f8436a2a238e255d49ea3f8aefe2 depends: - - __osx >=11.0 - - brotli-bin 1.1.0 h6caf38d_4 - - libbrotlidec 1.1.0 h6caf38d_4 - - libbrotlienc 1.1.0 h6caf38d_4 - license: MIT - license_family: MIT - size: 20003 - timestamp: 1756599758165 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.2.0-h7d5ae5b_1.conda - sha256: 422ac5c91f8ef07017c594d9135b7ae068157393d2a119b1908c7e350938579d - md5: 48ece20aa479be6ac9a284772827d00c + - attrs >=19.2 + - click + - numpy + - packaging + - python >=3.10 + - python-eccodes >=0.9.8 + - setuptools + - xarray >=0.15 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 44119 + timestamp: 1759323853736 +- conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + sha256: aa589352e61bb221351a79e5946d56916e3c595783994884accdb3b97fe9d449 + md5: 381bd45fb7aa032691f3063aff47e3a1 depends: - - __osx >=11.0 - - brotli-bin 1.2.0 hc919400_1 - - libbrotlidec 1.2.0 hc919400_1 - - libbrotlienc 1.2.0 hc919400_1 + - python >=3.10 license: MIT license_family: MIT - size: 20237 - timestamp: 1764018058424 -- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda - sha256: a4fffdf1c9b9d3d0d787e20c724cff3a284dfa3773f9ce609c93b1cfd0ce8933 - md5: bc58fdbced45bb096364de0fba1637af + run_exports: {} + size: 13589 + timestamp: 1763607964133 +- conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_0.conda + sha256: d307dcdba7498fadeeeed616ad0fc9e1cfd6061f5d83f64fbd20be4968f1bfb9 + md5: 7dd72a4c857cd652a1e23c13099a15d2 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 - size: 20342 - timestamp: 1764017988883 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda - sha256: 444903c6e5c553175721a16b7c7de590ef754a15c28c99afbc8a963b35269517 - md5: ca4ed8015764937c81b830f7f5b68543 + - python >=3.10 + - python + license: 0BSD + run_exports: {} + size: 627453 + timestamp: 1776140819080 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda + sha256: 3f9483d62ce24ecd063f8a5a714448445dc8d9e201147c46699fc0033e824457 + md5: a9167b9571f3baa9d448faa2139d1089 depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlidec 1.1.0 hb03c661_4 - - libbrotlienc 1.1.0 hb03c661_4 - - libgcc >=14 + - python >=3.10 license: MIT license_family: MIT - size: 19615 - timestamp: 1756599385418 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda - sha256: 64b137f30b83b1dd61db6c946ae7511657eead59fdf74e84ef0ded219605aa94 - md5: af39b9a8711d4a8d437b52c1d78eb6a1 + run_exports: {} + size: 58872 + timestamp: 1775127203018 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab + md5: f22f4d4970e09d68a10b922cbb0408d3 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 - size: 21021 - timestamp: 1764017221344 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.1.0-h1c43f85_4.conda - sha256: 549ea0221019cfb4b370354f2c3ffbd4be1492740e1c73b2cdf9687ed6ad7364 - md5: 718fb8aa4c8cb953982416db9a82b349 + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 84705 + timestamp: 1734858922844 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh7428d3b_0.conda + sha256: c889ed359ae47eead4ffe8927b7206b22c55e67d6e74a9044c23736919d61e8d + md5: 90e5571556f7a45db92ee51cb8f97af6 depends: - - __osx >=10.13 - - libbrotlidec 1.1.0 h1c43f85_4 - - libbrotlienc 1.1.0 h1c43f85_4 - license: MIT - license_family: MIT - size: 17311 - timestamp: 1756599830763 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda - sha256: dcb5a2b29244b82af2545efad13dfdf8dddb86f88ce64ff415be9e7a10cc0383 - md5: 34803b20dfec7af32ba675c5ccdbedbf + - __win + - colorama + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 85169 + timestamp: 1734858972635 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda + sha256: ba1ee6e2b2be3da41d70d0d51d1159010de900aa3f33fceaea8c52e9bd30a26e + md5: e9b05deb91c013e5224672a4ba9cf8d1 depends: - - __osx >=10.13 - - libbrotlidec 1.2.0 h8616949_1 - - libbrotlienc 1.2.0 h8616949_1 - license: MIT - license_family: MIT - size: 18589 - timestamp: 1764017635544 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h6caf38d_4.conda - sha256: e57d402b02c9287b7c02d9947d7b7b55a4f7d73341c210c233f6b388d4641e08 - md5: ab57f389f304c4d2eb86d8ae46d219c3 + - click >=4.0 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 12683 + timestamp: 1750848314962 +- conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda + sha256: 1a52ae1febfcfb8f56211d1483a1ac4419b0028b7c3e9e61960a298978a42396 + md5: 55c7804f428719241a90b152016085a1 depends: - - __osx >=11.0 - - libbrotlidec 1.1.0 h6caf38d_4 - - libbrotlienc 1.1.0 h6caf38d_4 - license: MIT - license_family: MIT - size: 17373 - timestamp: 1756599741779 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.2.0-hc919400_1.conda - sha256: e2d142052a83ff2e8eab3fe68b9079cad80d109696dc063a3f92275802341640 - md5: 377d015c103ad7f3371be1777f8b584c + - click >=4.0 + - python >=3.9,<4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 12521 + timestamp: 1733750069604 +- conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + sha256: 4c287c2721d8a34c94928be8fe0e9a85754e90189dd4384a31b1806856b50a67 + md5: 61b8078a0905b12529abc622406cb62c depends: - - __osx >=11.0 - - libbrotlidec 1.2.0 hc919400_1 - - libbrotlienc 1.2.0 hc919400_1 - license: MIT - license_family: MIT - 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 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 27353 + timestamp: 1765303462831 +- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 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 - size: 22714 - timestamp: 1764017952449 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.conda - sha256: 52a9ac412512b418ecdb364ba21c0f3dc96f0abbdb356b3cfbb980020b663d9b - md5: fd0e7746ed0676f008daacb706ce69e4 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 27011 + timestamp: 1733218222191 +- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 + md5: 2da13f2b299d8e1995bafbbe9689a2f7 + depends: + - python >=3.9 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14690 + timestamp: 1753453984907 +- conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda + sha256: c1b355af599e548c4b69129f4d723ddcdb9f6defb939985731499cee2e26a578 + md5: e52c2a160d6bd0649c9fafdf0c813357 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - libbrotlicommon 1.1.0 hb03c661_4 + - python >=3.9.0,<4.0.0 + - pyyaml >=6.0.0,<7.0.0 license: MIT license_family: MIT - size: 354149 - timestamp: 1756599553574 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda - sha256: 49df13a1bb5e388ca0e4e87022260f9501ed4192656d23dc9d9a1b4bf3787918 - md5: 64088dffd7413a2dd557ce837b4cbbdb + run_exports: {} + size: 10327 + timestamp: 1717043667069 +- conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda + sha256: 7f8ea42a8411b433ec7244dfd30637d90564256c13a114dbe42455fe032ae89c + md5: 12389a21e7f69704b0ae77f44355e30b depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - libbrotlicommon 1.2.0 hb03c661_1 + - python >=3.10 + - toml + - python license: MIT license_family: MIT - size: 368300 - timestamp: 1764017300621 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312h462f358_4.conda - sha256: f5b7f28d19f21c2f5bd4608b2a075e872727dae8409303f53c756f44044a3a7f - md5: 6ed15514446509f33df546dcc1752eb1 + run_exports: {} + size: 45817 + timestamp: 1773233306055 +- conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 + sha256: 799a515e9e73e447f46f60fb3f9162f437ae1a2a00defddde84282e9e225cb36 + md5: e270fff08907db8691c02a0eda8d38ae depends: - - __osx >=10.13 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - libbrotlicommon 1.1.0 h1c43f85_4 + - python license: MIT license_family: MIT - size: 369380 - timestamp: 1756600123615 -- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py312h4b46afd_1.conda - sha256: 8854a80360128157e8d05eb57c1c7e7c1cb10977e4c4557a77d29c859d1f104b - md5: 01fdbccc39e0a7698e9556e8036599b7 + run_exports: {} + size: 8331 + timestamp: 1608581999360 +- conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.4.1-pyhd8ed1ab_0.conda + sha256: eefbc5d530e8db6aa2e734fb1133e31c8d68bd0e9cc384f94ad0497ef896c543 + md5: 690847cdb78772816f430fc91490f915 depends: - - __osx >=10.13 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - libbrotlicommon 1.2.0 h8616949_1 - license: MIT - license_family: MIT - size: 389534 - timestamp: 1764017976737 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312h6b01ec3_4.conda - sha256: e45f24660a89c734c3d54f185ecdc359e52a5604d7e0b371e35dce042fa3cf3a - md5: 0d50ab05d6d8fa7a38213c809637ba6d + - arcosparse >=0.5.1,<0.6.0 + - boto3 >=1.26 + - click >=8.0.4,!=8.2.0,<8.3.0 + - dask-core >=2024.8.1 + - h5netcdf >=1.4.0,<2.0.0 + - h5py >=3.8.0 + - numpy >=2.1.0 + - pydantic >=2.9.1,<3.0.0 + - pystac >=1.11.0 + - python >=3.10 + - requests >=2.27.1 + - semver >=3.0.2 + - tqdm >=4.65.0 + - xarray >=2024.10.0 + - zarr >=2.18.3 + license: EUPL-1.2 + run_exports: {} + size: 93161 + timestamp: 1778501273925 +- conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda + sha256: b161a074b92715b9b6a53c35bb84abc0cecea4299ca76b0aaebab0e35b46f3dc + md5: 193a9e54636d8d70781a3e56370f5502 + depends: + - pandas >=1.0.0 + - python >=3.9 + license: GPL-3.0-or-later + license_family: GPL + run_exports: {} + size: 51091 + timestamp: 1761151175246 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + noarch: generic + sha256: d3e9bbd7340199527f28bbacf947702368f31de60c433a16446767d3c6aaf6fe + md5: f54c1ffb8ecedb85a8b7fcde3a187212 depends: - - __osx >=11.0 - - libcxx >=19 - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python_abi * *_cp312 + license: Python-2.0 + run_exports: {} + size: 46463 + timestamp: 1772728929620 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.13.14-py313hd8ed1ab_100.conda + noarch: generic + sha256: 42995d97d7e83d2bedbe8173bc9aa022ea412bf33dd2ff0e3db2c01a5242cd0a + md5: 22ff6a23190a29024b0df04b4caa0c66 + depends: + - python >=3.13,<3.14.0a0 + - python_abi * *_cp313 + license: Python-2.0 + run_exports: {} + size: 48337 + timestamp: 1781257766256 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + noarch: generic + sha256: 7a548856ef5307890a8cadfc196655117658f8c24589ce175caa4c1c2ded9d13 + md5: b28fe35fd43d5f425c0dccbe5b5039fd + depends: + - python >=3.14,<3.15.0a0 + - python_abi * *_cp314 + license: Python-2.0 + run_exports: {} + size: 49333 + timestamp: 1781254618863 +- 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 + run_exports: {} + size: 14778 + timestamp: 1764466758386 +- conda: https://conda.anaconda.org/conda-forge/noarch/dash-4.2.0-pyhd8ed1ab_0.conda + sha256: 803df43937f56f51751eb403791f2ddb17156f727483b672f4d594d4dc6ae86d + md5: 3a5bbf41458303951167d7c4fb171c7f + depends: + - flask >=1.0.4 + - importlib-metadata + - janus >=1.0.0 + - nest-asyncio + - plotly >=5.0.0 + - python >=3.10 + - requests + - retrying + - setuptools + - typing_extensions >=4.1.1 + - werkzeug constrains: - - libbrotlicommon 1.1.0 h6caf38d_4 + - dash-core-components >=2.0.0 + - dash_table >=5.0.0 + - dash-html-components >=2.0.0 license: MIT license_family: MIT - size: 341750 - timestamp: 1756600036931 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py312h0dfefe5_1.conda - sha256: 6178775a86579d5e8eec6a7ab316c24f1355f6c6ccbe84bb341f342f1eda2440 - md5: 311fcf3f6a8c4eb70f912798035edd35 + run_exports: {} + size: 4920601 + timestamp: 1780399192294 +- conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda + sha256: 1c4ffc5e113140b2c9396c961fa17ad2d0946457b5472a14e0b37136d39bbe0d + md5: 26af33c7e6ae117319e93843e238d165 depends: - - __osx >=11.0 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python >=3.10,<4.0 + - dash >=3.0.4 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 120916 + timestamp: 1755725778597 +- conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda + sha256: 8c4b681857ea44f4a299997a024509c21b1c054bbc0335ad82cc1bbfef4a8880 + md5: 1f97a470dbcf4a633e8da14e08428d42 + depends: + - python >=3.10 + - dask-core >=2025.11.0,<2025.11.1.0a0 + - distributed >=2025.11.0,<2025.11.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: - - libbrotlicommon 1.2.0 hc919400_1 - license: MIT - license_family: MIT - size: 359503 - timestamp: 1764018572368 -- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda - sha256: 2bb6f384a51929ef2d5d6039fcf6c294874f20aaab2f63ca768cbe462ed4b379 - md5: e8e7a6346a9e50d19b4daf41f367366f + - openssl !=1.1.1e + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 11723 + timestamp: 1762461029811 +- conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.6.0-pyhc364b38_0.conda + sha256: 2ada45db64509bc5c119cbd7d68953b5ec7a9341cc9fad7cbe6a4f029e8af0fb + md5: a2d2a05abf6076c3d041ec91b2235823 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 + - python >=3.10 + - dask-core >=2026.6.0,<2026.6.1.0a0 + - distributed >=2026.6.0,<2026.6.1.0a0 + - cytoolz >=0.11.2 + - lz4 >=4.3.2 + - numpy >=1.26 + - pandas >=2.0 + - bokeh >=3.1.0 + - jinja2 >=2.10.3 + - pyarrow >=16.0 + - python constrains: - - libbrotlicommon 1.2.0 hfd05255_1 - license: MIT - license_family: MIT - size: 335482 - timestamp: 1764018063640 -- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 - md5: d2ffd7602c02f2b316fd921d39876885 + - openssl !=1.1.1e + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 11216 + timestamp: 1781272553165 +- conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda + sha256: a1fa1457cf759d90deb87c258da393809285b807ecef47a317d210fa4fa9f7fb + md5: 91549f296c15ef7b49ee6600e7c934c1 + 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 + run_exports: {} + size: 1060758 + timestamp: 1762449427391 +- conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.6.0-pyhc364b38_0.conda + sha256: ce64f55e95912bff84119f05a296c90f8df57ecf9c3100bd8a6beca1cedabbb7 + md5: 56a3cae23de84509452da890fb2bfd85 + depends: + - python >=3.10 + - click >=8.1 + - cloudpickle >=3.0.0 + - fsspec >=2021.9.0 + - packaging >=20.0 + - partd >=1.4.0 + - pyyaml >=5.4.1 + - toolz >=0.12.0 + - importlib-metadata >=4.13.0 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1069053 + timestamp: 1781221472758 +- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + sha256: 430bd9d731b265f0bedb3183ac3ecfaa1656390c092b6e864ff8cc1229843c8c + md5: 61dcf784d59ef0bd62c57d982b154ace + depends: + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 16102 + timestamp: 1779115228886 +- conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + sha256: 9717a059677553562a8f38ff07f3b9f61727bd614f505658b0a5ecbcf8df89be + md5: 961b3a227b437d82ad7054484cfa71b2 + depends: + - python >=3.6 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 24062 + timestamp: 1615232388757 +- conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda + sha256: 7d57a7b8266043ffb99d092ebc25e89a0a2490bed4146b9432c83c2c476fa94d + md5: 5498feb783ab29db6ca8845f68fa0f03 + depends: + - python >=3.10 + - wrapt <3,>=1.10 + license: MIT + license_family: MIT + run_exports: {} + size: 15896 + timestamp: 1768934186726 +- conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 + sha256: 2695a60ff355b114d0c459458461d941d2209ec9aff152853b6a3ca8700c94ec + md5: 7b6747d7cc2076341029cff659669e8b depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: bzip2-1.0.6 + - packaging + - python + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 14487 + timestamp: 1589881524975 +- conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda + sha256: af2f05a8c61e68a97d06f9bc35c63de6fd144ea1b6a1346dcc29a5e508033aa1 + md5: 4a25cae637029c5589135903aa15b3b6 + depends: + - matplotlib-base + - python >=3.9 + license: BSD-3-Clause license_family: BSD - size: 260182 - timestamp: 1771350215188 -- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - sha256: 9f242f13537ef1ce195f93f0cc162965d6cc79da578568d6d8e50f70dd025c42 - md5: 4173ac3b19ec0a4f400b4f782910368b + run_exports: {} + size: 10632 + timestamp: 1734602698202 +- conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda + sha256: 1ef84c0cc4efd0c2d58c3cb365945edbd9ee42a1c54514d1ccba4b641005f757 + md5: 080a808fce955026bf82107d955d32da depends: - - __osx >=10.13 - license: bzip2-1.0.6 + - python >=3.10 + - python + license: BSD-3-Clause license_family: BSD - size: 133427 - timestamp: 1771350680709 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - sha256: 540fe54be35fac0c17feefbdc3e29725cce05d7367ffedfaaa1bdda234b019df - md5: 620b85a3f45526a8bc4d23fd78fc22f0 + run_exports: {} + size: 95462 + timestamp: 1768863743943 +- conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + sha256: e2753997b8bd34205f42be01b8bab8037423dc30c02a1ec12de23e5b4c0b0a2e + md5: 58638f77697c4f6726753eb8be34818b depends: - - __osx >=11.0 - license: bzip2-1.0.6 + - python >=3.10 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 303705 + timestamp: 1781320269259 +- conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda + sha256: 2c66187658069e66957b27265531e94911e9484276bb8a00a0377d25bc8d52ee + md5: a072de34cd7024a54f1b309bc9e36a3b + depends: + - python >=3.10 + - click >=8.0 + - cloudpickle >=3.0.0 + - cytoolz >=0.11.2 + - dask-core >=2025.11.0,<2025.11.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 - size: 124834 - timestamp: 1771350416561 -- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 - md5: 4cb8e6b48f67de0b018719cdf1136306 + run_exports: {} + size: 844827 + timestamp: 1762451399920 +- conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.6.0-pyhc364b38_1.conda + sha256: 2386b3b1dabe713b46d46c21758e03bc2c080a784fdd225f46c20b3b7e45c854 + md5: 2a6851a6c69ce7c0b03a89d5d4209257 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: bzip2-1.0.6 + - python >=3.10 + - click >=8.0 + - cloudpickle >=3.0.0 + - cytoolz >=0.12.0 + - dask-core >=2026.6.0,<2026.6.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.12.0 + - tornado >=6.2.0 + - zict >=3.0.0 + - python + constrains: + - openssl !=1.1.1e + license: BSD-3-Clause license_family: BSD - size: 56115 - timestamp: 1771350256444 -- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda - sha256: cc9accf72fa028d31c2a038460787751127317dcfa991f8d1f1babf216bb454e - md5: 920bb03579f15389b9e512095ad995b7 + run_exports: {} + size: 838296 + timestamp: 1781563082788 +- conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda + sha256: 5603c7d0321963bb9b4030eadabc3fd7ca6103a38475b4e0ed13ed6d97c86f4e + md5: 0a2014fd9860f8b1eaa0b1f3d3771a08 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 207882 - timestamp: 1765214722852 -- conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda - sha256: 2f5bc0292d595399df0d168355b4e9820affc8036792d6984bd751fdda2bcaea - md5: fc9a153c57c9f070bebaa7eef30a8f17 + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 41773 + timestamp: 1734729953882 +- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda + sha256: 0d605569a77350fb681f9ed8d357cc71649b59a304099dc9d09fbeec5e84a65e + md5: d6bd3cd217e62bbd7efe67ff224cd667 depends: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 186122 - timestamp: 1765215100384 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.6-hc919400_0.conda - sha256: 2995f2aed4e53725e5efbc28199b46bf311c3cab2648fc4f10c2227d6d5fa196 - md5: bcb3cba70cf1eec964a03b4ba7775f01 + - python >=3.10 + license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 + run_exports: {} + size: 438002 + timestamp: 1766092633160 +- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + sha256: def3b2566a1702fa083a8984753ac0b3e3f7381048f88714e03d55b7bd930b74 + md5: 2c3958e02221c2504ec036139e648d8b depends: - - __osx >=11.0 + - python >=3.10 + - python + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 459540 + timestamp: 1779967837277 +- conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda + sha256: d58e97d418f71703e822c422af5b9c431e3621a0ecdc8b0334c1ca33e076dfe7 + md5: c56a7fa5597ad78b62e1f5d21f7f8b8f + depends: + - python >=3.9 + - pyyaml license: MIT 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 + run_exports: {} + size: 22491 + timestamp: 1734368817583 +- conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda + sha256: 74e5def37983c19165beebbbfae4e5494b7cb030e97351114de31dcdbc91b951 + md5: 7b2af124684a994217e62c641bca2e48 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python >=3.10 license: MIT license_family: MIT - size: 193550 - timestamp: 1765215100218 -- conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.23.1-hc31b594_0.conda - sha256: b6ce82ebe3cf24e70179bd656eacfa97ce9df9a500f2cec6843043466a5e6af8 - md5: 68ceffc6cadae61846a207cae60de094 + run_exports: {} + size: 21853 + timestamp: 1762165431693 +- conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda + sha256: 65143f563da904873fe3c69cdef3f9fb3b9501fb81d20b4d3ae89eab6ad6b6d3 + md5: fc8b15af108a2fdb15ef04d12fbfe87d depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - lz4-c >=1.10.0,<1.11.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 353899 - timestamp: 1772620395951 -- conda: https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-3.1.3-hc31b594_0.conda - sha256: 4029fb93e133c0de986464c2f1b02630f141f976cb25b5b929994b34a2a51bf5 - md5: 2f0eb57a686a4e27719ce0b0076784a1 + - attrs + - multiurl >=0.3.2 + - python >=3.9 + - requests + - typing_extensions + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 26367 + timestamp: 1774961032884 +- conda: https://conda.anaconda.org/conda-forge/noarch/emoji-2.15.0-pyhd8ed1ab_0.conda + sha256: 0fd62f7d9f8538b7969b37fbb2907dac8b8ef37d90720edae763d19edd5cc2bd + md5: 31db8c55a8dda3abd4625a2880ea3d34 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - lz4-c >=1.10.0,<1.11.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 + - python >=3.10 + - typing_extensions >=4.7.0 license: BSD-3-Clause license_family: BSD - size: 388852 - timestamp: 1781097710675 -- conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-2.23.1-h548f922_0.conda - sha256: 4766ee318fd57b956875064a390d277755ad4dfeb5ef6cd7f592c31058cd7a79 - md5: ea2963a308e8fe5eba56405e7820db6c + run_exports: {} + size: 470154 + timestamp: 1758471752878 +- conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda + sha256: f010c6e406605126a6a73c21df93b522e0b035882fd40fdd162c3e504064a997 + md5: 0c06dd1da8af688335732bb47dc51dc1 depends: - - __osx >=10.13 - - libcxx >=19 - - lz4-c >=1.10.0,<1.11.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 288387 - timestamp: 1772621206480 -- conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.3-h32e32c0_0.conda - sha256: 5f230310f7dd3ecdac4ad9be4a0d36155ab2644e3b0c6b4fe57ca9d03218fed0 - md5: 815c37de0f5188366f6579ced1a684ae + - beautifulsoup4 >=4.11.1 + - pandas >=2.2.0 + - python >=3.10 + - pytz + - requests + license: MIT + license_family: MIT + run_exports: {} + size: 952643 + timestamp: 1776204877247 +- 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 + run_exports: {} + size: 21908 + timestamp: 1733749746332 +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 + md5: 8e662bd460bda79b1ea39194e3c4c9ab + depends: + - python >=3.10 + - typing_extensions >=4.6.0 + license: MIT and PSF-2.0 + run_exports: {} + size: 21333 + timestamp: 1763918099466 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c depends: - - __osx >=11.0 - - libcxx >=19 - - lz4-c >=1.10.0,<1.11.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 317880 - timestamp: 1781098863202 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-2.22.0-hb83781b_1.conda - sha256: 4c1afcc78418a5d171f94238bae8b798c288deb8ba454113cf11f10d72b09ff6 - md5: 5e4bdded23f6d61d8351223db98bc8f3 + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 30753 + timestamp: 1756729456476 +- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.4-pyhd8ed1ab_0.conda + sha256: feb5c13cc8f256212a979783a7645abd7e27925c51ee5431babbc0efc661cdfd + md5: 66f138d7a6dffb5c959cc4bf6dc2b797 depends: - - __osx >=11.0 - - libcxx >=19 - - lz4-c >=1.10.0,<1.11.0a0 - - zlib-ng >=2.3.1,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 253671 - timestamp: 1764291734763 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-3.1.3-hf9886e1_0.conda - sha256: 828449a87f57b4ccb793f1db645cf9d5a816186d978de6df31b053a57b248204 - md5: 8cbeea5e4377be5f486b94ee658590a9 + - python >=3.10 + license: Unlicense + run_exports: {} + size: 36989 + timestamp: 1781381078337 +- conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda + sha256: d02d04e24b79003442751240a7c7ad251c30e368f38808fb44c5a6e925c0436a + md5: fa9e9ec7bf26619a8edd3e11155f15d6 depends: - - __osx >=11.0 - - libcxx >=19 - - lz4-c >=1.10.0,<1.11.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 284319 - timestamp: 1781098246131 -- conda: https://conda.anaconda.org/conda-forge/win-64/c-blosc2-2.23.1-h2af8807_0.conda - sha256: 9579087e7a40372006ebda6c7aa48b36dd66effa4e4d009e1ab1ad7d8718dd0c - md5: bf3ca174f488c0bfec33d84438c0f008 + - python >=3.6 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 16541 + timestamp: 1753777739225 +- conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.conda + sha256: 3980dfba1e3900106cc3e6210294e73f50d02a67fdfe7b3bb36b2721ba9379cb + md5: 156398929bf849da6df8f89a2c390185 depends: - - lz4-c >=1.10.0,<1.11.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 + - python >=3.10 + - blinker >=1.9.0 + - click >=8.1.3 + - itsdangerous >=2.2.0 + - jinja2 >=3.1.2 + - markupsafe >=2.1.1 + - werkzeug >=3.1.0 + - python license: BSD-3-Clause license_family: BSD - size: 226837 - timestamp: 1772620607087 -- conda: https://conda.anaconda.org/conda-forge/win-64/c-blosc2-3.1.3-h2af8807_0.conda - sha256: b90794f6bb4f135d7fbf867b0a883dbaf16e79853b81511d0e5fbcf4e36b1532 - md5: ed77093408fa5590036ae62cf1c97cd5 + run_exports: {} + size: 87428 + timestamp: 1771489274528 +- conda: https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda + sha256: 782fa186d7677fd3bc1ff7adb4cc3585f7d2c7177c30bcbce21f8c177135c520 + md5: a6997a7dcd6673c0692c61dfeaea14ab depends: - - lz4-c >=1.10.0,<1.11.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zlib-ng >=2.3.3,<2.4.0a0 - - zstd >=1.5.7,<1.6.0a0 + - branca >=0.6.0 + - jinja2 >=2.9 + - numpy + - python >=3.9 + - requests + - xyzservices + license: MIT + license_family: MIT + run_exports: {} + 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 license: BSD-3-Clause license_family: BSD - size: 254001 - timestamp: 1781097986540 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda - sha256: 86981d764e4ea1883409d30447ff9da46127426d31a63df08315aaded768e652 - md5: c9b86eece2f944541b86441c94117ab3 - depends: - - __win - license: ISC - size: 130182 - timestamp: 1779289939595 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - sha256: 9812a303a1395e1dafbd92e5bc8a1ff6013bcbba0a09c7f03a8d23e43560aa9b - md5: 489b8e97e666c93f68fdb35c3c9b957f - depends: - - __unix - license: ISC - size: 129868 - timestamp: 1779289852439 -- conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - noarch: python - sha256: 561e6660f26c35d137ee150187d89767c988413c978e1b712d53f27ddf70ea17 - md5: 9b347a7ec10940d3f7941ff6c460b551 + run_exports: {} + size: 397370 + timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c + md5: 34893075a5c9e55cdafac56607368fc6 + license: OFL-1.1 + license_family: Other + run_exports: {} + size: 96530 + timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 + md5: 4d59c254e01d9cde7957100457e2d5fb + license: OFL-1.1 + license_family: Other + run_exports: {} + size: 700814 + timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 + md5: 49023d73832ef61042f6a237cb2687e7 + license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 + license_family: Other + run_exports: {} + size: 1620504 + timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 + md5: fee5683a3f04bd15cbd8318b096a27ab depends: - - cached_property >=1.5.2,<1.5.3.0a0 + - fonts-conda-forge license: BSD-3-Clause license_family: BSD - size: 4134 - timestamp: 1615209571450 -- conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - sha256: 6dbf7a5070cc43d90a1e4c2ec0c541c69d8e30a0e25f50ce9f6e4a432e42c5d7 - md5: 576d629e47797577ab0f1b351297ef4a + run_exports: {} + size: 3667 + timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 + md5: a7970cd949a077b7cb9696379d338681 depends: - - python >=3.6 + - font-ttf-ubuntu + - font-ttf-inconsolata + - font-ttf-dejavu-sans-mono + - font-ttf-source-code-pro license: BSD-3-Clause license_family: BSD - size: 11065 - timestamp: 1615209567874 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda - sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 - md5: 09262e66b19567aff4f592fb53b28760 - depends: - - __glibc >=2.17,<3.0.a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libgcc >=13 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libstdcxx >=13 - - libxcb >=1.17.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.5,<2.0a0 - - xorg-libx11 >=1.8.11,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 978114 - timestamp: 1741554591855 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - sha256: 06525fa0c4e4f56e771a3b986d0fdf0f0fc5a3270830ee47e127a5105bde1b9a - md5: bb6c4808bfa69d6f7f6b07e5846ced37 - depends: - - __glibc >=2.17,<3.0.a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.6,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 989514 - timestamp: 1766415934926 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda - sha256: 88e7e1efb6a0f6b1477e617338e0ed3d27d4572a3283f8341ce6143b7118e31a - md5: 9917add2ab43df894b9bb6f5bf485975 - depends: - - __osx >=10.13 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libcxx >=19 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 896676 - timestamp: 1766416262450 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h950ec3b_0.conda - sha256: d4297c3a9bcff9add3c5a46c6e793b88567354828bcfdb6fc9f6b1ab34aa4913 - md5: 32403b4ef529a2018e4d8c4f2a719f16 - depends: - - __osx >=10.13 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libcxx >=18 - - libexpat >=2.6.4,<3.0a0 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 893252 - timestamp: 1741554808521 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-h6a3b0d2_0.conda - sha256: 00439d69bdd94eaf51656fdf479e0c853278439d22ae151cabf40eb17399d95f - md5: 38f6df8bc8c668417b904369a01ba2e2 + run_exports: {} + size: 4059 + timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + sha256: c9752235f1ff7061d834e5e4a3d0adf71ebeeff2b3fad82dab607edce7f70c91 + md5: 0509ee74d95e5b98eb6fe2a47760e399 depends: - - __osx >=11.0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libcxx >=18 - - libexpat >=2.6.4,<3.0a0 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 896173 - timestamp: 1741554795915 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda - sha256: cde9b79ee206fe3ba6ca2dc5906593fb7a1350515f85b2a1135a4ce8ec1539e3 - md5: 36200ecfbbfbcb82063c87725434161f + - brotli + - munkres + - python >=3.10 + - unicodedata2 >=15.1.0 + track_features: + - fonttools_no_compile + license: MIT + license_family: MIT + run_exports: {} + size: 846038 + timestamp: 1778770337113 +- conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda + sha256: 2509992ec2fd38ab27c7cdb42cf6cadc566a1cc0d1021a2673475d9fa87c6276 + md5: d3549fd50d450b6d9e7dddff25dd2110 depends: - - __osx >=11.0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libcxx >=19 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 900035 - timestamp: 1766416416791 -- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - sha256: 9ee4ad706c5d3e1c6c469785d60e3c2b263eec569be0eac7be33fbaef978bccc - md5: 52ea1beba35b69852d210242dd20f97d + - cached-property >=1.3.0 + - python >=3.9,<4 + license: MPL-2.0 + license_family: MOZILLA + run_exports: {} + size: 16705 + timestamp: 1733327494780 +- conda: https://conda.anaconda.org/conda-forge/noarch/frozenlist-1.8.0-pyhf298e5d_0.conda + sha256: 5f5a4e502981700b40ffbce6e3601ff5f95305839b5d5c49d1ef1c4ed33aadde + md5: 7a2d9f4d9f57da47251b2050b149bdf8 depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only or MPL-1.1 - size: 1537783 - timestamp: 1766416059188 -- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda - sha256: b9f577bddb033dba4533e851853924bfe7b7c1623d0697df382eef177308a917 - md5: 20e32ced54300292aff690a69c5e7b97 + - python >=3.10 + track_features: + - frozenlist_no_compile + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 19878 + timestamp: 1779999782801 +- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + sha256: fe0156e6d658be3531aad2a99e42e8ad1ee23c69837d469c44c1b6010373913d + md5: 7d7e6c826ba0743fc491ebee0e7b899c depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-only or MPL-1.1 - size: 1524254 - timestamp: 1741555212198 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.25.0-py312hf79963d_1.conda - sha256: de9bb34948b0ac7025707fe0bdaa26a6f253374ddf9da8f74b2ed14943c14211 - md5: 6c913a686cb4060cbd7639a36fa144f0 + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 149709 + timestamp: 1781615868173 +- conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda + sha256: 4bcebe8f5f449b728bd0140e38c036060f22d31048e0c7980bf4cd6acdad2b62 + md5: 43dd16b113cc7b244d923b630026ff4f depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - matplotlib-base >=3.6 - - numpy >=1.23,<3 - - packaging >=21 - - pyproj >=3.3.1 - - pyshp >=2.3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely >=2.0 + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 40836 + timestamp: 1755865181359 +- conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda + sha256: ec572a0aa67606a4ee55814fb54db41fc843db05cb89360ad5c2cffa816866e2 + md5: c3cee0e0843e38698c45dfec869e9888 + depends: + - python >=3.10 license: BSD-3-Clause license_family: BSD - size: 1541225 - timestamp: 1756883734658 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda - sha256: d30f10fe1c1497406cbbf2eaeb1be71479cfc76967125cf3994b0a85ebfc3259 - md5: 63eee5b20461ca89c738160bd502363e + run_exports: {} + size: 20246 + timestamp: 1780058380978 +- conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda + sha256: c9ed18fb6270202299671f8075dd4f2fdff42220e4fd958e84629375769747f0 + md5: 4eb8b870142ca06d2a1d2c74662eac7d depends: - - __osx >=10.13 - - libcxx >=19 - - matplotlib-base >=3.6 - - numpy >=1.23,<3 - - packaging >=21 - - pyproj >=3.3.1 - - pyshp >=2.3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely >=2.0 + - folium + - geopandas-base 1.1.3 pyha770c72_0 + - mapclassify >=2.5.0 + - matplotlib-base + - pyogrio >=0.7.2 + - pyproj >=3.5.0 + - python >=3.10 + - xyzservices license: BSD-3-Clause license_family: BSD - size: 1520207 - timestamp: 1756884040833 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda - sha256: b4e4c3c765da889c4de984f0e3d290ed546efd78b81b3494bd34e7f87f95cbc5 - md5: cd69cf54cee41b81bbed095a5e2a61d7 + run_exports: {} + size: 8761 + timestamp: 1773131235020 +- conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda + sha256: b07fc3edb5cb86df52081e5cb120a03a178767ed079b5d2cd313212351460620 + md5: 18789a85c307970ae1786dfc6dfd234f depends: - - __osx >=11.0 - - libcxx >=19 - - matplotlib-base >=3.6 - - numpy >=1.23,<3 - - packaging >=21 - - pyproj >=3.3.1 - - pyshp >=2.3 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - shapely >=2.0 + - numpy >=1.24 + - packaging + - pandas >=2.0.0 + - python >=3.10 + - shapely >=2.0.0 license: BSD-3-Clause license_family: BSD - size: 1518509 - timestamp: 1756884101248 -- conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda - sha256: 4a4c6373e6acdbf14cc84ac9ed1d94edee9a933207a4187b443208dc1e0edfb0 - md5: fea4e4b20624096e12ce531ad029ed31 + run_exports: {} + size: 254983 + timestamp: 1773131233972 +- conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda + sha256: ac453c9558c48febe452c79281c632b3749baef7c04ed4b62f871709aee2aa03 + md5: 40182a8d62a61d147ec7d3e4c5c36ac2 depends: - - matplotlib-base >=3.6 - - numpy >=1.23,<3 - - packaging >=21 - - pyproj >=3.3.1 - - pyshp >=2.3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely >=2.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - geographiclib >=1.52 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 72999 + timestamp: 1734342056836 +- conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + sha256: 40fdf5a9d5cc7a3503cd0c33e1b90b1e6eab251aaaa74e6b965417d089809a15 + md5: 93f742fe078a7b34c29a182958d4d765 + depends: + - python >=3.9 + - python-dateutil >=2.8.1 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 16538 + timestamp: 1734344477841 +- conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 + md5: 7c14f3706e099f8fcd47af2d494616cc + depends: + - python >=3.9 + - smmap >=3.0.1,<6 license: BSD-3-Clause license_family: BSD - size: 1583967 - timestamp: 1756884001067 -- conda: https://conda.anaconda.org/conda-forge/noarch/cattrs-26.1.0-pyhcf101f3_1.conda - sha256: c3c5772e8f3c9080b3b89765bb9e9d88972792b54d96d546c29672965bbb8d6c - md5: eb57a77657c275d8d0b3542b070f484c + run_exports: {} + size: 53136 + timestamp: 1735887290843 +- conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda + sha256: 718c9d0cc287ffda978996c4105ddd2863dd7bad7fb5794cdd365bd809ef2fa5 + md5: 98958318a01373a615f119b1040b3027 + depends: + - gitdb >=4.0.1,<5 + - python >=3.10 + - typing_extensions >=3.10.0.2 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 162193 + timestamp: 1778065820061 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda + sha256: b6ab505ee1da1a8b732c045f4f26c32386f4d2bdf2019d06dab0d2d3c843a701 + md5: fc99cddcd8e6b37d975781e54f1770de + depends: + - python >=3.10 + - googleapis-common-protos >=1.63.2,<2.0.0 + - protobuf >=4.25.8,<8.0.0 + - proto-plus >=1.25.0,<2.0.0 + - google-auth >=2.14.1,<3.0.0 + - requests >=2.20.0,<3.0.0 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 105268 + timestamp: 1775900169330 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda + sha256: 7e3cfd82fccdd59061d032badc888f41f9a084356ba384e133892de4ae8121b4 + md5: 5fc3d86518a050fe18719eb49cd0e6ad + depends: + - python >=3.10 + - googleapis-common-protos >=1.63.2,<2.0.0 + - protobuf >=5.29.6,<8.0.0 + - proto-plus >=1.25.0,<2.0.0 + - google-auth >=2.14.1,<3.0.0 + - requests >=2.33.0,<3.0.0 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 104917 + timestamp: 1780524584750 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.55.0-pyhcf101f3_0.conda + sha256: 5f82956159783647b46678a9af687dc6d9f0efd4b662d98ba94fc54f2cdd9218 + md5: e8deca19695b2d6e31ada22746c164ec + depends: + - python >=3.10 + - pyasn1-modules >=0.2.1 + - cryptography >=38.0.3 + - aiohttp >=3.8.0,<4.0.0 + - requests >=2.20.0,<3.0.0 + - pyopenssl >=20.0.0 + - pyu2f >=0.1.5 + - rsa >=3.1.4,<5 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 150332 + timestamp: 1781607968342 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.4.3-pyhd8ed1ab_0.conda + sha256: 3e674119e8ff016a0ddd6128c3709a7a449b1dc02088e242b5df349d120ca466 + md5: 7a191cc7d8d50e6dd565f15c1b92170b + depends: + - google-api-core >=1.31.6,<3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0 + - google-auth >=1.25.0,<3.0dev + - grpcio >=1.38.0,<2.0.0dev + - python >=3.9 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 28516 + timestamp: 1741676184625 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda + sha256: fcef1d51f6de304a23c19ea6b3114dcab9ce54482d9f506f9a3e0b48be514744 + md5: 48fcccc0b579087018df0afc332b8bd6 + depends: + - python >=3.10,<3.14 + - google-api-core >=1.31.6,<3.0.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0 + - google-auth >=1.25.0,<3.0.0 + - grpcio >=1.38.0,<2.0.0 + - grpcio-status >=1.38.0,<2.0.0 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 33593 + timestamp: 1768561863777 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.6.0-pyhcf101f3_1.conda + sha256: 33ce240b20edcfab78d29931bdcdaea6159c41e1247a6b68a539676fb2655c75 + md5: 4717a98a7a939cc6695f801a2eb64f7c depends: - python >=3.10 - - attrs >=25.4.0 - - typing_extensions >=4.14.0 - - exceptiongroup >=1.1.1 + - google-api-core >=2.11.0,<3.0.0 + - google-auth >=2.14.1,<3.0.0,!=2.24.0,!=2.25.0 + - grpcio >=1.75.1,<2.0.0 + - grpcio-status >=1.47.0,<2.0.0 - python - license: MIT - license_family: MIT - size: 59678 - timestamp: 1771485958517 -- conda: https://conda.anaconda.org/conda-forge/noarch/cdsapi-0.7.7-pyhd8ed1ab_0.conda - sha256: 1237a587e35fa74b36323084e58620367a3adf7f60f201b7a9c41261958dc5d4 - md5: 1f878573c1ee2798c052bee1f5a94f50 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 33255 + timestamp: 1780580616158 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.12.0-pyhcf101f3_0.conda + sha256: dada8ff546b62c9247c355dfd949d8aaaa39ac33615eb7ad977af62e9f7704ec + md5: 9d08e3e18b2bc07d93d6cbe988c1a28d depends: - - ecmwf-datastores-client >=0.4.0 - python >=3.10 - - requests >=2.5.0 - - tqdm + - google-auth >=2.26.1,<3.0.0 + - google-api-core >=2.27.0,<3.0.0 + - google-cloud-core >=2.4.2,<3.0.0 + - google-resumable-media >=2.7.2,<3.0.0 + - requests >=2.22.0,<3.0.0 + - google-crc32c >=1.6.0,<2.0.0 + - protobuf >=3.20.2,<7.0.0 + - python license: Apache-2.0 license_family: APACHE - size: 17643 - timestamp: 1759286472486 -- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda - sha256: 645655a3510e38e625da136595f3f16f2130c3263630cc3bc8f60f619ddbe490 - md5: 9fefff2f745ea1cc2ef15211a20c054a + run_exports: {} + size: 212501 + timestamp: 1781344615309 +- conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda + sha256: 23d825ed0664a8089c7958bffd819d26e1aba7579695c40dfbdb25a4864d8be6 + md5: ba7f04ba62be69f9c9fef0c4487c210b depends: + - google-crc32c >=1.0.0,<2.0.0 - python >=3.10 - license: ISC - size: 134201 - timestamp: 1779285131141 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda - sha256: f9e906b2cb9ae800b5818259472c3f781b14eb1952e867ac5c1f548e92bf02d9 - md5: 60b9cd087d22272885a6b8366b1d3d43 - depends: - - __glibc >=2.17,<3.0.a0 - - libffi >=3.4.6,<3.5.0a0 - - libgcc >=14 - - pycparser - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 296986 - timestamp: 1758716192805 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda - sha256: 7dafe8173d5f94e46cf9cd597cc8ff476a8357fbbd4433a8b5697b2864845d9c - md5: 648ee28dcd4e07a1940a17da62eccd40 - depends: - - __glibc >=2.17,<3.0.a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - pycparser - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 295716 - timestamp: 1761202958833 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312he90777b_1.conda - sha256: e2888785e50ef99c63c29fb3cfbfb44cdd50b3bb7cd5f8225155e362c391936f - md5: cf70c8244e7ceda7e00b1881ad7697a9 - depends: - - __osx >=10.13 - - libffi >=3.5.2,<3.6.0a0 - - pycparser - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 288241 - timestamp: 1761203170357 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312hf9bc6d9_0.conda - sha256: 74d987c4e7c50404b782ff05200c835e881bb37e47b00951693b3b92371f2b07 - md5: 60bd93639037ab61a11ed14955e53848 - depends: - - __osx >=10.13 - - libffi >=3.4.6,<3.5.0a0 - - pycparser - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 289913 - timestamp: 1758716346335 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312h1b4d9a2_1.conda - sha256: 597e986ac1a1bd1c9b29d6850e1cdea4a075ce8292af55568952ec670e7dd358 - md5: 503ac138ad3cfc09459738c0f5750705 - depends: - - __osx >=11.0 - - libffi >=3.5.2,<3.6.0a0 - - pycparser - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 288080 - timestamp: 1761203317419 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312hb65edc0_0.conda - sha256: ad49c48044a5f12c7bcc6ae6a66b79f10e24e681e9f3ad4fa560b0f708a9393c - md5: 1b36501506f4ef414524891ca5f0a561 - depends: - - __osx >=11.0 - - libffi >=3.4.6,<3.5.0a0 - - pycparser - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 287573 - timestamp: 1758716529098 -- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda - sha256: 3e3bdcb85a2e79fe47d9c8ce64903c76f663b39cb63b8e761f6f884e76127f82 - md5: 46f7dccfee37a52a97c0ed6f33fcf0a3 - depends: - - pycparser - - 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 - size: 291324 - timestamp: 1761203195397 -- conda: https://conda.anaconda.org/conda-forge/noarch/cfgrib-0.9.15.1-pyhd8ed1ab_0.conda - sha256: 2f800c85e4c05167281524b59aa621f173bed37480d4df65e65e7f76818def1a - md5: 0f12f8436a2a238e255d49ea3f8aefe2 + constrains: + - aiohttp >=3.6.2,<4.0.0 + - requests >=2.18.0,<3.0.0 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 46929 + timestamp: 1763404726218 +- conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda + sha256: 987087369159875c17b9686bc22e53a9fbf1a5bdca0078fd92cecd434db367d5 + md5: d0f51913131d5b1ce26abaa7ff83a246 depends: - - attrs >=19.2 - - click - - numpy - - packaging - python >=3.10 - - python-eccodes >=0.9.8 - - setuptools - - xarray >=0.15 + - protobuf >=4.25.8,<8.0.0 + - python license: Apache-2.0 - license_family: Apache - size: 44119 - timestamp: 1759323853736 -- conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda - sha256: aa589352e61bb221351a79e5946d56916e3c595783994884accdb3b97fe9d449 - md5: 381bd45fb7aa032691f3063aff47e3a1 + license_family: APACHE + run_exports: {} + size: 149671 + timestamp: 1778157259200 +- conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.1.0-pyhcf101f3_0.conda + sha256: 1d3f13a28507e903ec8236b95162b76caee6823159f706ba0ea79f31e71f47ba + md5: ba69047bf6dd5dea12bec87f6769b874 depends: - python >=3.10 - license: MIT - license_family: MIT - size: 13589 - timestamp: 1763607964133 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cftime-1.6.5-py312h4f23490_1.conda - sha256: 02c483817cce596ab0fb79f0f64027a166e20db0c84973e61a08285d53ee463d - md5: 84bf349fad55056ed326fc550671b65c - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - numpy >=1.21.2 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 426552 - timestamp: 1768510920948 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda - sha256: 46637d1e733541eedc58496ef4891fcbe4e16738fa2cf0235333868044a3aa9e - md5: 54ba6dea57839640386fddb0349a272b + - python + license: ISC + run_exports: {} + size: 117094 + timestamp: 1782020642659 +- conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda + sha256: 040fbfe95f62f633869fad6e2069a4b12af3b2236cae1d28c79648a00e93af7f + md5: 5a2944f868149ad5a2e6588be8eed838 depends: - - __osx >=10.13 - - numpy >=1.21.2 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 395770 - timestamp: 1768511272881 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.conda - sha256: 80bb769852c90c763cdb90e55a9f2a392164de907a6df579cc8b94bff85d0158 - md5: bd54402123a03de02e03c509597c635b + - googleapis-common-protos >=1.5.5 + - grpcio >=1.73.1 + - protobuf >=6.30.0,<7.0.0 + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 18918 + timestamp: 1751787690403 +- conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.78.1-pyhcf101f3_0.conda + sha256: 89a893163e8273ee307273e78f3e8b1e5d00b73d0631b65c7ffbec8a2385118d + md5: 829271a8ea9d8024e99e43939ebb114f depends: - - __osx >=11.0 - - numpy >=1.21.2 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 387077 - timestamp: 1768511266483 -- conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda - sha256: 59f52a05804736e08b2f9d623c46b928392a17fea40993c22902f823fae02de2 - md5: 050bf7fb12ce89a057121f790d0fc659 + - python >=3.10 + - protobuf >=6.31.1,<7.0.0 + - grpcio >=1.78.1 + - googleapis-common-protos >=1.5.5 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 28097 + timestamp: 1774879207958 +- conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda + sha256: 96cac6573fd35ae151f4d6979bab6fbc90cb6b1fb99054ba19eb075da9822fcb + md5: b8993c19b0c32a2f7b66cbb58ca27069 depends: - - numpy >=1.21.2 - - 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 + - python >=3.10 + - typing_extensions + - python license: MIT license_family: MIT - size: 371147 - timestamp: 1768511070154 -- conda: https://conda.anaconda.org/conda-forge/noarch/chardet-7.4.3-pyhcf101f3_0.conda - sha256: d307dcdba7498fadeeeed616ad0fc9e1cfd6061f5d83f64fbd20be4968f1bfb9 - md5: 7dd72a4c857cd652a1e23c13099a15d2 + run_exports: {} + size: 39069 + timestamp: 1767729720872 +- 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: 0BSD - size: 627453 - timestamp: 1776140819080 -- 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 - size: 58872 - timestamp: 1775127203018 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab - md5: f22f4d4970e09d68a10b922cbb0408d3 + run_exports: {} + size: 95967 + timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda + sha256: 5bf081c0f21a57fc84b5000d53f043d63638b77dcc2137f87511a4581838c9f6 + md5: ca7f9ba8762d3e360e47917a10e23760 depends: - - __unix + - h5py + - numpy + - packaging - python >=3.9 license: BSD-3-Clause license_family: BSD - size: 84705 - timestamp: 1734858922844 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh7428d3b_0.conda - sha256: c889ed359ae47eead4ffe8927b7206b22c55e67d6e74a9044c23736919d61e8d - md5: 90e5571556f7a45db92ee51cb8f97af6 + run_exports: {} + size: 57732 + timestamp: 1769241877548 +- conda: https://conda.anaconda.org/conda-forge/noarch/hjson-py-3.1.0-pyhd8ed1ab_1.conda + sha256: b1ffd36565dc2a583ef938533aa7d3eaef0143bb5df3dccea2eb7a1b9f1ee031 + md5: 404a42a57137c137b03102161c5bb2a8 depends: - - __win - - colorama - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 85169 - timestamp: 1734858972635 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.1-pyh6dadd2b_0.conda - sha256: 5b8e8d8876ace41735f51ca43c43cdc9e1b4fbbae0f415d6b8441fec826d8c47 - md5: f73f35eedcd8e89d6c4407df15101233 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 44540 + timestamp: 1734896878029 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + sha256: fdcea5d7cb314485d3907192ef024c704311548c5b0cbeb390cd1951051e29d2 + md5: b395909221b9bd1df066e5930e18855b depends: - - __win - - colorama - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 104080 - timestamp: 1779900586237 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.1-pyhc90fa1f_0.conda - sha256: c253a41cdf898b651a0786cbb76c6d5fc101d0dbbe719f93a124bc4fde5cdd6a - md5: 554304a07e581a85891b15e39ea9f268 + license: MIT + license_family: MIT + run_exports: {} + size: 32884 + timestamp: 1782283986153 +- conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda + sha256: 04d49cb3c42714ce533a8553986e1642d0549a05dc5cc48e0d43ff5be6679a5b + md5: 4f14640d58e2cc0aa0819d9d8ba125bb depends: - - __unix + - python >=3.9 + - h11 >=0.16 + - h2 >=3,<5 + - sniffio 1.* + - anyio >=4.0,<5.0 + - certifi - python - - python >=3.10 license: BSD-3-Clause license_family: BSD - size: 104999 - timestamp: 1779900548735 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1.2-pyhd8ed1ab_0.conda - sha256: ba1ee6e2b2be3da41d70d0d51d1159010de900aa3f33fceaea8c52e9bd30a26e - md5: e9b05deb91c013e5224672a4ba9cf8d1 + run_exports: {} + size: 49483 + timestamp: 1745602916758 +- conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda + sha256: cd0f1de3697b252df95f98383e9edb1d00386bfdd03fdf607fa42fe5fcb09950 + md5: d6989ead454181f4f9bc987d3dc4e285 depends: - - click >=4.0 + - anyio + - certifi + - httpcore 1.* + - idna - python >=3.9 license: BSD-3-Clause license_family: BSD - size: 12683 - timestamp: 1750848314962 -- conda: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda - sha256: 1a52ae1febfcfb8f56211d1483a1ac4419b0028b7c3e9e61960a298978a42396 - md5: 55c7804f428719241a90b152016085a1 + run_exports: {} + size: 63082 + timestamp: 1733663449209 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + sha256: fa2071da7fab758c669e78227e6094f6b3608228740808a6de5d6bce83d9e52d + md5: 7fe569c10905402ed47024fc481bb371 depends: - - click >=4.0 - - python >=3.9,<4.0 - license: BSD-3-Clause - license_family: BSD - size: 12521 - timestamp: 1733750069604 -- conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - sha256: 4c287c2721d8a34c94928be8fe0e9a85754e90189dd4384a31b1806856b50a67 - md5: 61b8078a0905b12529abc622406cb62c + - __unix + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 73563 + timestamp: 1733928021866 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda + sha256: acdf32d1f9600091f0efc1a4293ad217074c86a96889509d3d04c13ffbc92e5a + md5: d243aef76c0a30e4c89cd39e496ea1be + depends: + - __win + - pyreadline3 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 74084 + timestamp: 1733928364561 +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 17397 + timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda + sha256: 381cedccf0866babfc135d65ee40b778bd20e927d2a5ec810f750c5860a7c5b8 + md5: 84a3233b709a289a4ddd7a2fd27dd988 + depends: + - python >=3.10 + - ukkonen + license: MIT + license_family: MIT + run_exports: {} + size: 79757 + timestamp: 1776455344188 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + sha256: c75632ea624aa450a394f570749420c5a2e0997d0216bc29d5d45b0f39df0426 + md5: 577b04680ae422adb86fc60d7b940659 depends: - python >=3.10 - python license: BSD-3-Clause license_family: BSD - size: 27353 - timestamp: 1765303462831 -- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cbc-2.10.13-h4d16d09_1.conda - sha256: 200da7fefacb1a196dd7b4b6f45106cebe017042b1491e2b27c7cc833beed8ea - md5: 5f68e67b2b9463501260e731e2999dec - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-cgl >=0.60,<0.61.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 910148 - timestamp: 1778586394891 -- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda - sha256: f1d4a5d70c6a92fe541b2f7e5aaa62c29330c947bc1e3686c8311f22d18fb19a - md5: 40182fd9a7d3be1a62939710b1bdb6b6 - depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-cgl >=0.60,<0.61.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 870663 - timestamp: 1778586928773 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda - sha256: 238328ef13c15fa87ff718ef6bfc32ee83c255f47af7d4ba07190ff865c652fa - md5: f76979642f978340ec48d809c548732f - depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-cgl >=0.60,<0.61.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 799849 - timestamp: 1778586417864 -- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda - sha256: 267c5349f017dc0264f2207dc7dbcaa723d95156381f93c70d7f5317a2936006 - md5: 1a4baa2f67377e0c55199c0f6fb243c4 - depends: - - bzip2 >=1.0.8,<2.0a0 - - coin-or-cgl >=0.60,<0.61.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - mkl-static - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 3618368 - timestamp: 1753932634209 -- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-cgl-0.60.10-hc46dffc_1.conda - sha256: 032ab70fed60c1a23656c883e51573e8f257f6450cab7ebdf1429e6264495336 - md5: 0990c6102633709868d18151e850072a + run_exports: {} + size: 163869 + timestamp: 1781620148226 +- conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda + sha256: 3efaf51a77b3d6efe30b32e0aa490103112e99c506e3e07ff745fd6f5493d731 + md5: 10ed48920132137dd2f46f2dc218d524 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 533910 - timestamp: 1778571381173 -- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda - sha256: d24abe306ba889dc0df68d318be0308e5bbefb8e64ac4736083ce733e8b6c32d - md5: 3ec0f6fb796411973969506bea6cacc0 + - python >=3.10 + - pandas >=2.2.2 + - requests >=2.32.1 + - chardet >=5.2.0 + - beautifulsoup4 >=4.12.3 + - filelock >=3.20 + - platformdirs >=4.5 + - pyarrow >=14.0 + - requests-cache >=1.2 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 33634 + timestamp: 1778659246108 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + sha256: 43e2a5497cad1598ff88a3e69f69bc88b7b8f141fa63c60eab5db296317318b8 + md5: ffc17e785d64e12fc311af9184221839 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 517062 - timestamp: 1778571926011 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda - sha256: c748d38ea6f8dd80ac1f34e4c5291bde150ae75a70b3cfe94a10a6bf609540bc - md5: a7bdd89020d6d7316c67e16f0b1db99c + - python >=3.10 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 34766 + timestamp: 1779714582554 +- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + md5: 9614359868482abba1bd15ce465e3c42 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 440213 - timestamp: 1778571470907 -- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda - sha256: 1aaa50213704ac118c6c37ee570bcf0b0d070500bc544e07da4400ea20a81abd - md5: f6c0a31bbd15559ae27c11385ff1c360 + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 13387 + timestamp: 1760831448842 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda + sha256: 994d3cb6b9b88a6533f567c50d20f2f6edc40ae3540ce2ee9629492182ab3403 + md5: a1ddab91145f7f06eee769d2f3ac69cd depends: - - bzip2 >=1.0.8,<2.0a0 - - coin-or-clp >=1.17,<1.18.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - mkl-static - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - appnope + - __osx + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 + - python constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 1004850 - timestamp: 1753923034553 -- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-clp-1.17.11-hc03379b_1.conda - sha256: e7d0bfe4e2b9bd358e538c459427f0b8a6b7e4458becea63befb536bb42959ee - md5: e79a3a170436d665098f0a40f7cd655b + - appnope >=0.1.2 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 137725 + timestamp: 1781101860049 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + sha256: e3ff0b3d5db5c31830030406f50ac2c9a5c31b86f1c2cef87a6042f0a4c77eb7 + md5: dd5c51d5c42381ba4a2e0ce32e02ba17 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 + - __win + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 + - python constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 1153761 - timestamp: 1778519879680 -- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda - sha256: 067493dbb21bcbd7992dd92819fb31154f8780067f35f3e32fd62824281cd279 - md5: f5024b1d9074dcecf90b61d3078ee01f + - appnope >=0.1.2 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 138046 + timestamp: 1781101760172 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + sha256: 305ad9226363ff5f259c404dd9a7508183a2e150739b2adc43db7d817234da66 + md5: 2b47a10e4d98334f8171ff60aea05ff3 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 + - __linux + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 + - python constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 1058209 - timestamp: 1778520478855 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda - sha256: fecf7f3b3789072f3118127da84fe9c4806ce430e011f87d2a9c303e7a394ee6 - md5: 24fa532c36ed6a2352679d46d29b3d3f + - appnope >=0.1.2 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 138635 + timestamp: 1781101665847 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda + sha256: a3f76e06c31bcf1bda0f633d5c9f1c834286b4f6decc6626067a6cffee283318 + md5: fbd58549b374103c1a80577f09a328ef depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 914273 - timestamp: 1778520263707 -- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda - sha256: 82658130feca5915961cd4ea6fdbf2712b6440aedbd7b080bf9a0b8fe4e45e18 - md5: 4fb1c61625995e7d0f14371bc0ba2852 + - __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 + - psutil >=7 + - pygments >=2.14.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - pexpect >4.6 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 652893 + timestamp: 1780654403616 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda + sha256: 3c5f2269e357118abfa49d21fdca3a35420ee5b251c2f5cb705310b38843db40 + md5: bf12187c2d1ef0bb63df01ace31ff26b + 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 + - psutil >=7 + - pygments >=2.14.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - colorama >=0.4.4 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 652076 + timestamp: 1780654438137 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda + sha256: 45821a8986b4cb2421f766b240dbe6998a3c3123f012dd566720c1322e9b6e18 + md5: 2f0ba4bc12af346bc6c99bdc377e8944 depends: - - bzip2 >=1.0.8,<2.0a0 - - coin-or-osi >=0.108,<0.109.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - mkl-static - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 3095349 - timestamp: 1753922878665 -- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-osi-0.108.12-hf4fecb4_1.conda - sha256: d81c8ddbfbc3a071413249bd70bebddb9fa036591be63e1df896ff59ab0e6eca - md5: 02578ed9fe1a1923d66effeb932e71ce + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 28153 + timestamp: 1733399692864 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 + md5: bd80ba060603cc228d9d81c257093119 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 378434 - timestamp: 1778511053515 -- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda - sha256: 2f39ed22e4d32550df15fd1c1c2f864be8dded25085562ececf30329d0f0277e - md5: c1d216e8350dfa614de9e5dbd75b1e0b + - pygments + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 13993 + timestamp: 1737123723464 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda + sha256: 8cc67e44137bb779c76d92952fdc4d8cd475605f4f0d13e8d0f04f25c056939b + md5: 47672c493015ab57d5fcde9531ab18ef depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 342553 - timestamp: 1778511424579 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda - sha256: 529f86cd97ddfb494e877b354c8e2fba36b00ad94b2609d243027e4073f74efa - md5: b1c3b86d87bc48144aa135969218d8af + - comm >=0.1.3 + - ipython >=4.0.0 + - ipython_genutils >=0.2.0,<0.3.0 + - jupyterlab_widgets >=1.0.0,<3 + - python >=3.3 + - traitlets >=4.3.1 + - widgetsnbextension >=3.6.10,<3.7.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 104860 + timestamp: 1729599554932 +- conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda + sha256: 08e838d29c134a7684bca0468401d26840f41c92267c4126d7b43a6b533b0aed + md5: 0b0154421989637d424ccf0f104be51a depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - 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 - - liblapacke >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 326662 - timestamp: 1778511593409 -- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda - sha256: 4f4b562b308dbfdda92de2d3bb2de7c8a73ffa50254e22284d51951f91f2f016 - md5: cc4d1ff10fcd007cdce8eeeeb5d2a47c + - arrow >=0.15.0 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 19832 + timestamp: 1733493720346 +- conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda + sha256: cc5c2b513143ea9675ba5b3570182f7568fd1029b299ee3bc58424dcce8c5539 + md5: 98cdd8615792e90da1023bc546f806d9 depends: - - bzip2 >=1.0.8,<2.0a0 - - coin-or-utils >=2.11,<2.12.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 737106 - timestamp: 1754085036510 -- conda: https://conda.anaconda.org/conda-forge/linux-64/coin-or-utils-2.11.13-hc93afbd_1.conda - sha256: f1fae7f3783f5dcbe91527d4b168e98b7107f9d90bf548cb1facd0b64ffccd92 - md5: 4020946ef1fad683935a408ab7127582 + - importlib-metadata >=4.6.0 + - python >=3.10,<4.0 + license: MIT + license_family: MIT + run_exports: {} + size: 72146 + timestamp: 1772278531671 +- conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda + sha256: 1684b7b16eec08efef5302ce298c606b163c18272b69a62b666fbaa61516f170 + md5: 7ac5f795c15f288984e32add616cdc59 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libblas >=3.9.0,<4.0a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 664399 - timestamp: 1778500281099 -- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda - sha256: ae892f37c38a62d41b8c9af873a216caba855db9540b43280af7015001e34363 - md5: c4a342f6ab25799f3eeb27c064d778bf + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 19180 + timestamp: 1733308353037 +- conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda + sha256: 25b76ed3b81a0fb57d5b30da0219d07375f43d44c6912ed32b164f0146c52cad + md5: 7976bc14a87522ab9af904e8aec3ee70 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libblas >=3.9.0,<4.0a0 - - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 633539 - timestamp: 1778501343735 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda - sha256: 8cf9f89d622e6a0778b4b21e5e059ad834c02e23d644f56505b73e2e2bd02edc - md5: 1d8fbd1774dbeebde80ea86e1c67652a + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 17559 + timestamp: 1734211022944 +- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + sha256: 744143551c1c7b528b82533fb641b9d7db20b2203abc4c2635c387fa6c089fc3 + md5: c2b3d37aa1411031126036ee76a8a861 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libblas >=3.9.0,<4.0a0 - - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 553075 - timestamp: 1778500827484 -- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda - sha256: 710b47e7f9693145b5edc481e1880b15f0968986317e497d2eee5be647ba7d77 - md5: 3ebcb4d90b869ac257cc40b134ed4b87 + - python >=3.10 + - parso >=0.8.6,<0.9.0 + - python + license: Apache-2.0 AND MIT + run_exports: {} + size: 2715215 + timestamp: 1782251948616 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b + md5: 04558c96691bed63104678757beb4f8d 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 - constrains: - - coincbc * *_metapackage - license: EPL-2.0 - license_family: OTHER - size: 1098659 - timestamp: 1754074610069 -- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 - md5: 962b9857ee8e7018c22f2776ffa0b2d7 + - markupsafe >=2.0 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 120685 + timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda + sha256: 904d43d5210584004cf8b38f9657c717661ae55b0fb3f60573be974e50653fa1 + md5: cc73a9bd315659dc5307a5270f44786f + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 25946 + timestamp: 1769161799923 +- conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.3-pyhd8ed1ab_0.conda + sha256: 301539229d7be6420c084490b8145583291123f0ce6b92f56be5948a2c83a379 + md5: 615de2a4d97af50c350e5cf160149e77 depends: - - python >=3.9 + - python >=3.10 + - setuptools license: BSD-3-Clause license_family: BSD - size: 27011 - timestamp: 1733218222191 -- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 - md5: 2da13f2b299d8e1995bafbbe9689a2f7 + run_exports: {} + size: 226448 + timestamp: 1765794135253 +- conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.15.0-pyhd8ed1ab_0.conda + sha256: 637400a4174880463985c7a5b6e3e0bea0aa9d0892a6c06a3a8aa2cf1208c35a + md5: 761a4a6b9cba303c66a97ca642447171 depends: - - python >=3.9 + - python >=3.10 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 39373 + timestamp: 1781926894833 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda + sha256: a3d10301b6ff399ba1f3d39e443664804a3d28315a4fb81e745b6817845f70ae + md5: 89bf346df77603055d3c8fe5811691e6 + depends: + - python >=3.10 - python license: BSD-3-Clause license_family: BSD - size: 14690 - timestamp: 1753453984907 -- conda: https://conda.anaconda.org/conda-forge/noarch/conda-inject-1.3.2-pyhd8ed1ab_0.conda - sha256: c1b355af599e548c4b69129f4d723ddcdb9f6defb939985731499cee2e26a578 - md5: e52c2a160d6bd0649c9fafdf0c813357 + run_exports: {} + size: 14190 + timestamp: 1774311356147 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 + md5: ada41c863af263cc4c5fcbaff7c3e4dc depends: - - python >=3.9.0,<4.0.0 - - pyyaml >=6.0.0,<7.0.0 + - attrs >=22.2.0 + - jsonschema-specifications >=2023.3.6 + - python >=3.10 + - referencing >=0.28.4 + - rpds-py >=0.25.0 + - python license: MIT license_family: MIT - size: 10327 - timestamp: 1717043667069 -- conda: https://conda.anaconda.org/conda-forge/noarch/configargparse-1.7.5-pyhcf101f3_0.conda - sha256: 7f8ea42a8411b433ec7244dfd30637d90564256c13a114dbe42455fe032ae89c - md5: 12389a21e7f69704b0ae77f44355e30b + run_exports: {} + size: 82356 + timestamp: 1767839954256 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 + md5: 439cd0f567d697b20a8f45cb70a1005a depends: - python >=3.10 - - toml + - referencing >=0.31.0 - python license: MIT license_family: MIT - size: 45817 - timestamp: 1773233306055 -- conda: https://conda.anaconda.org/conda-forge/noarch/connection_pool-0.0.3-pyhd3deb0d_0.tar.bz2 - sha256: 799a515e9e73e447f46f60fb3f9162f437ae1a2a00defddde84282e9e225cb36 - md5: e270fff08907db8691c02a0eda8d38ae + run_exports: {} + size: 19236 + timestamp: 1757335715225 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda + sha256: 6886fc61e4e4edd38fd38729976b134e8bd2143f7fce56cc80d7ac7bac99bce1 + md5: 8368d58342d0825f0843dc6acdd0c483 depends: - - python + - jsonschema >=4.26.0,<4.26.1.0a0 + - fqdn + - idna + - isoduration + - jsonpointer >1.13 + - rfc3339-validator + - rfc3986-validator >0.1.0 + - rfc3987-syntax >=1.1.0 + - uri-template + - webcolors >=24.6.0 license: MIT license_family: MIT - size: 8331 - timestamp: 1608581999360 -- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312h0a2e395_4.conda - sha256: 62447faf7e8eb691e407688c0b4b7c230de40d5ecf95bf301111b4d05c5be473 - md5: 43c2bc96af3ae5ed9e8a10ded942aa50 + run_exports: {} + size: 4740 + timestamp: 1767839954258 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda + sha256: b538e15067d05768d1c0532a6d9b0625922a1cce751dd6a2af04f7233a1a70e9 + md5: 9453512288d20847de4356327d0e1282 depends: - - numpy >=1.25 - - python - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - python_abi 3.12.* *_cp312 + - ipykernel + - ipywidgets + - jupyter_console + - jupyterlab + - nbconvert-core + - notebook + - python >=3.9 license: BSD-3-Clause license_family: BSD - size: 320386 - timestamp: 1769155979897 -- conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda - sha256: 6c03943009b07c6deb3a64afa094b6ca694062b58127a4da6f656a13d508c340 - md5: 625f08687ba33cc9e57865e7bf8e8123 + run_exports: {} + size: 8891 + timestamp: 1733818677113 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-builder-1.0.2-pyhcf101f3_0.conda + sha256: a845bffdbcdd1749dd4a46e47be5d4e0e1c87cdda547e3a87d297a6963ab0821 + md5: 12b0a9513f6abaa944c313c4a01d5500 depends: - - numpy >=1.25 + - jupyter_core + - python >=3.10 + - tomli + - traitlets - python - - __osx >=10.13 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 298198 - timestamp: 1769156053873 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda - sha256: fa1b3967c644c1ffaf8beba3d7aee2301a8db32c0e9a56649a0e496cf3abd27c - md5: f9cce0bc86b46533489a994a47d3c7d2 + constrains: + - nodejs >=22 + license: BSD-3-Clause AND MIT AND ISC + run_exports: {} + size: 858738 + timestamp: 1781271993460 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda + sha256: 3766e2ae59641c172cec8a821528bfa6bf9543ffaaeb8b358bfd5259dcf18e4e + md5: 0c3b465ceee138b9c39279cc02e5c4a0 depends: - - numpy >=1.25 + - importlib-metadata >=4.8.3 + - jupyter_server >=1.1.2 + - python >=3.10 - python - - python 3.12.* *_cpython - - __osx >=11.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - size: 286084 - timestamp: 1769156157865 -- conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda - sha256: 5f0dd3a4243e8293acc40abf3b11bcb23401268a1ef2ed3bce4d5a060383c1da - md5: 475bd41a63e613f2f2a2764cd1cd3b25 + run_exports: {} + size: 61633 + timestamp: 1775136333147 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + sha256: 48b18974cc93b2c0d2681563237034e521f51d1878f0bbc6a5a67ca31b1608a6 + md5: 49440e66df843bee2273937e8032ec43 depends: - - numpy >=1.25 + - jupyter_core >=5.1 + - python >=3.10 + - python-dateutil >=2.8.2 + - pyzmq >=25.0 + - tornado >=6.4.1 + - traitlets >=5.3 + - typing_extensions >=4.13.0 - python - - 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 - size: 244035 - timestamp: 1769155978578 -- conda: https://conda.anaconda.org/conda-forge/noarch/copernicusmarine-2.3.0-pyhd8ed1ab_0.conda - sha256: 88d889261b057b5465d60b778a03795b5db464077c17b3fb0ca090a94429a273 - md5: 9e18b048c69d2d72bc69d120a435d731 - depends: - - arcosparse >=0.4.0,<0.5.0 - - boto3 >=1.26 - - click >=8.0.4,!=8.2.0,<8.3.0 - - dask-core >=2022 - - h5netcdf >=1.4.0,<2.0.0 - - numpy >=1.23.0 - - pydantic >=2.9.1,<3.0.0 - - pystac >=1.8.3 - - python >=3.10 - - requests >=2.27.1 - - semver >=3.0.2 - - setuptools >=68.2.2 - - tqdm >=4.65.0 - - xarray >=2023.4.0 - - zarr >=2.13.3 - license: EUPL-1.2 - size: 87946 - timestamp: 1768809714531 -- conda: https://conda.anaconda.org/conda-forge/noarch/country_converter-1.3.2-pyhd8ed1ab_0.conda - sha256: b161a074b92715b9b6a53c35bb84abc0cecea4299ca76b0aaebab0e35b46f3dc - md5: 193a9e54636d8d70781a3e56370f5502 + run_exports: {} + size: 117954 + timestamp: 1781019994076 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda + sha256: aee0cdd0cb2b9321d28450aec4e0fd43566efcd79e862d70ce49a68bf0539bcd + md5: 801dbf535ec26508fac6d4b24adfb76e depends: - - pandas >=1.0.0 + - ipykernel >=6.14 + - ipython + - jupyter_client >=7.0.0 + - jupyter_core >=4.12,!=5.0.* + - prompt_toolkit >=3.0.30 + - pygments - python >=3.9 - license: GPL-3.0-or-later - license_family: GPL - size: 51091 - timestamp: 1761151175246 -- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - noarch: generic - sha256: d3e9bbd7340199527f28bbacf947702368f31de60c433a16446767d3c6aaf6fe - md5: f54c1ffb8ecedb85a8b7fcde3a187212 - depends: - - python >=3.12,<3.13.0a0 - - python_abi * *_cp312 - license: Python-2.0 - size: 46463 - timestamp: 1772728929620 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-48.0.1-py312ha4b625e_0.conda - sha256: 1909a5bad2a01574d102bc83ef0be757adc534c6316c85fa54123b3e33ce53fd - md5: 8b950d5ee0663fe44aa4295dd39f93d7 - depends: - - __glibc >=2.17,<3.0.a0 - - cffi >=2.0 - - libgcc >=14 - - openssl >=3.5.6,<4.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 - license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT - license_family: BSD - size: 1912321 - timestamp: 1781060958413 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-48.0.1-py312h1af399d_0.conda - sha256: 860aa48a78977de9fa0f2b92eecef99aaaf1f0d72c88d263fe6abbb1f12a71d6 - md5: 357e588c02b9d6bbdceefe8411653a5a - depends: - - __osx >=11.0 - - cffi >=2.0 - - openssl >=3.5.6,<4.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - __osx >=11.0 - license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + - pyzmq >=17 + - traitlets >=5.4 + license: BSD-3-Clause license_family: BSD - size: 1854324 - timestamp: 1781061362296 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-48.0.1-py312h1238841_0.conda - sha256: 5844b368b5d2f38dd45bf6267a9d1c54917e209f64d21302296e886990d780a7 - md5: 58d219a4b6503131c474f333b260f385 + run_exports: {} + size: 26874 + timestamp: 1733818130068 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + sha256: ed709a6c25b731e01563521ef338b93986cd14b5bc17f35e9382000864872ccc + md5: a8db462b01221e9f5135be466faeb3e0 depends: - - __osx >=11.0 - - cffi >=2.0 - - openssl >=3.5.6,<4.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - __win + - pywin32 + - platformdirs >=2.5 + - python >=3.10 + - traitlets >=5.3 + - python constrains: - - __osx >=11.0 - license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + - pywin32 >=300 + license: BSD-3-Clause license_family: BSD - size: 1854750 - timestamp: 1781060920002 -- conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-48.0.1-py312h232196e_0.conda - sha256: ae70058545691140f2f6833e648c94690ef1dabe57bfa235de1c597248fd721f - md5: 39e5d53c6966d56a64c39e1411226de9 + run_exports: {} + size: 64679 + timestamp: 1760643889625 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a + md5: b38fe4e78ee75def7e599843ef4c1ab0 depends: - - cffi >=2.0 - - openssl >=3.5.6,<4.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 - license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + - __unix + - python + - platformdirs >=2.5 + - python >=3.10 + - traitlets >=5.3 + - python + constrains: + - pywin32 >=300 + license: BSD-3-Clause license_family: BSD - size: 1645896 - timestamp: 1781061086891 -- conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda - sha256: bb47aec5338695ff8efbddbc669064a3b10fe34ad881fb8ad5d64fbfa6910ed1 - md5: 4c2a8fef270f6c69591889b93f9f55c1 + run_exports: {} + size: 65503 + timestamp: 1760643864586 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda + sha256: c7edb5682c6316a95ad781dccb1b6589cd2ec0bf94f23c21152974eb0363b5d7 + md5: bf42ee94c750c0b2e7e998b79ac299ea depends: + - jsonschema-with-format-nongpl >=4.18.0 + - packaging - python >=3.10 + - python-json-logger >=2.0.4 + - pyyaml >=5.3 + - referencing + - rfc3339-validator + - rfc3986-validator >=0.1.1 + - traitlets >=5.3 - python license: BSD-3-Clause license_family: BSD - size: 14778 - timestamp: 1764466758386 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda - sha256: 7684da83306bb69686c0506fb09aa7074e1a55ade50c3a879e4e5df6eebb1009 - md5: af491aae930edc096b58466c51c4126c + run_exports: {} + size: 24002 + timestamp: 1776861872237 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.20.0-pyhcf101f3_0.conda + sha256: 3e8759fdc404f149e7e722e0af472044a0ef9e70d0a3a7690ddcfe1232a0e868 + md5: b2ddb0e13b5600070c4019c4db8a78e6 depends: - - __glibc >=2.17,<3.0.a0 - - krb5 >=1.22.2,<1.23.0a0 - - libgcc >=13 - - libntlm >=1.8,<2.0a0 - - libstdcxx >=13 - - libxcrypt >=4.4.36 - - openssl >=3.5.5,<4.0a0 - license: BSD-3-Clause-Attribution + - anyio >=3.1.0 + - argon2-cffi >=21.1 + - jinja2 >=3.0.3 + - jupyter_client >=7.4.4 + - jupyter_core >=4.12,!=5.0.* + - jupyter_events >=0.11.0 + - jupyter_server_terminals >=0.4.4 + - nbconvert-core >=6.4.4 + - nbformat >=5.3.0 + - overrides >=5.0 + - packaging >=22.0 + - prometheus_client >=0.9 + - python >=3.10 + - pyzmq >=24 + - send2trash >=1.8.2 + - terminado >=0.8.3 + - tornado >=6.2.0 + - traitlets >=5.6.0 + - websocket-client >=1.7 + - python + license: BSD-3-Clause license_family: BSD - size: 210103 - timestamp: 1771943128249 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda - sha256: ee09ad7610c12c7008262d713416d0b58bf365bc38584dce48950025850bdf3f - md5: cae723309a49399d2949362f4ab5c9e4 + run_exports: {} + size: 363068 + timestamp: 1781713810089 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda + sha256: 5eda79ed9f53f590031d29346abd183051263227dd9ee667b5ca1133ce297654 + md5: 7b8bace4943e0dc345fc45938826f2b8 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 + - python >=3.10 + - terminado >=0.8.3 + - python + license: BSD-3-Clause license_family: BSD - size: 209774 - timestamp: 1750239039316 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.1.0-py312h4c3975b_2.conda - sha256: 75b3d3c9497cded41e029b7a0ce4cc157334bbc864d6701221b59bb76af4396d - md5: 29fd0bdf551881ab3d2801f7deaba528 + run_exports: {} + size: 22052 + timestamp: 1768574057200 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.6.0-pyhd8ed1ab_0.conda + sha256: 8a1704a556cdcec791639a788857e4abee2866f0b92e0fa0fe3e5a9d935b3d09 + md5: b838c6dcec21a6575d5f6fcaf34693be depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - toolz >=0.10.0 + - async-lru >=1.0.0 + - httpx >=0.25.0,<1 + - ipykernel >=6.5.0,!=6.30.0 + - jinja2 >=3.0.3 + - jupyter-builder >=1.0.2 + - jupyter-lsp >=2.0.0 + - jupyter_core + - jupyter_server >=2.19.0,<3 + - jupyterlab_server >=2.28.0,<3 + - notebook-shim >=0.2 + - packaging >=23.2 + - python >=3.10 + - tomli >=1.2.2 + - tornado >=6.2.0 + - traitlets license: BSD-3-Clause license_family: BSD - size: 623770 - timestamp: 1771855837505 -- conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda - sha256: 7718e3415123f406e23e88b9a2e03db94984211c07c98a1dc20dc677a624c42e - md5: db9f538ce2d80fce3d42c7b67308f3d2 + run_exports: {} + size: 13602435 + timestamp: 1781794002520 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda + sha256: dc24b900742fdaf1e077d9a3458fd865711de80bca95fe3c6d46610c532c6ef0 + md5: fd312693df06da3578383232528c468d depends: - - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - toolz >=0.10.0 + - pygments >=2.4.1,<3 + - python >=3.9 + constrains: + - jupyterlab >=4.0.8,<5.0.0 license: BSD-3-Clause license_family: BSD - size: 593863 - timestamp: 1771856019545 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py312h2bbb03f_2.conda - sha256: be8d2bf477d0bf8d19a7916c2ceccef33cbfecf918508c18b89098aa7b20017e - md5: 49389c14c49a416f458ce91491f62c67 + run_exports: {} + size: 18711 + timestamp: 1733328194037 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda + sha256: 381d2d6a259a3be5f38a69463e0f6c5dcf1844ae113058007b51c3bef13a7cee + md5: a63877cb23de826b1620d3adfccc4014 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 + - babel >=2.10 + - jinja2 >=3.0.3 + - json5 >=0.9.0 + - jsonschema >=4.18 + - jupyter_server >=1.21,<3 + - packaging >=21.3 + - python >=3.10 + - requests >=2.31 + - python license: BSD-3-Clause license_family: BSD - size: 591797 - timestamp: 1771856474133 -- conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py312he06e257_2.conda - sha256: e817c9154c917f562e378cf2898a1ff82f20c87ef465b75b2bcba94235604814 - md5: 978c009bc3f0add939e44aff97bfaee1 + run_exports: {} + size: 51621 + timestamp: 1761145478692 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda + sha256: 639544e96969c7513b33bf3201a4dc3095625e34cff16c187f5dec9bee2dfb2f + md5: 05a08b368343304618b6a88425aa851a 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 + - python >=3.7 + constrains: + - jupyterlab >=3,<5 license: BSD-3-Clause license_family: BSD - size: 563651 - timestamp: 1771855915942 -- conda: https://conda.anaconda.org/conda-forge/noarch/dash-4.2.0-pyhd8ed1ab_0.conda - sha256: 803df43937f56f51751eb403791f2ddb17156f727483b672f4d594d4dc6ae86d - md5: 3a5bbf41458303951167d7c4fb171c7f + run_exports: {} + size: 113654 + timestamp: 1729586559116 +- conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda + sha256: 49570840fb15f5df5d4b4464db8ee43a6d643031a2bc70ef52120a52e3809699 + md5: 9b965c999135d43a3d0f7bd7d024e26a depends: - - flask >=1.0.4 - - importlib-metadata - - janus >=1.0.0 - - nest-asyncio - - plotly >=5.0.0 + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 94312 + timestamp: 1761596921009 +- conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 + sha256: 5210d31c8f2402dd1ad1b3edcf7a53292b9da5de20cd14d9c243dbf9278b1c4f + md5: 8d67904973263afd2985ba56aa2d6bb4 + depends: + - python + - six + license: MIT + license_family: MIT + run_exports: {} + size: 18212 + timestamp: 1592937373647 +- conda: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.1.0-pyhcf101f3_0.conda + sha256: 991a82fbb64aba6d10719a017ce354e28df02ea5df1d9c7b0221da573c168d27 + md5: 1005e1f39083adad2384772e8e384e43 + depends: + - python >=3.10 + - uc-micro-py + license: MIT + license_family: MIT + run_exports: {} + size: 26062 + timestamp: 1772476821244 +- conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda + sha256: 7f72acdc54cf9558bccfea6f72adc851e983e4b75b012665b746bba2b2705344 + md5: 1a3c574f48195d3f9cf069d87c4f28fc + depends: + - bottleneck + - dask-core >=0.18.0 + - deprecation + - google-cloud-storage + - numexpr + - numpy <2.0 + - polars - python >=3.10 - requests - - retrying - - setuptools - - typing_extensions >=4.1.1 - - werkzeug - constrains: - - dash-core-components >=2.0.0 - - dash_table >=5.0.0 - - dash-html-components >=2.0.0 + - scipy + - toolz + - tqdm + - xarray >=2024.2.0 + license: MIT + license_family: MIT + run_exports: {} + size: 83528 + timestamp: 1757081816303 +- conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.6-pyhc364b38_1.conda + sha256: 1d46bb40bcccf85c06a6c4146715c1cd4cec3185d39587233fe18c4394a41d87 + md5: c1c64645ec79275e496eeefb689d4d47 + depends: + - python >=3.11 + - numpy + - scipy + - bottleneck + - toolz + - numexpr + - xarray >=2024.2.0 + - dask-core >=0.18.0 + - polars >=1.31.1 + - tqdm + - deprecation + - packaging + - google-cloud-storage + - requests + - python + license: MIT + license_family: MIT + run_exports: {} + size: 100245 + timestamp: 1774520821548 +- 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 + run_exports: {} + size: 8250 + timestamp: 1650660473123 +- conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + sha256: e4a07f357a4cf195a2345dabd98deab80f4d53574abe712a9cc7f22d3f2cc2c3 + md5: 49647ac1de4d1e4b49124aedf3934e02 + depends: + - __unix + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 59696 + timestamp: 1746634858826 +- conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh7428d3b_0.conda + sha256: 647ce9601c1a63af4710a2d718a74fa521da28262c41bbf86189f6c0906b23f6 + md5: a6c25c54d8d524735db2e5785aec0a4e + depends: + - __win + - colorama >=0.3.4 + - python >=3.9 + - win32_setctime >=1.0.0 license: MIT license_family: MIT - size: 4920601 - timestamp: 1780399192294 -- conda: https://conda.anaconda.org/conda-forge/noarch/dash-bootstrap-components-2.0.4-pyhcf101f3_0.conda - sha256: 1c4ffc5e113140b2c9396c961fa17ad2d0946457b5472a14e0b37136d39bbe0d - md5: 26af33c7e6ae117319e93843e238d165 + run_exports: {} + size: 60119 + timestamp: 1746634872414 +- conda: https://conda.anaconda.org/conda-forge/noarch/mako-1.3.12-pyhcf101f3_0.conda + sha256: d06d02574be3892020262464b49360a749c1d448ed9f0de52fe8a08bc1483261 + md5: a73036dabdd6dfe9679ed893baa8b230 depends: - - python >=3.10,<4.0 - - dash >=3.0.4 + - python >=3.10 + - importlib-metadata + - markupsafe >=0.9.2 - python - license: Apache-2.0 - license_family: APACHE - size: 120916 - timestamp: 1755725778597 -- conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.11.0-pyhcf101f3_0.conda - sha256: 8c4b681857ea44f4a299997a024509c21b1c054bbc0335ad82cc1bbfef4a8880 - md5: 1f97a470dbcf4a633e8da14e08428d42 + license: MIT + license_family: MIT + run_exports: {} + size: 72185 + timestamp: 1777410001911 +- 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 + run_exports: {} + size: 810830 + timestamp: 1752271625200 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda + sha256: 20e0892592a3e7c683e3d66df704a9425d731486a97c34fc56af4da1106b2b6b + md5: ba0a9221ce1063f31692c07370d062f3 depends: + - importlib-metadata >=4.4 - python >=3.10 - - dask-core >=2025.11.0,<2025.11.1.0a0 - - distributed >=2025.11.0,<2025.11.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 - size: 11723 - timestamp: 1762461029811 -- conda: https://conda.anaconda.org/conda-forge/noarch/dask-2026.3.0-pyhc364b38_0.conda - sha256: fe59c26dc20a47aa56fc38a2326f2a62403f3eed366837c1a0fba166a220d2b7 - md5: f9761ef056ba0ccef16e01cfceee62c2 + run_exports: {} + size: 85893 + timestamp: 1770694658918 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + sha256: 0c4c35376fe920714390d46e4b8d31c876d65f18e1655899e0763ec25f2a902f + md5: 6d03368f2b2b0a5fb6839df53b2eb5e0 depends: + - mdurl >=0.1,<1 - python >=3.10 - - dask-core >=2026.3.0,<2026.3.1.0a0 - - distributed >=2026.3.0,<2026.3.1.0a0 - - cytoolz >=0.11.2 - - lz4 >=4.3.2 - - numpy >=1.26 - - pandas >=2.0 - - bokeh >=3.1.0 - - jinja2 >=2.10.3 - - pyarrow >=16.0 - - python - constrains: - - openssl !=1.1.1e + license: MIT + license_family: MIT + run_exports: {} + size: 69017 + timestamp: 1778169663339 +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + sha256: 35b43d7343f74452307fd018a1cca92b8f68961ff8e2ab6a81ce0a703c9a3764 + md5: 9acc1c385be401d533ff70ef5b50dae6 + depends: + - python >=3.10 + - traitlets license: BSD-3-Clause license_family: BSD - size: 11383 - timestamp: 1773913283482 -- conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.11.0-pyhcf101f3_0.conda - sha256: a1fa1457cf759d90deb87c258da393809285b807ecef47a317d210fa4fa9f7fb - md5: 91549f296c15ef7b49ee6600e7c934c1 + run_exports: {} + size: 15725 + timestamp: 1778264403247 +- conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + sha256: 9b0037171dad0100f0296699a11ae7d355237b55f42f9094aebc0f41512d96a1 + md5: 827064ddfe0de2917fb29f1da4f8f533 + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 12934 + timestamp: 1733216573915 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + sha256: 49db23cbfb1c1d414a14d7540195208b994ebd747beba0f15c903f3a0a2dc446 + md5: ad6821df7a98510117db06e9a833281f depends: + - markdown-it-py >=2.0.0,<5.0.0 - 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 + license: MIT + license_family: MIT + run_exports: {} + size: 50460 + timestamp: 1778692223625 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + md5: 592132998493b3ff25fd7479396e8351 + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 14465 + timestamp: 1733255681319 +- conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda + sha256: 737616a517a15c9d8a56602f54eff7aeb81491711c2f5634bc2b6873af1b4037 + md5: e1bccffd88819e75729412799824e270 + depends: + - python >=3.10 + - psutil - python license: BSD-3-Clause license_family: BSD - size: 1060758 - timestamp: 1762449427391 -- conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2026.3.0-pyhc364b38_0.conda - sha256: 5497e56b12b8a07921668f6469d725be9826ffe5ae8a2f6f71d26369400b41ca - md5: 809f4cde7c853f437becc43415a2ecdf + run_exports: {} + size: 36168 + timestamp: 1764885507963 +- conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + sha256: e5b555fd638334a253d83df14e3c913ef8ce10100090e17fd6fb8e752d36f95d + md5: d9a8fc1f01deae61735c88ec242e855c + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 11676 + timestamp: 1734157119152 +- conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.3.2-pyhcf101f3_0.conda + sha256: b8e38b0c5090f8cf1826c3f77e9db682c5d7b56ab6a434e6e2b528abc591048c + md5: e92e7aa653b4c71d0cd3cd39eadc302f 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.12.0 - - importlib-metadata >=4.13.0 + - typing_extensions - python license: BSD-3-Clause license_family: BSD - size: 1066502 - timestamp: 1773823162829 -- 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 - size: 447649 - timestamp: 1764536047944 -- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda - sha256: 3b988146a50e165f0fa4e839545c679af88e4782ec284cc7b6d07dd226d6a068 - md5: 679616eb5ad4e521c83da4650860aba7 + run_exports: {} + size: 86960 + timestamp: 1782218255079 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + sha256: 902d2e251f9a7ffa7d86a3e62be5b2395e28614bd4dbe5f50acf921fd64a8c35 + md5: 14661160be39d78f2b210f2cc2766059 depends: - - libstdcxx >=13 - - libgcc >=13 - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libexpat >=2.7.0,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - libglib >=2.84.2,<3.0a0 - license: GPL-2.0-or-later - license_family: GPL - size: 437860 - timestamp: 1747855126005 -- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda - sha256: b8dbe25820064a099f315bbb8f45f5bac3fddb63e96af3cbf0c93a830733ef34 - md5: e6778419a1851f6e15820558abddfa04 + - click >=7.0,<8.3.0a0 + - colorama >=0.4 + - ghp-import >=1.0 + - importlib-metadata >=4.4 + - jinja2 >=2.11.1 + - markdown >=3.3.6 + - markupsafe >=2.0.1 + - mergedeep >=1.3.4 + - mkdocs-get-deps >=0.2.0 + - packaging >=20.5 + - pathspec >=0.11.1 + - python >=3.9 + - pyyaml >=5.1 + - pyyaml-env-tag >=0.1 + - watchdog >=2.0 + constrains: + - babel >=2.9.0 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 3524754 + timestamp: 1734344673481 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda + sha256: 2badce31930bc16c54e95c0f1bb03009b67b4525df005ac11365dcd8cfdf7604 + md5: 3ccacc29f132fcc46a544b9b8fcbc293 + depends: + - markdown >=3.3 + - markupsafe >=2.0.1 + - mkdocs >=1.1 + - pymdown-extensions + - python >=3.10 + license: ISC + run_exports: {} + size: 35803 + timestamp: 1770749168710 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-bibtex-4.4.0-pyhd8ed1ab_0.conda + sha256: 5e0547ff31804da580080576e2b071b8c1a0dea45fcb6aa6f268630713f9fcfd + md5: dd7bcdd2471078a2d3b5d376117372e1 + depends: + - mkdocs >=1.2 + - pybtex >=0.22 + - pypandoc >=1.5 + - python >=3.9 + - requests >=2.8.1 + - responses >=0.25.6 + - setuptools >=68.0.0 + - validators >=0.19.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 19404 + timestamp: 1751397339056 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.2-pyhd8ed1ab_0.conda + sha256: fad4463b52def6214f64dfb918ad77ec4feb4c5d1072838dcf693dab860fde52 + md5: 4e396e96b60a1f616da1f0e5fceae543 + depends: + - importlib-metadata >=4.3 + - mergedeep >=1.3.4 + - platformdirs >=2.2.0 + - python >=3.10 + - pyyaml >=5.1 + license: MIT + license_family: MIT + run_exports: {} + size: 15572 + timestamp: 1773570672864 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-macros-plugin-1.5.0-pyhd8ed1ab_0.conda + sha256: 58858ecb69e17d96c70dea3ef472f4c764e7845e342134b239d716590383f194 + md5: 33fe848c8741e64dc856a0db6035112b depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python_abi 3.12.* *_cp312 + - hjson-py + - jinja2 + - mkdocs >=0.17 + - packaging + - pathspec + - python >=3.10 + - python-dateutil + - pyyaml + - super-collections + - termcolor license: MIT license_family: MIT - size: 2821960 - timestamp: 1780390159181 -- conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py312h4075484_0.conda - sha256: e512cf9a11116a05f43a40c1a2a57f094945a80b514c77638c770897be3f4308 - md5: bd3377921dea4d723151ace2334ee481 + run_exports: {} + size: 38717 + timestamp: 1763024056285 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda + sha256: 75cc95f2f9d29bc1373fd5c34b334b6b7a6bd9c745ca03105361b21b43f12b32 + md5: 13add6b0be6d719b4e2d1821ad10fcce depends: + - python >=3.10 + - jinja2 >=3.1 + - markdown >=3.2 + - mkdocs >=1.6,<2 + - mkdocs-material-extensions >=1.3 + - pygments >=2.16 + - pymdown-extensions >=10.2 + - babel >=2.10 + - colorama >=0.4 + - paginate >=0.5 + - backrefs >=5.7.post1 + - requests >=2.30 - python - - __osx >=11.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 2757708 - timestamp: 1780390224238 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py312h6510ced_0.conda - sha256: 80589b2da39c84c0786f13a0a4c98cde9a879207af0482bd1f9b29d2f6fe277b - md5: 178381b74c5e84ea90751c5e4291c41e + run_exports: {} + size: 4800629 + timestamp: 1774620149583 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda + sha256: f62955d40926770ab65cc54f7db5fde6c073a3ba36a0787a7a5767017da50aa3 + md5: de8af4000a4872e16fb784c649679c8e depends: - - python - - __osx >=11.0 - - libcxx >=19 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 + - python >=3.9 + constrains: + - mkdocs-material >=5.0.0 license: MIT license_family: MIT - size: 2742535 - timestamp: 1780390215643 -- conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda - sha256: a41f403ca4b7b0c001140ac7a39fce1c0494ba95e8359f7a47590ed4377728a2 - md5: 5628287239c9ef6df2d66dc143f7c8dd + run_exports: {} + size: 16122 + timestamp: 1734641109286 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-table-reader-plugin-3.1.0-pyhd8ed1ab_0.conda + sha256: 2d81889f195ed4ac50128a7485e7dfa65e692e71721913617796141e02ff02b4 + md5: 027d48d01eb97a1175c66d6ac8f24ff8 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - mkdocs >=1.0 + - pandas >=1.1 + - python >=3.6 + - pyyaml >=5.4.1 + - tabulate >=0.8.7 license: MIT license_family: MIT - size: 3995148 - timestamp: 1780390185301 -- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda - sha256: 430bd9d731b265f0bedb3183ac3ecfaa1656390c092b6e864ff8cc1229843c8c - md5: 61dcf784d59ef0bd62c57d982b154ace + run_exports: {} + size: 15076 + timestamp: 1724961317361 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.4-pyhd8ed1ab_0.conda + sha256: 0308b39b5075ef1e22d86428f823233f2aceb15dde3b8d7f3ca7c188841a9461 + md5: 16daae041f30331f48aafc583c517124 depends: + - click >=7.0 + - importlib-metadata >=4.6 + - jinja2 >=3.1 + - markdown >=3.6 + - markupsafe >=1.1 + - mkdocs >=1.6 + - mkdocs-autorefs >=1.4 + - pymdown-extensions >=6.3 + - python >=3.10,<4.0 + - typing-extensions >=4.1 + license: ISC + run_exports: {} + size: 36866 + timestamp: 1781179181607 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.5-pyh332efcf_0.conda + sha256: 4911284019fb162242268796e56235603af0481aeb4a9f6d9ec04351bd639c0c + md5: f2485a815c8aaa77078b60fb6bf8b87f + depends: + - griffelib >=2.0 + - mkdocs-autorefs >=1.4 + - mkdocstrings >=0.30 - python >=3.10 - license: BSD-2-Clause - license_family: BSD - size: 16102 - timestamp: 1779115228886 -- conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - sha256: 9717a059677553562a8f38ff07f3b9f61727bd614f505658b0a5ecbcf8df89be - md5: 961b3a227b437d82ad7054484cfa71b2 + - typing_extensions >=4.0 + license: ISC + run_exports: {} + size: 58211 + timestamp: 1781899246125 +- conda: https://conda.anaconda.org/conda-forge/noarch/multidict-6.7.1-pyh62beb40_0.conda + sha256: e9933d2526345a4a1c08b76f2322dd482122b683369b0536605353b5b153d755 + md5: ad92dba7ca0af0e3dca083a0fa6a3423 depends: - - python >=3.6 - license: PSF-2.0 - license_family: PSF - size: 24062 - timestamp: 1615232388757 -- conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_1.conda - sha256: 7d57a7b8266043ffb99d092ebc25e89a0a2490bed4146b9432c83c2c476fa94d - md5: 5498feb783ab29db6ca8845f68fa0f03 + - python >=3.10 + - typing-extensions >=4.1.0 + track_features: + - multidict_no_compile + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 37745 + timestamp: 1771610804457 +- conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.9-pyhd8ed1ab_0.conda + sha256: b9aa4facea0c17bbfcc2633316c58a82223e6694ed32b80e178318db268c701f + md5: d4e8f98a575bf884db81344e7a9fbe95 + depends: + - python >=3.10 + - python-dateutil + - pytz + - requests + - tqdm + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 27886 + timestamp: 1781777345896 +- 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 + run_exports: {} + size: 15851 + timestamp: 1749895533014 +- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 + md5: e9c622e0d00fa24a6292279af3ab6d06 + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 11766 + timestamp: 1745776666688 +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda + sha256: dd2744a501f2db0aef084566bf3d0c2b312661dc91beb5a4cc97d27cdda0a959 + md5: 9450fb40fb1e147d0bcbdf07cd02ca96 depends: - python >=3.10 - - wrapt <3,>=1.10 + - python license: MIT license_family: MIT - size: 15896 - timestamp: 1768934186726 -- conda: https://conda.anaconda.org/conda-forge/noarch/deprecation-2.1.0-pyh9f0ad1d_0.tar.bz2 - sha256: 2695a60ff355b114d0c459458461d941d2209ec9aff152853b6a3ca8700c94ec - md5: 7b6747d7cc2076341029cff659669e8b + run_exports: {} + size: 285532 + timestamp: 1780672242196 +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 + md5: e941e85e273121222580723010bd4fa2 depends: - - packaging + - python >=3.9 - python - license: Apache-2.0 - license_family: Apache - size: 14487 - timestamp: 1589881524975 -- conda: https://conda.anaconda.org/conda-forge/noarch/descartes-1.1.0-pyhd8ed1ab_5.conda - sha256: af2f05a8c61e68a97d06f9bc35c63de6fd144ea1b6a1346dcc29a5e508033aa1 - md5: 4a25cae637029c5589135903aa15b3b6 + license: MIT + license_family: MIT + run_exports: {} + size: 39262 + timestamp: 1770905275632 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + sha256: eceb424236fbbb9b337a857fe5448307b57a2a3fb2db389ae37e7a8b8cdca2ab + md5: cf01a81d7960ad9c829bf2e794fcee9a depends: - - matplotlib-base - - python >=3.9 + - jupyter_client >=7.0.0 + - jupyter_core >=5.4 + - nbformat >=5.2.0 + - python >=3.10 + - traitlets >=5.13 license: BSD-3-Clause license_family: BSD - size: 10632 - timestamp: 1734602698202 -- conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.4.1-pyhcf101f3_0.conda - sha256: 1ef84c0cc4efd0c2d58c3cb365945edbd9ee42a1c54514d1ccba4b641005f757 - md5: 080a808fce955026bf82107d955d32da + run_exports: {} + size: 29138 + timestamp: 1780661039538 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda + sha256: ab2ac79c5892c5434d50b3542d96645bdaa06d025b6e03734be29200de248ac2 + md5: 2bce0d047658a91b99441390b9b27045 depends: + - beautifulsoup4 + - bleach-with-css !=5.0.0 + - defusedxml + - importlib-metadata >=3.6 + - jinja2 >=3.0 + - jupyter_core >=4.7 + - jupyterlab_pygments + - markupsafe >=2.0 + - mistune >=2.0.3,<4 + - nbclient >=0.5.0 + - nbformat >=5.7 + - packaging + - pandocfilters >=1.4.1 + - pygments >=2.4.1 - python >=3.10 + - traitlets >=5.1 - python + constrains: + - pandoc >=2.9.2,<4.0.0 + - nbconvert ==7.17.1 *_0 license: BSD-3-Clause license_family: BSD - size: 95462 - timestamp: 1768863743943 -- conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.2-pyhcf101f3_0.conda - sha256: 7fb146a2e483e1b8d8be777bc7d03e5fa4974e4225a0774d4a9a4a5e3ea44c01 - md5: 141ec0ac00f1c946cb058d4e710f269a + run_exports: {} + size: 202229 + timestamp: 1775615493260 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 + md5: bbe1963f1e47f594070ffe87cdf612ea + depends: + - jsonschema >=2.6 + - jupyter_core >=4.12,!=5.0.* + - python >=3.9 + - python-fastjsonschema >=2.15 + - traitlets >=5.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 100945 + timestamp: 1733402844974 +- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 + md5: 598fd7d4d0de2455fb74f56063969a97 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 11543 + timestamp: 1733325673691 +- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 + md5: fcd832bfd4749e9b246112b6894f97fc depends: - python >=3.10 - python - license: Apache-2.0 - license_family: APACHE - size: 303675 - timestamp: 1780988738861 -- conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.11.0-pyhcf101f3_0.conda - sha256: 2c66187658069e66957b27265531e94911e9484276bb8a00a0377d25bc8d52ee - md5: a072de34cd7024a54f1b309bc9e36a3b + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 15903 + timestamp: 1770973502283 +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 + md5: a2c1eeadae7a309daed9d62c96012a2b depends: - - python >=3.10 - - click >=8.0 - - cloudpickle >=3.0.0 - - cytoolz >=0.11.2 - - dask-core >=2025.11.0,<2025.11.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 >=3.11 - python constrains: - - openssl !=1.1.1e + - numpy >=1.25 + - scipy >=1.11.2 + - matplotlib-base >=3.8 + - pandas >=2.0 license: BSD-3-Clause license_family: BSD - size: 844827 - timestamp: 1762451399920 -- conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2026.3.0-pyhc364b38_0.conda - sha256: 49cbb318f7a1797b9f17c135c9b5c48ba2086570a58c99054d3b40bf13a5b815 - md5: 8efb90a27e3b948514a428cb99f3fc70 + run_exports: {} + size: 1587439 + timestamp: 1765215107045 +- conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda + sha256: 4fa40e3e13fc6ea0a93f67dfc76c96190afd7ea4ffc1bac2612d954b42cdc3ee + md5: eb52d14a901e23c39e9e7b4a1a5c015f depends: - python >=3.10 - - click >=8.0 - - cloudpickle >=3.0.0 - - cytoolz >=0.12.0 - - dask-core >=2026.3.0,<2026.3.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.12.0 + - setuptools + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 40866 + timestamp: 1766261270149 +- conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + sha256: d38542a151a90417065c1a234866f97fd1ea82a81de75ecb725955ab78f88b4b + md5: 9a66894dfd07c4510beb6b3f9672ccc0 + constrains: + - mkl <0.a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 3843 + timestamp: 1582593857545 +- conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.6.0-pyhcf101f3_0.conda + sha256: 5b48c26a966caae81169cc8056321a4c139103880eb01e1f4f02ad6ff9390421 + md5: d9eb17006787e506bcb70f16daf1b1c1 + depends: + - jupyter_server >=2.19.0,<3 + - jupyter-builder >=1.0.2,<2 + - jupyterlab >=4.6.0,<4.7 + - jupyterlab_server >=2.28.0,<3 + - notebook-shim >=0.2,<0.3 + - python >=3.10 - 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 - size: 845608 - timestamp: 1773858577032 -- conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - sha256: 5603c7d0321963bb9b4030eadabc3fd7ca6103a38475b4e0ed13ed6d97c86f4e - md5: 0a2014fd9860f8b1eaa0b1f3d3771a08 + run_exports: {} + size: 4629848 + timestamp: 1781800954960 +- conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda + sha256: 7b920e46b9f7a2d2aa6434222e5c8d739021dbc5cc75f32d124a8191d86f9056 + md5: e7f89ea5f7ea9401642758ff50a2d9c1 depends: + - jupyter_server >=1.8,<3 - python >=3.9 - license: Apache-2.0 - license_family: APACHE - size: 41773 - timestamp: 1734729953882 -- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 - md5: 24c1ca34138ee57de72a943237cde4cc + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 16817 + timestamp: 1733408419340 +- conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda + sha256: dfa8222df90736fa13f8896f5a573a50273af8347542d412c3bd1230058e56a5 + md5: d4f3f31ee39db3efecb96c0728d4bdbf depends: + - blinker + - cryptography + - pyjwt >=1.0.0 - python >=3.9 - license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 - size: 402700 - timestamp: 1733217860944 -- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.22.4-pyhd8ed1ab_0.conda - sha256: 0d605569a77350fb681f9ed8d357cc71649b59a304099dc9d09fbeec5e84a65e - md5: d6bd3cd217e62bbd7efe67ff224cd667 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 102059 + timestamp: 1750415349440 +- conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.5.0-pyhc364b38_0.conda + sha256: b6fc16acdd5dd2e45bc5bd73f9016146586cef9b2f1264035b686c085d2fd2e1 + md5: b9f2040f64c84731ac3f497c992d2656 depends: - python >=3.10 - license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 - size: 438002 - timestamp: 1766092633160 -- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - sha256: def3b2566a1702fa083a8984753ac0b3e3f7381048f88714e03d55b7bd930b74 - md5: 2c3958e02221c2504ec036139e648d8b + - filelock >=3.20.3 + - joblib >=1.4 + - openpyxl >=3.1.0 + - pandas >=2.2.0 + - platformdirs >=4.5.0 + - pyarrow >=14.0.0 + - requests >=2.33.0 + - requests-cache >=1.2.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 53170 + timestamp: 1776167706355 +- conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda + sha256: dc6f9e0c5ab1df624fbd01073be6aabb0282b7abe9797c5099e3c27888b8a150 + md5: 0c5f9ee81f0fac33b7fac8c7591913e6 + depends: + - python >=3.10 + - filelock >=3.20.3 + - inflate64 >=1.0.0 + - joblib >=1.4 + - openpyxl >=3.1.0 + - pandas >=2.2.0 + - platformdirs >=4.5.0 + - pyarrow >=14.0.0 + - requests >=2.33.0 + - requests-cache >=1.2.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 58701 + timestamp: 1777469373977 +- conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda + sha256: 1840bd90d25d4930d60f57b4f38d4e0ae3f5b8db2819638709c36098c6ba770c + md5: e51f1e4089cad105b6cac64bd8166587 + depends: + - python >=3.9 + - typing_utils + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 30139 + timestamp: 1734587755455 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: 58335b26c38bf4a20f399384c33cbcf9 + depends: + - python >=3.8 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 62477 + timestamp: 1745345660407 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 + md5: 4c06a92e74452cfa53623a81592e8934 depends: - - python >=3.10 + - python >=3.8 - python - license: LGPL-3.0-only - license_family: LGPL - size: 459540 - timestamp: 1779967837277 -- conda: https://conda.anaconda.org/conda-forge/noarch/donfig-0.8.1.post1-pyhd8ed1ab_1.conda - sha256: d58e97d418f71703e822c422af5b9c431e3621a0ecdc8b0334c1ca33e076dfe7 - md5: c56a7fa5597ad78b62e1f5d21f7f8b8f + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 91574 + timestamp: 1777103621679 +- conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda + sha256: f6fef1b43b0d3d92476e1870c08d7b9c229aebab9a0556b073a5e1641cf453bd + md5: c3f35453097faf911fd3f6023fc2ab24 depends: - python >=3.9 - - pyyaml license: MIT license_family: MIT - size: 22491 - timestamp: 1734368817583 -- 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 - size: 69544 - timestamp: 1739569648873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda - sha256: 40cdd1b048444d3235069d75f9c8e1f286db567f6278a93b4f024e5642cfaecc - md5: dbe3ec0f120af456b3477743ffd99b74 + run_exports: {} + size: 18865 + timestamp: 1734618649164 +- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda + sha256: 6f38ed60c3ba34c729708701f5a9798dfa396f62c5db704ce2e16aae78b86ed0 + md5: 33197d0b44a95fa6ea53c04db06a4f94 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - size: 71809 - timestamp: 1765193127016 -- conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.3.1-he0c23c2_0.conda - sha256: b1fee32ef36a98159f0a2a96c4e734dfc9adff73acd444940831b22c1fb6d5c0 - md5: e9a1402439c18a4e3c7a52e4246e9e1c + - pandera-base ==0.31.1 pyhcf101f3_0 + - pandas >=2.1.1 + - numpy >=1.24.4 + license: MIT + license_family: MIT + run_exports: {} + size: 4431 + timestamp: 1777000436203 +- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda + sha256: d197f0ad887b9896f118e6bf9604f4ca955de49561b776e9c69b8e7cd4382cca + md5: 531ff805a1551c6caaf976d577ea233c depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-3-Clause - license_family: BSD - size: 71355 - timestamp: 1739570178995 -- conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - sha256: 09e30a170e0da3e9847d449b594b5e55e6ae2852edd3a3680e05753a5e015605 - md5: 3d3caf4ccc6415023640af4b1b33060a + - python >=3.10 + - packaging >=20.0 + - pydantic + - typeguard + - typing_extensions + - typing_inspect >=0.6.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 230747 + timestamp: 1777000436203 +- conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + sha256: 2bb9ba9857f4774b85900c2562f7e711d08dd48e2add9bee4e1612fbee27e16f + md5: 457c2c8c08e54905d6954e79cb5b5db9 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python !=3.0,!=3.1,!=3.2,!=3.3 license: BSD-3-Clause license_family: BSD - size: 70943 - timestamp: 1765193243911 -- conda: https://conda.anaconda.org/conda-forge/noarch/dpath-2.2.0-pyha770c72_1.conda - sha256: 74e5def37983c19165beebbbfae4e5494b7cb030e97351114de31dcdbc91b951 - md5: 7b2af124684a994217e62c641bca2e48 + run_exports: {} + size: 11627 + timestamp: 1631603397334 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + sha256: 611882f7944b467281c46644ffde6c5145d1a7730388bcde26e7e86819b0998e + md5: 39894c952938276405a1bd30e4ce2caf depends: - python >=3.10 + - python license: MIT license_family: MIT - size: 21853 - timestamp: 1762165431693 -- conda: https://conda.anaconda.org/conda-forge/linux-64/eccodes-2.46.0-h83bc92c_0.conda - sha256: 2a00d4fda4ce24dff71bc97b6a57cd61fa98be25da38d387d3935cfb8d84cdc3 - md5: 0f73a3e483c4fbc7bf6fb840d816c5a5 - depends: - - __glibc >=2.17,<3.0.a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - jasper >=4.2.8,<5.0a0 - - libaec >=1.1.5,<2.0a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: Apache-2.0 - license_family: Apache - size: 4796539 - timestamp: 1772362605927 -- conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda - sha256: c076a600b5906d07d0901cd0c81f9d3eb65534ec5d26b99bdfdfd3c86430c97c - md5: 57155fbc8bcf8ca83b670f29163639e9 + run_exports: {} + size: 82472 + timestamp: 1777722955579 +- conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda + sha256: 472fc587c63ec4f6eba0cc0b06008a6371e0a08a5986de3cf4e8024a47b4fe6c + md5: 0badf9c54e24cecfb0ad2f99d680c163 depends: - - __osx >=11.0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - jasper >=4.2.8,<5.0a0 - - libaec >=1.1.5,<2.0a0 - - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: Apache-2.0 - license_family: Apache - size: 5302605 - timestamp: 1772015279277 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda - sha256: 3184ed7ad2647931d398e82ec6f675df027a29fa0f5da8cc33c5924076f97092 - md5: a3a6aa5eb19e85c456ad3bc7b98777af + - locket + - python >=3.9 + - toolz + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20884 + timestamp: 1715026639309 +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda + sha256: 6eaee417d33f298db79bc7185ab1208604c0e6cf51dade34cd513c6f9db9c6f3 + md5: 11adc78451c998c0fd162584abfa3559 depends: - - __osx >=11.0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - jasper >=4.2.8,<5.0a0 - - libaec >=1.1.5,<2.0a0 - - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: Apache-2.0 - license_family: Apache - size: 5330368 - timestamp: 1772015392178 -- conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda - sha256: dfc2b7cc01741eb7575b29e915b760146167fd65ef2f98fad513f60ce6c8cc76 - md5: b67461a22f04b331bffd046bcfa4c7ac + - python >=3.10 + license: MPL-2.0 + license_family: MOZILLA + run_exports: {} + size: 56559 + timestamp: 1777271601895 +- conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda + sha256: 9678f4745e6b82b36fab9657a19665081862268cb079cf9acf878ab2c4fadee9 + md5: 8678577a52161cc4e1c93fcc18e8a646 depends: - - hdf5 >=1.14.6,<1.14.7.0a0 - - jasper >=4.2.8,<5.0a0 - - libaec >=1.1.5,<2.0a0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libpng >=1.6.55,<1.7.0a0 - - 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: 2293154 - timestamp: 1772014569543 -- conda: https://conda.anaconda.org/conda-forge/noarch/ecmwf-datastores-client-0.5.1-pyhd8ed1ab_0.conda - sha256: 65143f563da904873fe3c69cdef3f9fb3b9501fb81d20b4d3ae89eab6ad6b6d3 - md5: fc8b15af108a2fdb15ef04d12fbfe87d + - numpy >=1.4.0 + - python >=3.10 + - python + license: BSD-2-Clause AND PSF-2.0 + run_exports: {} + size: 193450 + timestamp: 1760998269054 +- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a + md5: d0d408b1f18883a944376da5cf8101ea depends: - - attrs - - multiurl >=0.3.2 + - ptyprocess >=0.5 - python >=3.9 - - requests - - typing_extensions - license: Apache-2.0 - license_family: APACHE - size: 26367 - timestamp: 1774961032884 -- conda: https://conda.anaconda.org/conda-forge/noarch/entsoe-py-0.8.0-pyhd8ed1ab_0.conda - sha256: f010c6e406605126a6a73c21df93b522e0b035882fd40fdd162c3e504064a997 - md5: 0c06dd1da8af688335732bb47dc51dc1 + license: ISC + run_exports: {} + size: 53561 + timestamp: 1733302019362 +- conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-unix_hf108a03_0.conda + sha256: 6e4480fa4126cac047b21b079c843264b14ceb3724acf7d3a5a7bcceff7ea5d2 + md5: 6d02081f2ea16d3c4e0dc0d578508c1e depends: - - beautifulsoup4 >=4.11.1 - - pandas >=2.2.0 - - python >=3.10 - - pytz - - requests - license: MIT - license_family: MIT - size: 952643 - timestamp: 1776204877247 -- conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda - sha256: a5b51e491fec22bcc1765f5b2c8fff8a97428e9a5a7ee6730095fb9d091b0747 - md5: 057083b06ccf1c2778344b6dabace38b + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 6986 + timestamp: 1774948616259 +- conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-win_hba80fca_0.conda + sha256: 7c6fc8c53ca75d46c86f677207f2de151d2951910231bb78c413feffb63c605e + md5: fc2d3bfcc805d7b2b9da464d2ccea343 depends: - - __glibc >=2.17,<3.0.a0 - - libdrm >=2.4.125,<2.5.0a0 - - libegl >=1.7.0,<2.0a0 - - libegl-devel - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libgl-devel - - libglx >=1.7.0,<2.0a0 - - libglx-devel - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxdamage >=1.1.6,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - - xorg-libxxf86vm >=1.1.6,<2.0a0 + - __win + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7005 + timestamp: 1774948623414 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda + sha256: 9e5e1fd3506ccfc4d444fc4d2d39b0ed097d5d0e3bd3d4bdf6bcc81aaf66860d + md5: 2c5ef45db85d34799771629bd5860fd7 + depends: + - python >=3.10 + - python license: MIT license_family: MIT - size: 411735 - timestamp: 1758743520805 -- conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda - sha256: d5c466bddf423a788ce5c39af20af41ebaf3de9dc9e807098fc9bf45c3c7db45 - md5: efe7fa6c60b20cb0a3a22e8c3e7b721e + run_exports: {} + size: 26308 + timestamp: 1779972894916 +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda + sha256: c418d325359fc7a0074cea7f081ef1bce26e114d2da8a0154c5d27ecc87a08e7 + md5: 3e9427ee186846052e81fadde8ebe96a depends: - - __osx >=10.13 + - narwhals >=1.15.1 + - packaging + - python >=3.10 + constrains: + - ipywidgets >=7.6 license: MIT license_family: MIT - size: 283016 - timestamp: 1758743470535 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda - sha256: ba685b87529c95a4bf9de140a33d703d57dc46b036e9586ed26890de65c1c0d5 - md5: 3b87dabebe54c6d66a07b97b53ac5874 + run_exports: {} + size: 5251872 + timestamp: 1772628857717 +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda + sha256: 4fb6cf23ca322b45f7dafb095bf42192f9ee85b18184fc4a1f82ae6a962dd1b0 + md5: 499b2e5cc7cf18761cfd20d6fb837f48 depends: - - __osx >=11.0 + - narwhals >=1.15.1 + - packaging + - python >=3.10 + constrains: + - ipywidgets >=7.6 license: MIT license_family: MIT - size: 296347 - timestamp: 1758743805063 -- conda: https://conda.anaconda.org/conda-forge/noarch/et_xmlfile-2.0.0-pyhd8ed1ab_1.conda - sha256: 2209534fbf2f70c20661ff31f57ab6a97b82ee98812e8a2dcb2b36a0d345727c - md5: 71bf9646cbfabf3022c8da4b6b4da737 + run_exports: {} + size: 4119420 + timestamp: 1780554856380 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e + md5: d7585b6550ad04c8c5e21097ada2888e depends: - python >=3.9 + - python license: MIT license_family: MIT - size: 21908 - timestamp: 1733749746332 -- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 - md5: 8e662bd460bda79b1ea39194e3c4c9ab - depends: - - python >=3.10 - - typing_extensions >=4.6.0 - license: MIT and PSF-2.0 - size: 21333 - timestamp: 1763918099466 -- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad - md5: ff9efb7f7469aed3c4a8106ffa29593c + run_exports: {} + size: 25877 + timestamp: 1764896838868 +- conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.42.0-pyh58ad624_0.conda + sha256: 203a324e56d846503f66d3a0896effa96338392a15dc3451740619ef92f376fa + md5: 407e5c3dd0d5966897e0dc6b1485f4a4 depends: + - polars-runtime-32 ==1.42.0 - python >=3.10 + - python + constrains: + - numpy >=1.16.0 + - pyarrow >=7.0.0 + - fastexcel >=0.9 + - openpyxl >=3.0.0 + - xlsx2csv >=0.8.0 + - connectorx >=0.3.2 + - deltalake >=1.0.0 + - pyiceberg >=0.7.1 + - altair >=5.4.0 + - great_tables >=0.8.0 + - polars-runtime-32 ==1.42.0 + - polars-runtime-64 ==1.42.0 + - polars-runtime-compat ==1.42.0 license: MIT license_family: MIT - size: 30753 - timestamp: 1756729456476 -- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.29.3-pyhd8ed1ab_0.conda - sha256: e86ab4ea930968e506412a1c3c89e7ab367c8344cfbeb40d8da46e9973597e8d - md5: 6fa414f2828958e28a1b253ff02634a2 + run_exports: {} + size: 541978 + timestamp: 1782310371941 +- conda: https://conda.anaconda.org/conda-forge/noarch/pooch-1.9.0-pyhd8ed1ab_0.conda + sha256: 081e52c4612830bf1fd4a9c78eebaf335d1385d74ddfd328b1b2f26b983848eb + md5: dd4b6337bf8886855db6905b336db3c8 depends: + - packaging >=20.0 + - platformdirs >=2.5.0 - python >=3.10 - license: Unlicense - size: 36519 - timestamp: 1781138011903 -- conda: https://conda.anaconda.org/conda-forge/noarch/findlibs-0.1.2-pyhd8ed1ab_0.conda - sha256: d02d04e24b79003442751240a7c7ad251c30e368f38808fb44c5a6e925c0436a - md5: fa9e9ec7bf26619a8edd3e11155f15d6 - depends: - - python >=3.6 - license: Apache-2.0 - license_family: Apache - size: 16541 - timestamp: 1753777739225 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h053e1f3_6.conda - sha256: 801274da37e28d0cff6d091b679d34b10df718420a97d8fe577a968805f396d3 - md5: a68cae58a81a937a6edcb3e4e6f0bbe7 - depends: - - __glibc >=2.17,<3.0.a0 - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libgcc >=14 - - libgdal-core >=3.12.1,<3.13.0a0 - - libstdcxx >=14 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely + - requests >=2.19.0 license: BSD-3-Clause license_family: BSD - size: 1203804 - timestamp: 1767051329805 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fiona-1.10.1-py312h1289d80_4.conda - sha256: 97fa972c2f9e8a044dad9f35fb38d21c270b4446d7b6ba671914432260f321e6 - md5: 3358596ee8cd04cca8c3404e8190d8bc + run_exports: {} + size: 56833 + timestamp: 1769816568869 +- conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda + sha256: a20c139c372c911b9252f99297a07f2a4cdf336884754a006a09498593556ce0 + md5: 153f1b172beb7f5df84a78b2bde02f24 depends: - - __glibc >=2.17,<3.0.a0 - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libgcc >=14 - - libgdal-core >=3.10.3,<3.11.0a0 - - libstdcxx >=14 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely - license: BSD-3-Clause - license_family: BSD - size: 1200808 - timestamp: 1764874731140 -- conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312h69bf00f_4.conda - sha256: eb2c9ab4f0d1fa4267d3c9560dc6c27162f56f31385b11287ba45fe1ab5ef502 - md5: 1741c597db268c207be8cbec1b2ef731 + - country_converter + - deprecation + - entsoe-py >=0.3.1 + - geopy + - matplotlib-base + - networkx >=1.10 + - numpy + - openpyxl + - pandas >=0.24.0 + - pycountry + - python >=3.9 + - pyyaml >=5.1.0 + - requests + - scipy + - seaborn + - tqdm + - unidecode + - xlrd + license: GPL-3.0 + license_family: GPL + run_exports: {} + size: 676989 + timestamp: 1738446720491 +- conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.0-pyhd8ed1ab_0.conda + sha256: 2183e53108e730b097adff7bf2fbbe6fd5d3e18bb65a89122a3888169d601240 + md5: 3c806a133fb9e59dca249c5a00c2ab3e depends: - - __osx >=10.13 - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libcxx >=19 - - libgdal-core >=3.10.3,<3.11.0a0 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely - license: BSD-3-Clause - license_family: BSD - size: 1042055 - timestamp: 1764875013543 -- conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312hb20e208_6.conda - sha256: c19086be0ccfb80507feac7e8f9ca6295fb44f5d8f24beb6394d051c62edbdeb - md5: e82a20a3c91736e615f87c5564f0753b + - country_converter + - deprecation + - entsoe-py >=0.3.1 + - geopy + - matplotlib-base + - networkx >=1.10 + - numpy + - openpyxl + - pandas >=0.24.0 + - pycountry + - python >=3.10 + - pyyaml >=5.1.0 + - requests + - scipy + - seaborn + - tqdm + - unidecode + - xlrd + license: MIT + license_family: MIT + run_exports: {} + size: 689881 + timestamp: 1768392108996 +- conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda + sha256: f833d2a36115aa6fd3815394c876bee0bdd0ea850b843a0caeb2b153c37080e4 + md5: 3770774486c8b9e822c6bf996da18a25 depends: - - __osx >=10.13 - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libcxx >=19 - - libgdal-core >=3.12.1,<3.13.0a0 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely - license: BSD-3-Clause - license_family: BSD - size: 1043587 - timestamp: 1767051571374 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h455b684_4.conda - sha256: cd6ef8ae8237c237abda0fad3c58984959f792a1607d610b86b7e3f8b0b0c488 - md5: 9835aa65ef5d25e7e7f12653c1c56f22 + - country_converter + - deprecation + - entsoe-py >=0.3.1 + - geopy + - matplotlib-base + - networkx >=1.10 + - numpy + - openpyxl + - pandas >=0.24.0,<3 + - pycountry + - python >=3.10 + - pyyaml >=5.1.0 + - requests + - scipy + - seaborn + - tqdm + - unidecode + - xlrd + license: MIT + license_family: MIT + run_exports: {} + size: 670655 + timestamp: 1770848138584 +- conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda + sha256: 716960bf0a9eb334458a26b3bdcb17b8d0786062138a4f48c7f335c8418c5d0b + md5: 7859736b4f8ebe6c8481bf48d91c9a1e depends: - - __osx >=11.0 - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libcxx >=19 - - libgdal-core >=3.10.3,<3.11.0a0 - - pyparsing - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - shapely - license: BSD-3-Clause - license_family: BSD - size: 1042406 - timestamp: 1764875395749 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h515fe7d_6.conda - sha256: f23b7acc59a4c8e31a633cff81e7872fbcd210b848f3753d84d45503deef3be4 - md5: ac14e26b9c555ef3aee80db8fcfce7e6 + - cfgv >=2.0.0 + - identify >=1.0.0 + - nodeenv >=0.11.1 + - python >=3.10 + - pyyaml >=5.1 + - virtualenv >=20.10.0 + license: MIT + license_family: MIT + run_exports: {} + size: 201606 + timestamp: 1776858157327 +- conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda + sha256: 9c9f851688f1463c0c6a667dc34a8bce9a7ee2f630b0346ece448e77938f7d5b + md5: e557abf678a0bf100fe7cf9d2b4f4a72 depends: - - __osx >=11.0 - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libcxx >=19 - - libgdal-core >=3.12.1,<3.13.0a0 - - pyparsing - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - shapely + - python >=3.9 + - python-utils >=3.8.1 license: BSD-3-Clause license_family: BSD - size: 1045446 - timestamp: 1767051694318 -- conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312h3f2e00f_6.conda - sha256: 075511c84efaea59dddc8380a10a96d0813f14fa41878b171dd86fe514488c95 - md5: cc679ec1a1dd027e5b0ae5721d9df2b2 + run_exports: {} + size: 54711 + timestamp: 1734172966353 +- conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.25.0-pyhd8ed1ab_0.conda + sha256: 4d7ec90d4f9c1f3b4a50623fefe4ebba69f651b102b373f7c0e9dbbfa43d495c + md5: a11ab1f31af799dd93c3a39881528884 depends: - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libgdal-core >=3.12.1,<3.13.0a0 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python >=3.10 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 57113 + timestamp: 1775771465170 +- 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 - size: 985362 - timestamp: 1767051538939 -- conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312hbb81ca0_4.conda - sha256: 540cfe6b2be7ced6dd302c5a40f22bf2a0fe2ab41f4d4c8dc882ad493f4f72f0 - md5: de0104b8c5c9ae98ebf045bf17b13344 + run_exports: {} + size: 273927 + timestamp: 1756321848365 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda + sha256: e79922a360d7e620df978417dd033e66226e809961c3e659a193f978a75a9b0b + md5: 6d034d3a6093adbba7b24cb69c8c621e depends: - - attrs >=19.2.0 - - click >=8.0,<9.dev0 - - click-plugins >=1.0 - - cligj >=0.5 - - libgdal-core >=3.10.3,<3.11.0a0 - - pyparsing - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - shapely - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - prompt-toolkit >=3.0.52,<3.0.53.0a0 license: BSD-3-Clause license_family: BSD - size: 981719 - timestamp: 1764874932975 -- conda: https://conda.anaconda.org/conda-forge/noarch/flask-3.1.3-pyhcf101f3_1.conda - sha256: 3980dfba1e3900106cc3e6210294e73f50d02a67fdfe7b3bb36b2721ba9379cb - md5: 156398929bf849da6df8f89a2c390185 + run_exports: {} + size: 7212 + timestamp: 1756321849562 +- conda: https://conda.anaconda.org/conda-forge/noarch/propcache-0.5.2-pyh7db6752_0.conda + sha256: c9be65d8dd0b34a795be877359468f2a5cb521c63f264de8c4e5a6141e19df30 + md5: e3cbba0c0ab42143adeefd1d09866695 depends: - python >=3.10 - - blinker >=1.9.0 - - click >=8.1.3 - - itsdangerous >=2.2.0 - - jinja2 >=3.1.2 - - markupsafe >=2.1.1 - - werkzeug >=3.1.0 + track_features: + - propcache_no_compile + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 19936 + timestamp: 1780037707071 +- conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda + sha256: 222fb442e58e7422ff3b486b9419f9408111aed35503775815b30c11233ecdae + md5: 83afc1048b879d3c2dd91f48ce78978f + depends: + - python >=3.10 + - protobuf >=4.25.8,<8.0.0 - python - license: BSD-3-Clause + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 43676 + timestamp: 1778156725331 +- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 + depends: + - python >=3.9 + license: ISC + run_exports: {} + size: 19457 + timestamp: 1733302371990 +- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 16668 + timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + sha256: 6d8f03c13d085a569fde931892cded813474acbef2e03381a1a87f420c7da035 + md5: 46830ee16925d5ed250850503b5dc3a8 + depends: + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 25766 + timestamp: 1733236452235 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.6.3-pyhcf101f3_0.conda + sha256: 6fd53b7a2793404aef62313ff2fcfef0c661d6b71de90ef3d38c0908249eea76 + md5: f5a488544d2eb37f46b3bebf1f378337 + depends: + - python >=3.10 + - python + license: BSD-2-Clause license_family: BSD - size: 87428 - timestamp: 1771489274528 -- conda: https://conda.anaconda.org/conda-forge/noarch/folium-0.20.0-pyhd8ed1ab_0.conda - sha256: 782fa186d7677fd3bc1ff7adb4cc3585f7d2c7177c30bcbce21f8c177135c520 - md5: a6997a7dcd6673c0692c61dfeaea14ab + run_exports: {} + size: 66593 + timestamp: 1773729387446 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda + sha256: 5495061f5d3d6b82b74d400273c586e7c1f1700183de1d2d1688e900071687cb + md5: c689b62552f6b63f32f3322e463f3805 depends: - - branca >=0.6.0 - - jinja2 >=2.9 - - numpy + - pyasn1 >=0.6.1,<0.7.0 - python >=3.9 - - requests - - xyzservices + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 95990 + timestamp: 1743436137965 +- conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda + sha256: fd9b0a389b21dc2ccb11925db83a5e9e32652e87971f93c23358d51c3632d96d + md5: b0969b1326b5b9d6094dd1831eb48919 + depends: + - python >=3.10 + - pyyaml >=3.1 + - latexcodec >=1.0.4 + - importlib-metadata + - python license: MIT license_family: MIT - 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 + run_exports: {} + size: 78091 + timestamp: 1775231969598 +- conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda + sha256: de60a268ee916eab46016e8b76b6bbd858710dcedeb7188d5e100b863c24cd1c + md5: 62ed8c560f1b5b8d74ed11e68e9ae223 + depends: + - python >=3.6,<4.0 + - setuptools + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: {} + size: 3105570 + timestamp: 1718094617616 +- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + sha256: e27e0473fc6723311a0bd48b89b616fa1b996a2f7a2b555338cbbcfb9c640568 + md5: 9c5491066224083c41b6d5635ed7107b + depends: + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 397370 - timestamp: 1566932522327 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c - md5: 34893075a5c9e55cdafac56607368fc6 - license: OFL-1.1 - license_family: Other - size: 96530 - timestamp: 1620479909603 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 - md5: 4d59c254e01d9cde7957100457e2d5fb - license: OFL-1.1 - license_family: Other - size: 700814 - timestamp: 1620479612257 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 - md5: 49023d73832ef61042f6a237cb2687e7 - license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 - license_family: Other - size: 1620504 - timestamp: 1727511233259 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda - sha256: 2e50bdcebdf70a865b81f2456bbc586386451ec601c60f2b6cd22b8c40a2d384 - md5: e0e050cfa9fa85fe39632ab11cb7f3e0 + run_exports: {} + size: 55886 + timestamp: 1779293633166 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda + sha256: 69700e31165df070e9716315e042196aa92525dae5deb5107785847ab9f4189f + md5: 729843edafc0899b3348bd3f19525b9d depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 + - typing-inspection >=0.4.2 + - typing_extensions >=4.14.1 + - python >=3.10 + - annotated-types >=0.6.0 + - pydantic-core ==2.46.4 + - python license: MIT license_family: MIT - size: 281880 - timestamp: 1780450077431 -- conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda - sha256: 134aed823beae85798607e32b78aa1368afbfbea145a43c974d88269f1013287 - md5: 17925ae2a399d859c0b978934df591e3 + run_exports: {} + size: 346511 + timestamp: 1778103405862 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda + sha256: 25a4fb0acf8a1eb3eb0f1ebc1c5610dd9efe5f29616c625d1ee84a9a76eeb5df + md5: 18301be1ab749bc57ae189377836cc47 depends: - - __osx >=11.0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libintl >=0.25.1,<1.0a0 - - libzlib >=1.3.2,<2.0a0 + - jinja2 >=2.10.1 + - numpy >=1.16.4 + - python >=3.10 + constrains: + - ipywidgets >=7,<8 + - traitlets >=4.3.2 + - ipykernel >=5.1.2 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 8360396 + timestamp: 1776371116205 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda + sha256: 0f234d72e0d7696bd19f4f5c6a102df3eabf5ab65c1ea1fdf8741a4e32ff7e72 + md5: 328fcdd7991b7494dc780b16b831de62 + depends: + - python >=3.11 + - imf-reader >=1.5.0 + - oda-reader >=1.4.2 + - pandas >=2.0 + - pandera >=0.20.0 + - pyarrow >=14.0 + - requests-cache >=1.2 + - requests >=2.33.0 + - wbgapi >=1.0.12 + - platformdirs >=3.0.0 + - filelock >=3.15.0 + - python license: MIT license_family: MIT - size: 247884 - timestamp: 1780450811484 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda - sha256: 8607d8d0b32f9f6fc61ea8c06b537486b78428a04516658222fa4d1d521af765 - md5: 9d928e6a62192141fb6540a3125b1345 + run_exports: {} + size: 62998 + timestamp: 1778768717355 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.6.1-pyhc364b38_0.conda + sha256: 805d93f22286e8da1fe7913e36a35b277ccaae75c2791e47d618c391c349b557 + md5: 6b00457c798f70431c5d6889507c008f depends: - - __osx >=11.0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libintl >=0.25.1,<1.0a0 - - libzlib >=1.3.2,<2.0a0 + - python >=3.12 + - imf-reader >=1.5.0 + - oda-reader >=1.4.2 + - pandas >=2.0 + - pandera >=0.20.0 + - pyarrow >=14.0 + - requests-cache >=1.2 + - requests >=2.33.0 + - resolvekit >=0.1.11 + - wbgapi >=1.0.12 + - platformdirs >=3.0.0 + - filelock >=3.15.0 + - python license: MIT license_family: MIT - size: 248677 - timestamp: 1780450500773 -- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda - sha256: 9217184c4a8e82101b0e512b059ae3ff67e3913133b9031edad89ab5341284e4 - md5: abd79bad98c99c1a116154d6de74ea89 + run_exports: {} + size: 62367 + timestamp: 1781545207735 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda + sha256: af7213a8ca077895e7e10c8f33d5de3436b8a26828422e8a113cc59c9277a3e2 + md5: 15f6d0866b0997c5302fc230a566bc72 depends: - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libiconv >=1.18,<2.0a0 - - libintl >=0.22.5,<1.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - graphviz >=2.38.0 + - pyparsing >=3.1.0 + - python >=3.10 + - python license: MIT license_family: MIT - size: 202630 - timestamp: 1780450217840 -- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 - md5: fee5683a3f04bd15cbd8318b096a27ab + run_exports: {} + size: 150656 + timestamp: 1766345630713 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 + md5: 16c18772b340887160c79a6acc022db0 depends: - - fonts-conda-forge - license: BSD-3-Clause + - python >=3.10 + license: BSD-2-Clause license_family: BSD - size: 3667 - timestamp: 1566974674465 -- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 - md5: a7970cd949a077b7cb9696379d338681 + run_exports: {} + size: 893031 + timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda + sha256: 58cda7489477fecb859ec95bf73cba7e4634db1a517e29e0d3086d7ec71733ae + md5: edb808d7f7396478ab6e457e697b8ec5 depends: - - font-ttf-ubuntu - - font-ttf-inconsolata - - font-ttf-dejavu-sans-mono - - font-ttf-source-code-pro - license: BSD-3-Clause - license_family: BSD - size: 4059 - timestamp: 1762351264405 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.63.0-py312h8a5da7c_0.conda - sha256: d235ae7075642044ceb3d922ef2a710a82665755ac9bbb7e8dad7daa72bc6d87 - md5: 294fb524171e2a2748cb7fe708aba826 + - python >=3.10 + - typing_extensions >=4.0 + - python + constrains: + - cryptography >=3.4.0 + license: MIT + license_family: MIT + run_exports: {} + size: 33417 + timestamp: 1779400286454 +- conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.6-pyhcf101f3_0.conda + sha256: 5393b20b76361efe49971a0081cad0f4256f875a14fe71b1ed93ba9e0193369c + md5: ba6813f7d81828b7dcd03248a42d031d 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 + - astroid >=4.0.2,<=4.1.dev0 + - colorama >=0.4.5 + - isort >=5,!=5.13,<9 + - mccabe >=0.6,<0.8 + - platformdirs >=2.2 + - python >=3.10 + - tomli >=1.1 + - tomlkit >=0.10.1 + - dill >=0.3.7 + - python + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 392703 + timestamp: 1781449583490 +- conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-11.0-pyhd8ed1ab_0.conda + sha256: b99a2f57f11efed06a5880ff9b7248ddfa751304744719ec98fc7f81b48ad86a + md5: 86edd19c395948f02b6b8ee14138fbc2 + depends: + - markdown >=3.6 + - python >=3.10 + - pyyaml license: MIT license_family: MIT - size: 3007892 - timestamp: 1778770568019 -- conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.63.0-py312heb39f77_0.conda - sha256: eb76350b1653a7e6e61c0fdc7dde79e32a0ba662c6c9471b2557720fb7db802d - md5: 86857c4f51ca02be0aa72fb98ea80ef9 + run_exports: {} + size: 172541 + timestamp: 1782206383620 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.3.0-pyhcf101f3_0.conda + sha256: 1d9d60d95a5ae8395f78a8bd14c4cbc4943002ea5e97670e82bd0fe65f16853a + md5: cdfb2ceb9f800dcf603e193f668690cd depends: - - __osx >=11.0 - - brotli - - munkres - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - unicodedata2 >=15.1.0 + - python >=3.10 + - cryptography >=49.0.0,<50 + - typing_extensions >=4.9 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 129597 + timestamp: 1781402255304 +- conda: https://conda.anaconda.org/conda-forge/noarch/pypandoc-1.17-pyhd8ed1ab_0.conda + sha256: 7c7ba03c1e4bb2bc0fa35af6fb5bdeecf3a6be558d73d3aa0133775cdb8964fd + md5: 7c0a276541e183cd2e0770a160a41333 + depends: + - pandoc + - python >=3.10 license: MIT license_family: MIT - size: 2914614 - timestamp: 1778770861388 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda - sha256: b78cc8df0d93ac0f0d59cb91cf54cc91effa6c124a78c8d2e8afc8011d9fb320 - md5: 77e64a600d8426c3863942f67491f5fb + run_exports: {} + size: 28569 + timestamp: 1773574445405 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + sha256: 417fba4783e528ee732afa82999300859b065dc59927344b4859c64aae7182de + md5: 3687cc0b82a8b4c17e1f0eb7e47163d5 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 + - python >=3.10 + - python license: MIT license_family: MIT - size: 2904377 - timestamp: 1778771054844 -- conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.63.0-py312h05f76fc_0.conda - sha256: 4e31266b0ddacb2e2f48f00d999aa7d5005c62a5cc51a32f9ce0be5b11e9897e - md5: 2944f5f8ea7e2db9cea01ed951e09194 + run_exports: {} + size: 110893 + timestamp: 1769003998136 +- conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda + sha256: 3f46db5d5fb96f8241cef82745acb28ce22b4b5faac9eded2973eb98ee725586 + md5: bbf9a8bce1e55d2c01e16459a066280c 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 + - deprecation + - geopandas >=0.9 + - highspy + - levenshtein >=0.27.1 + - linopy >=0.5.5,<=0.5.7 + - matplotlib-base + - netcdf4 + - networkx >=2 + - numpy + - pandas >=0.24 + - plotly + - pydeck + - pytables + - python >=3.11 + - scipy + - seaborn + - shapely <2.1 + - validators + - xarray <=2025.9.0 license: MIT license_family: MIT - size: 2533681 - timestamp: 1778770493020 -- conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - sha256: 2509992ec2fd38ab27c7cdb42cf6cadc566a1cc0d1021a2673475d9fa87c6276 - md5: d3549fd50d450b6d9e7dddff25dd2110 + run_exports: {} + size: 220834 + timestamp: 1762426425913 +- conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.1.2-pyhd8ed1ab_0.conda + sha256: 60c71d1f6b0ee8bbc0bd7b58f6e842745ecdc0042cc8e1b95057282f28219ee3 + md5: 658fdb0a50c41f214553706c4d702195 depends: - - cached-property >=1.3.0 - - python >=3.9,<4 - license: MPL-2.0 - license_family: MOZILLA - size: 16705 - timestamp: 1733327494780 -- conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-h215f996_4.conda - sha256: f94040a0d7c449038811097e145f223bd3b2ab4c5181870c6e27e1b9dd777d48 - md5: b39dccf5af984bcb68ee2aa0f3213ea6 + - deprecation + - geopandas >=0.9 + - highspy + - levenshtein >=0.27.1 + - linopy >=0.6.1 + - matplotlib-base + - netcdf4 !=1.7.4 + - networkx >=2 + - numpy + - pandas >=2.0 + - plotly + - pydeck >=0.6 + - pytables + - python >=3.11 + - scipy + - seaborn + - shapely + - validators + - xarray + license: MIT + license_family: MIT + run_exports: {} + size: 242307 + timestamp: 1772004090295 +- conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda + sha256: fde35906cd6e79998b923d242df78f142e50c759133a711d505db5404302e129 + md5: e734f12c4fe8793d27059c499552da86 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libglu >=9.0.3,<9.1.0a0 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxau >=1.0.12,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - xorg-libxi >=1.8.2,<2.0a0 - - xorg-libxxf86vm >=1.1.7,<2.0a0 + - python >=3.12 + - plotly >=5.0 + - dash >=2.14 + - folium >=0.14 + - mapclassify >=2.5 + - dash-bootstrap-components >=1.5 + - pypsa >=1.0.3 + - pyyaml >=6.0 + - typer >=0.9 + - rich >=13.0 + - python license: MIT license_family: MIT - size: 146159 - timestamp: 1776928018299 -- conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda - sha256: d4d255236a305e0fde4f9b360cca647331fad5348f70333c88fc50b3a6eabccc - md5: dd76cafa8f23c9aaee93aa7e745fdba4 + run_exports: {} + size: 44699 + timestamp: 1770992960710 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.1.2-pyhcf101f3_0.conda + sha256: 23cedb25c67c83308f235a11d4eaa2f2cf0825850e8711f2ebde04cdabe9b119 + md5: 0b9176cd15bf526d74fd6638df5194af depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python >=3.10 + - python license: MIT license_family: MIT - size: 113837 - timestamp: 1776928077923 -- 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 - size: 173839 - timestamp: 1774298173462 -- conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda - sha256: c67130a919d3c7733fce056cc2ce8cec2935e295547d5d70bcbf35e4351d543b - md5: 48fc845b770770e9c7db8743f6d53d44 - depends: - - libfreetype 2.14.3 h694c41f_1 - - libfreetype6 2.14.3 h58fbd8d_1 - license: GPL-2.0-only OR FTL - size: 174300 - timestamp: 1780934162319 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda - sha256: 96b33f1e2a32c602b167f43719e3acf89ec742b4a1e25e99ffd0e6f99b38d277 - md5: 7bd06ab4ed807154c2d9031eb5ebf025 - depends: - - libfreetype 2.14.3 hce30654_1 - - libfreetype6 2.14.3 hdfa99f5_1 - license: GPL-2.0-only OR FTL - size: 173518 - timestamp: 1780933616544 -- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - sha256: a0e419e96146159f12344c870dca608d11bca36841f228092b986ffc2e1e0f02 - md5: e77293b32225b136a8be300f93d0e89f - depends: - - libfreetype 2.14.3 h57928b3_1 - - libfreetype6 2.14.3 hdbac1cb_1 - - zlib - license: GPL-2.0-only OR FTL - size: 185584 - timestamp: 1780934817461 -- 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 - size: 59299 - timestamp: 1734014884486 -- conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda - sha256: cf924a5373def22030f73435082efbb3efb1039faeec926b006fb53a6f738f7c - md5: 5cb34c1d2ed89fd36f4e3759c966daf0 - depends: - - __osx >=10.13 - - libexpat >=2.6.4,<3.0a0 - - libiconv >=1.17,<2.0a0 - - minizip >=4.0.7,<5.0a0 - license: MPL-1.1 - license_family: MOZILLA - size: 53798 - timestamp: 1734015115203 -- 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 - 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 - size: 77528 - timestamp: 1734015193826 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d - md5: f9f81ea472684d75b9dd8d0b328cf655 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 61244 - timestamp: 1757438574066 -- conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda - sha256: 53dd0a6c561cf31038633aaa0d52be05da1f24e86947f06c4e324606c72c7413 - md5: 4422491d30462506b9f2d554ab55e33d - depends: - - __osx >=10.13 - license: LGPL-2.1-or-later - size: 60923 - timestamp: 1757438791418 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda - sha256: d856dc6744ecfba78c5f7df3378f03a75c911aadac803fa2b41a583667b4b600 - md5: 04bdce8d93a4ed181d1d726163c2d447 + run_exports: {} + size: 504983 + timestamp: 1782386671531 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca + md5: e2fd202833c4a981ce8a65974fe4abd1 depends: - - __osx >=11.0 - license: LGPL-2.1-or-later - size: 59391 - timestamp: 1757438897523 -- conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - sha256: 15011071ee56c216ffe276c8d734427f1f893f275ef733f728d13f610ed89e6e - md5: c27bd87e70f970010c1c6db104b88b18 + - __win + - python >=3.9 + - win_inet_pton + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 21784 + timestamp: 1733217448189 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + md5: 461219d1a5bd61342293efa2c0c90eac depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - size: 64394 - timestamp: 1757438741305 -- conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.8.0-py312h447239a_0.conda - sha256: 7f36a4fc42f6d4cb9c5b210b6604b54eba2e5745c92d76241b6f8fce446818d1 - md5: 6a42923f35087cc88a9fac31ef096ce6 + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 21085 + timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda + sha256: 2d39f4eb1c926792229131897fbddde112d7595727c1db824d48574ab10a5a01 + md5: 77ae41598d63b453bb3c9052f4a14c4b depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python >=3.10 + - python-dateutil >=2.7.0 license: Apache-2.0 license_family: APACHE - size: 55016 - timestamp: 1779999817627 -- conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda - sha256: d9f425c494f2614ebf1ed4a31c699ebd3a84f8eae812518b65899d913c97626e - md5: 21145c2ab9fb336c7fb9ef2723373bae + run_exports: {} + size: 138711 + timestamp: 1768070185564 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + sha256: 430051d80765207a7d782b2b188230ba1489d35c6e75fd9903f76cb9fda4af16 + md5: 64c98a12c4e23eb238bf66bbecafdf3c depends: - - __osx >=11.0 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 52291 - timestamp: 1780000343424 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda - sha256: 95690f616c3dd589ba886f54d79111769092c66dd83ed16139920c070742791f - md5: 4dba3a2eb282b85b3f6e0a25b6af0d8a + - colorama + - pygments >=2.7.2 + - python >=3.10 + - iniconfig >=1.0.1 + - packaging >=22 + - pluggy >=1.5,<2 + - tomli >=1 + - exceptiongroup >=1 + - python + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + run_exports: {} + size: 306724 + timestamp: 1782127176429 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + md5: 5b8d21249ff20967101ffa321cab24e8 depends: - - __osx >=11.0 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python >=3.9 + - six >=1.5 + - python license: Apache-2.0 license_family: APACHE - size: 52681 - timestamp: 1780000209812 -- conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda - sha256: f51ce4622edd9707ae9bbd342935271892257062dc805dff52233abe15f1d698 - md5: 8633ec6d4b19a1dd7fb4894a6964adf3 + run_exports: {} + size: 233310 + timestamp: 1751104122689 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda + sha256: 6914da740f6e3ec44ffb2f687dbc9c33abf084e42f34e3a8bb8235e475850619 + md5: 7a9095c9300d1b50b1785ca9bc4cadae + depends: + - python >=3.10 + - filelock >=3.15.4 + - platformdirs <5,>=4.3.6 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 35514 + timestamp: 1781257630962 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda + sha256: 74e417a768f59f02a242c25e7db0aa796627b5bc8c818863b57786072aeb85e5 + md5: 130584ad9f3a513cdd71b1fdc1244e9c + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 27848 + timestamp: 1772388605021 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + sha256: df9aa74e9e28e8d1309274648aac08ec447a92512c33f61a8de0afa9ce32ebe8 + md5: 23029aae904a2ba587daba708208012f + depends: + - python >=3.9 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 244628 + timestamp: 1755304154927 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda + sha256: 97327b9509ae3aae28d27217a5d7bd31aff0ab61a02041e9c6f98c11d8a53b29 + md5: 32780d6794b8056b78602103a04e90ef + depends: + - cpython 3.12.13.* + - python_abi * *_cp312 + license: Python-2.0 + run_exports: {} + size: 46449 + timestamp: 1772728979370 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.13.14-h4df99d1_100.conda + sha256: c7a8f98ea1cda5a84377c236ccd4bf1b6e2212c5a258d60bba295fb9f0260235 + md5: 200323d73f85b9c5c411db8c8c4942db 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 + - cpython 3.13.14.* + - python_abi * *_cp313 + license: Python-2.0 + run_exports: {} + size: 48307 + timestamp: 1781257788601 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + sha256: 84c129bdd6abcecac42a948f2670d17fe735d02d3a5a483a9b1f1bc33ba38c28 + md5: 224f69f177eb5aae6c9a6052846bf609 + depends: + - cpython 3.14.6.* + - python_abi * *_cp314 + license: Python-2.0 + run_exports: {} + size: 49315 + timestamp: 1781254664376 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda + sha256: a0dfe07d0bc1d8c47a38b79ad4a8eb1bc7b86fb33ee5293ebb45dfdc46191f4e + md5: 982ed0cbfc0fe09f25861e3d111e9717 + depends: + - python >=3.10 + - typing_extensions + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 19249 + timestamp: 1781036004580 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda + sha256: e943f9c15a6bdba2e1b9f423ab913b3f6b02197b0ef9f8e6b7464d78b59965b9 + md5: f6ad7450fc21e00ecc23812baed6d2e4 + depends: + - python >=3.10 license: Apache-2.0 license_family: APACHE - size: 50861 - timestamp: 1779999886062 -- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.4.0-pyhd8ed1ab_0.conda - sha256: 079701b4ff3b317a1a158cabd48cf2b856b8b8d3ef44f152809d9acf20cc8e10 - md5: 2c11aa96ea85ced419de710c1c3a78ff + run_exports: {} + size: 146639 + timestamp: 1777068997932 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda + sha256: c367af466c169ee825e9a2422439076190424af0bf1d2074bb9b96757f812c86 + md5: 24ed1dc544b101075fa7462be5c3a5c5 depends: - - python >=3.10 + - python >=3.9 + - typing_extensions >3.10.0.2 license: BSD-3-Clause license_family: BSD - size: 149694 - timestamp: 1777547807038 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-h2b0a6b4_3.conda - sha256: d8a9d0df91e1939b1fb952b5214e097d681c49faf215d1ad69a7f0acb03c8e08 - md5: aeec474bd508d8aa6c015e2cc7d14651 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libglib >=2.84.3,<3.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 579311 - timestamp: 1754960116630 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda - sha256: c5594497f0646e9079705b3199dbb2d5b13c48173cf110000fa1c8818e2b3e0c - md5: 7892f39a39ed39591a89a28eba03e987 + run_exports: {} + size: 32423 + timestamp: 1734115316868 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-yakh-0.4.1-pyhff2d567_0.conda + sha256: b1ac44a1b43e55e7760388e8f6ba3c1d724c4f84f41720cb752573ce42e7fc7f + md5: 7d2e90221b5da6f0577d150cfe6b87ed depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.56,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 577414 - timestamp: 1774985848058 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.42.12-h5720e38_3.conda - sha256: 17e804d758c898757209a7eac8073500b7b585a68789731a8a4ab3bc63d80cac - md5: 34d25f5203c6c6e61fb5a40d2249b614 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 10987 + timestamp: 1736892932725 +- 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 + run_exports: {} + size: 6958 + timestamp: 1752805918820 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda + build_number: 8 + sha256: 210bffe7b121e651419cb196a2a63687b087497595c9be9d20ebe97dd06060a7 + md5: 94305520c52a4aa3f6c2b1ff6008d9f8 + constrains: + - python 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7002 + timestamp: 1752805902938 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + build_number: 8 + sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 + md5: 0539938c55b6b1a59b560e843ad864a4 + constrains: + - python 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 6989 + timestamp: 1752805904792 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda + sha256: 5020863d629f584b5c057333a67a7aed43e3ed013ba15dd70f353501ccb5aff6 + md5: 03cb60f505ad3ada0a95277af5faeb1a depends: - - __osx >=10.13 - - libglib >=2.84.3,<3.0a0 - - libintl >=0.25.1,<1.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 556549 - timestamp: 1754960291328 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda - sha256: 27a223201fd86f85284c7e218121ac9ecf0be16e0a73eea42776701c8c90c50b - md5: 5f0f81650af65aa247f6fbc25ebcbdd4 + - python >=3.10 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 201747 + timestamp: 1777892201250 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda + sha256: 991caa5408aea018488a2c94e915c11792b9321b0ef64401f4829ebd0abfb3c0 + md5: 644bd4ca9f68ef536b902685d773d697 depends: - - __osx >=11.0 - - libglib >=2.86.4,<3.0a0 - - libintl >=0.25.1,<1.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.56,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 552947 - timestamp: 1774986327487 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.42.12-h7af3d76_3.conda - sha256: b9a928be779da5ce90e4dbc1f70829ac6bb45c3b244d6913c71439ce6a0d631b - md5: da68375a855e361d5833f84a7d012ef1 + - python >=3.9 + - six + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 36786 + timestamp: 1733738704089 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 + sha256: 7e6e7064ad976ba6d38e7cf5a893c93a47025d4074b888e8db31386a914935fb + md5: 0c14e44bc93a99cdc11398311c3c0dcf depends: - - __osx >=11.0 - - libglib >=2.84.3,<3.0a0 - - libintl >=0.25.1,<1.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - license: LGPL-2.1-or-later + - python >=3.6 + license: LGPL-3.0-or-later license_family: LGPL - size: 549845 - timestamp: 1754960472079 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda - sha256: 07cbba4e12430de35ea608eb3006cf1f7f63832c4f89a081cd6f3872944c1aa6 - md5: e67ebd2f639f46e52af8531622fa6051 + run_exports: {} + size: 28258 + timestamp: 1665784480952 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + sha256: 69ab63bd45587406ae911811fc4d4c1bf972d643fa57a009de7c01ac978c4edd + md5: e8e53c4150a1bba3b160eacf9d53a51b depends: - - __osx >=11.0 - - libglib >=2.86.4,<3.0a0 - - libintl >=0.25.1,<1.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.56,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 548309 - timestamp: 1774986047281 -- conda: https://conda.anaconda.org/conda-forge/noarch/geographiclib-2.1-pyhd8ed1ab_0.conda - sha256: 4bcebe8f5f449b728bd0140e38c036060f22d31048e0c7980bf4cd6acdad2b62 - md5: 43dd16b113cc7b244d923b630026ff4f + - python >=3.9 + - pyyaml + license: MIT + license_family: MIT + run_exports: {} + size: 11137 + timestamp: 1747237061448 +- conda: https://conda.anaconda.org/conda-forge/noarch/questo-0.4.2-pyhcf101f3_0.conda + sha256: 9a103f0215e7b32646cdeb91429d60e374060d7d2cb58bb8a7eb54a05dc4d6d0 + md5: d408fa8ff9f17887378715dcf024d359 depends: - python >=3.10 + - rich >=12.2.0 + - python-yakh <0.5.0,>=0.4.1 + - python license: MIT license_family: MIT - size: 40836 - timestamp: 1755865181359 -- conda: https://conda.anaconda.org/conda-forge/noarch/geojson-3.3.0-pyhd8ed1ab_0.conda - sha256: ec572a0aa67606a4ee55814fb54db41fc843db05cb89360ad5c2cffa816866e2 - md5: c3cee0e0843e38698c45dfec869e9888 + run_exports: {} + size: 17079 + timestamp: 1764617780410 +- conda: https://conda.anaconda.org/conda-forge/noarch/rasterstats-0.21.0-pyhcf101f3_0.conda + sha256: 183b225db9a5da05aeb5240291aaa3494bff8322b196d75f5094ee6a7d4e654b + md5: 290f97c3fcfab8323023b10cbb4f6cc2 depends: - python >=3.10 + - affine + - click >7.1,!=8.2.1 + - cligj >=0.4 + - numpy >=1.9 + - pyogrio + - rasterio >=1.0 + - simplejson + - shapely + - fiona + - python license: BSD-3-Clause license_family: BSD - size: 20246 - timestamp: 1780058380978 -- conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-1.1.3-pyhd8ed1ab_0.conda - sha256: c9ed18fb6270202299671f8075dd4f2fdff42220e4fd958e84629375769747f0 - md5: 4eb8b870142ca06d2a1d2c74662eac7d + run_exports: {} + size: 24082 + timestamp: 1779718549710 +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 + md5: 870293df500ca7e18bedefa5838a22ab depends: - - folium - - geopandas-base 1.1.3 pyha770c72_0 - - mapclassify >=2.5.0 - - matplotlib-base - - pyogrio >=0.7.2 - - pyproj >=3.5.0 + - attrs >=22.2.0 - python >=3.10 - - xyzservices - license: BSD-3-Clause - license_family: BSD - size: 8761 - timestamp: 1773131235020 -- conda: https://conda.anaconda.org/conda-forge/noarch/geopandas-base-1.1.3-pyha770c72_0.conda - sha256: b07fc3edb5cb86df52081e5cb120a03a178767ed079b5d2cd313212351460620 - md5: 18789a85c307970ae1786dfc6dfd234f + - rpds-py >=0.7.0 + - typing_extensions >=4.4.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 51788 + timestamp: 1760379115194 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda + sha256: 7813c38b79ae549504b2c57b3f33394cea4f2ad083f0994d2045c2e24cb538c5 + md5: c65df89a0b2e321045a9e01d1337b182 depends: - - numpy >=1.24 - - packaging - - pandas >=2.0.0 - python >=3.10 - - shapely >=2.0.0 - license: BSD-3-Clause + - certifi >=2017.4.17 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - urllib3 >=1.21.1,<3 + - python + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 63602 + timestamp: 1766926974520 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + sha256: 1715246b19c9f85ee022933b4845f2fc14ac9184981b7b7d9b728bec8e9588da + md5: 4a85203c1d80c1059086ae860836ffb9 + 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,<8 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 68709 + timestamp: 1778851103479 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda + sha256: 38d756255053c286a857545ea1343e3b370f04972a170073ee67b52b627e1517 + md5: 2b25a90124b8bbc7d01474dafecc815e + depends: + - attrs >=21.2 + - cattrs >=22.2 + - itsdangerous >=2.0 + - platformdirs >=2.5 + - python >=3.10 + - pyyaml >=6.0.1 + - requests >=2.22 + - ujson >=5.4 + - url-normalize >=1.4 + - urllib3 >=1.25.5 + license: BSD-2-Clause license_family: BSD - size: 254983 - timestamp: 1773131233972 -- conda: https://conda.anaconda.org/conda-forge/noarch/geopy-2.4.1-pyhd8ed1ab_2.conda - sha256: ac453c9558c48febe452c79281c632b3749baef7c04ed4b62f871709aee2aa03 - md5: 40182a8d62a61d147ec7d3e4c5c36ac2 + run_exports: {} + size: 56374 + timestamp: 1778484376846 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-pyhd8ed1ab_0.conda + sha256: 909ec1510bbb6fad9276534352025f428050a4deeea86e68d61c8c580938ac82 + md5: a55b220de8970208f583e38639cfbecc + depends: + - oauthlib >=3.0.0 + - python >=3.4 + - requests >=2.0.0 + license: ISC + run_exports: {} + size: 25757 + timestamp: 1710149693493 +- conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda + sha256: f010d25e0ab452c0339a42807c84316bf30c5b8602b9d74d566abf1956d23269 + md5: b965b0dfdb3c89966a6a25060f73aa67 depends: - - geographiclib >=1.52 - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 12563 + timestamp: 1735477549872 +- conda: https://conda.anaconda.org/conda-forge/noarch/resolvekit-0.1.12-pyhc364b38_0.conda + sha256: 8d49aa6cd0f2bdc337295b14d6c9dc43f3904d1438055c23b796cdb97e7d2990 + md5: a6a7c2c08a4f2186bd040d056f958604 + depends: + - python >=3.12 + - packaging >=24.0 + - pooch >=1.8.0,<2.0 + - pydantic >=2.9,<3.0 + - rapidfuzz >=3.0.0,<4.0 + - symspellpy >=6.7.7,<7.0 + - python license: MIT license_family: MIT - size: 72999 - timestamp: 1734342056836 -- conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.13.1-h97f6797_0.conda - sha256: 3a9c854fa8cf1165015b6ee994d003c3d6a8b0f532ca22b6b29cd6e8d03942ed - md5: 5bc18c66111bc94532b0d2df00731c66 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: LGPL-2.1-only - size: 1871567 - timestamp: 1741051481612 -- conda: https://conda.anaconda.org/conda-forge/linux-64/geos-3.14.1-h480dda7_0.conda - sha256: 08896dcd94e14a83f247e91748444e610f344ab42d80cbf2b6082b481c3f8f4b - md5: 4d4efd0645cd556fab54617c4ad477ef - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.1-only - size: 1974942 - timestamp: 1761593471198 -- conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.13.1-h502464c_0.conda - sha256: d2ec00b2600ebda6ec5f953d5e65eacdb66f356acc7dd952bb42e2bf7a22b602 - md5: 480d6bc3033367f3d7b412cc5a9e0819 - depends: - - __osx >=10.13 - - libcxx >=18 - license: LGPL-2.1-only - size: 1562536 - timestamp: 1741051661501 -- conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda - sha256: 4d95fd55a9e649620b4e50ddafff064c4ec52d87e1ed64aa4cad13e643b32baf - md5: d83030a79ce1276edc2332c1730efa17 - depends: - - __osx >=10.13 - - libcxx >=19 - license: LGPL-2.1-only - size: 1631280 - timestamp: 1761593838143 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.1-hc9a1286_0.conda - sha256: b3f116968699ef72271f608a8ef2794b609e9a3cecbd5c178d8ccb797be709d6 - md5: 3528352bdf54e8b11eca0eb97daf7d55 - depends: - - __osx >=11.0 - - libcxx >=18 - license: LGPL-2.1-only - size: 1470335 - timestamp: 1741051878236 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_0.conda - sha256: 1ac5f5a3a35f2e4778025043c87993208d336e30539406e380e0952bb7ffd188 - md5: 4238412c29eff0bb2bb5c60a720c035a + run_exports: {} + size: 1846139 + timestamp: 1781850917988 +- conda: https://conda.anaconda.org/conda-forge/noarch/responses-0.26.1-pyhcf101f3_1.conda + sha256: b45111bdfdec7640a3bd9b5f5a921dec9abaae7dfb58592a7562fbe98de4e274 + md5: eec4aab2de7dc95a331e2f80074fda9b depends: - - __osx >=11.0 - - libcxx >=19 - license: LGPL-2.1-only - size: 1530844 - timestamp: 1761594597236 -- conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.13.1-h9ea8674_0.conda - sha256: 8b2dd4b831ddac64584d49b50f0547c90f5b352a7ec62f941686bb59c21d6055 - md5: 2ebe8eb886545cdc287324d41186a698 + - pyyaml + - python >=3.10 + - requests >=2.30.0,<3.0 + - types-pyyaml + - typing_extensions + - urllib3 >=1.25.10,<3.0 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 42148 + timestamp: 1779401643323 +- conda: https://conda.anaconda.org/conda-forge/noarch/retrying-1.4.2-pyhe01879c_0.conda + sha256: 7a10527962d2ca2cf936872ef58d4b622b1d1d1703e1d6396d0673fd9f883c7f + md5: 128b46a47ea164f9a8659cb6da2f3555 depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-only - size: 1703268 - timestamp: 1741052039669 -- conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda - sha256: 032a16d78e69a20ffae6216191a66977bc50f6c21cb75f9853b37298b95308c4 - md5: 8c75d7e401a4d799ce8d4bb922320967 + - python >=3.9 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 20907 + timestamp: 1754219562310 +- conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda + sha256: 2e4372f600490a6e0b3bac60717278448e323cab1c0fecd5f43f7c56535a99c5 + md5: 36de09a8d3e5d5e6f4ee63af49e59706 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only - size: 1772787 - timestamp: 1761593910217 -- conda: https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.7.4-h239500f_2.conda - sha256: 0cd4454921ac0dfbf9d092d7383ba9717e223f9e506bc1ac862c99f98d2a953c - md5: b0c42bce162a38b1aa2f6dfb5c412bc4 + - python >=3.9 + - six + license: MIT + license_family: MIT + run_exports: {} + size: 10209 + timestamp: 1733600040800 +- conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + sha256: 2a5b495a1de0f60f24d8a74578ebc23b24aa53279b1ad583755f223097c41c37 + md5: 912a71cc01012ee38e6b90ddd561e36f depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libstdcxx >=13 - - libtiff >=4.7.0,<4.8.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - zlib + - python license: MIT license_family: MIT - size: 128758 - timestamp: 1742402413139 -- conda: https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.7.4-h88234f0_2.conda - sha256: bc72d7628743e47e4cb1e17e087561275efb0f4c9fdbc023fc08749c94578645 - md5: b6e9e421b9646dce6cafa65d6e5f9d4c + run_exports: {} + size: 7818 + timestamp: 1598024297745 +- conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda + sha256: 70001ac24ee62058557783d9c5a7bbcfd97bd4911ef5440e3f7a576f9e43bc92 + md5: 7234f99325263a5af6d4cd195035e8f2 depends: - - __osx >=10.13 - - libcxx >=18 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - zlib + - python >=3.9 + - lark >=1.2.2 + - python license: MIT license_family: MIT - size: 114937 - timestamp: 1742402589010 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.4-h1d7e6e1_2.conda - sha256: f82eb2b3465f860a8703b9f7694ad6419b1d477e0485cebb1d1b76b94a8606fe - md5: d341bc43aedb09c6256ef321793e6890 + run_exports: {} + size: 22913 + timestamp: 1752876729969 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda + sha256: 3d6ba2c0fcdac3196ba2f0615b4104e532525ffa1335b50a2878be5ff488814a + md5: 0242025a3c804966bf71aa04eee82f66 depends: - - __osx >=11.0 - - libcxx >=18 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - zlib + - markdown-it-py >=2.2.0 + - pygments >=2.13.0,<3.0.0 + - python >=3.10 + - typing_extensions >=4.0.0,<5.0.0 + - python license: MIT license_family: MIT - size: 113025 - timestamp: 1742402688792 -- conda: https://conda.anaconda.org/conda-forge/win-64/geotiff-1.7.4-h86c3423_2.conda - sha256: d7f94ece67db2e70af5d55a50ee481dfc20bbef7ed03a61ec85101b77ae0013d - md5: 9328cad37c17330530ce1b8ac8b71254 + run_exports: {} + size: 208577 + timestamp: 1775991661559 +- conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.21.0-pyhcf101f3_1.conda + sha256: b1f09b85b4ce3ea6ea63fc6ffa81ef0498768389bf922dc8c7006edac02f7fd8 + md5: a0811eb1142b4da29162d1931922a1ec depends: - - libjpeg-turbo >=3.0.0,<4.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - zlib + - python >=3.12 + - packaging + - rasterio >=1.4.3 + - xarray >=2024.7.0,<2025.12 + - pyproj >=3.3 + - numpy >=2 + - python + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 61005 + timestamp: 1771351751465 +- conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda + sha256: e32e94e7693d4bc9305b36b8a4ef61034e0428f58850ebee4675978e3c2e5acf + md5: 58958bb50f986ac0c46f73b6e290d5fe + depends: + - pyasn1 >=0.1.3 + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 31709 + timestamp: 1744825527634 +- conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + sha256: b48bebe297a63ae60f52e50be328262e880702db4d9b4e86731473ada459c2a1 + md5: 06ad944772941d5dae1e0d09848d8e49 + depends: + - python >=3.10 + - ruamel.yaml.clib >=0.2.15 + - python license: MIT license_family: MIT - size: 123660 - timestamp: 1742402704770 -- conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda - sha256: d04c4a6c11daa72c4a0242602e1d00c03291ef66ca2d7cd0e171088411d57710 - md5: 49c36fcad2e9af6b91e91f2ce5be8ebd + run_exports: {} + size: 98448 + timestamp: 1767538149184 +- conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.19.0-pyhd8ed1ab_0.conda + sha256: b71e634a77ef831ac41f9d7c956dd01867a838ddd544fa5d9020a612f633f06b + md5: a359066b94e013283b7e11559fbb19fc + depends: + - botocore >=1.37.4,<2.0a.0 + - python >=3.10 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 73916 + timestamp: 1781693053515 +- conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda + noarch: python + sha256: ea29a69b14dd6be5cdeeaa551bf50d78cafeaf0351e271e358f9b820fcab4cb0 + md5: 62afb877ca2c2b4b6f9ecb37320085b6 + depends: + - seaborn-base 0.13.2 pyhd8ed1ab_3 + - statsmodels >=0.12 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 6876 + timestamp: 1733730113224 +- conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda + sha256: f209c9c18187570b85ec06283c72d64b8738f825b1b82178f194f4866877f8aa + md5: fd96da444e81f9e6fcaac38590f3dd42 + depends: + - matplotlib-base >=3.4,!=3.6.1 + - numpy >=1.20,!=1.24.0 + - pandas >=1.2 + - python >=3.9 + - scipy >=1.7 + constrains: + - seaborn =0.13.2=*_3 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 227843 + timestamp: 1733730112409 +- conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda + sha256: bea67173ed67c73cf16691ef72e58059492ac1ed1c880cfbeb6f1295c5add7d6 + md5: 8e7be844ccb9706a999a337e056606ab 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: LGPL-3.0-only - license_family: LGPL - size: 26238 - timestamp: 1750744808182 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda - sha256: 6c33bf0c4d8f418546ba9c250db4e4221040936aef8956353bc764d4877bc39a - md5: d411fc29e338efb48c5fd4576d71d881 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 22532 + timestamp: 1767294175877 +- conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda + sha256: 8fc024bf1a7b99fc833b131ceef4bef8c235ad61ecb95a71a6108be2ccda63e8 + md5: b70e2d44e6aa2beb69ba64206a16e4c6 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 + - __osx + - pyobjc-framework-cocoa + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 119654 - timestamp: 1726600001928 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda - sha256: c0bea66f71a6f4baa8d4f0248e17f65033d558d9e882c0af571b38bcca3e4b46 - md5: a26de8814083a6971f14f9c8c3cb36c2 + run_exports: {} + size: 22519 + timestamp: 1770937603551 +- conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.conda + sha256: 305446a0b018f285351300463653d3d3457687270e20eda37417b12ee386ef76 + md5: 6ac53f3fff2c416d63511843a04646fa depends: - - __osx >=10.13 - - libcxx >=17 + - __win + - pywin32 + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 84946 - timestamp: 1726600054963 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda - sha256: fd56ed8a1dab72ab90d8a8929b6f916a6d9220ca297ff077f8f04c5ed3408e20 - md5: 57a511a5905caa37540eb914dfcbf1fb + run_exports: {} + size: 22864 + timestamp: 1770937641143 +- conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.conda + sha256: 59656f6b2db07229351dfb3a859c35e57cc8e8bcbc86d4e501bff881a6f771f1 + md5: 28eb91468df04f655a57bcfbb35fc5c5 depends: - - __osx >=11.0 - - libcxx >=17 + - __linux + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 82090 - timestamp: 1726600145480 -- conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda - sha256: aac402a8298f0c0cc528664249170372ef6b37ac39fdc92b40601a6aed1e32ff - md5: 3bf7b9fd5a7136126e0234db4b87c8b6 + run_exports: {} + size: 24108 + timestamp: 1770937597662 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 + md5: 8e194e7b992f99a5015edbd4ebd38efd depends: - - libgcc-ng >=12 + - python >=3.10 license: MIT license_family: MIT - size: 77248 - timestamp: 1712692454246 -- conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda - sha256: 2c825df829097536314a195ae5cacaa8695209da6b4400135a65d8e23c008ff8 - md5: 03e8c9b4d3da5f3d6eabdd020c2d63ac + run_exports: {} + size: 639697 + timestamp: 1773074868565 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.1.2-pyhcf101f3_0.conda + sha256: 96a017d8edec2bf561585613e122d3d5a06683c360aefa9a41fd12ddf0c7672e + md5: 01e4f42b457f48ee8930e1eb61d749f1 + depends: + - python >=3.10 + - vcs_versioning >=2.0.0.dev0 + - packaging >=20 + - setuptools + - tomli >=1 + - typing_extensions + - python license: MIT license_family: MIT - size: 74516 - timestamp: 1712692686914 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda - sha256: 843b3f364ff844137e37d5c0a181f11f6d51adcedd216f019d074e5aa5d7e09c - md5: 95fa1486c77505330c20f7202492b913 + run_exports: {} + size: 29271 + timestamp: 1782211742106 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.1.2-hc34e891_0.conda + sha256: 3ff569f739c3ae549ed450feab3d47f9de5183c37a591403be0f46228641af65 + md5: c2e0782d623a5c181cc83b19cfcc0b56 + depends: + - setuptools-scm ==10.1.2 pyhcf101f3_0 license: MIT license_family: MIT - size: 71613 - timestamp: 1712692611426 -- conda: https://conda.anaconda.org/conda-forge/win-64/git-2.54.0-h57928b3_1.conda - sha256: 939dd3e3172d754307f912b7cafffc2dacaf55df02f20c45c4bfba2193a2a378 - md5: 73c8842de3e31efd71a85735349c3da2 - license: GPL-2.0-or-later and LGPL-2.1-or-later - size: 123456704 - timestamp: 1780737175469 -- conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 - md5: 7c14f3706e099f8fcd47af2d494616cc + run_exports: {} + size: 3837 + timestamp: 1782211742106 +- conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda + sha256: 1d6534df8e7924d9087bd388fbac5bd868c5bf8971c36885f9f016da0657d22b + md5: 83ea3a2ddb7a75c1b09cea582aa4f106 + depends: + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 15018 + timestamp: 1762858315311 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 depends: - python >=3.9 - - smmap >=3.0.1,<6 - license: BSD-3-Clause - license_family: BSD - size: 53136 - timestamp: 1735887290843 -- conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.50-pyhd8ed1ab_0.conda - sha256: 718c9d0cc287ffda978996c4105ddd2863dd7bad7fb5794cdd365bd809ef2fa5 - md5: 98958318a01373a615f119b1040b3027 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 18455 + timestamp: 1753199211006 +- conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda + sha256: 58185ed2290aa6ef0a5de7012c2a581d75a3577b7e93de455c19fa10d344570a + md5: 8e4971d25d53f168dfb64d6f5ee1316d depends: - - gitdb >=4.0.1,<5 - python >=3.10 - - typing_extensions >=3.10.0.2 + - wrapt + - python + license: MIT + license_family: MIT + run_exports: {} + size: 57112 + timestamp: 1778331246761 +- conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda + sha256: bc86861086db65c9b56dd6a1605755f41a9875b94fc3b69e137f686700d91aa1 + md5: b899f1195be56d8215ed1973a8f409c3 + depends: + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 162193 - timestamp: 1778065820061 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.84.3-hf516916_0.conda - sha256: bf744e0eaacff469196f6a18b3799fde15b8afbffdac4f5ff0fdd82c3321d0f6 - md5: 39f817fb8e0bb88a63bbdca0448143ea + run_exports: {} + size: 27262 + timestamp: 1781021238494 +- conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda + sha256: dce518f45e24cd03f401cb0616917773159a210c19d601c5f2d4e0e5879d30ad + md5: 03fe290994c5e4ec17293cfb6bdce520 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libglib 2.84.3 hf39c6af_0 - license: LGPL-2.1-or-later - size: 116716 - timestamp: 1754315054614 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.88.1-hee1de02_2.conda - sha256: ae41fd5c867bc4e713a8cc1dc06f5b418026fec116cc222abe33e94235c6b241 - md5: e5a459d2bb98edb88de5a44bfad66b9d + - python >=3.10 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 15698 + timestamp: 1762941572482 +- conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda + sha256: 61f9373709e7d9009e3a062b135dbe44b16e684a4fcfe2dd624143bc0f80d402 + md5: 9aa358575bbd4be126eaa5e0039f835c depends: - - libglib ==2.88.1 h0d30a3d_2 - - libffi - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: LGPL-2.1-or-later - size: 236955 - timestamp: 1778508800134 -- conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.84.3-h35d42e9_0.conda - sha256: 7bcabd2a375b95a64288158a9125b4cae9879957f8c18a6406b0bf144f1f5ce8 - md5: e904f2fdddbec55c387b9afc1aa90e79 + - numpy + - pyparsing >=2.1.6 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 11313 + timestamp: 1733818738919 +- conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda + sha256: d1e3e06b5cf26093047e63c8cc77b70d970411c5cbc0cb1fad461a8a8df599f7 + md5: 0401a17ae845fa72c7210e206ec5647d depends: - - __osx >=10.13 - - libglib 2.84.3 h5fed8df_0 - - libintl >=0.25.1,<1.0a0 - license: LGPL-2.1-or-later - size: 102128 - timestamp: 1754315404852 -- conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda - sha256: f4e609d1c523de5ce3ae0a5844573b0b0b30d24b380ca044fb689f288f2c9e54 - md5: 71618f9b86b1d1ff2678c3c196045ca1 + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 28657 + timestamp: 1738440459037 +- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda + sha256: 2afa5fe9331c09b4c4689ddf6ace8fc16c837eae547c57dab325b844072fdd77 + md5: 9e21f087f087f805debe877d88e00a14 depends: - - libglib ==2.88.1 hf28f236_2 - - libffi - - __osx >=11.0 - - libintl >=0.25.1,<1.0a0 - license: LGPL-2.1-or-later - size: 216282 - timestamp: 1778508940832 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.84.3-h857b2e6_0.conda - sha256: c0cebe4a3e41e20bfadd9d7b9b93fe314c55f80d5bb2d45373e04a7878c856c3 - md5: c018d74ec3d1c6d27e1e4714117b653a + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 38802 + timestamp: 1779635534390 +- 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 + run_exports: {} + size: 30854 + timestamp: 1771872849343 +- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 + md5: b1b505328da7a6b246787df4b5a49fbc + depends: + - asttokens + - executing + - pure_eval + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 26988 + timestamp: 1733569565672 +- conda: https://conda.anaconda.org/conda-forge/noarch/super-collections-0.6.2-pyhd8ed1ab_0.conda + sha256: cc8d62c5f2ea2fe894d422b1dc559eafa1bfb588c8e27bbb034c9e75b4a62ae8 + md5: 2e813ca47d1e4223081a75d08d5ee173 depends: - - __osx >=11.0 - - libglib 2.84.3 h587fa63_0 - - libintl >=0.25.1,<1.0a0 - license: LGPL-2.1-or-later - size: 101984 - timestamp: 1754315707816 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.88.1-h37541a8_2.conda - sha256: 414bdf86a8096d5706293d163359def2e61b8ffd3fe106bbf2028d79e58e6a97 - md5: 8d4580a91948a6c3383a7c2fbfe5311c + - python >=3.10 + - super_collections >=0.6.2,<0.6.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 6927 + timestamp: 1759321066325 +- conda: https://conda.anaconda.org/conda-forge/noarch/super_collections-0.6.2-pyhd8ed1ab_0.conda + sha256: da5b15f808dbc6c4d06f95a54b833e6a7faeb117d3a640f6513b855994a65177 + md5: fc4839a94c8be99378a45bfcfbcced75 depends: - - libglib ==2.88.1 ha08bb59_2 - - libffi - - __osx >=11.0 - - libintl >=0.25.1,<1.0a0 - license: LGPL-2.1-or-later - size: 204902 - timestamp: 1778508895255 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda - sha256: dc824dc1d0aa358e28da2ecbbb9f03d932d976c8dca11214aa1dcdfcbd054ba2 - md5: ff862eebdfeb2fd048ae9dc92510baca + - hjson-py + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 21464 + timestamp: 1759321058217 +- conda: https://conda.anaconda.org/conda-forge/noarch/symspellpy-6.9.0-pyhcf101f3_0.conda + sha256: d458fcc15ec296d803dcbd5f2b8f090946bdce2c6c18fe00b25b65ef909d5982 + md5: 55dc3d4d76c0e2269bb395c7bad0e3ef 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-64/glog-0.7.1-h2790a97_0.conda - sha256: dd56547db8625eb5c91bb0a9fbe8bd6f5c7fbf5b6059d46365e94472c46b24f9 - md5: 06cf91665775b0da395229cd4331b27d + - python >=3.10 + - editdistpy >=0.1.3 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 2387121 + timestamp: 1781534638835 +- conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + sha256: 3f661e98a09f976775a494488beb3d35ebb00f535b169c6bd891f2e280d55783 + md5: 3b887b7b3468b0f494b4fad40178b043 depends: - - __osx >=10.13 - - gflags >=2.2.2,<2.3.0a0 - - libcxx >=16 - license: BSD-3-Clause - license_family: BSD - size: 117017 - timestamp: 1718284325443 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda - sha256: 9fc77de416953aa959039db72bc41bfa4600ae3ff84acad04a7d0c1ab9552602 - md5: fef68d0a95aa5b84b5c1a4f6f3bf40e1 + - python >=3.10 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 43964 + timestamp: 1772732795746 +- conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda + sha256: 6b549360f687ee4d11bf85a6d6a276a30f9333df1857adb0fe785f0f8e9bcd60 + md5: f88bb644823094f436792f80fba3207e depends: - - __osx >=11.0 - - gflags >=2.2.2,<2.3.0a0 - - libcxx >=16 - license: BSD-3-Clause + - python >=3.10 + - python + license: BSD-2-Clause license_family: BSD - size: 112215 - timestamp: 1718284365403 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glpk-5.0-h445213a_0.tar.bz2 - sha256: 0e19c61198ae9e188c43064414a40101f5df09970d4a2c483c0c46a6b1538966 - md5: efc4b0c33bdf47312ad5a8a0587fa653 + run_exports: {} + size: 19397 + timestamp: 1762956379123 +- conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda + sha256: fd9ab8829947a6a405d1204904776a3b206323d78b29d99ae8b60532c43d6844 + md5: 5d99943f2ae3cc69e1ada12ce9d4d701 depends: - - gmp >=6.2.1,<7.0a0 - - libgcc-ng >=9.3.0 - license: GPL-3.0-or-later - license_family: GPL - size: 1047292 - timestamp: 1624569176979 -- conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 - sha256: da922f4e6b893dce75e04d1ac28fc02301554cc0a3e80e6e768d44bc3a9cc1f0 - md5: 323537f09c8044f0352a8af30a6fc650 + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 25364 + timestamp: 1743640859268 +- conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda + sha256: 32e75900d6a094ffe4290a8c9f1fa15744d9da8ff617aba4acaa0f057a065c34 + md5: 043f0599dc8aa023369deacdb5ac24eb depends: - - gmp >=6.2.1,<7.0a0 - license: GPL-3.0-or-later - license_family: GPL - size: 1048780 - timestamp: 1624569356062 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glpk-5.0-h6d7a090_0.tar.bz2 - sha256: ac67e0ee73936f2b38b4c3c55354bec4ac79f31d4f4ed1020103f052c052259d - md5: 02b868940101a06a6365c109ab1a94fe + - python >=3.10 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 31404 + timestamp: 1770510172846 +- conda: https://conda.anaconda.org/conda-forge/noarch/termcolor-3.3.0-pyhd8ed1ab_0.conda + sha256: 2107f959cd2a8a804d52e124434088e1a28c843942b62a7f8a3d84072861f0ef + md5: bc6228906129e420c74a5ebaf0d63936 depends: - - gmp >=6.2.1,<7.0a0 - license: GPL-3.0-or-later - license_family: GPL - size: 1003220 - timestamp: 1624569244555 -- conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 - sha256: 56965382a8ab357b44198b642f8f493e7ad8a26a6af1edbb5ae6ac8c4ee5e974 - md5: ff4181250d91940494d3127243a9d858 + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 13259 + timestamp: 1767096412722 +- conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda + sha256: b375e8df0d5710717c31e7c8e93c025c37fa3504aea325c7a55509f64e5d4340 + md5: e43ca10d61e55d0a8ec5d8c62474ec9e depends: - - vc >=14.1,<15.0a0 - - vs2015_runtime >=14.16.27012 - license: GPL-3.0-or-later - license_family: GPL - size: 3510140 - timestamp: 1624569680176 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c - md5: c94a5994ef49749880a8139cf9afcbe1 + - __win + - pywinpty >=1.1.0 + - python >=3.10 + - tornado >=6.1.0 + - python + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 23665 + timestamp: 1766513806974 +- conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda + sha256: 6b6727a13d1ca6a23de5e6686500d0669081a117736a87c8abf444d60c1e40eb + md5: 17b43cee5cc84969529d5d0b0309b2cb depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 460055 - timestamp: 1718980856608 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda - sha256: 75aa5e7a875afdcf4903b7dc98577672a3dc17b528ac217b915f9528f93c85fc - md5: 427101d13f19c4974552a4e5b072eef1 + - __unix + - ptyprocess + - python >=3.10 + - tornado >=6.1.0 + - python + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 24749 + timestamp: 1766513766867 +- conda: https://conda.anaconda.org/conda-forge/noarch/textual-8.2.7-pyhcf101f3_0.conda + sha256: 93c632039c8ebc6d72db2cbdec4becfc363beb0169643acd0d56eca5d53a988c + md5: 942b41d6058c938355781fd589656b06 + depends: + - pygments >=2.19.2,<3.0.0 + - typing_extensions >=4.4.0,<5.0.0 + - platformdirs >=3.6.0,<5 + - python >=3.10,<4.0.0 + - markdown-it-py >=2.1.0 + - linkify-it-py >=1,<3 + - mdit-py-plugins + - rich >=14.2.0 + - python + constrains: + - tree_sitter >=0.25.0 + - tree_sitter_languages 1.10.2.* + license: MIT + license_family: MIT + run_exports: {} + size: 537879 + timestamp: 1779225928184 +- conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda + sha256: 6016672e0e72c4cf23c0cf7b1986283bd86a9c17e8d319212d78d8e9ae42fdfd + md5: 9d64911b31d57ca443e9f1e36b04385f depends: - - __osx >=10.13 - - libcxx >=16 - license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 428919 - timestamp: 1718981041839 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda - sha256: 76e222e072d61c840f64a44e0580c2503562b009090f55aa45053bf1ccb385dd - md5: eed7278dfbab727b56f2c0b64330814b + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 23869 + timestamp: 1741878358548 +- conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda + sha256: cdd2067b03db7ed7a958de74edc1a4f8c4ae6d0aa1a61b5b70b89de5013f0f78 + md5: 6fc48bef3b400c82abaee323a9d4e290 depends: - - __osx >=11.0 - - libcxx >=16 - license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 365188 - timestamp: 1718981343258 -- conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda - sha256: 664311ea9164898f72d43b7ebf591b1a337d574cbb0d5026b4a8f21000dc8b29 - md5: 74558de25a206a7dff062fd4f5ff2d8b + - python >=3.6 + license: MIT + license_family: MIT + run_exports: {} + size: 12341 + timestamp: 1691135604942 +- conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + sha256: cad582d6f978276522f84bd209a5ddac824742fe2d452af6acf900f8650a73a2 + md5: f1acf5fdefa8300de697982bcb1761c9 depends: - - libgcc >=13 - - libwinpthread >=12.0.0.r2.ggc561118da - - ucrt >=10.0.20348.0 - constrains: - - mpir <0.0a0 - license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 567053 - timestamp: 1718982076982 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.30.3-pyhcf101f3_0.conda - sha256: b6ab505ee1da1a8b732c045f4f26c32386f4d2bdf2019d06dab0d2d3c843a701 - md5: fc99cddcd8e6b37d975781e54f1770de + - python >=3.5 + - webencodings >=0.4 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 28285 + timestamp: 1729802975370 +- conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + sha256: fd30e43699cb22ab32ff3134d3acf12d6010b5bbaa63293c37076b50009b91f8 + md5: d0fc809fa4c4d85e959ce4ab6e1de800 depends: - python >=3.10 - - googleapis-common-protos >=1.63.2,<2.0.0 - - protobuf >=4.25.8,<8.0.0 - - proto-plus >=1.25.0,<2.0.0 - - google-auth >=2.14.1,<3.0.0 - - requests >=2.20.0,<3.0.0 - python - license: Apache-2.0 - license_family: APACHE - size: 105268 - timestamp: 1775900169330 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-api-core-2.31.0-pyhcf101f3_0.conda - sha256: 7e3cfd82fccdd59061d032badc888f41f9a084356ba384e133892de4ae8121b4 - md5: 5fc3d86518a050fe18719eb49cd0e6ad + license: MIT + license_family: MIT + run_exports: {} + size: 24017 + timestamp: 1764486833072 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd + md5: b5325cf06a000c5b14970462ff5e4d58 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 21561 + timestamp: 1774492402955 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda + sha256: 1cd52f9ccb4854c4d731438afe0e833b6b71edaf5ede661152aa98efb3a7cc70 + md5: 42ef10a8f7f5d55a2e267c0d5daa6387 + depends: + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 41169 + timestamp: 1778423744478 +- conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda + sha256: 4e379e1c18befb134247f56021fdf18e112fb35e64dd1691858b0a0f3bea9a45 + md5: c07a6153f8306e45794774cf9b13bd32 depends: - python >=3.10 - - googleapis-common-protos >=1.63.2,<2.0.0 - - protobuf >=5.29.6,<8.0.0 - - proto-plus >=1.25.0,<2.0.0 - - google-auth >=2.14.1,<3.0.0 - - requests >=2.33.0,<3.0.0 - - python - license: Apache-2.0 - license_family: APACHE - size: 104917 - timestamp: 1780524584750 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-auth-2.53.0-pyhcf101f3_0.conda - sha256: 8115a6f097e250a0262fc421130b5fc7020355de32c5a3433f77ce0a474ca0ee - md5: d50b6addfb7f132c6da4cc67e1a9470b + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 53978 + timestamp: 1760707830681 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda + sha256: 9ef8e47cf00e4d6dcc114eb32a1504cc18206300572ef14d76634ba29dfe1eb6 + md5: e5ce43272193b38c2e9037446c1d9206 depends: - python >=3.10 - - pyasn1-modules >=0.2.1 - - cryptography >=38.0.3 - - aiohttp >=3.8.0,<4.0.0 - - requests >=2.20.0,<3.0.0 - - pyopenssl >=20.0.0 - - pyu2f >=0.1.5 - - rsa >=3.1.4,<5 + - __unix - python - license: Apache-2.0 - license_family: APACHE - size: 146791 - timestamp: 1778925496771 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.5.0-pyhcf101f3_1.conda - sha256: fcef1d51f6de304a23c19ea6b3114dcab9ce54482d9f506f9a3e0b48be514744 - md5: 48fcccc0b579087018df0afc332b8bd6 + license: MPL-2.0 and MIT + run_exports: {} + size: 94132 + timestamp: 1770153424136 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyha7b4d00_0.conda + sha256: 63cc2def6e168622728c7800ed6b3c1761ceecb18b354c81cee1a0a94c09900a + md5: af77160f8428924c17db94e04aa69409 depends: - - python >=3.10,<3.14 - - google-api-core >=1.31.6,<3.0.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0 - - google-auth >=1.25.0,<3.0.0 - - grpcio >=1.38.0,<2.0.0 - - grpcio-status >=1.38.0,<2.0.0 + - python >=3.10 + - colorama + - __win - python - license: Apache-2.0 - license_family: APACHE - size: 33593 - timestamp: 1768561863777 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-core-2.6.0-pyhcf101f3_1.conda - sha256: 33ce240b20edcfab78d29931bdcdaea6159c41e1247a6b68a539676fb2655c75 - md5: 4717a98a7a939cc6695f801a2eb64f7c + license: MPL-2.0 and MIT + run_exports: {} + size: 93399 + timestamp: 1770153445242 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyh8f84b5b_0.conda + sha256: 613d5cc47571c0b66e31265ff1e0fa5bef0e7b7670f33c67f5a2c587faf6e5d1 + md5: 65094960cb7ed216b6049aab57205902 depends: - python >=3.10 - - google-api-core >=2.11.0,<3.0.0 - - google-auth >=2.14.1,<3.0.0,!=2.24.0,!=2.25.0 - - grpcio >=1.75.1,<2.0.0 - - grpcio-status >=1.47.0,<2.0.0 + - __unix - python - license: Apache-2.0 - license_family: APACHE - size: 33255 - timestamp: 1780580616158 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-cloud-storage-3.11.0-pyhcf101f3_0.conda - sha256: 5de064320b8c826d46674f880170e07b270d9bc453772f49ea9ddefc21e4175b - md5: 844afce24940aea65d47ce392bc7296d + constrains: + - envwrap >=0.2 + - ipywidgets >=6.0 + license: MPL-2.0 and MIT + run_exports: {} + size: 94965 + timestamp: 1781741268338 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.3-pyha7b4d00_0.conda + sha256: 41768105c1b4d2cfa3877b902f653275de26bb57d8877904791113329acc1fd4 + md5: 0b814124391b7e176bcc0cce445a3a36 depends: - python >=3.10 - - google-api-core >=2.27.0,<3.0.0 - - google-auth >=2.26.1,<3.0.0 - - google-cloud-core >=2.4.2,<3.0.0 - - google-crc32c >=1.6.0,<2.0.0 - - google-resumable-media >=2.7.2,<3.0.0 - - requests >=2.22.0,<3.0.0 - - protobuf >=3.20.2,<7.0.0 + - colorama + - __win - python - license: Apache-2.0 - license_family: APACHE - size: 211870 - timestamp: 1780556016916 -- conda: https://conda.anaconda.org/conda-forge/linux-64/google-crc32c-1.8.0-py312h03f33d3_1.conda - sha256: 3f962b2cbdc2aac3089a5c708477657266c0a665f0eed09981a34d1ab6793065 - md5: 68f704ea294dcec9e09edd9c3d233846 + constrains: + - envwrap >=0.2 + - ipywidgets >=6.0 + license: MPL-2.0 and MIT + run_exports: {} + size: 94630 + timestamp: 1781741323148 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda + sha256: 8def9a46c51fc4304853fcf65054f3c155ef93a95417f384ee58c7849826ba41 + md5: e38b732ce8d5f44d06386a9f600c7d0d depends: - - __glibc >=2.17,<3.0.a0 - - libcrc32c >=1.1.2,<1.2.0a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 24900 - timestamp: 1768549198202 -- conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda - sha256: ffd90aaf431a1a1d45f1b852aef16e56c1ce73bd443fae96d83c9d8d2b8a9af2 - md5: 558f8364bc7ccb5be86f035dadab7981 + - python >=3.10 + - tqdm >4.64 + license: MIT + license_family: MIT + run_exports: {} + size: 17078 + timestamp: 1773757189785 +- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + sha256: b89a823edf524956b94a2a4db974866e4501f05c68976eff458c5dcf07f88431 + md5: 37e3be7b6e2977d37b8fa5da229f5dc0 depends: - - __osx >=10.13 - - libcrc32c >=1.1.2,<1.2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 24287 - timestamp: 1768549357803 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda - sha256: cf6c1345d2c4fb4cee1128256d3a1d3fe5150c8788bc6cad12a04cbfc44bb247 - md5: 0c8ad601cdbec3be85d1c62080b388d7 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 115158 + timestamp: 1780507822178 +- conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.1-pyhd8ed1ab_0.conda + sha256: 24e1d43f26349ac8a4201e390996476fcd1b32d7ca946649db46468f6d54c0ea + md5: ed5f5e0cbc50f05631813b0d48021de1 depends: - - __osx >=11.0 - - libcrc32c >=1.1.2,<1.2.0a0 - - 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 - size: 25105 - timestamp: 1768549598713 -- conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda - sha256: 58381cbd3f0df0382b4f0981a6c1f34ba6f0be7fb84a9a29de134c5fe86f646c - md5: 91f5fad53070eed2524245d9a7902efa + - highspy + - networkx + - numpy >=1.11.0 + - pandas >=0.18.1,<3.0 + - pyomo >=6.4.3 + - python >3.0 + - scikit-learn >=0.0 + - tqdm + license: MIT + license_family: MIT + run_exports: {} + size: 1700511 + timestamp: 1722931441174 +- conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda + sha256: 50d0a8492b45e26d6ac373086f1490916fc8a14346c51f617746931e2a1516ed + md5: 2b661fd7a718757b2e91bbcac81deb48 depends: - - libcrc32c >=1.1.2,<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 - license: Apache-2.0 - license_family: Apache - size: 28231 - timestamp: 1768549335337 -- conda: https://conda.anaconda.org/conda-forge/noarch/google-resumable-media-2.8.0-pyhd8ed1ab_0.conda - sha256: 23d825ed0664a8089c7958bffd819d26e1aba7579695c40dfbdb25a4864d8be6 - md5: ba7f04ba62be69f9c9fef0c4487c210b + - highspy + - networkx + - numpy >=1.20 + - pandas >2.0.3 + - pyomo >=6.4.3 + - python >=3.9,<=3.13 + - scikit-learn >=0.0 + - tqdm + license: MIT + license_family: MIT + run_exports: {} + size: 220388 + timestamp: 1750060333624 +- conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.1.2-pyhc364b38_0.conda + sha256: c69e0832a07361ad3554e11ef1ab677d417ae9607f285b533edbf32e04c25969 + md5: 9a6d1f8625abaadb56bcab6b01be3eb3 + depends: + - python >=3.10,<=3.14.3 + - scikit-learn >=1.3.0,<=1.8.0 + - pandas >=2.2.0,<=3.0.1 + - numpy >=1.22.4,<=2.4.2 + - pyomo >=6.4.3,<=6.10.0 + - networkx >=2.5,<=3.6.1 + - tqdm >=4.21.0,<=4.67.3 + - highspy >=1.7.2,<=1.13.1 + - plotly >=5.0.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 2572980 + timestamp: 1773048975849 +- conda: https://conda.anaconda.org/conda-forge/noarch/tsam-3.4.1-pyhc364b38_0.conda + sha256: 0c0f301a17bcb3c31636004c8901c0c2dd348431f2538a612d47627b4a4055e6 + md5: c0cfccba11db0bbcc9a2a647dc99043d + depends: + - python >=3.10,<=3.14.5 + - scikit-learn >=1.3.0,<=1.8.0 + - pandas >=2.2.0,<=3.0.3 + - numpy >=1.22.4,<=2.4.6 + - pyomo >=6.4.3,<=6.10.0 + - networkx >=2.5,<=3.6.1 + - tqdm >=4.21.0,<=4.67.3 + - highspy >=1.7.2,<=1.14.0 + - plotly >=5.0.0,<=6.6.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 3035125 + timestamp: 1780251452344 +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda + sha256: 59d7851d32fddb5b510272e6557aa982edeb927d349648dac27f5bf01d18bb26 + md5: 4460f039b7dedf15f7df086446ca75ae depends: - - google-crc32c >=1.0.0,<2.0.0 + - typing_extensions >=4.14.0 - python >=3.10 + - importlib-metadata >=3.6 + - python constrains: - - aiohttp >=3.6.2,<4.0.0 - - requests >=2.18.0,<3.0.0 - license: Apache-2.0 - license_family: APACHE - size: 46929 - timestamp: 1763404726218 -- conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.75.0-pyhcf101f3_0.conda - sha256: 987087369159875c17b9686bc22e53a9fbf1a5bdca0078fd92cecd434db367d5 - md5: d0f51913131d5b1ce26abaa7ff83a246 + - pytest >=7 + license: MIT + license_family: MIT + run_exports: {} + size: 38297 + timestamp: 1778779291237 +- conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda + sha256: 15dce0fa9d2a5077755c0ae98b3b521a9409b9468a0597ce697940fb035e5b67 + md5: 71d2c80673511fab927bd15592994030 depends: + - annotated-doc >=0.0.2 + - colorama - python >=3.10 - - protobuf >=4.25.8,<8.0.0 + - rich >=13.8.0 + - shellingham >=1.3.0 - python - license: Apache-2.0 - license_family: APACHE - size: 149671 - timestamp: 1778157259200 -- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - sha256: 885fa7d1d7e2ad9ed0a700ee0d81ceb49de278253082d517959b22d6336eecce - md5: cf09e9fc938518e91d0706572cadf17a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL - size: 100054 - timestamp: 1780454302233 -- conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda - sha256: aaebae3c0e713579e52de6fd4eec54a172e28c7f90d90da4583e91b1634a7fee - md5: 6a0525cf3166f16b9e156fb6b2cac5c0 - depends: - - __osx >=11.0 - - libcxx >=19 - license: LGPL-2.0-or-later - license_family: LGPL - size: 85964 - timestamp: 1780454502704 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda - sha256: c0a060d7b7a05669043ef3f68c7a1025c8594e1ab73735afb64c35e8baa41da5 - md5: 0d576cff278a2e60456d5b2c0a1ffda3 - depends: - - __osx >=11.0 - - libcxx >=19 - license: LGPL-2.0-or-later - license_family: LGPL - size: 82245 - timestamp: 1780454628763 -- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - sha256: 88b6601f8edae59834b59b521e293ff3b58361dc1603240f5a8328c24e6936ad - md5: ff9a9bfe791f56b0227597a7651a6af0 + license: MIT AND BSD-3-Clause + run_exports: {} + size: 185949 + timestamp: 1780494828822 +- conda: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.20260518-pyhcf101f3_0.conda + sha256: 58eb35e905356d7105db51e1cd7eb5a9f2029e0d0bb345215c0eb525babaffb4 + md5: 8c9d908beae2f052bf188c41c85f0b80 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.0-or-later - license_family: LGPL - size: 97308 - timestamp: 1780454389458 -- conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda - sha256: efbd7d483f3d79b7882515ccf229eceb7f4ff636ea2019044e98243722f428be - md5: 0adddc9b820f596638d8b0ff9e3b4823 + - python >=3.10 + - python + license: Apache-2.0 AND MIT + run_exports: {} + size: 26875 + timestamp: 1779101988372 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c + md5: edd329d7d3a4ab45dcf905899a7a6115 depends: - - __glibc >=2.17,<3.0.a0 - - adwaita-icon-theme - - cairo >=1.18.4,<2.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.42.12,<3.0a0 - - gtk3 >=3.24.43,<4.0a0 - - gts >=0.7.6,<0.8.0a0 - - libexpat >=2.7.1,<3.0a0 - - libgcc >=14 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.84.3,<3.0a0 - - librsvg >=2.58.4,<3.0a0 - - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: EPL-1.0 - license_family: Other - size: 2427887 - timestamp: 1754732581595 -- conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-14.1.2-h8b86629_0.conda - sha256: 48d4aae8d2f7dd038b8c2b6a1b68b7bca13fa6b374b78c09fcc0757fa21234a1 - md5: 341fc61cfe8efa5c72d24db56c776f44 + - typing_extensions ==4.15.0 pyhcf101f3_0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 91383 + timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda + sha256: 8b90d2f19f9458b8c58a55e1fcdc1d90c1603a847a47654d8a454549413ba60a + md5: 53f5409c5cfd6c5a66417d68e3f0a864 depends: - - __glibc >=2.17,<3.0.a0 - - adwaita-icon-theme - - cairo >=1.18.4,<2.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.4,<3.0a0 - - gtk3 >=3.24.43,<4.0a0 - - gts >=0.7.6,<0.8.0a0 - - libexpat >=2.7.3,<3.0a0 - - libgcc >=14 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.86.3,<3.0a0 - - librsvg >=2.60.0,<3.0a0 - - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: EPL-1.0 - license_family: Other - size: 2426455 - timestamp: 1769427102743 -- conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-13.1.2-h42bfd48_0.conda - sha256: dae3d09e93c1221d63a2bc10fa2919504fd846891e1196b62b0a6f5953c8fe1c - md5: 18d8fd0b5eac07127635b37f1e72e1b0 + - python >=3.10 + - typing_extensions >=4.12.0 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 20935 + timestamp: 1777105465795 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 + md5: 0caa1af407ecff61170c9437a808404d depends: - - __osx >=10.13 - - adwaita-icon-theme - - cairo >=1.18.4,<2.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.42.12,<3.0a0 - - gtk3 >=3.24.43,<4.0a0 - - gts >=0.7.6,<0.8.0a0 - - libcxx >=19 - - libexpat >=2.7.1,<3.0a0 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.84.3,<3.0a0 - - librsvg >=2.58.4,<3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: EPL-1.0 - license_family: Other - size: 2287587 - timestamp: 1754732429816 -- conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda - sha256: dd6a5e3599a2e07c04f4d33e61ecd5c26738eee9e88b9faa1da0f8b062ac9ca3 - md5: 4c1c78d65d867d032c07303cf38117ba + - python >=3.10 + - python + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 51692 + timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda + sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 + md5: fa31df4d4193aabccaf09ce78a187faf depends: - - __osx >=10.13 - - adwaita-icon-theme - - cairo >=1.18.4,<2.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.4,<3.0a0 - - gtk3 >=3.24.43,<4.0a0 - - gts >=0.7.6,<0.8.0a0 - - libcxx >=19 - - libexpat >=2.7.3,<3.0a0 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.86.3,<3.0a0 - - librsvg >=2.60.0,<3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: EPL-1.0 - license_family: Other - size: 2297868 - timestamp: 1769427939677 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-13.1.2-hcd33d8b_0.conda - sha256: f25e1828d02ebd78214966f483cfca5ac6a7b18824369c748d8cda99c66ff588 - md5: 81ab85a5a8481667660c7ce6e84bd681 + - mypy_extensions >=0.3.0 + - python >=3.9 + - typing_extensions >=3.7.4 + license: MIT + license_family: MIT + run_exports: {} + size: 14919 + timestamp: 1733845966415 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda + sha256: 3088d5d873411a56bf988eee774559335749aed6f6c28e07bf933256afb9eb6c + md5: f6d7aa696c67756a650e91e15e88223c depends: - - __osx >=11.0 - - adwaita-icon-theme - - cairo >=1.18.4,<2.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.42.12,<3.0a0 - - gtk3 >=3.24.43,<4.0a0 - - gts >=0.7.6,<0.8.0a0 - - libcxx >=19 - - libexpat >=2.7.1,<3.0a0 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.84.3,<3.0a0 - - librsvg >=2.58.4,<3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: EPL-1.0 - license_family: Other - size: 2201370 - timestamp: 1754732518951 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda - sha256: 755c72d469330265f80a615912a3b522aef6f26cbc52763862b6a3c492fbf97c - md5: 1f3d859de3ca2bcaa845e92e87d73660 + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 15183 + timestamp: 1733331395943 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c + md5: ad659d0a2b3e47e38d829aa8cad2d610 + license: LicenseRef-Public-Domain + run_exports: {} + size: 119135 + timestamp: 1767016325805 +- conda: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-2.0.0-pyhcf101f3_0.conda + sha256: 9e5a0e70e876fca50de075b1cc6641cdc009a16c18f4d52ab03edb777729a1bc + md5: 4fdd327852ffefc83173a7c029690d0c depends: - - __osx >=11.0 - - adwaita-icon-theme - - cairo >=1.18.4,<2.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.4,<3.0a0 - - gtk3 >=3.24.43,<4.0a0 - - gts >=0.7.6,<0.8.0a0 - - libcxx >=19 - - libexpat >=2.7.3,<3.0a0 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.86.3,<3.0a0 - - librsvg >=2.60.0,<3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: EPL-1.0 - license_family: Other - size: 2218284 - timestamp: 1769427599940 -- conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-13.1.2-ha5e8f4b_0.conda - sha256: aef252782fcfd8ebffdcc49c525702db33127535d13d7b00808bbc40919caaed - md5: a1599e42b950661f58f219f3fbe87fde + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 13378 + timestamp: 1772479008776 +- conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda + sha256: 184d1377f88251983ef5154aea0d6cb73108afc8510ed66526afb1c44b2e1259 + md5: 53cb4b14ab0841e104e2bd11ee64b840 depends: - - cairo >=1.18.4,<2.0a0 - - getopt-win32 >=0.1,<0.1.1.0a0 - - gts >=0.7.6,<0.8.0a0 - - libexpat >=2.7.1,<3.0a0 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.84.3,<3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: EPL-1.0 - license_family: Other - size: 1208526 - timestamp: 1754732367050 -- conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda - sha256: 58f83755509a19501a9efe40c484727ffa61fcfaf6a237870678a79638fa6982 - md5: afabed4c46b197b89eb974aa038d12db + - python >=3.10 + - python + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 189632 + timestamp: 1762257681278 +- conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda + sha256: e0eb6c8daf892b3056f08416a96d68b0a358b7c46b99c8a50481b22631a4dfc0 + md5: e7cb0f5745e4c5035a460248334af7eb depends: - - cairo >=1.18.4,<2.0a0 - - getopt-win32 >=0.1,<0.1.1.0a0 - - gts >=0.7.6,<0.8.0a0 - - libexpat >=2.7.3,<3.0a0 - - libgd >=2.3.3,<2.4.0a0 - - libglib >=2.86.3,<3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.4,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: EPL-1.0 - license_family: Other - size: 1223547 - timestamp: 1769427507016 -- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.1-py312h8285ef7_0.conda - sha256: 9f071d4d4efb41b54c671539fd9f9c29589f96f0d4fb457545a4b144e2545644 - md5: 3a704672326e552b019390d832a4b095 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 23990 + timestamp: 1733323714454 +- conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda + sha256: b479c71846946cf17225a2a85a0ca8a621b9deda2f88dd16838dc90a4b6d96ee + md5: 49b01263c5348a30838ba148a30126cf + depends: + - idna + - python >=3.10 + - six + license: MIT + license_family: MIT + run_exports: {} + size: 20754 + timestamp: 1777117020600 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda + sha256: 4fb9789154bd666ca74e428d973df81087a697dbb987775bc3198d2215f240f8 + md5: 436c165519e140cb08d246a4472a9d6a depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 + - brotli-python >=1.0.9 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.9 + - zstandard >=0.18.0 license: MIT license_family: MIT - size: 262881 - timestamp: 1779292371406 -- conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.1-py312h4075484_0.conda - sha256: bfd54a63879763c6a8e25e48d9fb36d45d91ab207887651a23f9ea1d7f300d8f - md5: ab0b86223aff2f5a431e92523f3c3bb4 + run_exports: {} + size: 101735 + timestamp: 1750271478254 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 + md5: cbb88288f74dbe6ada1c6c7d0a97223e depends: - - python - - libcxx >=19 - - __osx >=11.0 - - python_abi 3.12.* *_cp312 + - 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 - size: 257317 - timestamp: 1779292656458 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.1-py312h6510ced_0.conda - sha256: 8e6134cc7b11309423925c7272483de6742c5983cfdf0b0a9ae87e6118601e17 - md5: bd46cb7969581b244df620180a8f9814 + run_exports: {} + size: 103560 + timestamp: 1778188657149 +- conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda + sha256: a9cd585b86f41da98e4d67d75623916456d9df9dbd0ee27c4a722d89eb71cf13 + md5: 3449ef730c7d483adde81993994092b9 depends: - - python - - __osx >=11.0 - - libcxx >=19 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 + - python >=3.9 license: MIT license_family: MIT - size: 258819 - timestamp: 1779292536406 -- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.1-py312ha1a9051_0.conda - sha256: 193737c191e6253db6deb059b6bb4f24f4bd6a42faf4ead29f9f3a27b592ddc2 - md5: de9b6390bd439324ce5ee7b6628c1f7d + run_exports: {} + size: 40032 + timestamp: 1746267229282 +- conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.0-pyhcf101f3_0.conda + sha256: 2c1e6b47728b0400932cbf70626868296d462249f6b641ab5bb6a54c27179a34 + md5: e161e3b199d9978454b5744ae883dcf2 depends: + - python >=3.10 + - packaging >=20 + - tomli >=1 + - typing_extensions >=4.1 - 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: 244092 - timestamp: 1779292425092 -- conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.73.1-py312h6f3464c_1.conda - sha256: 9b6ef222599d63ca23a9e292c35f454756e321cce52af9f5142303230f0c2762 - md5: dca50c100d8d67882ada32756810372f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgrpc 1.73.1 h3288cfb_1 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 885879 - timestamp: 1761058885541 -- conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda - sha256: a751ba0ed00f9306d852111e749ee23c7ae7309cc05716ad6f1bce2bf9db2912 - md5: 94f0b7eefe8e878d70560f54a38b539c - depends: - - __osx >=11.0 - - libcxx >=19 - - libgrpc 1.73.1 h451496d_1 - - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 801087 - timestamp: 1761060745228 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda - sha256: b85be873881dc36b41131f5670d3e31c92625cee1935e0ba27eee07af26e6d8f - md5: 40ee987933a16b51f5f917187ab724f7 - depends: - - __osx >=11.0 - - libcxx >=19 - - libgrpc 1.73.1 h3063b79_1 - - libzlib >=1.3.1,<2.0a0 - - 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 - size: 787600 - timestamp: 1761053803779 -- conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py312h9256aa6_1.conda - sha256: bfbe5d0d5c64a1958d4b72926638e93cd053178f087284d682a6c05955978186 - md5: fec8f13db0fdbeccbc3517dd4804253e - depends: - - libgrpc 1.73.1 h317e13b_1 - - 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 - license: Apache-2.0 - license_family: APACHE - size: 708691 - timestamp: 1761054048135 -- conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.78.1-py312h5881051_0.conda - sha256: 0452624b42956ec771f763b3341ea60a33b478deba8b2a18ef23c63e3a5526d1 - md5: 6cc0e610fb177c1407b07a25305026ed - depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgrpc 1.78.1 h9ff2b3e_0 - - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.12,<5 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 717708 - timestamp: 1774013898778 -- conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.73.1-pyhd8ed1ab_0.conda - sha256: 040fbfe95f62f633869fad6e2069a4b12af3b2236cae1d28c79648a00e93af7f - md5: 5a2944f868149ad5a2e6588be8eed838 - depends: - - googleapis-common-protos >=1.5.5 - - grpcio >=1.73.1 - - protobuf >=6.30.0,<7.0.0 - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - size: 18918 - timestamp: 1751787690403 -- conda: https://conda.anaconda.org/conda-forge/noarch/grpcio-status-1.78.1-pyhcf101f3_0.conda - sha256: 89a893163e8273ee307273e78f3e8b1e5d00b73d0631b65c7ffbec8a2385118d - md5: 829271a8ea9d8024e99e43939ebb114f + run_exports: {} + size: 83103 + timestamp: 1782386657516 +- conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.5.1-pyhcf101f3_0.conda + sha256: 0a7b0a2ada7ad719f9d4f8874eb10911e1fcfdecefc86456105eb806ebd60ac4 + md5: e449fb99b714be1e13fa5564dacd1af5 depends: - python >=3.10 - - protobuf >=6.31.1,<7.0.0 - - grpcio >=1.78.1 - - googleapis-common-protos >=1.5.5 + - distlib >=0.3.7,<1 + - filelock <4,>=3.24.2 + - importlib-metadata >=6.6 + - platformdirs >=3.9.1,<5 + - python-discovery >=1.4.2 + - typing_extensions >=4.13.2 - python - license: Apache-2.0 - license_family: APACHE - size: 28097 - timestamp: 1774879207958 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h0c6a113_5.conda - sha256: d36263cbcbce34ec463ce92bd72efa198b55d987959eab6210cc256a0e79573b - md5: 67d00e9cfe751cfe581726c5eff7c184 - depends: - - __glibc >=2.17,<3.0.a0 - - at-spi2-atk >=2.38.0,<3.0a0 - - atk-1.0 >=2.38.0 - - cairo >=1.18.4,<2.0a0 - - epoxy >=1.5.10,<1.6.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - gdk-pixbuf >=2.42.12,<3.0a0 - - glib-tools - - harfbuzz >=11.0.0,<12.0a0 - - hicolor-icon-theme - - libcups >=2.3.3,<2.4.0a0 - - libcups >=2.3.3,<3.0a0 - - libexpat >=2.6.4,<3.0a0 - - libgcc >=13 - - libglib >=2.84.0,<3.0a0 - - liblzma >=5.6.4,<6.0a0 - - libxkbcommon >=1.8.1,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.3,<2.0a0 - - wayland >=1.23.1,<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-libxfixes >=6.0.1,<7.0a0 - - xorg-libxi >=1.8.2,<2.0a0 - - xorg-libxinerama >=1.1.5,<1.2.0a0 - - xorg-libxrandr >=1.5.4,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 5585389 - timestamp: 1743405684985 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda - sha256: c6bb4f06331bcb0a566d84e0f0fad7af4b9035a03b13e2d5ecfaf13be57e6e10 - md5: bcaea22d85999a4f17918acfab877e61 - depends: - - __glibc >=2.17,<3.0.a0 - - at-spi2-atk >=2.38.0,<3.0a0 - - atk-1.0 >=2.38.0 - - cairo >=1.18.4,<2.0a0 - - epoxy >=1.5.10,<1.6.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - glib-tools - - harfbuzz >=13.2.1 - - hicolor-icon-theme - - libcups >=2.3.3,<2.4.0a0 - - libcups >=2.3.3,<3.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - pango >=1.56.4,<2.0a0 - - wayland >=1.25.0,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxcomposite >=0.4.7,<1.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - xorg-libxdamage >=1.1.6,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - xorg-libxi >=1.8.2,<2.0a0 - - xorg-libxinerama >=1.1.6,<1.2.0a0 - - xorg-libxrandr >=1.5.5,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 5939083 - timestamp: 1774288645605 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.43-h70b172e_5.conda - sha256: 4f1be786342408492578dc696165ed3515bb1c4887c30e0909e50d0f8245fb38 - md5: 38eeb48f9466e5763567d1be1b7ff444 + license: MIT + license_family: MIT + run_exports: {} + size: 3111990 + timestamp: 1781651033074 +- conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 + sha256: a11792999f4c92b182b7c3c444d2981da3b8e7b6b561d8ad2d342d4e39dfa13b + md5: a2e1ba950c0ec23e3ea0b915743a37e0 depends: - - __osx >=10.13 - - atk-1.0 >=2.38.0 - - cairo >=1.18.4,<2.0a0 - - epoxy >=1.5.10,<1.6.0a0 - - fribidi >=1.0.10,<2.0a0 - - gdk-pixbuf >=2.42.12,<3.0a0 - - glib-tools - - harfbuzz >=11.0.0,<12.0a0 - - hicolor-icon-theme - - libexpat >=2.6.4,<3.0a0 - - libglib >=2.84.0,<3.0a0 - - libintl >=0.23.1,<1.0a0 - - liblzma >=5.6.4,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.3,<2.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 4916900 - timestamp: 1743405835449 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda - sha256: c69a03b1eec71c0a764658d67f81eaf9a316276ae900b107cd8d77766bc13cf8 - md5: 76be17e448c23c6d1c99a56c15b15925 + - python >=3.0 + - pyyaml + - requests + - tabulate + license: MIT + license_family: MIT + run_exports: {} + size: 31563 + timestamp: 1657092070355 +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda + sha256: 5ddde23d65aecde7e8dac0b9d9c7821ead2b87a320d787f9e4288c0ee00fa332 + md5: 19c961dd9cab6c3e13cd195f0176dbfa depends: - - __osx >=11.0 - - atk-1.0 >=2.38.0 - - cairo >=1.18.4,<2.0a0 - - epoxy >=1.5.10,<1.6.0a0 - - fribidi >=1.0.16,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - glib-tools - - harfbuzz >=13.2.1 - - hicolor-icon-theme - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libintl >=0.25.1,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 5269457 - timestamp: 1774289309822 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.43-h07173f4_5.conda - sha256: 9650ac1a02975ae0a3917443dc3c35ddc4d8e87a1cb04fda115af5f98e5d457c - md5: 8353369d4c2ecc5afd888405d3226fd9 + - python >=3.10 + license: MIT + license_family: MIT + run_exports: {} + size: 133769 + timestamp: 1780932915297 +- conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda + sha256: 21f6c8a20fe050d09bfda3fb0a9c3493936ce7d6e1b3b5f8b01319ee46d6c6f6 + md5: 6639b6b0d8b5a284f027a2003669aa65 depends: - - __osx >=11.0 - - atk-1.0 >=2.38.0 - - cairo >=1.18.4,<2.0a0 - - epoxy >=1.5.10,<1.6.0a0 - - fribidi >=1.0.10,<2.0a0 - - gdk-pixbuf >=2.42.12,<3.0a0 - - glib-tools - - harfbuzz >=11.0.0,<12.0a0 - - hicolor-icon-theme - - libexpat >=2.6.4,<3.0a0 - - libglib >=2.84.0,<3.0a0 - - libintl >=0.23.1,<1.0a0 - - liblzma >=5.6.4,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - pango >=1.56.3,<2.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 4792338 - timestamp: 1743406461562 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - sha256: 26862a9898054b8552e55e609e5ce73c7ef1eb28bbe6fb87f0b9109d73cd09df - md5: 5557a2433b1339b8e536c264afea41ef + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 18987 + timestamp: 1761899393153 +- conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 + md5: 2841eb5bfc75ce15e9a0054b98dcd64d depends: - - __osx >=11.0 - - atk-1.0 >=2.38.0 - - cairo >=1.18.4,<2.0a0 - - epoxy >=1.5.10,<1.6.0a0 - - fribidi >=1.0.16,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - glib-tools - - harfbuzz >=13.2.1 - - hicolor-icon-theme - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libintl >=0.25.1,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - - pango >=1.56.4,<2.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 9385734 - timestamp: 1774288504338 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - sha256: b5cd16262fefb836f69dc26d879b6508d29f8a5c5948a966c47fe99e2e19c99b - md5: 4d8df0b0db060d33c9a702ada998a8fe + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15496 + timestamp: 1733236131358 +- conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda + sha256: 42a2b61e393e61cdf75ced1f5f324a64af25f347d16c60b14117393a98656397 + md5: 2f1ed718fcd829c184a6d4f0f2e07409 depends: - - libgcc-ng >=12 - - libglib >=2.76.3,<3.0a0 - - libstdcxx-ng >=12 - license: LGPL-2.0-or-later - license_family: LGPL - size: 318312 - timestamp: 1686545244763 -- conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda - sha256: d5b82a36f7e9d7636b854e56d1b4fe01c4d895128a7b73e2ec6945b691ff3314 - md5: 848cc963fcfbd063c7a023024aa3bec0 + - python >=3.10 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 61391 + timestamp: 1759928175142 +- conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda + sha256: 5108c1bf2f0512e5c9dc8191e31b144c23b7cf0e73423a246173006002368d79 + md5: 3eeca039e7316268627f4116da9df64c depends: - - libcxx >=15.0.7 - - libglib >=2.76.3,<3.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 280972 - timestamp: 1686545425074 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - sha256: e0f8c7bc1b9ea62ded78ffa848e37771eeaaaf55b3146580513c7266862043ba - md5: 21b4dd3098f63a74cf2aa9159cbef57d + - markupsafe >=2.1.1 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 258232 + timestamp: 1775160081069 +- conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda + sha256: 6aeb16d2aacdae68ba7afd980925264f5d0459dd165e3406f13f23949df346c1 + md5: 4d52bbdb661dc1b5a1c2aeb1afcd9a67 depends: - - libcxx >=15.0.7 - - libglib >=2.76.3,<3.0a0 - license: LGPL-2.0-or-later - license_family: LGPL - size: 304331 - timestamp: 1686545503242 -- conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda - sha256: b79755d2f9fc2113b6949bfc170c067902bc776e2c20da26e746e780f4f5a2d4 - md5: a41f14768d5e377426ad60c613f2923b + - notebook >=4.4.1 + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 633673 + timestamp: 1729587712065 +- conda: https://conda.anaconda.org/conda-forge/noarch/win32_setctime-1.2.0-pyhd8ed1ab_0.conda + sha256: d7b3128166949d462133d7a86fd8a8d80224dd2ce49cfbdcde9e4b3f8b67bbf2 + md5: e79f83003ee3dba79bf795fcd1bfcc89 depends: - - libglib >=2.76.3,<3.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.0-or-later - license_family: LGPL - size: 188688 - timestamp: 1686545648050 -- conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda - sha256: 77be05ce932373efe674d0bb31690d4a03d15d19f7880218bfe9d1030e6da486 - md5: 732df74126bc3cc24b6564899df74f23 + - python >=3.9 + license: MIT + license_family: MIT + run_exports: {} + size: 9751 + timestamp: 1733752552137 +- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda + sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f + md5: 46e441ba871f524e2b067929da3051c2 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: PROPRIETARY - size: 48125269 - timestamp: 1777597181837 -- conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py312_0.conda - sha256: 5f085f6406285af00538e7869760f709d423832577eb6cd081acb765ff4d3f53 - md5: d8112a7ae939c1828a78b7a6c7619a30 + - __win + - python >=3.9 + license: LicenseRef-Public-Domain + run_exports: {} + size: 9555 + timestamp: 1733130678956 +- conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda + sha256: e27b45ca791cfbcad37d64b8615d0672d94aafa00b014826fcbca2ce18bd1cc0 + md5: 145c6f2ac90174d9ad1a2a51b9d7c1dd depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: PROPRIETARY - size: 48551048 - timestamp: 1777593245194 -- conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py312_0.conda - sha256: 91ea6fe6649747113ada1333cf2e9031d3c5013a20f87f57081cebc4eee581ec - md5: 07e18cdfc8450b2f7c8ef165d8bce050 + - numpy >=1.24 + - packaging >=23.2 + - pandas >=2.1 + - python >=3.10 + constrains: + - scipy >=1.11 + - dask-core >=2023.11 + - bottleneck >=1.3 + - zarr >=2.16 + - flox >=0.7 + - h5py >=3.8 + - iris >=3.7 + - cartopy >=0.22 + - numba >=0.57 + - sparse >=0.14 + - pint >=0.22 + - distributed >=2023.11 + - hdf5 >=1.12 + - seaborn-base >=0.13 + - nc-time-axis >=1.4 + - matplotlib-base >=3.8 + - toolz >=0.12 + - netcdf4 >=1.6.0 + - cftime >=1.6 + - h5netcdf >=1.3 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 879913 + timestamp: 1749743321359 +- conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.9.0-pyhd8ed1ab_0.conda + sha256: ae5a7db3b457caacc5da3e47650ea2dc597b769787669b29bd68cb9d1822046c + md5: ebd60e8b77a2fc77a8d86892705ea245 + depends: + - numpy >=1.26 + - packaging >=24.1 + - pandas >=2.2 + - python >=3.11 + constrains: + - iris >=3.9 + - numba >=0.60 + - nc-time-axis >=1.4 + - hdf5 >=1.14 + - zarr >=2.18 + - seaborn-base >=0.13 + - bottleneck >=1.4 + - cartopy >=0.23 + - cftime >=1.6 + - dask-core >=2024.6 + - toolz >=0.12 + - distributed >=2024.6 + - matplotlib-base >=3.8 + - netcdf4 >=1.6.0 + - flox >=0.9 + - h5netcdf >=1.3 + - pint >=0.24 + - scipy >=1.13 + - sparse >=0.15 + - h5py >=3.11 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 898587 + timestamp: 1756981236899 +- conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda + sha256: 64f09069d8b3a3791643230cedc80d9f9422f667e3e328b40d527375352fe8d4 + md5: 91f5637b706492b9e418da1872fd61ce + depends: + - python >=3.10 + license: BSD-3-Clause AND BSD-4-Clause + license_family: BSD + run_exports: {} + size: 93671 + timestamp: 1756170155688 +- conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2026.3.0-pyhd8ed1ab_0.conda + sha256: 663ea9b00d68c2da309114923924686ab6d3f59ef1b196c5029ba16799e7bb07 + md5: 4487b9c371d0161d54b5c7bbd890c0fc depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: PROPRIETARY - size: 44286201 - timestamp: 1777595386338 -- conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py312_0.conda - sha256: be12b935a1bdac02f3be55ff7bae5a943787b04663229e600a87e950d2843492 - md5: 53b4561887f9c1fa713ca8760bdd5bbe + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 51732 + timestamp: 1774900074457 +- conda: https://conda.anaconda.org/conda-forge/noarch/yarl-1.24.2-pyh7db6752_0.conda + sha256: 360b1a9367e076fdb7889d6fc902a57041e6c190ecfd4d3660f84bd3c91a36b5 + md5: 517da2b90b0910492f03ae3b297efff9 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: PROPRIETARY - size: 44132070 - timestamp: 1777593585130 -- conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda - sha256: 96cac6573fd35ae151f4d6979bab6fbc90cb6b1fb99054ba19eb075da9822fcb - md5: b8993c19b0c32a2f7b66cbb58ca27069 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.10 + track_features: + - yarl_no_compile + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 81559 + timestamp: 1779246114561 +- conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda + sha256: 1ad021f32290e72b70a84dfe0c9b278c61aaa1254f1e1c287d68c32ee4f1093f + md5: 89d5edf5d52d3bc1ed4d7d3feef508ba depends: + - argparse-dataclass >=2.0.0,<3 + - dpath >=2.1,<3.0 - python >=3.10 - - typing_extensions - - python + - pyyaml >=6.0,<7.0 license: MIT license_family: MIT - size: 39069 - timestamp: 1767729720872 -- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 - md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + run_exports: {} + size: 16215 + timestamp: 1764250734338 +- conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.2.1-pyhc364b38_0.conda + sha256: 88716d633ac7fdc896ce7aa00efdfc91df6363d51bebabfb60d34399c023a3d0 + md5: b787cd1f01e24b161261438a5589df51 depends: - - python >=3.10 - - hyperframe >=6.1,<7 - - hpack >=4.1,<5 + - python >=3.12 + - packaging >=22.0 + - numpy >=2 + - numcodecs >=0.14 + - typing_extensions >=4.13 + - donfig >=0.8 + - google-crc32c >=1.5 - python + constrains: + - fsspec >=2023.10.0 + - obstore >=0.5.1 license: MIT license_family: MIT - size: 95967 - timestamp: 1756364871835 -- conda: https://conda.anaconda.org/conda-forge/noarch/h5netcdf-1.8.1-pyhd8ed1ab_0.conda - sha256: 5bf081c0f21a57fc84b5000d53f043d63638b77dcc2137f87511a4581838c9f6 - md5: ca7f9ba8762d3e360e47917a10e23760 + run_exports: {} + size: 367721 + timestamp: 1777989189792 +- conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda + sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d + md5: e52c2ef711ccf31bb7f70ca87d144b9e depends: - - h5py - - numpy - - packaging - python >=3.9 license: BSD-3-Clause license_family: BSD - size: 57732 - timestamp: 1769241877548 -- conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.16.0-nompi_py312ha4f8f14_102.conda - sha256: de9ec9b1b01b90f2da2d896a5835a2fd8049859aff0c6331ca4594327ec79a8b - md5: b270340809d19ae40ff9913f277b803a + run_exports: {} + size: 36341 + timestamp: 1733261642963 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 + md5: ba3dcdc8584155c97c648ae9c044b7a3 depends: - - __glibc >=2.17,<3.0.a0 - - cached-property - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgcc >=14 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python >=3.10 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 24190 + timestamp: 1779159948016 +- conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda + build_number: 7 + sha256: 30006902a9274de8abdad5a9f02ef7c8bb3d69a503486af0c1faee30b023e5b7 + md5: eaac87c21aff3ed21ad9656697bb8326 + depends: + - llvm-openmp >=9.0.1 license: BSD-3-Clause license_family: BSD - size: 1335314 - timestamp: 1775581269364 -- conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda - sha256: 632227065f84306b2f5822b22d10ba84fcd6f5b397b2d69a4c36d92e0ca2f31e - md5: 626ce477182eeedea956ea6a2c94ef14 + run_exports: + weak: + - _openmp_mutex >=4.5 + size: 8328 + timestamp: 1764092562779 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py312h0b1c2f0_0.conda + sha256: 745c449c1dccfeafbd33b4068f7be35d8d6a6307946817414185a67f51538f9d + md5: bb2b52fed934237c452506f1e36a0cd9 depends: - __osx >=11.0 - - cached-property - - hdf5 >=1.14.6,<1.14.7.0a0 - - numpy >=1.23,<3 + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 1183163 - timestamp: 1775582252030 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda - sha256: 68bf1ed50a983c4eea17bab8cb91e7b2bfd19b92f3846e2a057ab1bb78b5b1cd - md5: d6561da751793e9f534b175e070b19d3 + - typing_extensions >=4.4 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1048378 + timestamp: 1780913675043 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aiohttp-3.14.1-py313h6f5309d_0.conda + sha256: 05a67caf5eed81e518d3ca2ad1282af383765a757494a550fe67efcbee7c21a7 + md5: 408fe345c609cf83dc888659712cff14 depends: - __osx >=11.0 - - cached-property - - hdf5 >=1.14.6,<1.14.7.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 - size: 1180081 - timestamp: 1775582311942 -- conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda - sha256: aefa6f6882568f800150fe8d83698f4fd1c4ba4b042260d93cf1a503a460141c - md5: e00778685f838e9c7e40c8927b0f2a72 + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - typing_extensions >=4.4 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1059253 + timestamp: 1780913711460 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ampl-asl-1.0.0-h240833e_2.conda + sha256: 628a84a8f733db11b0904ffd28347a574804101975951f83e6410616b2615936 + md5: 6b685000856e0cfdb468b8d87b51f6f0 depends: - - cached-property - - hdf5 >=1.14.6,<1.14.7.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 - size: 1085071 - timestamp: 1775581446982 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-11.4.5-h15599e2_0.conda - sha256: 9d0d74858e8f8b76f6d3bf11a7390e6eb18eb743dd6e5fd7c4e9822634556f6d - md5: 1276ae4aa3832a449fcb4253c30da4bc + - __osx >=10.13 + - libcxx >=18 + constrains: + - ampl-mp >=4.0.0 + license: BSD-3-Clause AND SMLNJ + run_exports: + weak: + - ampl-asl >=1.0.0,<1.0.1.0a0 + size: 481638 + timestamp: 1732439478905 +- conda: https://conda.anaconda.org/conda-forge/osx-64/argon2-cffi-bindings-25.1.0-py314h6482030_2.conda + sha256: ee1e2c4b12ab8bf4e8970341f6d8a8fd1dfbdb01786f3f6cb2441e1cafdad8a5 + md5: 64f7576ac6bb5308bd930e35016758db 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.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=14 - - libglib >=2.84.3,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 + - __osx >=10.13 + - cffi >=2.0.0b1 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 2402438 - timestamp: 1756738217200 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - sha256: da9901aa1e20cbc2369fda212039b294dd02bce95f005539bab840b7310bf7d0 - md5: 21ee4640b7c2d94e584349fa12b29b9a + run_exports: {} + size: 33641 + timestamp: 1762509686527 +- conda: https://conda.anaconda.org/conda-forge/osx-64/astroid-4.0.4-py314hee6578b_0.conda + sha256: 6dbcfadbb3b2cf215adc32fe1e6ea16e24d8b4922f951881b69badba1980849d + md5: cf75d02837f1ac7c6e2d5402a47b0b12 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: {} + size: 540834 + timestamp: 1770634697046 +- conda: https://conda.anaconda.org/conda-forge/osx-64/atk-1.0-2.38.0-h4bec284_2.conda + sha256: a5972a943764e46478c966b26be61de70dcd7d0cfda4bd0b0c46916ae32e0492 + md5: d9684247c943d492d9aac8687bc5db77 + depends: + - __osx >=10.9 + - libcxx >=16 + - libglib >=2.80.0,<3.0a0 + - libintl >=0.22.5,<1.0a0 + constrains: + - atk-1.0 2.38.0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - atk-1.0 >=2.38.0 + size: 349989 + timestamp: 1713896423623 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.1-h2e727e9_3.conda + sha256: e4d314403229b4c899de1322a3e57ca2fddfb2b641e7ed73eb11bd3f04c1f2ca + md5: b57046504c4331fbcff511f8fc8ef288 + depends: + - __osx >=10.13 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.1,<0.9.2.0a0 + size: 110690 + timestamp: 1757625708334 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-auth-0.9.3-hdff831d_0.conda + sha256: aaadae39675911059bf0caa072c9d0cab622278365f6c3ceb6a63a2e9e57df03 + md5: a04fb222805ce5697065036ae1676436 + depends: + - __osx >=10.13 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.3,<0.9.4.0a0 + size: 119662 + timestamp: 1764765258455 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.13-hea39f9f_1.conda + sha256: c085b749572ca7c137dfbf8a2a4fd505657f8f7f8a7b374d5f41bf4eb2dd9214 + md5: cbf7be9e03e8b5e38ec60b6dbdf3a649 + depends: + - __osx >=10.13 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-cal >=0.9.13,<0.9.14.0a0 + size: 45262 + timestamp: 1764593359925 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-cal-0.9.2-h6f29d6d_1.conda + sha256: 41d60e59a6c906636a6c82b441d10d21a1623fd03188965319572a17e03f4da1 + md5: 44f3a90d7c5a280f68bf1a7614f057b6 + depends: + - __osx >=10.13 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-cal >=0.9.2,<0.9.3.0a0 + size: 40872 + timestamp: 1752240723936 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.4-h1c43f85_0.conda + sha256: 94e26ee718358b505aa3c3ddfcedcabd0882de9ff877057985151874b54e9851 + md5: f9547dfb10c15476c17d2d54b61747b8 depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libglib >=2.88.1,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - size: 2362258 - timestamp: 1780450503234 -- conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-11.4.5-h0ffbb26_0.conda - sha256: 2b5e8af8a457af825360b0aef0b9641a675ea9b0e0945d1e469d8a0f3e1ddc06 - md5: 6dfe87116a746f3c2e93eec0df8386ec + - __osx >=10.13 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-common >=0.12.4,<0.12.5.0a0 + size: 228243 + timestamp: 1752193906883 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-common-0.12.6-h8616949_0.conda + sha256: 66fb2710898bb3e25cb4af52ee88a0559dcde5e56e6bd09b31b98a346a89b2e3 + md5: c7f2d588a6d50d170b343f3ae0b72e62 depends: - __osx >=10.13 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=75.1,<76.0a0 - - libcxx >=19 - - libexpat >=2.7.1,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 1593280 - timestamp: 1756738433915 -- conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda - sha256: d329b82aab0681aada77dfcb709fb42ab59403339eb886df2b58695aeb7c6869 - md5: d217d80acf915fd7af2bb416a7d57e5a + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-common >=0.12.6,<0.12.7.0a0 + size: 230785 + timestamp: 1763585852531 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h7a4e982_6.conda + sha256: 2029ee55f83e1952ea0c220b0dd30f1b6f9e9411146c659489fcfd6a29af2ddf + md5: 6a4b25acf73532bbec863c2c2ae45842 depends: - - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 - - libcxx >=19 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.88.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - size: 1795456 - timestamp: 1780451140773 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-11.4.5-hf4e55d4_0.conda - sha256: 8106c2941f842dad81444bbc7f68b08b65c63adb5d0ba399d7180926a51f8829 - md5: 0938e21caccd8fd5b30527396f8aaa82 + - __osx >=10.13 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 21116 + timestamp: 1752240021842 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-compression-0.3.1-h901532c_9.conda + sha256: b99ddb6654ca12b9f530ca4cbe4d2063335d4ac43f9d97092c4076ccaf9b89e7 + md5: abb79371a321d47da8f7ddca128533de + depends: + - __osx >=10.13 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 21423 + timestamp: 1764593738902 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.6-hfc6d359_3.conda + sha256: addd56bead2c44d96b1818f182e3caff862e1b1c91e5caf872eba7d421337ad6 + md5: 71141779bef9168a5bbe24bfdb4af5d9 depends: - - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=75.1,<76.0a0 - libcxx >=19 - - libexpat >=2.7.1,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 1551301 - timestamp: 1756738697245 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda - sha256: 5593f4aad6580707eb268e8dbb4c562a736d87bea03f5e1551becaebfe1a6620 - md5: 389b1c7cb4738fa74f8a142336807a13 + - __osx >=10.13 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + size: 52439 + timestamp: 1757606366817 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-event-stream-0.5.7-ha05da6a_1.conda + sha256: 56f7aebd59d5527830ef7cf6e91f63ee4c5cf510af56529276affe8e2dc9eb24 + md5: e0d71662f35b21fb993484238b4861d9 depends: - - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 + - __osx >=10.13 - libcxx >=19 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.88.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - size: 1721040 - timestamp: 1780451752518 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-11.4.5-h5f2951f_0.conda - sha256: e1aaf8cf922cb7c7dabc12ddcad16c218b926c5e43d845288a4a8a0910df1b18 - md5: e9f9b4c46f6bc9b51adf57909b4d4652 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + size: 52911 + timestamp: 1764675471218 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.4-h892fe1a_3.conda + sha256: 380cb2f286a0be9cccc3d1582caeac99a774ac9c89ddfd0f0e575b58a84fabf4 + md5: aa7b5f43139c24f915494d27c760e57e 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.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.3,<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 - size: 1134542 - timestamp: 1756738659278 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - sha256: 55d6d483e089afe68bdbb38a003d7b76002e65341665b80f38e6ce4b494beef6 - md5: 0bcbb7f911590beec914555c6b82050d + - __osx >=10.13 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.4,<0.10.5.0a0 + size: 191788 + timestamp: 1757610727097 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-http-0.10.7-h924c446_5.conda + sha256: 53ee041db79f6cbff62179b2f693e50e484d163b9a843a3dbbb80dbc36220c7e + md5: acff093ebb711857fb78fae3b656631c depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.88.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - size: 1304897 - timestamp: 1780450940279 -- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda - sha256: 0d09b6dc1ce5c4005ae1c6a19dc10767932ef9a5e9c755cfdbb5189ac8fb0684 - md5: bd77f8da987968ec3927990495dc22e4 + - __osx >=10.13 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.7,<0.10.8.0a0 + size: 192149 + timestamp: 1764675489248 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.22.0-h5c36c82_1.conda + sha256: a1a34d8779e81846dd78140fb217a123c964461a07283c13f595cc8970576aed + md5: 763c3d88bd8b0ca47e97c8cf10b3a734 depends: - - libgcc-ng >=12 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libstdcxx-ng >=12 - - libzlib >=1.2.13,<2.0.0a0 - license: BSD-3-Clause - license_family: BSD - size: 756742 - timestamp: 1695661547874 -- conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda - sha256: 8c767cc71226e9eb62649c903c68ba73c5f5e7e3696ec0319d1f90586cebec7d - md5: 7ce543bf38dbfae0de9af112ee178af2 + - __osx >=10.15 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-io >=0.22.0,<0.22.1.0a0 + size: 182335 + timestamp: 1758212805103 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-io-0.23.3-hf559bb5_5.conda + sha256: 734496fb5a33a4d13ff0a27c5bc4a0f4e7fe9ed15ec099722d5be82b456b9502 + md5: d9cc056da3a1ee0a2da750d10a5496f3 + depends: + - __osx >=10.15 + - 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 + run_exports: + weak: + - aws-c-io >=0.23.3,<0.23.4.0a0 + size: 182572 + timestamp: 1765168277462 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-h04ed212_6.conda + sha256: ecd46edbf180ecd929ac338b94a70a1b0879688cae5bad4bbe609146a6564495 + md5: 229caca3b9c8b264e4184e37238988bf + depends: + - __osx >=10.13 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 188189 + timestamp: 1757626711253 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-mqtt-0.13.3-ha72ff4e_11.conda + sha256: c05215c85f90a0caba1202f4c852d6e3a2ad93b4a25f286435a8e855db4237ae + md5: 96f22c912f1cf3493d9113b9fd04c912 + depends: + - __osx >=10.13 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 188230 + timestamp: 1764681760102 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.11.3-he30762a_1.conda + sha256: 9c989a5f0b35ff5cee91b74bcba0d540ce5684450dc072ba0bb5299783cdf9cd + md5: 33c653401dc7b016b0011cb4d16de458 depends: - - libcxx >=15.0.7 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libzlib >=1.2.13,<2.0.0a0 - license: BSD-3-Clause - license_family: BSD - size: 724103 - timestamp: 1695661907511 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda - sha256: c3b01e3c3fe4ca1c4d28c287eaa5168a4f2fd3ffd76690082ac919244c22fa90 - md5: ff5d749fd711dc7759e127db38005924 + - __osx >=10.13 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.23.3,<0.23.4.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 + run_exports: + weak: + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + size: 133827 + timestamp: 1765174162875 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-s3-0.8.6-h19e4261_5.conda + sha256: bef31467a073e6d4cac12b215caa6444d9220d0590bb62c86b56e7955bf20350 + md5: 02d47c3d0ce99304bd6ccbd8578a01ed depends: - - libcxx >=15.0.7 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libzlib >=1.2.13,<2.0.0a0 - license: BSD-3-Clause - license_family: BSD - size: 762257 - timestamp: 1695661864625 -- conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda - sha256: 52fa5dde69758c19c69ab68a3d7ebfb2c9042e3a55d405c29a59d3b0584fd790 - md5: 84344a916a73727c1326841007b52ca8 + - __osx >=10.13 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-auth >=0.9.1,<0.9.2.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-s3 >=0.8.6,<0.8.7.0a0 + size: 121692 + timestamp: 1757648036791 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h7a4e982_1.conda + sha256: 85d1b9eb67e02f6a622dcc0c854683da8ccd059d59b80a1ffa7f927eac771b93 + md5: 9ab61d370fc6e4caeb5525ef92e2d477 depends: - - libjpeg-turbo >=3.0.0,<4.0a0 - - libzlib >=1.2.13,<2.0.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-3-Clause - license_family: BSD - size: 779637 - timestamp: 1695662145568 -- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_106.conda - sha256: 1fc50ce3b86710fba3ec9c5714f1612b5ffa4230d70bfe43e2a1436eacba1621 - md5: c223ee1429ba538f3e48cfb4a0b97357 + - __osx >=10.13 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 55375 + timestamp: 1752240983413 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-c-sdkutils-0.2.4-h901532c_4.conda + sha256: 468629dbf52fee6dcabda1fcb0c0f2f29941b9001dcc75a57ebfbe38d0bde713 + md5: b384fb05730f549a55cdb13c484861eb depends: - - __glibc >=2.17,<3.0.a0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.18.0,<9.0a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3708864 - timestamp: 1770390337946 -- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h19486de_110.conda - sha256: ac57ce3abbda2a82d6192bc36fbd7fe96e867d84c999ef81a3da034dfd01a995 - md5: 9c6e11a83468e1d5decae516077a73fb + - __osx >=10.13 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 55664 + timestamp: 1764610141049 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h7a4e982_2.conda + sha256: 523e5d6ffb58a333c6e4501e18120b53290ddad1f879e72ac7f58b15b505f92a + md5: a8a7aa3088b1310cebbc4777f887bd80 depends: - - __glibc >=2.17,<3.0.a0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.20.0,<9.0a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3721555 - timestamp: 1780581675871 -- conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda - sha256: 76fdcb1295eedd01a697d55e871415dd606adc7661b6acd893d073e95240961e - md5: 8fa7c7e9a3c1b57a37bc03f0183aaf17 + - __osx >=10.13 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 75320 + timestamp: 1752241080472 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-checksums-0.2.7-h901532c_5.conda + sha256: 0f67c453829592277f90d520f7855e260cf0565a3dc59fe90c55293996b7fbe9 + md5: cccf553ce36da9ae739206b69c1a4d28 + depends: + - __osx >=10.13 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 75646 + timestamp: 1764593751665 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.34.4-h3f46267_0.conda + sha256: 9178e2c387e225ce4ede4cbb9014f7cddf2b7ef223ca63520b9887c106774f76 + md5: acefbcecb87a1c7b11c54e73376c8d65 depends: - - __osx >=11.0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.20.0,<9.0a0 - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3525015 - timestamp: 1780582823074 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda - sha256: 6964fee3d3a4a59c85d2589eb5e8c8bff7dde9721854f493cc7b9aca5cd7d4be - md5: 65797138355b90a8e219afcf7e77b273 + - __osx >=10.13 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-auth >=0.9.1,<0.9.2.0a0 + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + - aws-c-s3 >=0.8.6,<0.8.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + size: 343151 + timestamp: 1758142004222 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-crt-cpp-0.35.4-h7484968_0.conda + sha256: d3ab94c9245f667c78940d6838529401795ce0df02ad561d190c38819a312cd9 + md5: 31db311b3005b16ff340796e424a6b3c depends: - - __osx >=11.0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.20.0,<9.0a0 - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3290207 - timestamp: 1780581564967 -- conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_106.conda - sha256: d9f8f202ee91ae93515b18c498970f178dfd061743f25a65a205f848e197437f - md5: e2fb54650b51dcd92dfcbf42d2222ff8 + - __osx >=10.13 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + size: 343812 + timestamp: 1765200322696 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-h386ebac_10.conda + sha256: 3b7ee2bc2bbd41e1fca87b1c1896b2186644f20912bf89756fd39020f8461e13 + md5: 768c6b78e331a2938af208e062fd6702 depends: - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - __osx >=10.13 + - libcurl >=8.17.0,<9.0a0 + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 2353172 - timestamp: 1770389952810 -- conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda - sha256: 54f5211e698a468fd74def162e277d834e956c5b24a9ba4f9cf6298209328475 - md5: 4c94504a694781771108b07bf4a9370f - depends: - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.20.0,<9.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 2354049 - timestamp: 1780581446500 -- conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - sha256: 6d7e6e1286cb521059fe69696705100a03b006efb914ffe82a2ae97ecbae66b7 - md5: 129e404c5b001f3ef5581316971e3ea0 - license: GPL-2.0-or-later - license_family: GPL - size: 17625 - timestamp: 1771539597968 -- conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda - sha256: 3321e8d2c2198ac796b0ae800473173ade528b49f84b6c6e4e112a9704698b41 - md5: 690e5077aaccf8d280a4284d7c9ec6b4 - license: GPL-2.0-or-later - license_family: GPL - size: 17650 - timestamp: 1771539977217 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - sha256: 46a4958f2f916c5938f2a6dc0709f78b175ece42f601d79a04e0276d55d25d07 - md5: cfb39109ac5fa8601eb595d66d5bf156 - license: GPL-2.0-or-later - license_family: GPL - size: 17616 - timestamp: 1771539622983 -- conda: https://conda.anaconda.org/conda-forge/linux-64/highspy-1.14.0-np2py312h0f77346_0.conda - sha256: f86c64dfc5f8a8f32c2b5731a1614a42a092fee4aa4d53f56c3b93b4c9900822 - md5: 3c2773b3530d49a2ed65ee8e4b477724 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3313002 + timestamp: 1765257111791 +- conda: https://conda.anaconda.org/conda-forge/osx-64/aws-sdk-cpp-1.11.606-hda6ec86_4.conda + sha256: cc2c1caf7cb0eb4c0cab4a5fbee6f93f0d6d901888098b55e986c52f5774bab1 + md5: 0077cfdb12c7cda7cfa4e30408884eb4 depends: - - python - - numpy - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 + - __osx >=10.13 + - libcxx >=19 + - libzlib >=1.3.1,<2.0a0 + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + - libcurl >=8.14.1,<9.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3190106 + timestamp: 1758606185517 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.0-he2a98a9_1.conda + sha256: caec6a8100625da04d6245c1c3a679ead35373cccd7aae8b1dbac59564c8e7c5 + md5: 1c2102832e5045c982058a860eb4c0d8 + depends: + - __osx >=10.13 + - libcurl >=8.14.1,<9.0a0 + - libcxx >=19 + - openssl >=3.5.2,<4.0a0 license: MIT license_family: MIT - size: 2423059 - timestamp: 1775498235447 -- conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_0.conda - sha256: 03b37ebfe06a8a46155dae4f2ac876c5a3991ccdd642c4f7afde502a088f300c - md5: 738926ebcc3c63069d4c855cc4ef830e + run_exports: + weak: + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + size: 300765 + timestamp: 1758036085232 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-core-cpp-1.16.2-h87f1c7e_0.conda + sha256: bc2cde0d7204b3574084de1d83d80bceb7eb1550a17a0f0ccedbb312145475d3 + md5: 24997c4c96d1875956abd9ce37f262eb depends: - - python - - numpy + - __osx >=10.13 + - libcurl >=8.18.0,<9.0a0 - libcxx >=19 - - __osx >=11.0 - - python_abi 3.12.* *_cp312 + - openssl >=3.5.4,<4.0a0 license: MIT license_family: MIT - size: 2208317 - timestamp: 1775498550886 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_0.conda - sha256: ae4e97d8f537b09e3b36f0c3b507bf693f665ec27b23ed934e6b7770935eae08 - md5: 90fd09cb6405d55a4b224d78e8d051a7 + run_exports: + weak: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + size: 298273 + timestamp: 1768837905794 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.12.0-hc0a8a32_0.conda + sha256: 61e12e805d9487a90c8abd1373af939fd6841184468d9730b22e7e218adef41d + md5: 9d9911c437b3e43d02d8d1df0b415da4 depends: - - python - - numpy - - python 3.12.* *_cpython - - __osx >=11.0 + - __osx >=10.13 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 - libcxx >=19 - - python_abi 3.12.* *_cp312 + - openssl >=3.5.1,<4.0a0 license: MIT license_family: MIT - size: 1853314 - timestamp: 1775498673062 -- conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_0.conda - sha256: 236dde2a4ee42f020695e004831216a5de5002e2a95d733fa968efd13071785d - md5: 8f94276670b0aedbd95acec1e45d950e + run_exports: + weak: + - azure-identity-cpp >=1.12.0,<1.12.1.0a0 + size: 169886 + timestamp: 1753212914544 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-identity-cpp-1.13.3-h1135191_1.conda + sha256: 182769c18c23e2b29bb35f6fca4c233f0125f84418dacb2c36912298dafbe42e + md5: 14d2491d2dfcbb127fa0ff6219704ab5 depends: - - python - - numpy - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - __osx >=10.13 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - libcxx >=19 + - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT - size: 2565469 - timestamp: 1775498320998 -- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba - md5: 0a802cb9888dd14eeefc611f05c40b6e + run_exports: + weak: + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + size: 175167 + timestamp: 1770345309347 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.14.0-hb076ce7_1.conda + sha256: 3c1a386f07f4dbfb3d5eb9d4d1bf7a34544e4b37af90ce67445861712eacdb26 + md5: 0a8e22a75ab442b214c6879e73ddbda6 depends: - - python >=3.9 + - __osx >=10.13 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - libcxx >=19 license: MIT license_family: MIT - size: 30731 - timestamp: 1737618390337 -- conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda - sha256: 04d49cb3c42714ce533a8553986e1642d0549a05dc5cc48e0d43ff5be6679a5b - md5: 4f14640d58e2cc0aa0819d9d8ba125bb - depends: - - python >=3.9 - - h11 >=0.16 - - h2 >=3,<5 - - sniffio 1.* - - anyio >=4.0,<5.0 - - certifi - - python - license: BSD-3-Clause - license_family: BSD - size: 49483 - timestamp: 1745602916758 -- conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - sha256: cd0f1de3697b252df95f98383e9edb1d00386bfdd03fdf607fa42fe5fcb09950 - md5: d6989ead454181f4f9bc987d3dc4e285 - depends: - - anyio - - certifi - - httpcore 1.* - - idna - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 63082 - timestamp: 1733663449209 -- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - sha256: fa2071da7fab758c669e78227e6094f6b3608228740808a6de5d6bce83d9e52d - md5: 7fe569c10905402ed47024fc481bb371 + run_exports: + weak: + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + size: 433081 + timestamp: 1753219827826 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-blobs-cpp-12.16.0-hefc3566_2.conda + sha256: 7353b04b2aff8c34610011710be614733df343986f7b15d825dbed27005ef742 + md5: 5bf9d81a733e5864a723bd308a473c6b depends: - - __unix - - python >=3.9 + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + - libcxx >=19 license: MIT license_family: MIT - size: 73563 - timestamp: 1733928021866 -- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda - sha256: acdf32d1f9600091f0efc1a4293ad217074c86a96889509d3d04c13ffbc92e5a - md5: d243aef76c0a30e4c89cd39e496ea1be + run_exports: + weak: + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + size: 434697 + timestamp: 1778727610755 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.10.0-h18ceab9_2.conda + sha256: c2bebed989978bca831ef89db6e113f6a8af0bf4c8274376e85522451da68f2e + md5: 2ba82ed04f97b7bb609147fd87c96856 depends: - - __win - - pyreadline3 - - python >=3.9 + - __osx >=10.13 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - libcxx >=19 + - libxml2 >=2.13.8,<2.14.0a0 + - openssl >=3.5.1,<4.0a0 license: MIT license_family: MIT - size: 74084 - timestamp: 1733928364561 -- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 - md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + run_exports: + weak: + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + size: 125256 + timestamp: 1753211912801 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-common-cpp-12.13.0-h74781cd_0.conda + sha256: 21cf4bc77e20a4a4874452dc5438fdae86f2cccfa2ffa29e920b2be0450e906b + md5: 7d4ec20278fbc5159c0899787a8afea3 depends: - - python >=3.9 + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - libcxx >=19 + - libxml2 + - libxml2-16 >=2.14.6 + - openssl >=3.5.6,<4.0a0 license: MIT license_family: MIT - size: 17397 - timestamp: 1737618427549 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda - sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e - md5: 8b189310083baabfb622af68fd9d3ae3 + run_exports: + weak: + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + size: 133457 + timestamp: 1778662369219 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.12.0-h8df8335_3.conda + sha256: 15f5ba331b3e95a78c34b8a5e740b60254b6d46df014d4ebaa861f8b03b9a113 + md5: 0dfefe135030f2a90bee5b27c64aa303 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - - libstdcxx-ng >=12 + - __osx >=10.13 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - libcxx >=19 license: MIT license_family: MIT - size: 12129203 - timestamp: 1720853576813 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a - md5: c80d8a3b84358cb967fa81e7075fbc8a + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 + size: 203691 + timestamp: 1753226916309 +- conda: https://conda.anaconda.org/conda-forge/osx-64/azure-storage-files-datalake-cpp-12.14.0-h2303994_2.conda + sha256: 040025c0dc8e338dc1038572748ffc2d1bb6f646b2c4a95daae3a4468a74af0f + md5: b3e6633ee0101fb99316de21754ec448 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - __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.13.0,<12.13.1.0a0 + - libcxx >=19 license: MIT license_family: MIT - size: 12723451 - timestamp: 1773822285671 -- conda: https://conda.anaconda.org/conda-forge/osx-64/icu-75.1-h120a0e1_0.conda - sha256: 2e64307532f482a0929412976c8450c719d558ba20c0962832132fd0d07ba7a7 - md5: d68d48a3060eb5abdc1cdc8e2a3a5966 + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + size: 204849 + timestamp: 1778764549811 +- conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.6.0-py313h116f8bd_0.conda + sha256: d80fb9b9eba15014ca194d57d597b2d0c5e94d3e29580eff1ec3781048d67993 + md5: 7e7eca9f50f486281cad32eca856f878 + depends: + - python + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause AND MIT AND EPL-2.0 + run_exports: {} + size: 243622 + timestamp: 1781450847106 +- conda: https://conda.anaconda.org/conda-forge/osx-64/blosc-1.21.6-hd145fbb_1.conda + sha256: 876bdb1947644b4408f498ac91c61f1f4987d2c57eb47c0aba0d5ee822cd7da9 + md5: 717852102c68a082992ce13a53403f9d + depends: + - __osx >=10.13 + - 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 + run_exports: + weak: + - blosc >=1.21.6,<2.0a0 + size: 46990 + timestamp: 1733513422834 +- conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py312he8eb05d_3.conda + sha256: 9afee13a69205434ebfca82d0d26f9e2dab6cb83bc05481fbf93417cc95a4c57 + md5: 0e9639e5608a478cc91d4600f5e256e6 + depends: + - numpy + - python + - __osx >=10.13 + - python_abi 3.12.* *_cp312 + - numpy >=1.23,<3 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 157082 + timestamp: 1762775861115 +- conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py313h4e95564_3.conda + sha256: a7152f63e6cd11a59c9e4a81f2fc58ec7c3cf4364e9ed27bf2d5ac1b915e5daa + md5: 52faf3059c06b78a940058456c5f09f9 + depends: + - numpy + - python + - __osx >=10.13 + - python_abi 3.13.* *_cp313 + - numpy >=1.23,<3 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 157243 + timestamp: 1762775977561 +- conda: https://conda.anaconda.org/conda-forge/osx-64/bottleneck-1.6.0-np2py314hfeef9c2_3.conda + sha256: b75b8e766102cac6fa01ae63f94f81841a041f8f2dba554be8095bd2e3f02d19 + md5: 5088e82d7776efb203ff2ef560d0dc52 + depends: + - numpy + - python + - __osx >=10.13 + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 158336 + timestamp: 1762775903695 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.1.0-h1c43f85_4.conda + sha256: 13847b7477bd66d0f718f337e7980c9a32f82ec4e4527c7e0a0983db2d798b8e + md5: 1a0a37da4466d45c00fc818bb6b446b3 depends: - __osx >=10.13 + - brotli-bin 1.1.0 h1c43f85_4 + - libbrotlidec 1.1.0 h1c43f85_4 + - libbrotlienc 1.1.0 h1c43f85_4 license: MIT license_family: MIT - size: 11761697 - timestamp: 1720853679409 -- conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda - sha256: 1294117122d55246bb83ad5b589e2a031aacdf2d0b1f99fd338aa4394f881735 - md5: 627eca44e62e2b665eeec57a984a7f00 + run_exports: + weak: + - libbrotlicommon >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + size: 20022 + timestamp: 1756599872109 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-1.2.0-hf139dec_1.conda + sha256: c838c71ded28ada251589f6462fc0f7c09132396799eea2701277566a1a863bf + md5: 149d8ee7d6541a02a6117d8814fd9413 depends: - - __osx >=11.0 + - __osx >=10.13 + - brotli-bin 1.2.0 h8616949_1 + - libbrotlidec 1.2.0 h8616949_1 + - libbrotlienc 1.2.0 h8616949_1 license: MIT license_family: MIT - size: 12273764 - timestamp: 1773822733780 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda - sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 - md5: 5eb22c1d7b3fc4abb50d92d621583137 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 20194 + timestamp: 1764017661405 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.1.0-h1c43f85_4.conda + sha256: 549ea0221019cfb4b370354f2c3ffbd4be1492740e1c73b2cdf9687ed6ad7364 + md5: 718fb8aa4c8cb953982416db9a82b349 depends: - - __osx >=11.0 + - __osx >=10.13 + - libbrotlidec 1.1.0 h1c43f85_4 + - libbrotlienc 1.1.0 h1c43f85_4 license: MIT license_family: MIT - size: 11857802 - timestamp: 1720853997952 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda - sha256: 3a7907a17e9937d3a46dfd41cffaf815abad59a569440d1e25177c15fd0684e5 - md5: f1182c91c0de31a7abd40cedf6a5ebef + run_exports: {} + size: 17311 + timestamp: 1756599830763 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.2.0-h8616949_1.conda + sha256: dcb5a2b29244b82af2545efad13dfdf8dddb86f88ce64ff415be9e7a10cc0383 + md5: 34803b20dfec7af32ba675c5ccdbedbf depends: - - __osx >=11.0 + - __osx >=10.13 + - libbrotlidec 1.2.0 h8616949_1 + - libbrotlienc 1.2.0 h8616949_1 license: MIT license_family: MIT - size: 12361647 - timestamp: 1773822915649 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-75.1-he0c23c2_0.conda - sha256: 1d04369a1860a1e9e371b9fc82dd0092b616adcf057d6c88371856669280e920 - md5: 8579b6bb8d18be7c0b27fb08adeeeb40 + run_exports: {} + size: 18589 + timestamp: 1764017635544 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.1.0-py312h462f358_4.conda + sha256: f5b7f28d19f21c2f5bd4608b2a075e872727dae8409303f53c756f44044a3a7f + md5: 6ed15514446509f33df546dcc1752eb1 depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - __osx >=10.13 + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 h1c43f85_4 license: MIT license_family: MIT - size: 14544252 - timestamp: 1720853966338 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda - sha256: 1bda728d70a619731b278c859eda364146cb5b4b8c739a64da8128353d81d1c4 - md5: 0097b24800cb696915c3dbd1f5335d3f + run_exports: {} + size: 369380 + timestamp: 1756600123615 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py313h8d69aa9_1.conda + sha256: 3d328413ff65a12af493066d721d12f5ee82a0adf3565629ce4c797c4680162c + md5: 7c5e382b4d5161535f1dd258103fea51 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=10.13 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + constrains: + - libbrotlicommon 1.2.0 h8616949_1 license: MIT license_family: MIT - size: 14954024 - timestamp: 1773822508646 -- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.19-pyhd8ed1ab_0.conda - sha256: 381cedccf0866babfc135d65ee40b778bd20e927d2a5ec810f750c5860a7c5b8 - md5: 84a3233b709a289a4ddd7a2fd27dd988 + run_exports: {} + size: 389859 + timestamp: 1764018040907 +- conda: https://conda.anaconda.org/conda-forge/osx-64/brotli-python-1.2.0-py314h3262eb8_1.conda + sha256: 2e34922abda4ac5726c547887161327b97c3bbd39f1204a5db162526b8b04300 + md5: 389d75a294091e0d7fa5a6fc683c4d50 depends: - - python >=3.10 - - ukkonen + - __osx >=10.13 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - libbrotlicommon 1.2.0 h8616949_1 license: MIT license_family: MIT - size: 79757 - timestamp: 1776455344188 -- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.17-pyhcf101f3_0.conda - sha256: f9fe1f9e539c544405ccb7ba632d4ba79edf243c05554d76ace073158a80b691 - md5: c75e517ebd7a5c5272fe111e8b162228 + run_exports: {} + size: 390153 + timestamp: 1764017784596 +- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda + sha256: 9f242f13537ef1ce195f93f0cc162965d6cc79da578568d6d8e50f70dd025c42 + md5: 4173ac3b19ec0a4f400b4f782910368b depends: - - python >=3.10 - - python - license: BSD-3-Clause + - __osx >=10.13 + license: bzip2-1.0.6 license_family: BSD - size: 56858 - timestamp: 1779999227630 -- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - sha256: 5a047f9eac290e679b4e6f6f4cbfcc5acdfbf031a4f06824d4ddb590cdbb850b - md5: 92617c2ba2847cca7a6ed813b6f4ab79 - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 15729 - timestamp: 1773752188889 -- conda: https://conda.anaconda.org/conda-forge/noarch/imf-reader-1.5.0-pyhc364b38_0.conda - sha256: 3efaf51a77b3d6efe30b32e0aa490103112e99c506e3e07ff745fd6f5493d731 - md5: 10ed48920132137dd2f46f2dc218d524 + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 133427 + timestamp: 1771350680709 +- conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.6-hb5e19a0_0.conda + sha256: 2f5bc0292d595399df0d168355b4e9820affc8036792d6984bd751fdda2bcaea + md5: fc9a153c57c9f070bebaa7eef30a8f17 depends: - - python >=3.10 - - pandas >=2.2.2 - - requests >=2.32.1 - - chardet >=5.2.0 - - beautifulsoup4 >=4.12.3 - - filelock >=3.20 - - platformdirs >=4.5 - - pyarrow >=14.0 - - requests-cache >=1.2 - - python + - __osx >=10.13 license: MIT license_family: MIT - size: 33634 - timestamp: 1778659246108 -- conda: https://conda.anaconda.org/conda-forge/linux-64/immutables-0.21-py312h4c3975b_2.conda - sha256: 33f87bd1b9a48c208919641a878541c13316afa1cfabea97c534227d52904a0b - md5: 4cf92a9dd8712cdde044fb56be498bd4 - 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 - size: 54524 - timestamp: 1757685416665 -- conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda - sha256: 2aa879e2b3df327c53fc656cec64558a0683a9a02e1df4b2e1868a26571aa818 - md5: 5baa48efc6d041e4033402f8797ea18b + run_exports: + weak: + - c-ares >=1.34.6,<2.0a0 + size: 186122 + timestamp: 1765215100384 +- conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-2.23.1-h548f922_0.conda + sha256: 4766ee318fd57b956875064a390d277755ad4dfeb5ef6cd7f592c31058cd7a79 + md5: ea2963a308e8fe5eba56405e7820db6c depends: - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 51898 - timestamp: 1757685530230 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda - sha256: b8b04e8d5a204f1b8755ed4637a5ddc99f4203593e10ecc08d974a46d0c250e2 - md5: 3290a7dc4c56a0ccacee9cc8213dcffd + - libcxx >=19 + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - c-blosc2 >=2.23.1,<2.24.0a0 + size: 288387 + timestamp: 1772621206480 +- conda: https://conda.anaconda.org/conda-forge/osx-64/c-blosc2-3.1.4-h32e32c0_0.conda + sha256: c0dbc34a14a56d6e9d5502b104168f65c26e9c5deb2053c8c3d32d18696b1911 + md5: 32cb4ce661e8386b14584447119eebc1 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 - size: 51493 - timestamp: 1757685587768 -- conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda - sha256: 09cd81a43ab516c5411a605cc55e4038d7b2c5c591d1ba96deb29ef1c4143253 - md5: b8c34c4306b76f9161f1084bbc3921f2 - 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 - size: 55176 - timestamp: 1757685569952 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - sha256: 43e2a5497cad1598ff88a3e69f69bc88b7b8f141fa63c60eab5db296317318b8 - md5: ffc17e785d64e12fc311af9184221839 + - libcxx >=19 + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - c-blosc2 >=3.1.4,<3.2.0a0 + size: 319386 + timestamp: 1781707090566 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h7656bdc_1.conda + sha256: 88e7e1efb6a0f6b1477e617338e0ed3d27d4572a3283f8341ce6143b7118e31a + md5: 9917add2ab43df894b9bb6f5bf485975 depends: - - python >=3.10 - - zipp >=3.20 - - python - license: Apache-2.0 - license_family: APACHE - size: 34766 - timestamp: 1779714582554 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - sha256: a563a51aa522998172838e867e6dedcf630bc45796e8612f5a1f6d73e9c8125a - md5: 0ba6225c279baf7ea9473a62ea0ec9ae + - __osx >=10.13 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libcxx >=19 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 896676 + timestamp: 1766416262450 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cairo-1.18.4-h950ec3b_0.conda + sha256: d4297c3a9bcff9add3c5a46c6e793b88567354828bcfdb6fc9f6b1ab34aa4913 + md5: 32403b4ef529a2018e4d8c4f2a719f16 depends: - - python >=3.10 - - zipp >=3.1.0 - constrains: - - importlib-resources >=7.1.0,<7.1.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 34809 - timestamp: 1776068839274 -- conda: https://conda.anaconda.org/conda-forge/linux-64/inflate64-1.0.4-py312h4c3975b_0.conda - sha256: f2d5e0735cb3ee40c8c1d9fc5a69c90f3929dfe3bc32d5748e74c4f2069fc01e - md5: 09dcf62e607cbec53fcd1ed7522924a8 + - __osx >=10.13 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libcxx >=18 + - libexpat >=2.6.4,<3.0a0 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 893252 + timestamp: 1741554808521 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py312h86abcb1_1.conda + sha256: d30f10fe1c1497406cbbf2eaeb1be71479cfc76967125cf3994b0a85ebfc3259 + md5: 63eee5b20461ca89c738160bd502363e depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - __osx >=10.13 + - libcxx >=19 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - size: 41559 - timestamp: 1764330576635 -- conda: https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py312h80b0991_0.conda - sha256: f74ddf1950eb549568bf3ab29255d6989b0175d88fa956abf755e393cfaa82c1 - md5: 09e008caad207164feb0d4c11634a48b + - shapely >=2.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1520207 + timestamp: 1756884040833 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py313h2f264a9_1.conda + sha256: 2823fd0e0159ab2df02a7f87980df9ec289af23ac980eb6385a5e2d4d0c03d49 + md5: 6d810702a3cccf099574172e96807159 depends: - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - size: 40468 - timestamp: 1764330825228 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py312h4409184_0.conda - sha256: 55da298b13e4ccd482011e3f86d68adcf7e9ecfbb4e4a702f322b35722cc87f3 - md5: 25e133d3e2a3624d37c8dba3712dd932 + - libcxx >=19 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - shapely >=2.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1534229 + timestamp: 1756883995278 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cartopy-0.25.0-py314hc4308db_1.conda + sha256: 8452d4bcec6472c3540193e221ebeba88c46522891572479ddb539e5f2a63a6a + md5: 86496825870c3bc6af922d58ed3ba613 depends: - - __osx >=11.0 + - __osx >=10.13 + - libcxx >=19 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - shapely >=2.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1538463 + timestamp: 1756884078733 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py312hf9bc6d9_0.conda + sha256: 74d987c4e7c50404b782ff05200c835e881bb37e47b00951693b3b92371f2b07 + md5: 60bd93639037ab61a11ed14955e53848 + depends: + - __osx >=10.13 + - libffi >=3.4.6,<3.5.0a0 + - pycparser - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - license: LGPL-2.1-or-later - size: 39913 - timestamp: 1764330798548 -- conda: https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py312he06e257_0.conda - sha256: 619fddfc646dc05bcdeaf590a38a8a4acd67112a00bd30bc1f40b5c9997cbdf1 - md5: 7162f6522d095c04311656d9afaed0ce + license: MIT + license_family: MIT + run_exports: {} + size: 289913 + timestamp: 1758716346335 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py313hf57695f_1.conda + sha256: 16c8c80bebe1c3d671382a64beaa16996e632f5b75963379e2b084eb6bc02053 + md5: b10f64f2e725afc9bf2d9b30eff6d0ea + depends: + - __osx >=10.13 + - libffi >=3.5.2,<3.6.0a0 + - pycparser + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 290946 + timestamp: 1761203173891 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cffi-2.0.0-py314h8ca4d5a_1.conda + sha256: e2c58cc2451cc96db2a3c8ec34e18889878db1e95cc3e32c85e737e02a7916fb + md5: 71c2caaa13f50fe0ebad0f961aee8073 + depends: + - __osx >=10.13 + - libffi >=3.5.2,<3.6.0a0 + - pycparser + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 293633 + timestamp: 1761203106369 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py312h8ab2c85_1.conda + sha256: 46637d1e733541eedc58496ef4891fcbe4e16738fa2cf0235333868044a3aa9e + md5: 54ba6dea57839640386fddb0349a272b depends: + - __osx >=10.13 + - numpy >=1.21.2 + - 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: LGPL-2.1-or-later - size: 41093 - timestamp: 1764330956888 -- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 - md5: 9614359868482abba1bd15ce465e3c42 + license: MIT + license_family: MIT + run_exports: {} + size: 395770 + timestamp: 1768511272881 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py313hceb611b_1.conda + sha256: 4a2ecb26da383b4b0d45dfc09e0142c409911875178254790510c7b14557a90a + md5: 089a4c77defcfd3f240391864da647c9 depends: - - python >=3.10 + - __osx >=10.13 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 13387 - timestamp: 1760831448842 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ipopt-3.14.19-h0804adb_0.conda - sha256: f561b9982bcf4c6fceaf467a8f2f5b9e02c7d34f2d6f544958f4f14e1caeb0fc - md5: 0a2ef4d1be0625a06d74b08829d4ef1f + run_exports: {} + size: 395392 + timestamp: 1768511253893 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cftime-1.6.5-py314h26e5826_1.conda + sha256: 0bc975ad7f0d20c1c9a862893ba75bb0f9ac5e09611f9ed85dcafa76c0a7e791 + md5: af457847f475d415e154c06cb30c2e1e depends: - - __glibc >=2.17,<3.0.a0 - - ampl-asl >=1.0.0,<1.0.1.0a0 + - __osx >=10.13 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 403475 + timestamp: 1768511087049 +- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cbc-2.10.13-h91c1f21_1.conda + sha256: f1d4a5d70c6a92fe541b2f7e5aaa62c29330c947bc1e3686c8311f22d18fb19a + md5: 40182fd9a7d3be1a62939710b1bdb6b6 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-cgl >=0.60,<0.61.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 - libblas >=3.9.0,<4.0a0 - - libgcc >=14 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=19 + - libgfortran + - libgfortran5 >=14.3.0 - liblapack >=3.9.0,<4.0a0 - - libspral >=2025.5.20,<2025.5.21.0a0 - - libstdcxx >=14 - - mumps-seq >=5.7.3,<5.7.4.0a0 - license: EPL-1.0 - size: 1023755 - timestamp: 1753899099198 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda - sha256: 3f6ed44f11129c423cc1d3aaf9f6f3354b89019a734bc4c501ba0632b6d8ad05 - md5: 89cad9af206d489b89a08b16648882b8 + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cbc >=2.10.13,<2.11.0a0 + size: 870663 + timestamp: 1778586928773 +- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-cgl-0.60.10-hd6b1f2b_1.conda + sha256: d24abe306ba889dc0df68d318be0308e5bbefb8e64ac4736083ce733e8b6c32d + md5: 3ec0f6fb796411973969506bea6cacc0 depends: - __osx >=11.0 - - ampl-asl >=1.0.0,<1.0.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 - 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 - - mumps-seq >=5.8.2,<5.8.3.0a0 - license: EPL-1.0 - size: 800458 - timestamp: 1771291880717 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda - sha256: 1d0738a2592d2f0aff0289f5fd5ba58985734cbd1e2327f001fe31f3a34e965d - md5: d7ce0fa8a1d1840691a12bbf409f29c6 + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cgl >=0.60,<0.61.0a0 + size: 517062 + timestamp: 1778571926011 +- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-clp-1.17.11-h115fb9b_1.conda + sha256: 067493dbb21bcbd7992dd92819fb31154f8780067f35f3e32fd62824281cd279 + md5: f5024b1d9074dcecf90b61d3078ee01f depends: - __osx >=11.0 - - ampl-asl >=1.0.0,<1.0.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 - 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 - - mumps-seq >=5.8.2,<5.8.3.0a0 - license: EPL-1.0 - size: 733594 - timestamp: 1771291978620 -- conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda - sha256: 08147c943ee3573cc4e9763d1f4a614d1584a5cbf777f43cc0adc17a45f05869 - md5: 5133f79da4d0ec982733acfcb3c03e97 + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-clp >=1.17,<1.18.0a0 + size: 1058209 + timestamp: 1778520478855 +- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-osi-0.108.12-h9c53fe0_1.conda + sha256: 2f39ed22e4d32550df15fd1c1c2f864be8dded25085562ececf30329d0f0277e + md5: c1d216e8350dfa614de9e5dbd75b1e0b depends: - - ampl-asl >=1.0.0,<1.0.1.0a0 + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-utils >=2.11,<2.12.0a0 - 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 - - mumps-seq >=5.8.2,<5.8.3.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: EPL-1.0 - size: 942450 - timestamp: 1771292115587 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh01cf8df_0.conda - sha256: 994d3cb6b9b88a6533f567c50d20f2f6edc40ae3540ce2ee9629492182ab3403 - md5: a1ddab91145f7f06eee769d2f3ac69cd - depends: - - appnope - - __osx - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.9.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio2 >=1.7.0 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - - python + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 constrains: - - appnope >=0.1.2 - license: BSD-3-Clause - size: 137725 - timestamp: 1781101860049 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda - sha256: e3ff0b3d5db5c31830030406f50ac2c9a5c31b86f1c2cef87a6042f0a4c77eb7 - md5: dd5c51d5c42381ba4a2e0ce32e02ba17 + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-osi >=0.108,<0.109.0a0 + size: 342553 + timestamp: 1778511424579 +- conda: https://conda.anaconda.org/conda-forge/osx-64/coin-or-utils-2.11.13-h9cdb5db_1.conda + sha256: ae892f37c38a62d41b8c9af873a216caba855db9540b43280af7015001e34363 + md5: c4a342f6ab25799f3eeb27c064d778bf depends: - - __win - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.9.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio2 >=1.7.0 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - - python + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libblas >=3.9.0,<4.0a0 + - libcxx >=19 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 constrains: - - appnope >=0.1.2 - license: BSD-3-Clause - size: 138046 - timestamp: 1781101760172 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda - sha256: 305ad9226363ff5f259c404dd9a7508183a2e150739b2adc43db7d817234da66 - md5: 2b47a10e4d98334f8171ff60aea05ff3 + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-utils >=2.11,<2.12.0a0 + size: 633539 + timestamp: 1778501343735 +- conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py312hb0c38da_4.conda + sha256: 6c03943009b07c6deb3a64afa094b6ca694062b58127a4da6f656a13d508c340 + md5: 625f08687ba33cc9e57865e7bf8e8123 depends: - - __linux - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.9.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio2 >=1.7.0 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 + - numpy >=1.25 - python - constrains: - - appnope >=0.1.2 + - __osx >=10.13 + - libcxx >=19 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 138635 - timestamp: 1781101665847 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyh53cf698_0.conda - sha256: a3f76e06c31bcf1bda0f633d5c9f1c834286b4f6decc6626067a6cffee283318 - md5: fbd58549b374103c1a80577f09a328ef + license_family: BSD + run_exports: {} + size: 298198 + timestamp: 1769156053873 +- conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py313h98b818e_4.conda + sha256: bb5ae30df17e054668717b46c2053534a8a7d1bc94aedb8d6d22917c59eaa63c + md5: 24c06ae9a202f16555c5a1f8006a0bd7 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 - - psutil >=7 - - pygments >=2.14.0 - - python >=3.11 - - stack_data >=0.6.0 - - traitlets >=5.13.0 - - typing_extensions >=4.6 - - pexpect >4.6 + - numpy >=1.25 - python + - libcxx >=19 + - __osx >=10.13 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 652893 - timestamp: 1780654403616 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.14.1-pyhe2676ad_0.conda - sha256: 3c5f2269e357118abfa49d21fdca3a35420ee5b251c2f5cb705310b38843db40 - md5: bf12187c2d1ef0bb63df01ace31ff26b + run_exports: {} + size: 298562 + timestamp: 1769156074957 +- conda: https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.3.3-py314h22a2ed9_4.conda + sha256: 3ddca2f889e37e4b26c2e86d245fc56769b00334bfaf1caf612140eec77ce71d + md5: 511f02f632e1fb0555da3cb4261851d9 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 - - psutil >=7 - - pygments >=2.14.0 - - python >=3.11 - - stack_data >=0.6.0 - - traitlets >=5.13.0 - - typing_extensions >=4.6 - - colorama >=0.4.4 + - numpy >=1.25 - python + - libcxx >=19 + - __osx >=10.13 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - size: 652076 - timestamp: 1780654438137 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda - sha256: 45821a8986b4cb2421f766b240dbe6998a3c3123f012dd566720c1322e9b6e18 - md5: 2f0ba4bc12af346bc6c99bdc377e8944 + run_exports: {} + size: 301747 + timestamp: 1769156235399 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py312h1af399d_0.conda + sha256: 692b58dbe64570f3a71ae5b2efa3d39ebebfd41d6a03952eae872398d09f4634 + md5: 8ac30cac81d2121ddf103ce1657af12b depends: - - python >=3.9 - license: BSD-3-Clause + - __osx >=11.0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT license_family: BSD - size: 28153 - timestamp: 1733399692864 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 - md5: bd80ba060603cc228d9d81c257093119 + run_exports: {} + size: 1850790 + timestamp: 1781385947222 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py313ha8d32cc_0.conda + sha256: 7e7fe894560ae9f588d781f076e8f2017c8ff6f7c737197e7b03c763b4377245 + md5: a4d2dc857ef7c755b0a2534705108d6e depends: - - pygments - - python >=3.9 + - __osx >=11.0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + constrains: + - __osx >=11.0 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1853759 + timestamp: 1781385846284 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cryptography-49.0.0-py314hd00f597_0.conda + sha256: 2eb1805843e65f6057c312edfbef0dab474ff9a12ff93c57f9f9d080b8343f49 + md5: ed0cd98452f63f438194881426a39028 + depends: + - __osx >=11.0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - __osx >=11.0 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1867418 + timestamp: 1781385772375 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py312h1a1c95f_2.conda + sha256: 7718e3415123f406e23e88b9a2e03db94984211c07c98a1dc20dc677a624c42e + md5: db9f538ce2d80fce3d42c7b67308f3d2 + depends: + - __osx >=10.13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - toolz >=0.10.0 license: BSD-3-Clause license_family: BSD - size: 13993 - timestamp: 1737123723464 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.8.5-pyhd8ed1ab_0.conda - sha256: 8cc67e44137bb779c76d92952fdc4d8cd475605f4f0d13e8d0f04f25c056939b - md5: 47672c493015ab57d5fcde9531ab18ef + run_exports: {} + size: 593863 + timestamp: 1771856019545 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py313h36bb7f5_2.conda + sha256: f88f35acd597f275f83a16fa0d370f439206ae310bf028fd90ec242cecb2e8ed + md5: bdeebe589a7c1d098f7db85f2d03604a depends: - - comm >=0.1.3 - - ipython >=4.0.0 - - ipython_genutils >=0.2.0,<0.3.0 - - jupyterlab_widgets >=1.0.0,<3 - - python >=3.3 - - traitlets >=4.3.1 - - widgetsnbextension >=3.6.10,<3.7.0 + - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - toolz >=0.10.0 license: BSD-3-Clause license_family: BSD - size: 104860 - timestamp: 1729599554932 -- conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - sha256: 08e838d29c134a7684bca0468401d26840f41c92267c4126d7b43a6b533b0aed - md5: 0b0154421989637d424ccf0f104be51a + run_exports: {} + size: 593717 + timestamp: 1771856046878 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cytoolz-1.1.0-py314h4f144dc_2.conda + sha256: 29f2087e12657cd46de110737a6758dcc82aaa37b1390d2e336e3b075046e6af + md5: 58288887b0e326f1e2f3e15f4198e4a3 depends: - - arrow >=0.15.0 - - python >=3.9 - license: MIT - license_family: MIT - size: 19832 - timestamp: 1733493720346 -- conda: https://conda.anaconda.org/conda-forge/noarch/isort-8.0.1-pyhd8ed1ab_0.conda - sha256: cc5c2b513143ea9675ba5b3570182f7568fd1029b299ee3bc58424dcce8c5539 - md5: 98cdd8615792e90da1023bc546f806d9 + - __osx >=10.13 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - toolz >=0.10.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 616158 + timestamp: 1771856337938 +- conda: https://conda.anaconda.org/conda-forge/osx-64/debugpy-1.8.21-py314h2883b87_0.conda + sha256: b5856795fcb21ae23ab23ec68cd6ab65d63ae24721dfa7cc0e6a845e341f274d + md5: fd360becf1092353288125e00fe26d6f depends: - - importlib-metadata >=4.6.0 - - python >=3.10,<4.0 + - python + - __osx >=11.0 + - libcxx >=19 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 72146 - timestamp: 1772278531671 -- conda: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda - sha256: 1684b7b16eec08efef5302ce298c606b163c18272b69a62b666fbaa61516f170 - md5: 7ac5f795c15f288984e32add616cdc59 - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 19180 - timestamp: 1733308353037 -- conda: https://conda.anaconda.org/conda-forge/noarch/janus-2.0.0-pyhd8ed1ab_0.conda - sha256: 25b76ed3b81a0fb57d5b30da0219d07375f43d44c6912ed32b164f0146c52cad - md5: 7976bc14a87522ab9af904e8aec3ee70 + run_exports: {} + size: 2790917 + timestamp: 1780390287062 +- conda: https://conda.anaconda.org/conda-forge/osx-64/eccodes-2.46.0-ha961110_0.conda + sha256: c076a600b5906d07d0901cd0c81f9d3eb65534ec5d26b99bdfdfd3c86430c97c + md5: 57155fbc8bcf8ca83b670f29163639e9 depends: - - python >=3.9 + - __osx >=11.0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - jasper >=4.2.8,<5.0a0 + - libaec >=1.1.5,<2.0a0 + - libcxx >=19 + - libgfortran + - libgfortran5 >=14.3.0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 license: Apache-2.0 - license_family: APACHE - size: 17559 - timestamp: 1734211022944 -- conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.9-h1588d4d_1.conda - sha256: a6a9858eadb4c794b56a1c954c1d4f4b57d96c9fb87092dd46f5bff9b0697b35 - md5: 115ecf05370670f93bc81a8c4f7fd57f - depends: - - __glibc >=2.17,<3.0.a0 - - freeglut >=3.2.2,<4.0a0 - - libexpat >=2.7.4,<3.0a0 - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libglu >=9.0.3,<10.0a0 - - libglu >=9.0.3,<9.1.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - license: JasPer-2.0 - size: 684185 - timestamp: 1773677703432 -- conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda - sha256: dc013823ea75791ec93889455bf64680db4f756111f9ea791f4336f002973dd2 - md5: ba331350354f69260f18733403411157 + license_family: Apache + run_exports: {} + size: 5302605 + timestamp: 1772015279277 +- conda: https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py313hecd7239_1.conda + sha256: d37c3266e81ae50e59d4354e96d32071ea03e2b15c4211622734bf11693315f4 + md5: f74e5ce34bfba7b91df1d7dbad160b99 depends: + - python + - libcxx >=19 - __osx >=11.0 - - libjpeg-turbo >=3.1.2,<4.0a0 - license: JasPer-2.0 - size: 574390 - timestamp: 1773678288465 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda - sha256: 58bfd15b7426f99ca2b1854535d4ede1ca2a35be4f8c43c5e34b6ffdcfd7a5c8 - md5: e3f3a2a62fbaad99f327440dfd8a3ac3 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 95139 + timestamp: 1781547275151 +- conda: https://conda.anaconda.org/conda-forge/osx-64/editdistpy-0.2.0-py314hea86bea_1.conda + sha256: 991c0755628947f2794b3572063b443779f28fded6768fab1737ec7edccfb23c + md5: 0ee6d8fdd1dd848ea67f259de2d62a40 depends: + - python + - libcxx >=19 - __osx >=11.0 - - libjpeg-turbo >=3.1.2,<4.0a0 - license: JasPer-2.0 - size: 584700 - timestamp: 1773681839297 -- conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda - sha256: aed571899460d314013fff76c6c1bb8e908788667f382f319e0daf920b85d103 - md5: c975e3f46230e47c7cab2d58c46f1f30 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 96052 + timestamp: 1781547439153 +- conda: https://conda.anaconda.org/conda-forge/osx-64/epoxy-1.5.10-h8616949_2.conda + sha256: d5c466bddf423a788ce5c39af20af41ebaf3de9dc9e807098fc9bf45c3c7db45 + md5: efe7fa6c60b20cb0a3a22e8c3e7b721e depends: - - freeglut >=3.2.2,<4.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: JasPer-2.0 - size: 447034 - timestamp: 1773677819715 -- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 - md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - epoxy >=1.5.10,<1.6.0a0 + size: 283016 + timestamp: 1758743470535 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py312h69bf00f_4.conda + sha256: eb2c9ab4f0d1fa4267d3c9560dc6c27162f56f31385b11287ba45fe1ab5ef502 + md5: 1741c597db268c207be8cbec1b2ef731 + depends: + - __osx >=10.13 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.10.3,<3.11.0a0 + - pyparsing + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1042055 + timestamp: 1764875013543 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py313ha55c4c1_6.conda + sha256: a0912ab0d1298c12d717a2aac297d17dfac13075fed97797215f4040dd99011b + md5: b7268b3d9fcfd219f88e8db709a0e4d8 depends: - - parso >=0.8.3,<0.9.0 - - python >=3.9 - license: Apache-2.0 AND MIT - size: 843646 - timestamp: 1733300981994 -- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b - md5: 04558c96691bed63104678757beb4f8d + - __osx >=10.13 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.12.1,<3.13.0a0 + - pyparsing + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1049321 + timestamp: 1767051552964 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fiona-1.10.1-py314he09d67a_6.conda + sha256: 4c64b0f0292cc97fa527c0133e5695c57d372a33a2b6d74d18a8cee37086a1c3 + md5: adcd5ef03bda56db88bd81e6c31a8360 depends: - - markupsafe >=2.0 - - python >=3.10 - - python + - __osx >=10.13 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.12.1,<3.13.0a0 + - pyparsing + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - shapely license: BSD-3-Clause license_family: BSD - size: 120685 - timestamp: 1764517220861 -- conda: https://conda.anaconda.org/conda-forge/noarch/jmespath-1.1.0-pyhcf101f3_1.conda - sha256: 904d43d5210584004cf8b38f9657c717661ae55b0fb3f60573be974e50653fa1 - md5: cc73a9bd315659dc5307a5270f44786f + run_exports: {} + size: 1049751 + timestamp: 1767051565872 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fontconfig-2.18.1-h7a4440b_0.conda + sha256: 134aed823beae85798607e32b78aa1368afbfbea145a43c974d88269f1013287 + md5: 17925ae2a399d859c0b978934df591e3 depends: - - python >=3.10 - - python + - __osx >=11.0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libintl >=0.25.1,<1.0a0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 25946 - timestamp: 1769161799923 -- 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 - size: 226448 - timestamp: 1765794135253 -- conda: https://conda.anaconda.org/conda-forge/linux-64/jpype1-1.7.1-py312h1289d80_0.conda - sha256: cb779aabe1cd8e2b3028bdb947a08af80ef9932b9e8c0d4bc297545574c52e60 - md5: 03a97701957945503909d236635db758 + run_exports: + weak: + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + size: 247884 + timestamp: 1780450811484 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.63.0-py312heb39f77_0.conda + sha256: eb76350b1653a7e6e61c0fdc7dde79e32a0ba662c6c9471b2557720fb7db802d + md5: 86857c4f51ca02be0aa72fb98ea80ef9 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - packaging + - __osx >=11.0 + - brotli + - munkres - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 455001 - timestamp: 1778141723174 -- conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py312h959a22e_0.conda - sha256: 2e4abd258e15b9fdc78e0924d0669f55d0312faad4497ec24a9b3cc6e1a341eb - md5: e9572e8fb36705d78b46c770a272bbc4 + - unicodedata2 >=15.1.0 + license: MIT + license_family: MIT + run_exports: {} + size: 2914614 + timestamp: 1778770861388 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.63.0-py313h035b7d0_0.conda + sha256: 457c5959748fc6a058beffecb8d2ee96ce2e0e0354371d9f4911b331a13c642c + md5: dfd6e3d6a3d27c6fbee97550b2dda2d9 depends: - __osx >=11.0 - - libcxx >=19 - - packaging - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 402954 - timestamp: 1778142036977 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py312h6d95f44_0.conda - sha256: 1f869ba764f53de7618d600cef454e961797ceaa064b86ca7bab0c37d02c94d2 - md5: 6afbde95c6cfc2b3ece9307536bbc1f8 + - brotli + - munkres + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 2929481 + timestamp: 1778771095250 +- conda: https://conda.anaconda.org/conda-forge/osx-64/freetype-2.14.3-h694c41f_1.conda + sha256: c67130a919d3c7733fce056cc2ce8cec2935e295547d5d70bcbf35e4351d543b + md5: 48fc845b770770e9c7db8743f6d53d44 + depends: + - libfreetype 2.14.3 h694c41f_1 + - libfreetype6 2.14.3 h58fbd8d_1 + license: GPL-2.0-only OR FTL + run_exports: + weak: + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + size: 174300 + timestamp: 1780934162319 +- conda: https://conda.anaconda.org/conda-forge/osx-64/freexl-2.0.0-h3183152_2.conda + sha256: cf924a5373def22030f73435082efbb3efb1039faeec926b006fb53a6f738f7c + md5: 5cb34c1d2ed89fd36f4e3759c966daf0 + depends: + - __osx >=10.13 + - libexpat >=2.6.4,<3.0a0 + - libiconv >=1.17,<2.0a0 + - minizip >=4.0.7,<5.0a0 + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - freexl >=2.0.0,<3.0a0 + size: 53798 + timestamp: 1734015115203 +- conda: https://conda.anaconda.org/conda-forge/osx-64/fribidi-1.0.16-h8616949_0.conda + sha256: 53dd0a6c561cf31038633aaa0d52be05da1f24e86947f06c4e324606c72c7413 + md5: 4422491d30462506b9f2d554ab55e33d + depends: + - __osx >=10.13 + license: LGPL-2.1-or-later + run_exports: + weak: + - fribidi >=1.0.16,<2.0a0 + size: 60923 + timestamp: 1757438791418 +- conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py312h90c63f8_0.conda + sha256: d9f425c494f2614ebf1ed4a31c699ebd3a84f8eae812518b65899d913c97626e + md5: 21145c2ab9fb336c7fb9ef2723373bae depends: - __osx >=11.0 - libcxx >=19 - - packaging - 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 - size: 394128 - timestamp: 1778142079059 -- conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py312hbb81ca0_0.conda - sha256: b7f91fa7b0220a328f61616f3fb810cfbcffd24913cefc1a2bc0aac4c182a42c - md5: ed651ebef363f9fec811c293bd583bd1 + run_exports: {} + size: 52291 + timestamp: 1780000343424 +- conda: https://conda.anaconda.org/conda-forge/osx-64/frozenlist-1.8.0-py313h1cd6d9b_0.conda + sha256: 3717e2df84b58675e7f7614c265f100c0c496c7a3cc65cb8a0465e6b56f89da4 + md5: cf7e1e0938a31651a7b0181549d04bc1 depends: - - 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 + - __osx >=11.0 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: APACHE - size: 405760 - timestamp: 1778141856472 -- 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 - size: 82709 - timestamp: 1726487116178 -- conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda - sha256: b58f8002318d6b880a98e1b0aa943789b3b0f49334a3bdb9c19b463a0b799cad - md5: 2c5a3c42de607dda0cfa0edd541fd279 + run_exports: {} + size: 51326 + timestamp: 1780000211531 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.42.12-h5720e38_3.conda + sha256: 17e804d758c898757209a7eac8073500b7b585a68789731a8a4ab3bc63d80cac + md5: 34d25f5203c6c6e61fb5a40d2249b614 depends: - __osx >=10.13 - license: MIT - license_family: MIT - size: 71514 - timestamp: 1726487153769 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda - sha256: 73179a1cd0b45c09d4f631cb359d9e755e6e573c5d908df42006728e0bf8297c - md5: 94f14ef6157687c30feb44e1abecd577 + - libglib >=2.84.3,<3.0a0 + - libintl >=0.25.1,<1.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - gdk-pixbuf >=2.42.12,<3.0a0 + size: 556549 + timestamp: 1754960291328 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gdk-pixbuf-2.44.6-hae309b2_0.conda + sha256: 27a223201fd86f85284c7e218121ac9ecf0be16e0a73eea42776701c8c90c50b + md5: 5f0f81650af65aa247f6fbc25ebcbdd4 depends: - __osx >=11.0 - license: MIT - license_family: MIT - size: 73715 - timestamp: 1726487214495 -- conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.14.0-pyhd8ed1ab_0.conda - sha256: 9daa95bd164c8fa23b3ab196e906ef806141d749eddce2a08baa064f722d25fa - md5: 1269891272187518a0a75c286f7d0bbf - depends: - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - size: 34731 - timestamp: 1774655440045 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.1.1-pyhcf101f3_0.conda - sha256: a3d10301b6ff399ba1f3d39e443664804a3d28315a4fb81e745b6817845f70ae - md5: 89bf346df77603055d3c8fe5811691e6 - depends: - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 14190 - timestamp: 1774311356147 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 - md5: ada41c863af263cc4c5fcbaff7c3e4dc + - libglib >=2.86.4,<3.0a0 + - libintl >=0.25.1,<1.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.56,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - gdk-pixbuf >=2.44.6,<3.0a0 + size: 552947 + timestamp: 1774986327487 +- conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.13.1-h502464c_0.conda + sha256: d2ec00b2600ebda6ec5f953d5e65eacdb66f356acc7dd952bb42e2bf7a22b602 + md5: 480d6bc3033367f3d7b412cc5a9e0819 depends: - - attrs >=22.2.0 - - jsonschema-specifications >=2023.3.6 - - python >=3.10 - - referencing >=0.28.4 - - rpds-py >=0.25.0 - - python - license: MIT - license_family: MIT - size: 82356 - timestamp: 1767839954256 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 - md5: 439cd0f567d697b20a8f45cb70a1005a + - __osx >=10.13 + - libcxx >=18 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.13.1,<3.13.2.0a0 + size: 1562536 + timestamp: 1741051661501 +- conda: https://conda.anaconda.org/conda-forge/osx-64/geos-3.14.1-he483b9e_0.conda + sha256: 4d95fd55a9e649620b4e50ddafff064c4ec52d87e1ed64aa4cad13e643b32baf + md5: d83030a79ce1276edc2332c1730efa17 depends: - - python >=3.10 - - referencing >=0.31.0 - - python - license: MIT - license_family: MIT - size: 19236 - timestamp: 1757335715225 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda - sha256: 6886fc61e4e4edd38fd38729976b134e8bd2143f7fce56cc80d7ac7bac99bce1 - md5: 8368d58342d0825f0843dc6acdd0c483 + - __osx >=10.13 + - libcxx >=19 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.14.1,<3.14.2.0a0 + size: 1631280 + timestamp: 1761593838143 +- conda: https://conda.anaconda.org/conda-forge/osx-64/geotiff-1.7.4-h88234f0_2.conda + sha256: bc72d7628743e47e4cb1e17e087561275efb0f4c9fdbc023fc08749c94578645 + md5: b6e9e421b9646dce6cafa65d6e5f9d4c depends: - - jsonschema >=4.26.0,<4.26.1.0a0 - - fqdn - - idna - - isoduration - - jsonpointer >1.13 - - rfc3339-validator - - rfc3986-validator >0.1.0 - - rfc3987-syntax >=1.1.0 - - uri-template - - webcolors >=24.6.0 + - __osx >=10.13 + - libcxx >=18 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - zlib license: MIT license_family: MIT - size: 4740 - timestamp: 1767839954258 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.1.1-pyhd8ed1ab_1.conda - sha256: b538e15067d05768d1c0532a6d9b0625922a1cce751dd6a2af04f7233a1a70e9 - md5: 9453512288d20847de4356327d0e1282 + run_exports: + weak: + - geotiff >=1.7.4,<1.8.0a0 + size: 114937 + timestamp: 1742402589010 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gflags-2.2.2-hac325c4_1005.conda + sha256: c0bea66f71a6f4baa8d4f0248e17f65033d558d9e882c0af571b38bcca3e4b46 + md5: a26de8814083a6971f14f9c8c3cb36c2 depends: - - ipykernel - - ipywidgets - - jupyter_console - - jupyterlab - - nbconvert-core - - notebook - - python >=3.9 + - __osx >=10.13 + - libcxx >=17 license: BSD-3-Clause license_family: BSD - size: 8891 - timestamp: 1733818677113 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.1-pyhcf101f3_0.conda - sha256: 3766e2ae59641c172cec8a821528bfa6bf9543ffaaeb8b358bfd5259dcf18e4e - md5: 0c3b465ceee138b9c39279cc02e5c4a0 + run_exports: + weak: + - gflags >=2.2.2,<2.3.0a0 + size: 84946 + timestamp: 1726600054963 +- conda: https://conda.anaconda.org/conda-forge/osx-64/giflib-5.2.2-h10d778d_0.conda + sha256: 2c825df829097536314a195ae5cacaa8695209da6b4400135a65d8e23c008ff8 + md5: 03e8c9b4d3da5f3d6eabdd020c2d63ac + license: MIT + license_family: MIT + run_exports: + weak: + - giflib >=5.2.2,<5.3.0a0 + size: 74516 + timestamp: 1712692686914 +- conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.84.3-h35d42e9_0.conda + sha256: 7bcabd2a375b95a64288158a9125b4cae9879957f8c18a6406b0bf144f1f5ce8 + md5: e904f2fdddbec55c387b9afc1aa90e79 depends: - - importlib-metadata >=4.8.3 - - jupyter_server >=1.1.2 - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 61633 - timestamp: 1775136333147 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - sha256: 48b18974cc93b2c0d2681563237034e521f51d1878f0bbc6a5a67ca31b1608a6 - md5: 49440e66df843bee2273937e8032ec43 + - __osx >=10.13 + - libglib 2.84.3 h5fed8df_0 + - libintl >=0.25.1,<1.0a0 + license: LGPL-2.1-or-later + run_exports: {} + size: 102128 + timestamp: 1754315404852 +- conda: https://conda.anaconda.org/conda-forge/osx-64/glib-tools-2.88.1-h6437393_2.conda + sha256: f4e609d1c523de5ce3ae0a5844573b0b0b30d24b380ca044fb689f288f2c9e54 + md5: 71618f9b86b1d1ff2678c3c196045ca1 depends: - - jupyter_core >=5.1 - - python >=3.10 - - python-dateutil >=2.8.2 - - pyzmq >=25.0 - - tornado >=6.4.1 - - traitlets >=5.3 - - typing_extensions >=4.13.0 - - python - license: BSD-3-Clause - license_family: BSD - size: 117954 - timestamp: 1781019994076 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_1.conda - sha256: aee0cdd0cb2b9321d28450aec4e0fd43566efcd79e862d70ce49a68bf0539bcd - md5: 801dbf535ec26508fac6d4b24adfb76e + - libglib ==2.88.1 hf28f236_2 + - libffi + - __osx >=11.0 + - libintl >=0.25.1,<1.0a0 + license: LGPL-2.1-or-later + run_exports: {} + size: 216282 + timestamp: 1778508940832 +- conda: https://conda.anaconda.org/conda-forge/osx-64/glog-0.7.1-h2790a97_0.conda + sha256: dd56547db8625eb5c91bb0a9fbe8bd6f5c7fbf5b6059d46365e94472c46b24f9 + md5: 06cf91665775b0da395229cd4331b27d depends: - - ipykernel >=6.14 - - ipython - - jupyter_client >=7.0.0 - - jupyter_core >=4.12,!=5.0.* - - prompt_toolkit >=3.0.30 - - pygments - - python >=3.9 - - pyzmq >=17 - - traitlets >=5.4 + - __osx >=10.13 + - gflags >=2.2.2,<2.3.0a0 + - libcxx >=16 license: BSD-3-Clause license_family: BSD - size: 26874 - timestamp: 1733818130068 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - sha256: ed709a6c25b731e01563521ef338b93986cd14b5bc17f35e9382000864872ccc - md5: a8db462b01221e9f5135be466faeb3e0 + run_exports: + weak: + - glog >=0.7.1,<0.8.0a0 + size: 117017 + timestamp: 1718284325443 +- conda: https://conda.anaconda.org/conda-forge/osx-64/glpk-5.0-h3cb5acd_0.tar.bz2 + sha256: da922f4e6b893dce75e04d1ac28fc02301554cc0a3e80e6e768d44bc3a9cc1f0 + md5: 323537f09c8044f0352a8af30a6fc650 depends: - - __win - - pywin32 - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 - - python - constrains: - - pywin32 >=300 - license: BSD-3-Clause - license_family: BSD - size: 64679 - timestamp: 1760643889625 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a - md5: b38fe4e78ee75def7e599843ef4c1ab0 + - gmp >=6.2.1,<7.0a0 + license: GPL-3.0-or-later + license_family: GPL + run_exports: + weak: + - glpk >=5.0,<6.0a0 + size: 1048780 + timestamp: 1624569356062 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gmp-6.3.0-hf036a51_2.conda + sha256: 75aa5e7a875afdcf4903b7dc98577672a3dc17b528ac217b915f9528f93c85fc + md5: 427101d13f19c4974552a4e5b072eef1 depends: - - __unix - - python - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 - - python - constrains: - - pywin32 >=300 - license: BSD-3-Clause - license_family: BSD - size: 65503 - timestamp: 1760643864586 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.1-pyhcf101f3_0.conda - sha256: c7edb5682c6316a95ad781dccb1b6589cd2ec0bf94f23c21152974eb0363b5d7 - md5: bf42ee94c750c0b2e7e998b79ac299ea + - __osx >=10.13 + - libcxx >=16 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + run_exports: + weak: + - gmp >=6.3.0,<7.0a0 + size: 428919 + timestamp: 1718981041839 +- conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py312hb9001e9_1.conda + sha256: ffd90aaf431a1a1d45f1b852aef16e56c1ce73bd443fae96d83c9d8d2b8a9af2 + md5: 558f8364bc7ccb5be86f035dadab7981 depends: - - jsonschema-with-format-nongpl >=4.18.0 - - packaging - - python >=3.10 - - python-json-logger >=2.0.4 - - pyyaml >=5.3 - - referencing - - rfc3339-validator - - rfc3986-validator >=0.1.1 - - traitlets >=5.3 - - python - license: BSD-3-Clause - license_family: BSD - size: 24002 - timestamp: 1776861872237 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.19.0-pyhcf101f3_0.conda - sha256: 896a350a026db8fff26a7884ed841d53cb84f57f914064fbead0628ab23d1da0 - md5: 82525f37e0976e83bbb69bc4d4011665 + - __osx >=10.13 + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 24287 + timestamp: 1768549357803 +- conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py313h49a2f01_1.conda + sha256: 42b0be206602e6521f3095cda4b7752b36be9548cb1d374d2107d986c870d202 + md5: 623c30b99d3d699f052ee20bd5ba4ec2 + depends: + - __osx >=10.13 + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 24380 + timestamp: 1768549497226 +- conda: https://conda.anaconda.org/conda-forge/osx-64/google-crc32c-1.8.0-py314h19b641f_1.conda + sha256: 45588c44f2a1581ef9ad77d2c5b54f2e3fb08c1d557775cf8fcb6c9267821e26 + md5: b88b1786e14b3a4d7eeb67b0eadba49c + depends: + - __osx >=10.13 + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 25601 + timestamp: 1768549529898 +- conda: https://conda.anaconda.org/conda-forge/osx-64/graphite2-1.3.15-hcc62823_0.conda + sha256: aaebae3c0e713579e52de6fd4eec54a172e28c7f90d90da4583e91b1634a7fee + md5: 6a0525cf3166f16b9e156fb6b2cac5c0 + depends: + - __osx >=11.0 + - libcxx >=19 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - graphite2 >=1.3.15,<2.0a0 + size: 85964 + timestamp: 1780454502704 +- conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-13.1.2-h42bfd48_0.conda + sha256: dae3d09e93c1221d63a2bc10fa2919504fd846891e1196b62b0a6f5953c8fe1c + md5: 18d8fd0b5eac07127635b37f1e72e1b0 + depends: + - __osx >=10.13 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.42.12,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 + - libcxx >=19 + - libexpat >=2.7.1,<3.0a0 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.84.3,<3.0a0 + - librsvg >=2.58.4,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=13.1.2,<14.0a0 + size: 2287587 + timestamp: 1754732429816 +- conda: https://conda.anaconda.org/conda-forge/osx-64/graphviz-14.1.2-h44fc223_0.conda + sha256: dd6a5e3599a2e07c04f4d33e61ecd5c26738eee9e88b9faa1da0f8b062ac9ca3 + md5: 4c1c78d65d867d032c07303cf38117ba + depends: + - __osx >=10.13 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.4,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 + - libcxx >=19 + - libexpat >=2.7.3,<3.0a0 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.86.3,<3.0a0 + - librsvg >=2.60.0,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=14.1.2,<15.0a0 + size: 2297868 + timestamp: 1769427939677 +- conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py313h5fe49f0_0.conda + sha256: 42c0be1bad8fedb900c244263c51b6aad52817f821230e147ba47881ce17338a + md5: b5d65b160f47ff1989b575bf51e4ce8d depends: - - anyio >=3.1.0 - - argon2-cffi >=21.1 - - jinja2 >=3.0.3 - - jupyter_client >=7.4.4 - - jupyter_core >=4.12,!=5.0.* - - jupyter_events >=0.11.0 - - jupyter_server_terminals >=0.4.4 - - nbconvert-core >=6.4.4 - - nbformat >=5.3.0 - - overrides >=5.0 - - packaging >=22.0 - - prometheus_client >=0.9 - - python >=3.10 - - pyzmq >=24 - - send2trash >=1.8.2 - - terminado >=0.8.3 - - tornado >=6.2.0 - - traitlets >=5.6.0 - - websocket-client >=1.7 - python - license: BSD-3-Clause - license_family: BSD - size: 361523 - timestamp: 1780151480958 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda - sha256: 5eda79ed9f53f590031d29346abd183051263227dd9ee667b5ca1133ce297654 - md5: 7b8bace4943e0dc345fc45938826f2b8 + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 260304 + timestamp: 1781762294416 +- conda: https://conda.anaconda.org/conda-forge/osx-64/greenlet-3.5.2-py314h2883b87_0.conda + sha256: 7cf16cee7d0c14dff67236b9d0bcb93c90e1185ddf7532029f8bcd090b06f2c1 + md5: b2c7e6644faa7c1efa3aff8c60e49f7c depends: - - python >=3.10 - - terminado >=0.8.3 - python - license: BSD-3-Clause - license_family: BSD - size: 22052 - timestamp: 1768574057200 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.8-pyhd8ed1ab_0.conda - sha256: 46565306e181df07cd5aed855fa7ef3522658e11b3a840ebbf047ea675c51d30 - md5: 8e3f969b0c5d9c22191f3c3306c0f1fb + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 261544 + timestamp: 1781762300362 +- conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py312h53eab48_1.conda + sha256: a751ba0ed00f9306d852111e749ee23c7ae7309cc05716ad6f1bce2bf9db2912 + md5: 94f0b7eefe8e878d70560f54a38b539c depends: - - async-lru >=1.0.0 - - httpx >=0.25.0,<1 - - ipykernel >=6.5.0,!=6.30.0 - - jinja2 >=3.0.3 - - jupyter-lsp >=2.0.0 - - jupyter_core - - jupyter_server >=2.4.0,<3 - - jupyterlab_server >=2.28.0,<3 - - notebook-shim >=0.2 - - packaging >=23.2 - - python >=3.10 - - setuptools >=41.1.0 - - tomli >=1.2.2 - - tornado >=6.2.0 - - traitlets - license: BSD-3-Clause - license_family: BSD - size: 8579063 - timestamp: 1780577426236 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - sha256: dc24b900742fdaf1e077d9a3458fd865711de80bca95fe3c6d46610c532c6ef0 - md5: fd312693df06da3578383232528c468d + - __osx >=11.0 + - libcxx >=19 + - libgrpc 1.73.1 h451496d_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 801087 + timestamp: 1761060745228 +- conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py313ha22d4e2_1.conda + sha256: e2dacf7fd2d35595fbcf9a5c3dc2997ce9f58fbe68dd6911b24dc18307538d91 + md5: 91520cdcae125868e76f99cfb665773c depends: - - pygments >=2.4.1,<3 - - python >=3.9 - constrains: - - jupyterlab >=4.0.8,<5.0.0 - license: BSD-3-Clause - license_family: BSD - size: 18711 - timestamp: 1733328194037 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda - sha256: 381d2d6a259a3be5f38a69463e0f6c5dcf1844ae113058007b51c3bef13a7cee - md5: a63877cb23de826b1620d3adfccc4014 + - __osx >=11.0 + - libcxx >=19 + - libgrpc 1.73.1 h451496d_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 813860 + timestamp: 1761061110919 +- conda: https://conda.anaconda.org/conda-forge/osx-64/grpcio-1.73.1-py314hde9596f_1.conda + sha256: 44dafd1aefc7957c5063052d2fc264d8b89f13a927cf36f9e21704f6c878d65e + md5: 634541eeb0d1adf845610b0729b375fb depends: - - babel >=2.10 - - jinja2 >=3.0.3 - - json5 >=0.9.0 - - jsonschema >=4.18 - - jupyter_server >=1.21,<3 - - packaging >=21.3 - - python >=3.10 - - requests >=2.31 - - python - license: BSD-3-Clause - license_family: BSD - size: 51621 - timestamp: 1761145478692 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.1.11-pyhd8ed1ab_0.conda - sha256: 639544e96969c7513b33bf3201a4dc3095625e34cff16c187f5dec9bee2dfb2f - md5: 05a08b368343304618b6a88425aa851a + - __osx >=11.0 + - libcxx >=19 + - libgrpc 1.73.1 h451496d_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 825762 + timestamp: 1761060998131 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.43-h70b172e_5.conda + sha256: 4f1be786342408492578dc696165ed3515bb1c4887c30e0909e50d0f8245fb38 + md5: 38eeb48f9466e5763567d1be1b7ff444 depends: - - python >=3.7 - constrains: - - jupyterlab >=3,<5 - license: BSD-3-Clause - license_family: BSD - size: 113654 - timestamp: 1729586559116 -- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 - md5: b38117a3c920364aff79f870c984b4a3 + - __osx >=10.13 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fribidi >=1.0.10,<2.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - glib-tools + - harfbuzz >=11.0.0,<12.0a0 + - hicolor-icon-theme + - libexpat >=2.6.4,<3.0a0 + - libglib >=2.84.0,<3.0a0 + - libintl >=0.23.1,<1.0a0 + - liblzma >=5.6.4,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.3,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gtk3 >=3.24.43,<4.0a0 + - adwaita-icon-theme + size: 4916900 + timestamp: 1743405835449 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gtk3-3.24.52-hf2d442a_0.conda + sha256: c69a03b1eec71c0a764658d67f81eaf9a316276ae900b107cd8d77766bc13cf8 + md5: 76be17e448c23c6d1c99a56c15b15925 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-or-later - size: 134088 - timestamp: 1754905959823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py312h0a2e395_0.conda - sha256: eec7654c2d68f06590862c6e845cc70987b6d6559222b6f0e619dea4268f5dd5 - md5: cd74a9525dc74bbbf93cf8aa2fa9eb5b + - __osx >=11.0 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fribidi >=1.0.16,<2.0a0 + - gdk-pixbuf >=2.44.5,<3.0a0 + - glib-tools + - harfbuzz >=13.2.1 + - hicolor-icon-theme + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libintl >=0.25.1,<1.0a0 + - liblzma >=5.8.2,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gtk3 >=3.24.52,<4.0a0 + - adwaita-icon-theme + size: 5269457 + timestamp: 1774289309822 +- conda: https://conda.anaconda.org/conda-forge/osx-64/gts-0.7.6-h53e17e3_4.conda + sha256: d5b82a36f7e9d7636b854e56d1b4fe01c4d895128a7b73e2ec6945b691ff3314 + md5: 848cc963fcfbd063c7a023024aa3bec0 depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 + - libcxx >=15.0.7 + - libglib >=2.76.3,<3.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gts >=0.7.6,<0.8.0a0 + size: 280972 + timestamp: 1686545425074 +- conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py312h53b4df1_102.conda + sha256: 632227065f84306b2f5822b22d10ba84fcd6f5b397b2d69a4c36d92e0ca2f31e + md5: 626ce477182eeedea956ea6a2c94ef14 + depends: + - __osx >=11.0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - size: 77120 - timestamp: 1773067050308 -- conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda - sha256: 6ab69d441b3400cdf773f67e20f9fae7c37f076d32c31d06843f12d2099e70ce - md5: 4a38b6e74b5a7ea22f1840226e5103a8 + run_exports: {} + size: 1183163 + timestamp: 1775582252030 +- conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py313hd52a848_102.conda + sha256: 07dafd7469521223e2de8912abda6e85782e359d4a67d5a169211649f161bb34 + md5: 279b9853e8b875e3427a6e355e5865ce depends: - - python - - libcxx >=19 - __osx >=11.0 - - python_abi 3.12.* *_cp312 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 69432 - timestamp: 1773067281295 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py312h3093aea_0.conda - sha256: 8de440f0e33ab6895e81f2c47c51e59d177349a832087a0367e8e259c97f4833 - md5: 58261af35f0d33fd28e2257b208a1be0 + run_exports: {} + size: 1190899 + timestamp: 1775581596875 +- conda: https://conda.anaconda.org/conda-forge/osx-64/h5py-3.16.0-nompi_py314hd1d8aca_102.conda + sha256: dc67ac053fb4199fc899650eb323cb35e2f9a49816bb77ccf610066c97df0382 + md5: 7dc73b286baa99b2abf400421c61626a depends: - - python - __osx >=11.0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1199017 + timestamp: 1775582052620 +- conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-11.4.5-h0ffbb26_0.conda + sha256: 2b5e8af8a457af825360b0aef0b9641a675ea9b0e0945d1e469d8a0f3e1ddc06 + md5: 6dfe87116a746f3c2e93eec0df8386ec + depends: + - __osx >=10.13 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=75.1,<76.0a0 - libcxx >=19 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libglib >=2.84.3,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - harfbuzz >=11.4.5 + size: 1593280 + timestamp: 1756738433915 +- conda: https://conda.anaconda.org/conda-forge/osx-64/harfbuzz-14.2.1-hf0bc557_0.conda + sha256: d329b82aab0681aada77dfcb709fb42ab59403339eb886df2b58695aeb7c6869 + md5: d217d80acf915fd7af2bb416a7d57e5a + depends: + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=78.3,<79.0a0 + - libcxx >=19 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - harfbuzz >=14.2.1 + size: 1795456 + timestamp: 1780451140773 +- conda: https://conda.anaconda.org/conda-forge/osx-64/hdf4-4.2.15-h8138101_7.conda + sha256: 8c767cc71226e9eb62649c903c68ba73c5f5e7e3696ec0319d1f90586cebec7d + md5: 7ce543bf38dbfae0de9af112ee178af2 + depends: + - libcxx >=15.0.7 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libzlib >=1.2.13,<2.0.0a0 license: BSD-3-Clause license_family: BSD - size: 68490 - timestamp: 1773067215781 -- conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py312h78d62e6_0.conda - sha256: 5942bd7ae7b1d68906a00681e733b41ac8577ca7ac8da7523eb514d698b6e1f2 - md5: 4ff6f76c2c16c85806ee7533768f5e64 + run_exports: + weak: + - hdf4 >=4.2.15,<4.2.16.0a0 + size: 724103 + timestamp: 1695661907511 +- conda: https://conda.anaconda.org/conda-forge/osx-64/hdf5-1.14.6-nompi_h13accda_110.conda + sha256: 76fdcb1295eedd01a697d55e871415dd606adc7661b6acd893d073e95240961e + md5: 8fa7c7e9a3c1b57a37bc03f0183aaf17 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - __osx >=11.0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.20.0,<9.0a0 + - libcxx >=19 + - libgfortran + - libgfortran5 >=14.3.0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 license: BSD-3-Clause license_family: BSD - size: 73357 - timestamp: 1773067062006 -- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda - sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 - md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 + size: 3525015 + timestamp: 1780582823074 +- conda: https://conda.anaconda.org/conda-forge/osx-64/hicolor-icon-theme-0.17-h694c41f_3.conda + sha256: 3321e8d2c2198ac796b0ae800473173ade528b49f84b6c6e4e112a9704698b41 + md5: 690e5077aaccf8d280a4284d7c9ec6b4 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 17650 + timestamp: 1771539977217 +- conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.13.1-np2py314h613bbd0_0.conda + sha256: da10e6fe99d3e1b703769997de3eff75423e0d1f8b5d1b89bb551acb3430fe3c + md5: 5156612ae8254e295dee215f932d0e85 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 + - python + - numpy + - __osx >=10.13 + - libcxx >=19 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 1370023 - timestamp: 1719463201255 -- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda - sha256: 3e307628ca3527448dd1cb14ad7bb9d04d1d28c7d4c5f97ba196ae984571dd25 - md5: fb53fb07ce46a575c5d004bbc96032c2 + run_exports: {} + size: 2141286 + timestamp: 1770879025072 +- conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py312hb4c736d_0.conda + sha256: 03b37ebfe06a8a46155dae4f2ac876c5a3991ccdd642c4f7afde502a088f300c + md5: 738926ebcc3c63069d4c855cc4ef830e depends: - - __glibc >=2.17,<3.0.a0 - - keyutils >=1.6.3,<2.0a0 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.5,<4.0a0 + - python + - numpy + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 1386730 - timestamp: 1769769569681 -- conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h207b36a_0.conda - sha256: df009385e8262c234c0dae9016540b86dad3d299f0d9366d08e327e8e7731634 - md5: e66e2c52d2fdddcf314ad750fb4ebb4a + run_exports: {} + size: 2208317 + timestamp: 1775498550886 +- conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py313h2589dda_0.conda + sha256: 557fcaa217641b0d9bea30bc9bc5dd0cace7a57d53d8874764300697082d1a0c + md5: c3a4eaf825ddf35bc7ae405230436e1c depends: - - __osx >=10.13 + - python + - numpy + - __osx >=11.0 - libcxx >=19 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 - - openssl >=3.5.5,<4.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 1193620 - timestamp: 1769770267475 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h385eeb1_0.conda - sha256: c0a0bf028fe7f3defcdcaa464e536cf1b202d07451e18ad83fdd169d15bef6ed - md5: e446e1822f4da8e5080a9de93474184d + run_exports: {} + size: 2209389 + timestamp: 1775498536652 +- conda: https://conda.anaconda.org/conda-forge/osx-64/highspy-1.14.0-np2py314h72ea864_0.conda + sha256: 8939d340f375db03945083e9c9afad7bd7ef331bfff3d4f4177864e66b09aa74 + md5: 3c62052978f61f118c202fa4036c1790 depends: + - python + - numpy - __osx >=11.0 - libcxx >=19 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 - - openssl >=3.5.5,<4.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 1160828 - timestamp: 1769770119811 -- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda - sha256: 18e8b3430d7d232dad132f574268f56b3eb1a19431d6d5de8c53c29e6c18fa81 - md5: 31aec030344e962fbd7dbbbbd68e60a9 + run_exports: {} + size: 2215107 + timestamp: 1775498490889 +- conda: https://conda.anaconda.org/conda-forge/osx-64/icu-75.1-h120a0e1_0.conda + sha256: 2e64307532f482a0929412976c8450c719d558ba20c0962832132fd0d07ba7a7 + md5: d68d48a3060eb5abdc1cdc8e2a3a5966 depends: - - openssl >=3.3.1,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - __osx >=10.13 license: MIT license_family: MIT - size: 712034 - timestamp: 1719463874284 -- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda - sha256: eb60f1ad8b597bcf95dee11bc11fe71a8325bc1204cf51d2bb1f2120ffd77761 - md5: 4432f52dc0c8eb6a7a6abc00a037d93c + run_exports: + weak: + - icu >=75.1,<76.0a0 + size: 11761697 + timestamp: 1720853679409 +- conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-h25d91c4_0.conda + sha256: 1294117122d55246bb83ad5b589e2a031aacdf2d0b1f99fd338aa4394f881735 + md5: 627eca44e62e2b665eeec57a984a7f00 depends: - - openssl >=3.5.5,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=11.0 license: MIT license_family: MIT - size: 751055 - timestamp: 1769769688841 -- conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda - sha256: 49570840fb15f5df5d4b4464db8ee43a6d643031a2bc70ef52120a52e3809699 - md5: 9b965c999135d43a3d0f7bd7d024e26a + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 12273764 + timestamp: 1773822733780 +- conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py312h2f459f6_2.conda + sha256: 2aa879e2b3df327c53fc656cec64558a0683a9a02e1df4b2e1868a26571aa818 + md5: 5baa48efc6d041e4033402f8797ea18b depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 94312 - timestamp: 1761596921009 -- conda: https://conda.anaconda.org/conda-forge/noarch/latexcodec-2.0.1-pyh9f0ad1d_0.tar.bz2 - sha256: 5210d31c8f2402dd1ad1b3edcf7a53292b9da5de20cd14d9c243dbf9278b1c4f - md5: 8d67904973263afd2985ba56aa2d6bb4 + - __osx >=10.13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 51898 + timestamp: 1757685530230 +- conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py313h585f44e_2.conda + sha256: 91cf077cea65af9ed7483b2bfb8e6f4a116036331b75b3a31947a54ffa6bb952 + md5: b027cffc10c882ce4c384da71bb17a9f depends: - - python - - six - license: MIT - license_family: MIT - size: 18212 - timestamp: 1592937373647 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda - sha256: 112b5b9462572d970f4abd2912f76a25ee7db158b1e7260163d91dd8a630db84 - md5: 8b3ce45e929cd8e8e5f4d18586b56d8b + - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 52234 + timestamp: 1757685787091 +- conda: https://conda.anaconda.org/conda-forge/osx-64/immutables-0.21-py314h03d016b_2.conda + sha256: bf61983d7a794148c8ba76f79c78bf5fcd3b0e3a03217575b16c713192145301 + md5: 438dec9eec271896ec140bcc9d707b02 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: MIT - license_family: MIT - size: 251971 - timestamp: 1780211695895 -- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda - sha256: 8bae1207dc7cf0e670ae920a549b1d55486514213ca808b8119067cbad0db43a - md5: f8c168eefc1f75ada2e2cd8f2e6212f5 + - __osx >=10.13 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 52838 + timestamp: 1757685573021 +- conda: https://conda.anaconda.org/conda-forge/osx-64/inflate64-1.0.4-py313hf050af9_0.conda + sha256: 2032963796341e9f53a7a598fea286f0db1155abb9c3d6ba9e432513fcb10089 + md5: 2ac1a55537207defa67c09b77de77564 + depends: + - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: LGPL-2.1-or-later + run_exports: {} + size: 40718 + timestamp: 1764330851792 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ipopt-3.14.19-h97b3f9f_2.conda + sha256: 3f6ed44f11129c423cc1d3aaf9f6f3354b89019a734bc4c501ba0632b6d8ad05 + md5: 89cad9af206d489b89a08b16648882b8 depends: - __osx >=11.0 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: MIT - license_family: MIT - size: 229477 - timestamp: 1780211969520 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.conda - sha256: ccb5598fad3694e79bf54f0eb812e3b3c3dd63d1497e631f5978800eadb9bcc4 - md5: d2f2c7c10e2957647d45589b7701a453 + - ampl-asl >=1.0.0,<1.0.1.0a0 + - libblas >=3.9.0,<4.0a0 + - libcxx >=19 + - liblapack >=3.9.0,<4.0a0 + - mumps-seq >=5.8.2,<5.8.3.0a0 + license: EPL-1.0 + run_exports: + weak: + - ipopt >=3.14.19,<3.14.20.0a0 + size: 800458 + timestamp: 1771291880717 +- conda: https://conda.anaconda.org/conda-forge/osx-64/jasper-4.2.9-hbeb4536_1.conda + sha256: dc013823ea75791ec93889455bf64680db4f756111f9ea791f4336f002973dd2 + md5: ba331350354f69260f18733403411157 depends: - __osx >=11.0 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: MIT - license_family: MIT - size: 213747 - timestamp: 1780212240694 -- conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda - sha256: 5ed63a32639a130564a870becb679fd52dfb816666a61ed3c023917389010480 - md5: 1df4012c8a2478699d07bc26af66d41e + - libjpeg-turbo >=3.1.2,<4.0a0 + license: JasPer-2.0 + run_exports: + weak: + - jasper >=4.2.9,<5.0a0 + size: 574390 + timestamp: 1773678288465 +- conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py313hbc4457e_0.conda + sha256: 6a43e298cddb20f16abde2a7f24ecfab1e2640e8fff0ee0a62f42348ac84379c + md5: 46cc7d6386d7e1486d5088f62f1e59a1 depends: - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=11.0 + - libcxx >=19 + - packaging + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 405737 + timestamp: 1778142403603 +- conda: https://conda.anaconda.org/conda-forge/osx-64/jpype1-1.7.1-py314h7008281_0.conda + sha256: 6b78c2bf8390b3e7d5daa42acd37b9089e9fb4abfea9bc6546a18d49c9904c2d + md5: 5b37b13f7d88eb3136165bc8a590ef5f + depends: + - __osx >=11.0 + - libcxx >=19 + - packaging + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 407814 + timestamp: 1778142588622 +- conda: https://conda.anaconda.org/conda-forge/osx-64/json-c-0.18-hc62ec3d_0.conda + sha256: b58f8002318d6b880a98e1b0aa943789b3b0f49334a3bdb9c19b463a0b799cad + md5: 2c5a3c42de607dda0cfa0edd541fd279 + depends: + - __osx >=10.13 license: MIT license_family: MIT - size: 523194 - timestamp: 1780211799997 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c - md5: 18335a698559cdbcd86150a48bf54ba6 + run_exports: + weak: + - json-c >=0.18,<0.19.0a0 + size: 71514 + timestamp: 1726487153769 +- conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py312hb1dc2e7_0.conda + sha256: 6ab69d441b3400cdf773f67e20f9fae7c37f076d32c31d06843f12d2099e70ce + md5: 4a38b6e74b5a7ea22f1840226e5103a8 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 - size: 728002 - timestamp: 1774197446916 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 - md5: a752488c68f2e7c456bcbd8f16eec275 + - python + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 69432 + timestamp: 1773067281295 +- conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py313h224b87c_0.conda + sha256: 72c8c0cf8ed9fa1058ed6a95e6a40d81dc48c2566c5c563915ff3c1f0d8a4f8e + md5: 3370a484980e344984cb38c24d910ede depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 - license_family: Apache - size: 261513 - timestamp: 1773113328888 + - python + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 70017 + timestamp: 1773067266534 +- conda: https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.5.0-py314hd6e1bd6_0.conda + sha256: 87166a4d188103feea2c9b5f1379c63c40200e2f0087aeaafdc6fc9735911a74 + md5: 25a8718587d3d0d9114b25dfa93b864c + depends: + - python + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 69873 + timestamp: 1773067281489 +- conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h3ddfcb2_1.conda + sha256: c6342c340b18651d14b6134e223904da6f6099665e45449efb683d4c68b28432 + md5: e070b249c4f9c6bddb7984a1a794e8df + depends: + - __osx >=11.0 + - libcxx >=19 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 1195956 + timestamp: 1781860554632 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.19.1-h5ea7634_1.conda + sha256: 8bae1207dc7cf0e670ae920a549b1d55486514213ca808b8119067cbad0db43a + md5: f8c168eefc1f75ada2e2cd8f2e6212f5 + depends: + - __osx >=11.0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - lcms2 >=2.19.1,<3.0a0 + size: 229477 + timestamp: 1780211969520 - conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.1.0-h35c7297_0.conda sha256: f918716c71c8bebbc0c40e1050878aa512fea92c1d17c363ca35650bc60f6c35 md5: d2fe7e177d1c97c985140bd54e2a5e33 @@ -16844,43 +26728,11 @@ packages: - libcxx >=19 license: Apache-2.0 license_family: Apache + run_exports: + weak: + - lerc >=4.1.0,<5.0a0 size: 215089 timestamp: 1773114468701 -- 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 - size: 164222 - timestamp: 1773114244984 -- 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 - size: 172395 - timestamp: 1773113455582 -- conda: https://conda.anaconda.org/conda-forge/linux-64/levenshtein-0.27.3-py312h1289d80_0.conda - sha256: 781f3ddaf3b979284aa399698ae817f9351daf67595e390cfac5bae3a6828207 - md5: 5b323b1b5edd0359606d7e53779a8b82 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - rapidfuzz >=3.8.0,<4.0.0 - license: GPL-2.0-or-later - license_family: GPL - size: 143332 - timestamp: 1762011214812 - conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py312h69bf00f_0.conda sha256: ade1ed4bfbba50ac3fd9fccafe88b6a4be295a17882913cd9130801b195a576b md5: 5e6b9430bbfec8a68a37351274134e5b @@ -16892,50 +26744,37 @@ packages: - rapidfuzz >=3.8.0,<4.0.0 license: GPL-2.0-or-later license_family: GPL + run_exports: {} size: 113792 timestamp: 1762011472424 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py312h455b684_0.conda - sha256: 7826b39d318864c1a697d9c3929b9133f92d154c83fb9704bfe77226e44387c0 - md5: 8989afb06de47502b2f4d2be15478180 +- conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py313hc4a83b5_0.conda + sha256: f493737d5c7baa7dd3e36b0587b8cdc0d005383ef4974bfc7f2b6c0a11075d92 + md5: 75a7b2bc9fcc308493f0ce8d7f1249bf depends: - - __osx >=11.0 + - __osx >=10.13 - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 - rapidfuzz >=3.8.0,<4.0.0 license: GPL-2.0-or-later license_family: GPL - size: 94024 - timestamp: 1762011543694 -- conda: https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py312hbb81ca0_0.conda - sha256: 6fc32acae93f2082687b97010d584a1fb10e2cdca3d53ae8e055961ee7fb301e - md5: 5b921bf403626767874c3f889dc24ce6 + run_exports: {} + size: 114072 + timestamp: 1762011352512 +- conda: https://conda.anaconda.org/conda-forge/osx-64/levenshtein-0.27.3-py314h21b9a27_0.conda + sha256: ceebaabf7d8df9e917315db7577a39b4e06c4b50fd8d5c69673acde4b29c0f39 + md5: 7932e30d1729d913a2b05ad1ed4e3a2f depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=10.13 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 - rapidfuzz >=3.8.0,<4.0.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 license: GPL-2.0-or-later license_family: GPL - size: 96337 - timestamp: 1762011340193 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - sha256: dcd1429a1782864c452057a6c5bc1860f2b637dc20a2b7e6eacd57395bbceff8 - md5: 83b160d4da3e1e847bf044997621ed63 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - constrains: - - libabseil-static =20250512.1=cxx17* - - abseil-cpp =20250512.1 - license: Apache-2.0 - license_family: Apache - size: 1310612 - timestamp: 1750194198254 + run_exports: {} + size: 114514 + timestamp: 1762011339290 - conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20250512.1-cxx17_hfc00f1c_0.conda sha256: a878efebf62f039a1f1733c1e150a75a99c7029ece24e34efdf23d56256585b1 md5: ddf1acaed2276c7eb9d3c76b49699a11 @@ -16947,60 +26786,12 @@ packages: - libabseil-static =20250512.1=cxx17* license: Apache-2.0 license_family: Apache + run_exports: + weak: + - libabseil >=20250512.1,<20250513.0a0 + - libabseil =*=cxx17* size: 1162435 timestamp: 1750194293086 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda - sha256: 7f0ee9ae7fa2cf7ac92b0acf8047c8bac965389e48be61bf1d463e057af2ea6a - md5: 360dbb413ee2c170a0a684a33c4fc6b8 - depends: - - __osx >=11.0 - - libcxx >=18 - constrains: - - libabseil-static =20250512.1=cxx17* - - abseil-cpp =20250512.1 - license: Apache-2.0 - license_family: Apache - size: 1174081 - timestamp: 1750194620012 -- conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda - sha256: 78790771f44e146396d9ae92efbe1022168295afd8d174f653a1fa16f0f0fa32 - md5: d6a4cd236fc1c69a1cfc9698fb5e391f - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.42.34438 - constrains: - - libabseil-static =20250512.1=cxx17* - - abseil-cpp =20250512.1 - license: Apache-2.0 - license_family: Apache - size: 1615210 - timestamp: 1750194549591 -- 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/libaec-1.1.5-h088129d_0.conda - sha256: 822e4ae421a7e9c04e841323526321185f6659222325e1a9aedec811c686e688 - md5: 86f7414544ae606282352fa1e116b41f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: BSD-2-Clause - license_family: BSD - size: 36544 - timestamp: 1769221884824 - conda: https://conda.anaconda.org/conda-forge/osx-64/libaec-1.1.5-he7c3a48_0.conda sha256: b42ac9c684c730cb97cb3931a0a97aaf791da38bace4f6944eca10de609e5946 md5: 975f98248cde8d54884c6d1eb5184e13 @@ -17009,253 +26800,54 @@ packages: - libcxx >=19 license: BSD-2-Clause license_family: BSD + run_exports: + weak: + - libaec >=1.1.5,<2.0a0 size: 30555 - timestamp: 1769222189944 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda - sha256: af9cd8db11eb719e38a3340c88bb4882cf19b5b4237d93845224489fc2a13b46 - md5: 13e6d9ae0efbc9d2e9a01a91f4372b41 - depends: - - __osx >=11.0 - - libcxx >=19 - license: BSD-2-Clause - license_family: BSD - size: 30390 - timestamp: 1769222133373 -- conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda - sha256: e54c08964262c73671d9e80e400333e59c617e0b454476ad68933c0c458156c8 - md5: 43b6385cfad52a7083f2c41984eb4e91 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - size: 34463 - timestamp: 1769221960556 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda - sha256: 6f35e429909b0fa6a938f8ff79e1d7000e8f15fbb37f67be6f789348fea4c602 - md5: 9de6247361e1ee216b09cfb8b856e2ee - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=13 - - liblzma >=5.8.1,<6.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - lzo >=2.10,<3.0a0 - - openssl >=3.5.0,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-2-Clause - license_family: BSD - size: 883383 - timestamp: 1749385818314 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.7-gpl_hc2c16d8_101.conda - sha256: 78dd3d493d72c7d7c7647912fe383a3545a2695ee308037b64e9d0752ccedbe9 - md5: bb1483d91797dae0b466cab86ceb59a7 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=14 - - liblzma >=5.8.3,<6.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - lzo >=2.10,<3.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-2-Clause - license_family: BSD - size: 890218 - timestamp: 1778486345922 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.1-gpl_h9912a37_100.conda - sha256: 664e460f9f9eb59360bb1b467dbb3d652c5f76a07f2b0d297eaf7324ed3032fd - md5: fe514da5d15bfd92d70f3c163ad7119a - depends: - - __osx >=10.13 - - bzip2 >=1.0.8,<2.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - lzo >=2.10,<3.0a0 - - openssl >=3.5.0,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-2-Clause - license_family: BSD - size: 756579 - timestamp: 1749385910756 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.7-gpl_h2bf6321_101.conda - sha256: 8b4453a58e56d94a8829b9eebad004e3cdb0620f18587c5074fa16f130194d8d - md5: c3fd696b58fdb6339e08140545f7839d - depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - lzo >=2.10,<3.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-2-Clause - license_family: BSD - size: 759604 - timestamp: 1778487190517 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.1-gpl_h46e8061_100.conda - sha256: 7728d08880637622caaf03e6f8e92ee383715e145637a779d668e1ac677717f0 - md5: b8d09de5df5352f9e0eb7a27cc79a675 - depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - lzo >=2.10,<3.0a0 - - openssl >=3.5.0,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-2-Clause - license_family: BSD - size: 788465 - timestamp: 1749385999215 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.7-gpl_h6fbacd7_101.conda - sha256: 6c9598cf7e9e7785a95fd21c7bd257ab3a788d17e973ba497e18b26551859b88 - md5: f88655b640e9ffc8f0c3f08122e0bb31 - depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - lzo >=2.10,<3.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-2-Clause - license_family: BSD - size: 793747 - timestamp: 1778487219513 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.1-gpl_h1ca5a36_100.conda - sha256: 7efe65c7ab7056f1a84d5f234584e60ba3cc55b487ba4065a29d23aacb4c5ef6 - md5: d8f4c086758bbf52b30750550cd38b1a + timestamp: 1769222189944 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.1-gpl_h9912a37_100.conda + sha256: 664e460f9f9eb59360bb1b467dbb3d652c5f76a07f2b0d297eaf7324ed3032fd + md5: fe514da5d15bfd92d70f3c163ad7119a depends: + - __osx >=10.13 - bzip2 >=1.0.8,<2.0a0 + - libiconv >=1.18,<2.0a0 - liblzma >=5.8.1,<6.0a0 - libxml2 >=2.13.8,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - lz4-c >=1.10.0,<1.11.0a0 - lzo >=2.10,<3.0a0 - openssl >=3.5.0,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - zstd >=1.5.7,<1.6.0a0 license: BSD-2-Clause license_family: BSD - size: 1098688 - timestamp: 1749386269743 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.7-gpl_he24518a_101.conda - sha256: 87e248c0a82d30a400fa11f008f68276e9f52da3347cbf11e1ff032b0a32f3f7 - md5: b974f2f88000dc128bf83d3d2281b441 + run_exports: + weak: + - libarchive >=3.8.1,<3.9.0a0 + size: 756579 + timestamp: 1749385910756 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarchive-3.8.8-gpl_h2bf6321_100.conda + sha256: a232061dd89072b4abfa53236fa0f06ffde33841fd9fba31b08af641b8c675f9 + md5: 221bc6aaa394cd9476607cb3d104c203 depends: + - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 + - libiconv >=1.18,<2.0a0 - liblzma >=5.8.3,<6.0a0 - libxml2 - libxml2-16 >=2.14.6 - libzlib >=1.3.2,<2.0a0 - lz4-c >=1.10.0,<1.11.0a0 - lzo >=2.10,<3.0a0 - - openssl >=3.5.6,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - openssl >=3.5.7,<4.0a0 - zstd >=1.5.7,<1.6.0a0 license: BSD-2-Clause license_family: BSD - size: 1112418 - timestamp: 1778486657626 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-21.0.0-h56a6dad_8_cpu.conda - build_number: 8 - sha256: 1fa9a6aea4c0d3dece59241ff1b92177624e68a89a84738df7fb1b7cad19319c - md5: 3dc4bd7a6243159d2a3291e259222ddc - depends: - - __glibc >=2.17,<3.0.a0 - - aws-crt-cpp >=0.34.4,<0.34.5.0a0 - - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-identity-cpp >=1.12.0,<1.12.1.0a0 - - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 - - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 - - bzip2 >=1.0.8,<2.0a0 - - glog >=0.7.1,<0.8.0a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libbrotlidec >=1.1.0,<1.2.0a0 - - libbrotlienc >=1.1.0,<1.2.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.31.1,<6.31.2.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - orc >=2.2.1,<2.2.2.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: 6199233 - timestamp: 1759481842048 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-23.0.0-h40b5c2d_2_cpu.conda - build_number: 2 - sha256: 4c6f817c4008d09dc72a1fd91121fd97be670f76c5b3e61aef0f3f48667d60c7 - md5: 282f8460096fdc04d2c62ca2a30357a1 - depends: - - __glibc >=2.17,<3.0.a0 - - aws-crt-cpp >=0.35.4,<0.35.5.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 >=20250512.1,<20250513.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.31.1,<6.31.2.0a0 - - libstdcxx >=14 - - 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 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - parquet-cpp <0.0a0 - - arrow-cpp <0.0a0 - - apache-arrow-proc =*=cpu - license: Apache-2.0 - license_family: APACHE - size: 6478168 - timestamp: 1770434744670 + run_exports: + weak: + - libarchive >=3.8.8,<3.9.0a0 + size: 759094 + timestamp: 1782290596940 - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-21.0.0-h3202d62_8_cpu.conda build_number: 8 sha256: f65944106f287042f24f1ea1099a2f1572231b588bab0317ea8a8fc5015c0a28 @@ -17290,6 +26882,9 @@ packages: - parquet-cpp <0.0a0 license: Apache-2.0 license_family: APACHE + run_exports: + weak: + - libarrow >=21.0.0,<21.1.0a0 size: 4170815 timestamp: 1759483300750 - conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-23.0.0-h72f758e_2_cpu.conda @@ -17326,6868 +26921,9013 @@ packages: - apache-arrow-proc =*=cpu license: Apache-2.0 license_family: APACHE + run_exports: + weak: + - libarrow >=23.0.0,<23.1.0a0 size: 4366400 timestamp: 1770433396034 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-21.0.0-hd43feaf_8_cpu.conda +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-21.0.0-h2db2d7d_8_cpu.conda build_number: 8 - sha256: 0086d59c4bcdce61cc2ada047995bfdf047d635e77c97cf4720d084b647c08c1 - md5: 92d5cc7e1d494aeb82db5b2faa33b28c + sha256: 45ce2e464256060c193720e0feaebcfed4df4dd0fc2a2f4ddf249cc0747583bd + md5: 9b119b1b3833c4e81f1f29907bcfebe5 depends: - __osx >=11.0 - - aws-crt-cpp >=0.34.4,<0.34.5.0a0 - - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 - - azure-core-cpp >=1.16.0,<1.16.1.0a0 - - azure-identity-cpp >=1.12.0,<1.12.1.0a0 - - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 - - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 - - bzip2 >=1.0.8,<2.0a0 - - glog >=0.7.1,<0.8.0a0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - - libbrotlidec >=1.1.0,<1.2.0a0 - - libbrotlienc >=1.1.0,<1.2.0a0 + - libarrow 21.0.0 h3202d62_8_cpu + - libarrow-compute 21.0.0 h7751554_8_cpu - 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.31.1,<6.31.2.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - orc >=2.2.1,<2.2.2.0a0 - - snappy >=1.2.2,<1.3.0a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - parquet-cpp <0.0a0 - - arrow-cpp <0.0a0 - - apache-arrow-proc =*=cpu license: Apache-2.0 license_family: APACHE - size: 4070104 - timestamp: 1759481958097 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda + run_exports: + weak: + - libarrow-acero >=21.0.0,<21.1.0a0 + size: 552278 + timestamp: 1759484126007 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda build_number: 2 - sha256: 26854bc0409c487b79abe406f3f5c3a93db8ec6e0adf57d64a24e57542fc1df0 - md5: 8cbb6099377c13f1932c6a04d5da013f + sha256: 91e650183aeb0294d4e003e67aadfbf70afeb33c201242e305251697a0253dc0 + md5: df07a0e8ed601a2f272ab0f17f0c25b5 depends: - __osx >=11.0 - - aws-crt-cpp >=0.35.4,<0.35.5.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 >=20250512.1,<20250513.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 + - libarrow 23.0.0 h72f758e_2_cpu + - libarrow-compute 23.0.0 hc26cc94_2_cpu - libcxx >=21 - - 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.31.1,<6.31.2.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 - - 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: 4265020 - timestamp: 1770431176545 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda - build_number: 2 - sha256: 616381f1da4bc8b8bd66462cb8c9ccd8ccb311433572e93046f93e302d270cf2 - md5: 0f527bc994fd2fe1e82447e6f2f35d83 + run_exports: + weak: + - libarrow-acero >=23.0.0,<23.1.0a0 + size: 566771 + timestamp: 1770434135449 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-21.0.0-h7751554_8_cpu.conda + build_number: 8 + sha256: bf58e7f7d5a3328f4a19e579aaa8d249b517c0f8ce9d218de94b013f314ac7bd + md5: 906b6dc5d8481d41f6b85cf220ca3605 depends: - - aws-crt-cpp >=0.35.4,<0.35.5.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 + - __osx >=11.0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.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 + - libarrow 21.0.0 h3202d62_8_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - libprotobuf >=6.31.1,<6.31.2.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 + - libre2-11 >=2025.8.12 + - libutf8proc >=2.11.0,<2.12.0a0 + - re2 license: Apache-2.0 license_family: APACHE - size: 4291175 - timestamp: 1770435649751 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.1-h96192e2_3_cpu.conda - build_number: 3 - sha256: cde1ee32b6d5f168c1d3897b853919fb78da8292c8c7078dc4e2f2e526fa5207 - md5: 8d21a328a8209f520960e1d9369d13f0 + run_exports: + weak: + - libarrow-compute >=21.0.0,<21.1.0a0 + size: 2450908 + timestamp: 1759483628040 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda + build_number: 2 + sha256: 77d8a716a342f2b64d6e257faa49178ac85e647ff3ca88c1742000163d65211d + md5: 278d25b7f2903d53483b0a11dc26dec0 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 + - __osx >=11.0 - 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 + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h72f758e_2_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libutf8proc >=2.11.3,<2.12.0a0 + - re2 license: Apache-2.0 license_family: APACHE - size: 4245615 - timestamp: 1772108063322 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-21.0.0-h635bf11_8_cpu.conda + run_exports: + weak: + - libarrow-compute >=23.0.0,<23.1.0a0 + size: 2407238 + timestamp: 1770433661971 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-21.0.0-h2db2d7d_8_cpu.conda build_number: 8 - sha256: f00a955134401585ed75d6e9d76d48f9512d1e4f56a2a9260c69008ffc4a6851 - md5: 1b8f002c3ea2f207a8306d94370f526b + sha256: 902200ce5a94a962d6b0bd6df847bc350ca75050d21db187f788990599eb4f80 + md5: f7baac5bf91d8f61267e4c7bf975a910 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 21.0.0 h56a6dad_8_cpu - - libarrow-compute 21.0.0 h8c2c5c3_8_cpu - - libgcc >=14 - - libstdcxx >=14 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 h3202d62_8_cpu + - libarrow-acero 21.0.0 h2db2d7d_8_cpu + - libarrow-compute 21.0.0 h7751554_8_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libparquet 21.0.0 ha67a804_8_cpu + - libprotobuf >=6.31.1,<6.31.2.0a0 license: Apache-2.0 license_family: APACHE - size: 581216 - timestamp: 1759482031187 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-23.0.0-h635bf11_2_cpu.conda + run_exports: + weak: + - libarrow-dataset >=21.0.0,<21.1.0a0 + size: 534087 + timestamp: 1759484554656 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda build_number: 2 - sha256: 5fd1f8f394d6c1a910f66d6b8236db0f8dd0495bf01950defa2863de42d26c68 - md5: f67acaf4653452503669ade10edec780 + sha256: c6c2eaa42d2c6c085715dd1f002a7544e221113c757ef0a52d842030bebb4a00 + md5: 49a5fb4fbf3e0aa6e234ca9c4ee03594 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 23.0.0 h40b5c2d_2_cpu - - libarrow-compute 23.0.0 h8c2c5c3_2_cpu - - libgcc >=14 - - libstdcxx >=14 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h72f758e_2_cpu + - libarrow-acero 23.0.0 h9737151_2_cpu + - libarrow-compute 23.0.0 hc26cc94_2_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libparquet 23.0.0 ha0d2768_2_cpu + - libprotobuf >=6.31.1,<6.31.2.0a0 license: Apache-2.0 license_family: APACHE - size: 612958 - timestamp: 1770434974078 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-21.0.0-h2db2d7d_8_cpu.conda + run_exports: + weak: + - libarrow-dataset >=23.0.0,<23.1.0a0 + size: 555173 + timestamp: 1770434504150 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-21.0.0-h4653b8a_8_cpu.conda build_number: 8 - sha256: 45ce2e464256060c193720e0feaebcfed4df4dd0fc2a2f4ddf249cc0747583bd - md5: 9b119b1b3833c4e81f1f29907bcfebe5 + sha256: 78fc6d5d6144af5efb4329e643e29733567d96658708f12885fc251c16a71d2e + md5: b1585801dfe25c23dd3bacea49901f1b depends: - __osx >=11.0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - libarrow 21.0.0 h3202d62_8_cpu - - libarrow-compute 21.0.0 h7751554_8_cpu + - libarrow-acero 21.0.0 h2db2d7d_8_cpu + - libarrow-dataset 21.0.0 h2db2d7d_8_cpu - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - libprotobuf >=6.31.1,<6.31.2.0a0 license: Apache-2.0 license_family: APACHE - size: 552278 - timestamp: 1759484126007 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-acero-23.0.0-h9737151_2_cpu.conda + run_exports: + weak: + - libarrow-substrait >=21.0.0,<21.1.0a0 + size: 448256 + timestamp: 1759484680404 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda build_number: 2 - sha256: 91e650183aeb0294d4e003e67aadfbf70afeb33c201242e305251697a0253dc0 - md5: df07a0e8ed601a2f272ab0f17f0c25b5 + sha256: 716e5f235065c22903a0a1ec1bb2a66e2e71477bece3d78f6f420dc27c4bbba8 + md5: 8196497a3bc332336078391692ede27b + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h72f758e_2_cpu + - libarrow-acero 23.0.0 h9737151_2_cpu + - libarrow-dataset 23.0.0 h9737151_2_cpu + - libcxx >=21 + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-substrait >=23.0.0,<23.1.0a0 + size: 468292 + timestamp: 1770434625608 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda + build_number: 8 + sha256: 55cf9f92a2d07c33f8a32c44ff1528ea48fd69677cc003a4532d09b71cb8a316 + md5: 7da1e8ab7c4498db9457c191d82930a3 + depends: + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 + constrains: + - mkl <2027 + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas + - libcblas 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 + size: 19048 + timestamp: 1779860008916 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.90.0-h5950822_1.conda + sha256: 024acac2ca0106e47901544bee1b893a6f3be867610df0b62d4771daadb9dca6 + md5: 9cc11836b85562a34f5af56557eac600 + depends: + - __osx >=10.13 + - bzip2 >=1.0.8,<2.0a0 + - icu >=78.2,<79.0a0 + - libcxx >=19 + - liblzma >=5.8.2,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + run_exports: {} + size: 2264821 + timestamp: 1770080982056 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.1.0-h1c43f85_4.conda + sha256: 28c1a5f7dbe68342b7341d9584961216bd16f81aa3c7f1af317680213c00b46a + md5: b8e1ee78815e0ba7835de4183304f96b + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.1.0,<1.2.0a0 + size: 67948 + timestamp: 1756599727911 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda + sha256: 4c19b211b3095f541426d5a9abac63e96a5045e509b3d11d4f9482de53efe43b + md5: f157c098841474579569c85a60ece586 + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + size: 78854 + timestamp: 1764017554982 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.1.0-h1c43f85_4.conda + sha256: a287470602e8380c0bdb5e7a45ba3facac644432d7857f27b39d6ceb0dcbf8e9 + md5: 9cc4be0cc163d793d5d4bcc405c81bf3 + depends: + - __osx >=10.13 + - libbrotlicommon 1.1.0 h1c43f85_4 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlidec >=1.1.0,<1.2.0a0 + size: 30743 + timestamp: 1756599755474 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda + sha256: 729158be90ae655a4e0427fe4079767734af1f9b69ff58cf94ca6e8d4b3eb4b7 + md5: 63186ac7a8a24b3528b4b14f21c03f54 + depends: + - __osx >=10.13 + - libbrotlicommon 1.2.0 h8616949_1 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 30835 + timestamp: 1764017584474 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.1.0-h1c43f85_4.conda + sha256: 820caf0a78770758830adbab97fe300104981a5327683830d162b37bc23399e9 + md5: f2c000dc0185561b15de7f969f435e61 + depends: + - __osx >=10.13 + - libbrotlicommon 1.1.0 h1c43f85_4 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlienc >=1.1.0,<1.2.0a0 + size: 294904 + timestamp: 1756599789206 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda + sha256: 8ece7b41b6548d6601ac2c2cd605cf2261268fc4443227cc284477ed23fbd401 + md5: 12a58fd3fc285ce20cf20edf21a0ff8f + depends: + - __osx >=10.13 + - libbrotlicommon 1.2.0 h8616949_1 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlienc >=1.2.0,<1.3.0a0 + size: 310355 + timestamp: 1764017609985 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda + build_number: 8 + sha256: 50eb650a17a34ea45fe2b31e60a98632d1f8c203308014dcef93043d54612482 + md5: 4f116127b172bbba835c1e0491efd86f + depends: + - libblas 3.11.0 8_he492b99_openblas + constrains: + - liblapacke 3.11.0 8*_openblas + - blas 2.308 openblas + - liblapack 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 + size: 19049 + timestamp: 1779860025163 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 + sha256: 3043869ac1ee84554f177695e92f2f3c2c507b260edad38a0bf3981fce1632ff + md5: 23d6d5a69918a438355d7cbc4c3d54c9 + depends: + - libcxx >=11.1.0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libcrc32c >=1.1.2,<1.2.0a0 + size: 20128 + timestamp: 1633683906221 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h8f0b9e4_0.conda + sha256: fb5220bd8254be0d18c119c2a39ee19fb41b7355062b4b808b5bb95bb69f139f + md5: ee12fea9cd972edf0bd63f10a95f38d9 + depends: + - __osx >=11.0 + - krb5 >=1.22.2,<1.23.0a0 + - libnghttp2 >=1.68.1,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 429997 + timestamp: 1782297398990 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + sha256: 57ee997f1f800cf38abc743c0f0a9ddfe6a101c697c35510452ce6f4ddf96361 + md5: 0f600157f28fc7bc9549ecafdfa5bc12 + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 566717 + timestamp: 1781672189697 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda + sha256: 025f8b1e85dd8254e0ca65f011919fb1753070eb507f03bca317871a884d24de + md5: 31aa65919a729dc48180893f62c25221 + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - libdeflate >=1.25,<1.26.0a0 + size: 70840 + timestamp: 1761980008502 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda + sha256: 6cc49785940a99e6a6b8c6edbb15f44c2dd6c789d9c283e5ee7bdfedd50b4cd6 + md5: 1f4ed31220402fcddc083b4bff406868 + depends: + - ncurses + - __osx >=10.13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 + size: 115563 + timestamp: 1738479554273 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda + sha256: 0d238488564a7992942aa165ff994eca540f687753b4f0998b29b4e4d030ff43 + md5: 899db79329439820b7e8f8de41bca902 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libev >=4.33,<4.34.0a0 + size: 106663 + timestamp: 1702146352558 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libevent-2.1.12-ha90c15b_1.conda + sha256: e0bd9af2a29f8dd74309c0ae4f17a7c2b8c4b89f875ff1d6540c941eefbd07fb + md5: e38e467e577bd193a7d5de7c2c540b04 + depends: + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libevent >=2.1.12,<2.1.13.0a0 + size: 372661 + timestamp: 1685726378869 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + sha256: 9c96cc05e056e1bba5b545cbbd57b6e01db622dc2c82934caaaa25cfb22fe666 + md5: dcfdea7b7013beef0a4d744d776ea38f + depends: + - __osx >=11.0 + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 76020 + timestamp: 1781204303305 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda + sha256: 6394b1bc67c64a21a5cc73d1736d1d4193a64515152e861785c44d2cfc49edf3 + md5: 4ca9ea59839a9ca8df84170fab4ceb41 + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.4.6,<3.5.0a0 + size: 51216 + timestamp: 1743434595269 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda + sha256: 951958d1792238006fdc6fce7f71f1b559534743b26cc1333497d46e5903a2d6 + md5: 66a0dc7464927d0853b590b6f53ba3ea depends: - - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h72f758e_2_cpu - - libarrow-compute 23.0.0 hc26cc94_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 566771 - timestamp: 1770434135449 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-21.0.0-hc317990_8_cpu.conda - build_number: 8 - sha256: c2566bb6f399cc61fcf54736f71bf29c96199a61ffbb8fc30e029b7eac0826e7 - md5: fedb5f48e5a038146af8cfcb11de5879 + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.5.2,<3.6.0a0 + size: 53583 + timestamp: 1769456300951 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda + sha256: 9029ed0c940be8161c86f5338eacfad1f61af216cdc508e386a648f6ef893a28 + md5: 7cec36e11e7c5a674a1d8c1d5082479e depends: - - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 hd43feaf_8_cpu - - libarrow-compute 21.0.0 h75845d1_8_cpu - - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 517544 - timestamp: 1759482466808 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda - build_number: 2 - sha256: 58bfc6a3ce5a07e95c333036ca07b548cb1b504bf29a84a5834667130240fb5c - md5: db14af88015df0dbd660a5eb814a1b23 + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + run_exports: {} + size: 8394 + timestamp: 1780934152050 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda + sha256: cc94862c51e68626fadddf68b523e5f752149186ccc498fa37976504e2e7ff55 + md5: 112cb22521fa3abf19bc0c93938576f5 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h585ae05_2_cpu - - libarrow-compute 23.0.0 h45df96a_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 544305 - timestamp: 1770431508372 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda - build_number: 2 - sha256: ce411d8cfbe9025e2d5c69f47800805b01c671d3b2ecd9eb93235f36906ca5ec - md5: 88c1bf9589eaa3c7416c1f4706dd9312 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + run_exports: {} + size: 365107 + timestamp: 1780934149073 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda + sha256: 17a5dcd818f89173db51d7d1acd77615cb77db7b4c2b5f571d4dafe559430ab5 + md5: 4bf33d5ca73f4b89d3495285a42414a4 depends: - - libarrow 23.0.0 hfcfc620_2_cpu - - libarrow-compute 23.0.0 h2db994a_2_cpu - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 468526 - timestamp: 1770435951152 -- 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 + - _openmp_mutex + constrains: + - libgomp 15.2.0 19 + - libgcc-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 424164 + timestamp: 1778271183296 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-h8555400_11.conda + sha256: af8ca696b229236e4a692220a26421a4f3d28a6ceff16723cd1fe12bc7e6517c + md5: 0eea404372aa41cf95e71c604534b2a2 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-21.0.0-h8c2c5c3_8_cpu.conda - build_number: 8 - sha256: a4e2ca70b727f9699f09a5e9c77ca73e555aa2555d9742da9790a0ac71e5ecce - md5: 64342bd7f29894d3f16ef7b71f8f2328 + - __osx >=10.13 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libiconv >=1.17,<2.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.45,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD + license_family: BSD + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 162601 + timestamp: 1737548422107 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda + sha256: bf7b0c25b6cca5808f4da46c5c363fa1192088b0b46efb730af43f28d52b8f04 + md5: e12673b408d1eb708adb3ecc2f621d78 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 21.0.0 h56a6dad_8_cpu - - libgcc >=14 - - libre2-11 >=2025.8.12 - - libstdcxx >=14 - - libutf8proc >=2.11.0,<2.12.0a0 - - re2 - license: Apache-2.0 - license_family: APACHE - size: 3071770 - timestamp: 1759481909971 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-compute-23.0.0-h8c2c5c3_2_cpu.conda - build_number: 2 - sha256: 3f6b4c27aa4741349bd9e314924f938a821b8ed42f503ef41558cc7cf0e13e00 - md5: c9c3d7509b7faef60374fa290b4e5071 + - __osx >=10.13 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD + license_family: BSD + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 163145 + timestamp: 1766332198196 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.10.3-h55ca5b3_13.conda + sha256: 2f97f2381214aaac551b5774a25c030c9f760adcfa28e2d36beb680903c12518 + md5: 96495dc8bed9b6ca13ba4d5f5af422e8 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 23.0.0 h40b5c2d_2_cpu - - libgcc >=14 - - libre2-11 >=2025.8.12 - - libstdcxx >=14 - - libutf8proc >=2.11.3,<2.12.0a0 - - re2 - license: Apache-2.0 - license_family: APACHE - size: 3007456 - timestamp: 1770434821507 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-21.0.0-h7751554_8_cpu.conda - build_number: 8 - sha256: bf58e7f7d5a3328f4a19e579aaa8d249b517c0f8ce9d218de94b013f314ac7bd - md5: 906b6dc5d8481d41f6b85cf220ca3605 + - __osx >=10.13 + - blosc >=1.21.6,<2.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - geotiff >=1.7.4,<1.8.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.26.0a0 + - libexpat >=2.7.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.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 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.45,<10.46.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.10.3.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.10.3,<3.11.0a0 + size: 9213226 + timestamp: 1755814469068 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda + sha256: bc0f5e1275da95d91f59e39539056b527292a1f126fe44a3c84ca465c330b06f + md5: c0f41c8a932df0fcdb8f2bfe0bb124db depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 h3202d62_8_cpu + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.1,<3.14.2.0a0 + - giflib >=5.2.2,<5.3.0a0 + - json-c >=0.18,<0.19.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.5,<3.9.0a0 + - libcurl >=8.18.0,<9.0a0 - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libutf8proc >=2.11.0,<2.12.0a0 - - re2 - license: Apache-2.0 - license_family: APACHE - size: 2450908 - timestamp: 1759483628040 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-compute-23.0.0-hc26cc94_2_cpu.conda - build_number: 2 - sha256: 77d8a716a342f2b64d6e257faa49178ac85e647ff3ca88c1742000163d65211d - md5: 278d25b7f2903d53483b0a11dc26dec0 + - libdeflate >=1.25,<1.26.0a0 + - libexpat >=2.7.4,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libjxl >=0.11,<1.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.51.2,<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.5,<4.0a0 + - pcre2 >=10.47,<10.48.0a0 + - proj >=9.7.1,<9.8.0a0 + - xerces-c >=3.3.0,<3.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - libgdal 3.12.2.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.12.2,<3.13.0a0 + size: 10774393 + timestamp: 1771394024659 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda + sha256: d4ea393ba74f89ef295b9248388d2dd1a31096143139241219017d8a31b4e54b + md5: 2f3c40860f85bf02205e5b782b5be0bd depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h72f758e_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libutf8proc >=2.11.3,<2.12.0a0 - - re2 - license: Apache-2.0 - license_family: APACHE - size: 2407238 - timestamp: 1770433661971 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-21.0.0-h75845d1_8_cpu.conda - build_number: 8 - sha256: d778d7df8123a542c0f8c4b028eb7855c4ac139c8b12d98b20cbea01a30db0b7 - md5: 528408dfe0c6a053360ceb8bfa468100 + - hdf4 >=4.2.15,<4.2.16.0a0 + - libaec >=1.1.5,<2.0a0 + - libcxx >=19 + - libgdal-core 3.12.2 hbf8631d_1 + license: MIT + license_family: MIT + run_exports: {} + size: 551459 + timestamp: 1771397020089 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda + sha256: 6eac5630269c86f3f08f1417bd066385e50595bf9ea1b62c5d490685436b4300 + md5: 157c42a38b3a6c6cd8816babe2376c09 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 hd43feaf_8_cpu + - hdf5 >=1.14.6,<1.14.7.0a0 - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libutf8proc >=2.11.0,<2.12.0a0 - - re2 - license: Apache-2.0 - license_family: APACHE - size: 2213962 - timestamp: 1759482132558 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda - build_number: 2 - sha256: 300333f8fc6af6859fcaa8012146ddf9120dc9ca86778d81cba807dccc3aa871 - md5: 605c1d25d6ea55f0d110a15cb7c95dfe + - libgdal-core 3.12.2 hbf8631d_1 + license: MIT + license_family: MIT + run_exports: {} + size: 624061 + timestamp: 1771397252507 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda + sha256: 392b20756d3c284212d32d623e483ec93f061f5d9fec08b3d5f0ac3d7e308913 + md5: 17ed908c9fe48af590929b9959adfd75 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h585ae05_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libutf8proc >=2.11.3,<2.12.0a0 - - re2 - license: Apache-2.0 - license_family: APACHE - size: 2261676 - timestamp: 1770431301633 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda - build_number: 2 - sha256: 10d13a0c4dd7c2bb144ac778b524e177d147d73134c6b7df5ebb9ca2e8d9a7f4 - md5: af83df2f71f7ca552ee5ad0a31c9c9ef + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 + - libgdal-core 3.12.2 hbf8631d_1 + - libgdal-hdf4 3.12.2.* + - libgdal-hdf5 3.12.2.* + - libnetcdf >=4.9.3,<4.9.4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 695157 + timestamp: 1771399111486 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda + sha256: 519045363b87b870be779d38f0bfd325d4b787acdaa0a2136a92c1081eff5112 + md5: d362f41203d0a1d2d4940446f95374c9 depends: - - libarrow 23.0.0 hfcfc620_2_cpu - - libre2-11 >=2025.8.12 - - 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: 1774227 - timestamp: 1770435760973 -- 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 + - libgfortran5 15.2.0 hd16e46c_19 + constrains: + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 139925 + timestamp: 1778271458366 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda + sha256: c7f5f6e80357d6d5bc69588c16144205b0c79cf32cd090ccb5afef9d557632af + md5: 1cddb3f7e54f5871297afc0fafa61c2c 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-21.0.0-h635bf11_8_cpu.conda - build_number: 8 - sha256: 2f801c87f34bc7e93adb4f4d1ac54adf778d9d0ed7c0425dee2e8ffbe1c2d428 - md5: e0aef220789dd2234cbfb8baf759d405 + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 1063687 + timestamp: 1778271196574 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.84.3-h5fed8df_0.conda + sha256: 28d60cfaa74dd5427b35941ea28069bfd87d4dfdaaae79b13e569b4b4c21098d + md5: 2bb92de7159f9c47a4455eb3c08484d8 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 21.0.0 h56a6dad_8_cpu - - libarrow-acero 21.0.0 h635bf11_8_cpu - - libarrow-compute 21.0.0 h8c2c5c3_8_cpu - - libgcc >=14 - - libparquet 21.0.0 h790f06f_8_cpu - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 579388 - timestamp: 1759482107976 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-23.0.0-h635bf11_2_cpu.conda - build_number: 2 - sha256: 03b453325748e0f5045fb3cd820f1061a5094f67cc51ba4f5750d9ab0b5577bd - md5: d3633b19c4d7e26474733e18e602e8ce + - __osx >=10.13 + - libffi >=3.4.6,<3.5.0a0 + - libiconv >=1.18,<2.0a0 + - libintl >=0.25.1,<1.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.45,<10.46.0a0 + constrains: + - glib 2.84.3 *_0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.84.3,<3.0a0 + size: 3735183 + timestamp: 1754315274931 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda + sha256: 9e10d37f49b4efef3426ac323dd8cec88a48df57d49e335d5aef8eac08ea9226 + md5: 6cf119d472892f945d81187e790cc131 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 23.0.0 h40b5c2d_2_cpu - - libarrow-acero 23.0.0 h635bf11_2_cpu - - libarrow-compute 23.0.0 h8c2c5c3_2_cpu - - libgcc >=14 - - libparquet 23.0.0 h7376487_2_cpu - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 612157 - timestamp: 1770435074139 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-21.0.0-h2db2d7d_8_cpu.conda - build_number: 8 - sha256: 902200ce5a94a962d6b0bd6df847bc350ca75050d21db187f788990599eb4f80 - md5: f7baac5bf91d8f61267e4c7bf975a910 + - __osx >=11.0 + - pcre2 >=10.47,<10.48.0a0 + - libintl >=0.25.1,<1.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - glib >2.66 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.88.1,<3.0a0 + size: 4519643 + timestamp: 1778508940832 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda + sha256: 9b50362bafd60c4a3eb6c37e6dbf7e200562dab7ae1b282b1ebd633d4d77d4bd + md5: 06564befaabd2760dfa742e47074bad2 depends: - __osx >=11.0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 h3202d62_8_cpu - - libarrow-acero 21.0.0 h2db2d7d_8_cpu - - libarrow-compute 21.0.0 h7751554_8_cpu + - libcurl >=8.14.1,<9.0a0 - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libparquet 21.0.0 ha67a804_8_cpu + - libgrpc >=1.73.1,<1.74.0a0 - libprotobuf >=6.31.1,<6.31.2.0a0 + - openssl >=3.5.1,<4.0a0 + constrains: + - libgoogle-cloud 2.39.0 *_0 license: Apache-2.0 - license_family: APACHE - size: 534087 - timestamp: 1759484554656 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-dataset-23.0.0-h9737151_2_cpu.conda - build_number: 2 - sha256: c6c2eaa42d2c6c085715dd1f002a7544e221113c757ef0a52d842030bebb4a00 - md5: 49a5fb4fbf3e0aa6e234ca9c4ee03594 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud >=2.39.0,<2.40.0a0 + size: 899629 + timestamp: 1752048034356 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda + sha256: fe790fc9ed8ffa468d27e886735fe11844369caee406d98f1da2c0d8aed0401e + md5: 7600fb1377c8eb5a161e4a2520933daa depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h72f758e_2_cpu - - libarrow-acero 23.0.0 h9737151_2_cpu - - libarrow-compute 23.0.0 hc26cc94_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libparquet 23.0.0 ha0d2768_2_cpu - - libprotobuf >=6.31.1,<6.31.2.0a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=19 + - libgoogle-cloud 2.39.0 hed66dea_0 + - libzlib >=1.3.1,<2.0a0 + - openssl license: Apache-2.0 - license_family: APACHE - size: 555173 - timestamp: 1770434504150 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-21.0.0-hc317990_8_cpu.conda - build_number: 8 - sha256: cb549cbeb43478261c99c50d38249d30e93b7aa25f4786496daa80fba430f4c4 - md5: 0baa7e03e0bf1f00d436c3a8e2656464 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + size: 543323 + timestamp: 1752048443047 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda + sha256: 30378f4c9055224fecd1da8b9a65e2c0293cde68edca0f8a306fd9e92fd6ee1f + md5: d6ea2acfae86b523b54938c6bc30e378 depends: - __osx >=11.0 + - c-ares >=1.34.5,<2.0a0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 hd43feaf_8_cpu - - libarrow-acero 21.0.0 hc317990_8_cpu - - libarrow-compute 21.0.0 h75845d1_8_cpu - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libparquet 21.0.0 h45c8936_8_cpu - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.73.1 license: Apache-2.0 license_family: APACHE - size: 514947 - timestamp: 1759482675333 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda - build_number: 2 - sha256: 991570eebd1b7bbb050fcc3a1264d57d7e6c1f71d5d1794ce6cd323144bd221b - md5: 3da2f4cd4f855e2bcbd668038a5fcd13 + run_exports: + weak: + - libgrpc >=1.73.1,<1.74.0a0 + size: 5468625 + timestamp: 1761060387315 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda + sha256: 8e051b990da280ca6eca2f025640572459a0ddfa2b3b71a113e4d14b4277aa33 + md5: c74c64d67f55426bc24d333a84aed0e3 + depends: + - __osx >=10.13 + - libcxx >=19 + - libxml2 + - libxml2-16 >=2.14.6 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libhwloc >=2.13.0,<2.13.1.0a0 + size: 2363468 + timestamp: 1770954013361 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda + sha256: fb82a974f5bc029963665a77a0d669cacecfd067e1f3b32fe427d806ec21d52b + md5: b9e41e8946bb04aca90e181f29c5cf82 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h585ae05_2_cpu - - libarrow-acero 23.0.0 h6de58dd_2_cpu - - libarrow-compute 23.0.0 h45df96a_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libparquet 23.0.0 hcc2992d_2_cpu - - libprotobuf >=6.31.1,<6.31.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 540965 - timestamp: 1770431651908 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda - build_number: 2 - sha256: cd4c24f4cdf3ff19b9c1e81ee348c5db0e6d8dca3b31afd8ed3207b2dfeb8479 - md5: b2031f0c71cbeec465a47fe988f726a6 + - libcxx >=19 + license: Apache-2.0 OR BSD-3-Clause + run_exports: + weak: + - libhwy >=1.4.0,<1.5.0a0 + size: 1000219 + timestamp: 1776990421693 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda + sha256: a1c8cecdf9966921e13f0ae921309a1f415dfbd2b791f2117cf7e8f5e61a48b6 + md5: 210a85a1119f97ea7887188d176db135 depends: - - libarrow 23.0.0 hfcfc620_2_cpu - - libarrow-acero 23.0.0 h7d8d6a5_2_cpu - - libarrow-compute 23.0.0 h2db994a_2_cpu - - libparquet 23.0.0 h7051d1f_2_cpu - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 450625 - timestamp: 1770436078161 -- 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 + - __osx >=10.13 + license: LGPL-2.1-only + run_exports: + weak: + - libiconv >=1.18,<2.0a0 + size: 737846 + timestamp: 1754908900138 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda + sha256: 8c352744517bc62d24539d1ecc813b9fdc8a785c780197c5f0b84ec5b0dfe122 + md5: a8e54eefc65645193c46e8b180f62d22 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-21.0.0-h3f74fd7_8_cpu.conda + - __osx >=10.13 + - libiconv >=1.18,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libintl >=0.25.1,<1.0a0 + size: 96909 + timestamp: 1753343977382 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda + sha256: 6b809d8acb6b97bbb1a858eb4ba7b7163c67257b6c3f199dd9d1e0751f4c5b18 + md5: 57cc1464d457d01ac78f5860b9ca1714 + depends: + - __osx >=11.0 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + run_exports: + weak: + - libjpeg-turbo >=3.1.4.1,<4.0a0 + size: 587997 + timestamp: 1775963139212 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda + sha256: 5c59a02fcb345c49ef8bdd5e1889de8aa918bedd95917f9805d20659cec65da1 + md5: 596810d804d0b2f2c54bfdd635025e92 + depends: + - __osx >=11.0 + - libcxx >=19 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libhwy >=1.4.0,<1.5.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libjxl >=0.11,<1.0a0 + size: 1692611 + timestamp: 1777065242546 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda + sha256: d6ca748bf779008f25cc68d314e71999119ba1598d68d47909016ee4f903ad68 + md5: 83103d49cefa1d365c4a67bcf6ab1831 + depends: + - __osx >=11.0 + - libcxx >=19 + - libexpat >=2.7.5,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - uriparser >=0.9.8,<1.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 290634 + timestamp: 1777027860879 +- conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda build_number: 8 - sha256: 83fcb14f742e34aad34f007a62f8b414543d20feee7485a74ed3d525148fca50 - md5: 86f6d887749f5f7f30d91ef6a5e01515 + sha256: 56a68fce5a63d4583a42c212324d62ac292376b8bf05986a551bd640e7fa137d + md5: e11ee849bd2a573a0f6e53b1b67ebf37 + depends: + - libblas 3.11.0 8_he492b99_openblas + constrains: + - liblapacke 3.11.0 8*_openblas + - libcblas 3.11.0 8*_openblas + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapack >=3.11.0,<3.12.0a0 + size: 19030 + timestamp: 1779860046842 +- conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda + build_number: 8 + sha256: c77bf954aed1a2fe5b77d442030596325b214ee5600da75ea9ebd8c0cced4549 + md5: 0caf586e8a37c4e3d8eeef8082d554c7 + depends: + - libblas 3.11.0 8_he492b99_openblas + - libcblas 3.11.0 8_h9b27e0a_openblas + - liblapack 3.11.0 8_h859234e_openblas + constrains: + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapacke >=3.11.0,<3.12.0a0 + size: 19066 + timestamp: 1779860062711 +- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda + sha256: d9e2006051529aec5578c6efeb13bb6a7200a014b2d5a77a579e83a8049d5f3c + md5: becdfbfe7049fa248e52aa37a9df09e2 + depends: + - __osx >=11.0 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 105724 + timestamp: 1775826029494 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hf3981d6_1.conda + sha256: 1096c740109386607938ab9f09a7e9bca06d86770a284777586d6c378b8fb3fd + md5: ec88ba8a245855935b871a7324373105 + depends: + - __osx >=10.13 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 79899 + timestamp: 1769482558610 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda + sha256: 5f6a88ed35bfa7e67f30ff4bc96f49a31fc46b2cc28518ad2898a853584e5bc2 + md5: 6515420f8cc50150e846b779ad1b3f8b + depends: + - __osx >=10.13 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - libxml2 + - libxml2-16 >=2.14.6 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 729168 + timestamp: 1770719020674 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_hd7ff75f_102.conda + sha256: fca64970eb3e2f51603bc301981df90192668155c27c2375081873c2c4c3a662 + md5: 7ca7db567e97c4f0e13f0ab710b973b8 + depends: + - __osx >=10.13 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libcxx >=19 + - libxml2 >=2.13.8,<2.14.0a0 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - zlib + - zstd >=1.5.7,<1.6.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 726938 + timestamp: 1757402395207 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + sha256: 899551e16aac9dfb85bfc2fd98b655f4d1b7fea45720ec04ccb93d95b4d24798 + md5: dba4c95e2fe24adcae4b77ebf33559ae + depends: + - __osx >=11.0 + - c-ares >=1.34.6,<2.0a0 + - libcxx >=19 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 + size: 606749 + timestamp: 1773854765508 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda + sha256: 2c2ffe7c3ab7becd47ad308946873d2bdc219625af32a53d10efbaa54b595d31 + md5: 30666a6f0afe1471e999eca7ae5c8179 + depends: + - __osx >=11.0 + - libgfortran + - libgfortran5 >=14.3.0 + - llvm-openmp >=19.1.7 + constrains: + - openblas >=0.3.33,<0.3.34.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libopenblas >=0.3.33,<1.0a0 + size: 6287889 + timestamp: 1776996499823 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda + sha256: 94df4129f94dbb17998a60bff0b53c700e6124a6cb67f3047fe7059ebaa7d357 + md5: 952dd64cff4a72cadf5e81572a7a81c8 depends: - - __glibc >=2.17,<3.0.a0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 h56a6dad_8_cpu - - libarrow-acero 21.0.0 h635bf11_8_cpu - - libarrow-dataset 21.0.0 h635bf11_8_cpu - - libgcc >=14 + - libcurl >=8.14.1,<9.0a0 + - libgrpc >=1.73.1,<1.74.0a0 + - libopentelemetry-cpp-headers 1.21.0 h694c41f_1 - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 + - 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 - size: 483116 - timestamp: 1759482133380 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-23.0.0-h3f74fd7_2_cpu.conda - build_number: 2 - sha256: c78b7b150630e2e62006cd5648c8dc05e99acaf93bd3899d6891f87aa3988dbe - md5: 8b003b0de3b7c7455400752d0df67d76 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h40b5c2d_2_cpu - - libarrow-acero 23.0.0 h635bf11_2_cpu - - libarrow-dataset 23.0.0 h635bf11_2_cpu - - libgcc >=14 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 + run_exports: + weak: + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + size: 585875 + timestamp: 1751782877386 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda + sha256: 5b43ec55305a6fabd8eb37cee06bc3260d3641f260435194837d0b64faa0b355 + md5: 62636543478d53b28c1fc5efce346622 license: Apache-2.0 license_family: APACHE - size: 519666 - timestamp: 1770435107469 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-21.0.0-h4653b8a_8_cpu.conda + run_exports: {} + size: 362175 + timestamp: 1751782820895 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-21.0.0-ha67a804_8_cpu.conda build_number: 8 - sha256: 78fc6d5d6144af5efb4329e643e29733567d96658708f12885fc251c16a71d2e - md5: b1585801dfe25c23dd3bacea49901f1b + sha256: da4b38051288fc06c577bce4b397f53e0ff1309b6e2e83af7a4496791724c682 + md5: 4bc9d24acd24d125176a85554f517ed1 depends: - __osx >=11.0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - libarrow 21.0.0 h3202d62_8_cpu - - libarrow-acero 21.0.0 h2db2d7d_8_cpu - - libarrow-dataset 21.0.0 h2db2d7d_8_cpu - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - libprotobuf >=6.31.1,<6.31.2.0a0 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.4,<4.0a0 license: Apache-2.0 license_family: APACHE - size: 448256 - timestamp: 1759484680404 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libarrow-substrait-23.0.0-h7f2e36e_2_cpu.conda + run_exports: + weak: + - libparquet >=21.0.0,<21.1.0a0 + size: 1061306 + timestamp: 1759483989578 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda build_number: 2 - sha256: 716e5f235065c22903a0a1ec1bb2a66e2e71477bece3d78f6f420dc27c4bbba8 - md5: 8196497a3bc332336078391692ede27b + sha256: 7bcdca6f68c17e1b154c39bcc5ea8be65a555e8c7c562b291df0bd290523fd2a + md5: 174b6059fc1102dbe2a784d732e919b4 depends: - __osx >=11.0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - libarrow 23.0.0 h72f758e_2_cpu - - libarrow-acero 23.0.0 h9737151_2_cpu - - libarrow-dataset 23.0.0 h9737151_2_cpu - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - libprotobuf >=6.31.1,<6.31.2.0a0 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 license: Apache-2.0 license_family: APACHE - size: 468292 - timestamp: 1770434625608 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-21.0.0-h144af7f_8_cpu.conda - build_number: 8 - sha256: b1933afbf52d01a31dfe8a78405081e222a8749f69cdd44c87de445916325415 - md5: 789bcc687969e48a482ed931d9fb0509 + run_exports: + weak: + - libparquet >=23.0.0,<23.1.0a0 + size: 1098263 + timestamp: 1770434021021 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda + sha256: a669b22978e546484d18d99a210801b1823360a266d7035c713d8d1facd035f7 + md5: 9744d43d5200f284260637304a069ddd depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 hd43feaf_8_cpu - - libarrow-acero 21.0.0 hc317990_8_cpu - - libarrow-dataset 21.0.0 hc317990_8_cpu - - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 452889 - timestamp: 1759482755723 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda - build_number: 2 - sha256: 1d39899591ab7f1837294a3f894178b47f677e8c69d1e1a9f12979824c6a1c74 - md5: 6b25f000c0719ee305470f62147bfdc6 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + run_exports: + weak: + - libpng >=1.6.58,<1.7.0a0 + size: 299206 + timestamp: 1776315286816 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda + sha256: 337e8abeadb5f1303646c44b86d7b03767d81b3f7eec825d9f6825554a6fb054 + md5: 3a67e77f5eedfbd8aac22941685c3807 depends: - __osx >=11.0 - libabseil * cxx17* - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h585ae05_2_cpu - - libarrow-acero 23.0.0 h6de58dd_2_cpu - - libarrow-dataset 23.0.0 h6de58dd_2_cpu - - libcxx >=21 - - libprotobuf >=6.31.1,<6.31.2.0a0 - license: Apache-2.0 - license_family: APACHE - size: 474601 - timestamp: 1770431716301 -- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda - build_number: 2 - sha256: 3fc01537d51d6d3f8afafac61967cc46b3038b85e97168c43dc51e9caf2836f0 - md5: 7e4ef91357330c200f640c198cac50dd - depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 hfcfc620_2_cpu - - libarrow-acero 23.0.0 h7d8d6a5_2_cpu - - libarrow-dataset 23.0.0 h7d8d6a5_2_cpu - - libprotobuf >=6.31.1,<6.31.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 379196 - timestamp: 1770436121320 -- 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/libattr-2.5.2-hb03c661_1.conda - sha256: 0cef37eb013dc7091f17161c357afbdef9a9bc79ef6462508face6db3f37db77 - md5: 7e7f0a692eb62b95d3010563e7f963b6 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: LGPL - size: 53316 - timestamp: 1773595896163 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - build_number: 8 - sha256: b2da6bfd72a1c9cb143ccf64bf5b28790cb4eb58bd1cb978f6537b2322f7d48b - md5: 00fc660ab1b2f5ca07e92b4900d10c79 - depends: - - libopenblas >=0.3.33,<0.3.34.0a0 - - libopenblas >=0.3.33,<1.0a0 - constrains: - - blas 2.308 openblas - - mkl <2027 - - libcblas 3.11.0 8*_openblas - - liblapack 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas + - libcxx >=19 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 18804 - timestamp: 1779859100675 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-8_he492b99_openblas.conda - build_number: 8 - sha256: 55cf9f92a2d07c33f8a32c44ff1528ea48fd69677cc003a4532d09b71cb8a316 - md5: 7da1e8ab7c4498db9457c191d82930a3 + run_exports: + weak: + - libprotobuf >=6.31.1,<6.31.2.0a0 + size: 3010593 + timestamp: 1780005465717 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libraqm-0.10.5-hcf81f31_0.conda + sha256: 33bb9019bb28438caa3a9a01b871e0d6b60aa57215758168e94836ad39a88097 + md5: 2c1e70004d0c00bedc213f167e2794ca depends: - - libopenblas >=0.3.33,<0.3.34.0a0 - - libopenblas >=0.3.33,<1.0a0 - constrains: - - mkl <2027 - - blas 2.308 openblas - - liblapacke 3.11.0 8*_openblas - - libcblas 3.11.0 8*_openblas - - liblapack 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - size: 19048 - timestamp: 1779860008916 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda - build_number: 8 - sha256: 8f5ec18ead0619a9cf0f38b49796c22f6fc0f44850c0df2baea0f5277db16e75 - md5: dbfe729181a32741ae63ecb41eefbac6 + - __osx >=11.0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - harfbuzz >=14.2.1 + - fribidi >=1.0.16,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libraqm >=0.10.5,<0.11.0a0 + size: 28541 + timestamp: 1780835389986 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda + sha256: 901fb4cfdabf1495e7f080f8e8e218d1ad182c9bcd3cea2862481fef0e9d534f + md5: a0237623ed85308cb816c3dcced23db2 depends: - - libopenblas >=0.3.33,<0.3.34.0a0 - - libopenblas >=0.3.33,<1.0a0 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 constrains: - - blas 2.308 openblas - - liblapack 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - - libcblas 3.11.0 8*_openblas - - mkl <2027 + - re2 2025.11.05.* license: BSD-3-Clause license_family: BSD - size: 18949 - timestamp: 1779859141315 -- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda - build_number: 8 - sha256: cc0df341dbc9af74abdbe658caeea5b5d5f362e25283f856d0457f4ae7a36f7e - md5: e2591f7c5a702a478532441e83648878 + run_exports: + weak: + - libre2-11 >=2025.11.5 + size: 180107 + timestamp: 1762398117273 +- conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.58.4-h21a6cfa_3.conda + sha256: 87432fca28ddfaaf82b3cd12ce4e31fcd963428d1f2c5e2a3aef35dd30e56b71 + md5: 213dcdb373bf108d1beb18d33075f51d depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=10.13 + - cairo >=1.18.4,<2.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - libglib >=2.84.0,<3.0a0 + - libxml2 >=2.13.7,<2.14.0a0 + - pango >=1.56.3,<2.0a0 constrains: - - blas * netlib - track_features: - - blas_netlib - - blas_netlib_2 - license: BSD-3-Clause - license_family: BSD - size: 152280 - timestamp: 1779861305744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.88.0-hd24cca6_7.conda - sha256: dd489228e1916c7720c925248d0ba12803d1dc8b9898be0c51f4ab37bab6ffa5 - md5: d70e4dc6a847d437387d45462fe60cf9 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - icu >=78.1,<79.0a0 - - libgcc >=14 - - liblzma >=5.8.1,<6.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 + - __osx >=10.13 + license: LGPL-2.1-or-later + run_exports: + weak: + - librsvg >=2.58.4,<3.0a0 + size: 4946543 + timestamp: 1743368938616 +- conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda + sha256: 4e6ceb25dcc7b67d550e2b6ce98da585b49dd4590f21a709dd6ec626df3b8c19 + md5: 2d5f6b880486d5058c7eab0db04b1bc9 + depends: + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 constrains: - - boost-cpp <0.0a0 - license: BSL-1.0 - size: 3072984 - timestamp: 1766347479317 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libboost-1.88.0-h5950822_7.conda - sha256: 4cf91837a0af26996a43538213abe14adf54e07ac9fc8cb3880185f6e086c5df - md5: de6f7fa28d94fa380024444324b15d5f + - __osx >=10.13 + license: LGPL-2.1-or-later + run_exports: + weak: + - librsvg >=2.62.3,<3.0a0 + size: 2511802 + timestamp: 1780451204499 +- conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda + sha256: e3613fabe6ce2fa1329f98a0be49df4529553f5632706c90fd3b56209a5a739f + md5: 32837d365266ad66fcf849b7a92fb5fa depends: - __osx >=10.13 - - bzip2 >=1.0.8,<2.0a0 - - icu >=78.1,<79.0a0 + - geos >=3.14.1,<3.14.2.0a0 - libcxx >=19 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - boost-cpp <0.0a0 - license: BSL-1.0 - size: 2091448 - timestamp: 1766348915727 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.88.0-h0419b56_7.conda - sha256: d3872915a43512b0404e131d965e6e8c1e2546b13ccfd2463ef72fbfe1456afc - md5: 34e8ce0732bb254bd17f0b9ecea788c2 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 215501 + timestamp: 1761670645302 +- conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-hd2ea1e3_18.conda + sha256: 7a927ca3c12d103f2c5829b2c33409cd651c3f3c648cdf53592fa848c9e72118 + md5: 425adac1dfc1169beb97753b5167fc5f depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - icu >=78.1,<79.0a0 - - libcxx >=19 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - boost-cpp <0.0a0 - license: BSL-1.0 - size: 1992135 - timestamp: 1766348005115 -- conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.88.0-h9dfe17d_7.conda - sha256: fad63bb3b722d4fc50c8258fc30402970ad36baf73edd87c1b647bdd6aed3f04 - md5: e13bc25d81b0132a0c51eb5cc179b0e9 + - __osx >=10.13 + - geos >=3.13.1,<3.13.2.0a0 + - libcxx >=18 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 214379 + timestamp: 1741167133138 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda + sha256: 6d8ac2fcd40291d6ca0892a9138528a740fc9a772f67ff95eaeb5ee314b8022f + md5: 4ab09041d626c67a4fccc9fe3c3bb734 depends: + - __osx >=11.0 - bzip2 >=1.0.8,<2.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 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - boost-cpp <0.0a0 - - __win ==0|>=10 - license: BSL-1.0 - size: 2404502 - timestamp: 1766348533008 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda - sha256: 2338a92d1de71f10c8cf70f7bb9775b0144a306d75c4812276749f54925612b6 - md5: 1d29d2e33fe59954af82ef54a8af3fe1 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 69333 - timestamp: 1756599354727 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e - md5: 72c8fd1af66bd67bf580645b426513ed + - libgfortran + - libgfortran5 >=14.3.0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + license: CECILL-C + run_exports: + weak: + - libscotch >=7.0.11,<7.0.12.0a0 + - libscotch * int64_* + size: 305944 + timestamp: 1776441838532 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda + sha256: 07f0f37463564d93530fc23e2a77cc1aad58ba8724b1842f8713dbf6cde17cb0 + md5: bf0ce6af8f7628e34cdb399f6aa82e53 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-64/libbrotlicommon-1.1.0-h1c43f85_4.conda - sha256: 28c1a5f7dbe68342b7341d9584961216bd16f81aa3c7f1af317680213c00b46a - md5: b8e1ee78815e0ba7835de4183304f96b + - __osx >=11.0 + license: ISC + run_exports: + weak: + - libsodium >=1.0.22,<1.0.23.0a0 + size: 281370 + timestamp: 1779164249823 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda + sha256: 4f4a08255e92e4c320252a7693cc27ba27e731a48f8fd5e41a76c1a671bb82e3 + md5: 14067124e9dd23b72cd78d68d78fac03 depends: - __osx >=10.13 - license: MIT - license_family: MIT - size: 67948 - timestamp: 1756599727911 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda - sha256: 4c19b211b3095f541426d5a9abac63e96a5045e509b3d11d4f9482de53efe43b - md5: f157c098841474579569c85a60ece586 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.1,<3.14.2.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.6 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.7.0,<9.8.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 3164968 + timestamp: 1761682127133 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-hf0eb338_14.conda + sha256: 427fdb65b2d40c9bbe029e5728a5e4db4af07d2b23899e62982d55e765546118 + md5: 11031c4dfd7426bd0ed67ce4b5f59ffc depends: - __osx >=10.13 - license: MIT - license_family: MIT - size: 78854 - timestamp: 1764017554982 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h6caf38d_4.conda - sha256: 023b609ecc35bfee7935d65fcc5aba1a3ba6807cbba144a0730198c0914f7c79 - md5: 231cffe69d41716afe4525c5c1cc5ddd + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - libcxx >=18 + - libiconv >=1.18,<2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libxml2 >=2.13.6,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 3144268 + timestamp: 1742308894421 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h77d7759_0.conda + sha256: e092c945764c0194298af892bc79c89dbdacac7fab6fa0cd315f91deb0780c03 + md5: 78bad38060b6d8bd30e1f43474dcf77c depends: - __osx >=11.0 - license: MIT - license_family: MIT - size: 68938 - timestamp: 1756599687687 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda - sha256: a7cb9e660531cf6fbd4148cff608c85738d0b76f0975c5fc3e7d5e92840b7229 - md5: 006e7ddd8a110771134fcc4e1e3a6ffa + - libzlib >=1.3.2,<2.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 1006060 + timestamp: 1780574903119 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda + sha256: 4d4f3135d390d192ab9cdf3711d87e3be6bb7f3959c52a96e2f333b30960d6fb + md5: 4c019bd25570899d0f9755de01b89021 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 + - icu >=78.3,<79.0a0 + - libzlib >=1.3.2,<2.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 1010419 + timestamp: 1780575011758 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda + sha256: 00654ba9e5f73aa1f75c1f69db34a19029e970a4aeb0fa8615934d8e9c369c3c + md5: a6cb15db1c2dc4d3a5f6cf3772e09e81 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.1.0-hb03c661_4.conda - sha256: fcec0d26f67741b122f0d5eff32f0393d7ebd3ee6bb866ae2f17f3425a850936 - md5: 5cb5a1c9a94a78f5b23684bcb845338d + - __osx >=10.13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 284216 + timestamp: 1745608575796 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda + sha256: 89a20cb35e0f32d59a7080c934a56120591cb962d4fab1cba3a795a094bc8256 + md5: 36d5479e1b5967c2eb9824b953317e41 depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.1.0 hb03c661_4 - - libgcc >=14 - license: MIT - license_family: MIT - size: 33406 - timestamp: 1756599364386 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b - md5: 366b40a69f0ad6072561c1d09301c886 + - __osx >=11.0 + - libcxx >=19 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libthrift >=0.22.0,<0.22.1.0a0 + size: 332270 + timestamp: 1777019812419 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda + sha256: e53424c34147301beae2cd9223ebf593720d94c038b3f03cacd0535e12c9668e + md5: 9d4344f94de4ab1330cdc41c40152ea6 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-64/libbrotlidec-1.1.0-h1c43f85_4.conda - sha256: a287470602e8380c0bdb5e7a45ba3facac644432d7857f27b39d6ceb0dcbf8e9 - md5: 9cc4be0cc163d793d5d4bcc405c81bf3 + - __osx >=10.13 + - lerc >=4.0.0,<5.0a0 + - libcxx >=19 + - libdeflate >=1.25,<1.26.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 + run_exports: + weak: + - libtiff >=4.7.1,<4.8.0a0 + size: 404591 + timestamp: 1762022511178 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libutf8proc-2.11.3-hc282952_0.conda + sha256: 626db214208e8da6aa9a904518a0442e5bff7b4602cc295dd5ce1f4a98844c1d + md5: 2c49b6f6ec9a510bbb75ecbd2a572697 depends: - __osx >=10.13 - - libbrotlicommon 1.1.0 h1c43f85_4 license: MIT license_family: MIT - size: 30743 - timestamp: 1756599755474 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda - sha256: 729158be90ae655a4e0427fe4079767734af1f9b69ff58cf94ca6e8d4b3eb4b7 - md5: 63186ac7a8a24b3528b4b14f21c03f54 + run_exports: + weak: + - libutf8proc >=2.11.3,<2.12.0a0 + size: 84535 + timestamp: 1768735249136 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda + sha256: 00dbfe574b5d9b9b2b519acb07545380a6bc98d1f76a02695be4995d4ec91391 + md5: 7bb6608cf1f83578587297a158a6630b depends: - __osx >=10.13 - - libbrotlicommon 1.2.0 h8616949_1 - license: MIT - license_family: MIT - size: 30835 - timestamp: 1764017584474 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h6caf38d_4.conda - sha256: 7f1cf83a00a494185fc087b00c355674a0f12e924b1b500d2c20519e98fdc064 - md5: cb7e7fe96c9eee23a464afd57648d2cd + constrains: + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libwebp-base >=1.6.0,<2.0a0 + size: 365086 + timestamp: 1752159528504 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda + sha256: 8896cd5deff6f57d102734f3e672bc17120613647288f9122bec69098e839af7 + md5: bbeca862892e2898bdb45792a61c4afc depends: - - __osx >=11.0 - - libbrotlicommon 1.1.0 h6caf38d_4 + - __osx >=10.13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp license: MIT license_family: MIT - size: 29015 - timestamp: 1756599708339 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda - sha256: 2eae444039826db0454b19b52a3390f63bfe24f6b3e63089778dd5a5bf48b6bf - md5: 079e88933963f3f149054eec2c487bc2 + run_exports: + weak: + - libxcb >=1.17.0,<2.0a0 + size: 323770 + timestamp: 1727278927545 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda + sha256: 437f003e299d77403db42d17e532d686236f357ac5c3d6bf466558c697902597 + md5: c74ae93cd7876e3a9c4b5569d5e29e34 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.1.0-hb03c661_4.conda - sha256: d42c7f0afce21d5279a0d54ee9e64a2279d35a07a90e0c9545caae57d6d7dc57 - md5: 2e55011fa483edb8bfe3fd92e860cd79 - depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.1.0 hb03c661_4 - - libgcc >=14 - license: MIT - license_family: MIT - size: 289680 - timestamp: 1756599375485 -- 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-64/libbrotlienc-1.1.0-h1c43f85_4.conda - sha256: 820caf0a78770758830adbab97fe300104981a5327683830d162b37bc23399e9 - md5: f2c000dc0185561b15de7f969f435e61 - depends: - - __osx >=10.13 - - libbrotlicommon 1.1.0 h1c43f85_4 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.3 license: MIT license_family: MIT - size: 294904 - timestamp: 1756599789206 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.2.0-h8616949_1.conda - sha256: 8ece7b41b6548d6601ac2c2cd605cf2261268fc4443227cc284477ed23fbd401 - md5: 12a58fd3fc285ce20cf20edf21a0ff8f + run_exports: {} + size: 496338 + timestamp: 1776377250079 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.13.9-he1bc88e_0.conda + sha256: 151e653e72b9de48bdeb54ae0664b490d679d724e618649997530a582a67a5fb + md5: af41ebf4621373c4eeeda69cc703f19c depends: - __osx >=10.13 - - libbrotlicommon 1.2.0 h8616949_1 + - icu >=75.1,<76.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT - size: 310355 - timestamp: 1764017609985 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h6caf38d_4.conda - sha256: a2f2c1c2369360147c46f48124a3a17f5122e78543275ff9788dc91a1d5819dc - md5: 4ce5651ae5cd6eebc5899f9bfe0eac3c + run_exports: + weak: + - libxml2 >=2.13.9,<2.14.0a0 + size: 609937 + timestamp: 1761766325697 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda + sha256: 24248928e63b5de45012c8ad3fd6b350ae1fe2fc355613bb89ee5f0a35835bea + md5: 33f30d4878d1f047da82a669c33b307d depends: - __osx >=11.0 - - libbrotlicommon 1.1.0 h6caf38d_4 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h7a90416_0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 275791 - timestamp: 1756599724058 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.conda - sha256: 01436c32bb41f9cb4bcf07dda647ce4e5deb8307abfc3abdc8da5317db8189d1 - md5: b2b7c8288ca1a2d71ff97a8e6a1e8883 + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 40836 + timestamp: 1776377277986 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda + sha256: 05ed86d6395a8c7aeabc5d5505e2189ebca33e14073895a3f3d1b4db37c67333 + md5: 875a51e12cc99a98d70aa48055f40ba4 depends: - __osx >=11.0 - - libbrotlicommon 1.2.0 hc919400_1 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2 2.15.3 h953d39d_0 + - libxml2-16 2.15.3 h7a90416_0 + - libzlib >=1.3.2,<2.0a0 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 + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 80113 + timestamp: 1776377299206 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda + sha256: 00d6b5e92fc1c5d86e095b9b6840f793d9fc4c9b4a7753fa0f8197ab11d5eb90 + md5: 367b8029352f3899fb76cc20f4d144b9 depends: - - libbrotlicommon 1.2.0 hfd05255_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=10.13 + - libxml2 + - libxml2-16 >=2.14.6 license: MIT license_family: MIT - size: 252903 - timestamp: 1764017901735 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - build_number: 8 - sha256: 1a2bc77bb26520255904a3d9b1f40e6bf0bf9d8d3405c7709dd162282820915a - md5: 33a413f1095f8325e5c30fde3b0d2445 - depends: - - libblas 3.11.0 8_h4a7cf45_openblas - constrains: - - blas 2.308 openblas - - liblapacke 3.11.0 8*_openblas - - liblapack 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18778 - timestamp: 1779859107964 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.11.0-8_h9b27e0a_openblas.conda - build_number: 8 - sha256: 50eb650a17a34ea45fe2b31e60a98632d1f8c203308014dcef93043d54612482 - md5: 4f116127b172bbba835c1e0491efd86f + run_exports: + weak: + - libxslt >=1.1.43,<2.0a0 + size: 225660 + timestamp: 1757964032926 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda + sha256: 434a4d1ad23c1c8deb7ec2da94aca05e22bc29dee445b4f7642e1c2f20fc0b0b + md5: 3cf12c97a18312c9243a895580bf5be6 depends: - - libblas 3.11.0 8_he492b99_openblas - constrains: - - liblapacke 3.11.0 8*_openblas - - blas 2.308 openblas - - liblapack 3.11.0 8*_openblas + - __osx >=10.13 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 license: BSD-3-Clause license_family: BSD - size: 19049 - timestamp: 1779860025163 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-8_hb0561ab_openblas.conda - build_number: 8 - sha256: f93efcd44bc24f97c2478c7474d3baa6801a057974f330e1d06bedc33e4c778f - md5: 03a2ef3491da9e5b4d18c03e9f4b3109 + run_exports: + weak: + - libzip >=1.11.2,<2.0a0 + size: 129542 + timestamp: 1730442392952 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda + sha256: 4c6da089952b2d70150c74234679d6f7ac04f4a98f9432dec724968f912691e7 + md5: 30439ff30578e504ee5e0b390afc8c65 depends: - - libblas 3.11.0 8_h51639a9_openblas + - __osx >=11.0 constrains: - - blas 2.308 openblas - - liblapack 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18911 - timestamp: 1779859147634 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_hc41557d_netlib.conda - build_number: 8 - sha256: 2132d8b764c1df063778880dc2b0086cb655754b189e43d44a99cf760479a09f - md5: ccbf2d1416567af1b8d098b6f3ba2f32 - depends: - - libblas 3.11.0.* - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - track_features: - - blas_netlib - - blas_netlib_2 - license: BSD-3-Clause - license_family: BSD - size: 45490 - timestamp: 1779861325576 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_16.conda - sha256: 83ef7425c3c5c5b179b6d5accb57acfe1ddf16010727afc642be484b4526044e - md5: ff256a40b66a4b6968075efd741523d5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libllvm20 >=20.1.8,<20.2.0a0 - - libstdcxx >=14 - license: Apache-2.0 WITH LLVM-exception - license_family: Apache - size: 21300452 - timestamp: 1779374233040 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.conda - sha256: e6c0123b888d6abf03c66c52ed89f9de1798dde930c5fd558774f26e994afbc6 - md5: 327c78a8ce710782425a89df851392f7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libllvm21 >=21.1.0,<21.2.0a0 - - libstdcxx >=14 - license: Apache-2.0 WITH LLVM-exception - license_family: Apache - size: 12358102 - timestamp: 1757383373129 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.7-default_h746c552_1.conda - sha256: 5100d6571c361a3b4123007b71448a15901ad63ac948f3f02bbc7df4079fe4d1 - md5: f5d04d68e7fd19a24f1fe35a74bafabb + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 59000 + timestamp: 1774073052242 +- conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.8-h0d3cbff_0.conda + sha256: 7e8dcf03c2ef5491405d6d86eb892d14e99902f50f4eeb250db0cbdc58dd5818 + md5: 9d5828c46147a47f828ca47a18407621 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libllvm22 >=22.1.7,<22.2.0a0 - - libstdcxx >=14 + - __osx >=11.0 + constrains: + - openmp 22.1.8|22.1.8.* + - intel-openmp <0.0a0 license: Apache-2.0 WITH LLVM-exception - license_family: Apache - size: 12818349 - timestamp: 1780522452233 -- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.7-default_ha2db4b5_1.conda - sha256: 084a7297f343bff863bb7af986aa04f194192523d0c37e5dc1df726d40bef055 - md5: 7f940510e2af246af187b25b691dd616 + license_family: APACHE + run_exports: + strong: + - llvm-openmp >=22.1.8 + size: 311645 + timestamp: 1781737360942 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py313hdc5d0a5_0.conda + sha256: bfd814a114e3e434a7887f6aaafb67168ed02a32a1f06d9733efd90af06ed719 + md5: 624994bf19fafaaf06ad0f0aa4cb4806 depends: + - __osx >=11.0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 - libzlib >=1.3.2,<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 - size: 30501233 - timestamp: 1780521148545 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 - sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 - md5: c965a5aa0d5c1c37ffc62dff36e28400 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1411057 + timestamp: 1779195556930 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py314h1d4708b_0.conda + sha256: 1591897e0b9fd25db9eed842e5d3926621d45acab0610f1dce90b8fa9cc70378 + md5: b8ad901dca8ee289d6a8577198b6a256 depends: - - libgcc-ng >=9.4.0 - - libstdcxx-ng >=9.4.0 + - __osx >=11.0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1418187 + timestamp: 1779195547315 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda + sha256: 76327601d2b65bb5e3b93cee12cfd301d2cf0b246d150ff52ff7b4b01c6f9147 + md5: 157f8c5e9e63b3a4ceab8e73386f1629 + depends: + - python + - lz4-c + - __osx >=10.13 + - lz4-c >=1.10.0,<1.11.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - size: 20440 - timestamp: 1633683576494 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libcrc32c-1.1.2-he49afe7_0.tar.bz2 - sha256: 3043869ac1ee84554f177695e92f2f3c2c507b260edad38a0bf3981fce1632ff - md5: 23d6d5a69918a438355d7cbc4c3d54c9 + run_exports: {} + size: 41972 + timestamp: 1765026424344 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py313hab77a93_1.conda + sha256: a35f5d5225d4c6dd13e229881d3013e18f0e3a372bb6e3d9bf299fc832309143 + md5: 6838efa78f5071775a7766062cfc85d2 depends: - - libcxx >=11.1.0 + - python + - lz4-c + - __osx >=10.13 + - python_abi 3.13.* *_cp313 + - lz4-c >=1.10.0,<1.11.0a0 license: BSD-3-Clause license_family: BSD - size: 20128 - timestamp: 1633683906221 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 - sha256: 58477b67cc719060b5b069ba57161e20ba69b8695d154a719cb4b60caf577929 - md5: 32bd82a6a625ea6ce090a81c3d34edeb + run_exports: {} + size: 42939 + timestamp: 1765026491273 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py314h6bf1ee8_1.conda + sha256: 362ce76b9273cd3dad6431c2b424969d10e0c225f5f6c38e62d78f0d19900446 + md5: 9341f36944950fb3831fb6ea8fbfde4f depends: - - libcxx >=11.1.0 + - python + - lz4-c + - __osx >=10.13 + - python_abi 3.14.* *_cp314 + - lz4-c >=1.10.0,<1.11.0a0 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 + run_exports: {} + size: 43247 + timestamp: 1765026400542 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda + sha256: 8da3c9d4b596e481750440c0250a7e18521e7f69a47e1c8415d568c847c08a1c + md5: d6b9bd7e356abd7e3a633d59b753495a depends: - - vc >=14.1,<15.0a0 - - vs2015_runtime >=14.16.27012 + - __osx >=10.13 + - libcxx >=18 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - lz4-c >=1.10.0,<1.11.0a0 + size: 159500 + timestamp: 1733741074747 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda + sha256: bb5fe07123a7d573af281d04b75e1e77e87e62c5c4eb66d9781aa919450510d1 + md5: 5a047b9aa4be1dcdb62bd561d9eb6ceb + depends: + - __osx >=10.13 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - lzo >=2.10,<3.0a0 + size: 174634 + timestamp: 1753889269889 +- conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda + sha256: 0eb418d4776a1a54c1869b11a5c4ae096ef9a46c8d7e481e32fa814561c5cfed + md5: d596f9d03043acd4ec711c844060da59 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 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 + run_exports: {} + size: 25095 + timestamp: 1772445399364 +- conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py313h035b7d0_1.conda + sha256: e589b345402e352fb47394f7bc311c241f37627a34a9becc9299b395809a5853 + md5: 3d88718cbd26857fb68fa899e80177ea depends: - - __glibc >=2.17,<3.0.a0 - - krb5 >=1.22.2,<1.23.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: Apache-2.0 - 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 + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 25312 + timestamp: 1772445439146 +- conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py314h77fa6c7_1.conda + sha256: 74507b481299c3d35dc7d1c35f9c92e2e94e0eda819b264f5f25b7552f8a7d64 + md5: 5d45a74270e21481797387a209b3dec3 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 - size: 4523621 - timestamp: 1749905341688 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.18.0-h4e3cde8_0.conda - sha256: 5454709d9fb6e9c3dd6423bc284fa7835a7823bfa8323f6e8786cdd555101fab - md5: 0a5563efed19ca4461cf927419b6eb73 + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 26740 + timestamp: 1772445674690 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.7-py312hb401068_0.conda + sha256: c5fd2bf2e76616b55526ff7ec836d45527685b59fa198b848c03b28b8e4dc6ef + md5: 00721c0399429e5f7d7b293fa89c2625 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 - size: 462942 - timestamp: 1767821743793 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.20.0-hcf29cc6_0.conda - sha256: 75963a5dd913311f59a35dbd307592f4fa754c4808aff9c33edb430c415e38eb - md5: c3cc2864f82a944bc90a7beb4d3b0e88 + - matplotlib-base >=3.10.7,<3.10.8.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 17339 + timestamp: 1760561530263 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py313habf4b1d_0.conda + sha256: 98b6d6654d3c4fa1a07027e33d3edddd2947395e6d87a4091bd7237440bddcf0 + md5: 928390b7301425cfb98cfcbabc194c47 depends: - - __glibc >=2.17,<3.0.a0 - - krb5 >=1.22.2,<1.23.0a0 - - libgcc >=14 - - libnghttp2 >=1.68.1,<2.0a0 - - libssh2 >=1.11.1,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: curl - license_family: MIT - size: 468706 - timestamp: 1777461492876 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.20.0-h8f0b9e4_0.conda - sha256: 5d3d8a82ca43347e96f1d79048921f3a7c25e32514bc7feb53ed2a040dcca54d - md5: 4a0085ccf90dc514f0fc0909a874045e + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 14999 + timestamp: 1781627236779 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.11.0-py314hee6578b_0.conda + sha256: 10aa2f4a737a5ba01c494dc2bfd2a382601e73877b4992901eb1606e89b784dc + md5: 94c6d66c3b0750cd1cbd95c9596f2b6a + depends: + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 14949 + timestamp: 1781627443919 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.7-py312h7894933_0.conda + sha256: 890975012522122fb20a7914c11a02fd4973ed0ee470abc27bd3298ef6de37df + md5: 8993a6404a2bd1d1b4ccc169c611c826 + depends: + - __osx >=10.13 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=19 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - numpy >=1.23 + - numpy >=1.23,<3 + - 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 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8137491 + timestamp: 1760561487488 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py313h282d897_0.conda + sha256: 123e75cc77430d8f9e2424df5ec2cae324ace0843e39387c90c4e7f8b7abaea6 + md5: 9c7c6d4988de9728e0ae6cbf377fbcfe depends: - __osx >=11.0 - - krb5 >=1.22.2,<1.23.0a0 - - libnghttp2 >=1.68.1,<2.0a0 - - libssh2 >=1.11.1,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: curl - license_family: MIT - size: 419676 - timestamp: 1777462238769 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.20.0-hd5a2499_0.conda - sha256: 38c0bc634b61e542776e97cfd15d5d41edd304d4e47c333004d2d622439b2381 - md5: 2f57b7d0c6adda88957586b7afd78438 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=19 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.13,<3.14.0a0 + - python-dateutil >=2.7 + - python_abi 3.13.* *_cp313 + - qhull >=2020.2,<2020.3.0a0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8900327 + timestamp: 1781627202601 +- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.11.0-py314he76ffc7_0.conda + sha256: c9fe5d5aba0029f2637bfe55d9f6f6a0f6507846591b62999fbc01ca1df54fd5 + md5: abb4a4738d58cfd10456f5b056f66ee5 + depends: + - __osx >=11.0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=19 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8981934 + timestamp: 1781627401252 +- conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda + sha256: 9443014f00a78a216c59f17a1309e49beb24b96082d198b4ab1626522fc7da40 + md5: 4e4566c484361d6a92478f57db53fb08 + depends: + - __osx >=10.13 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - metis >=5.1.0,<5.1.1.0a0 + size: 3949838 + timestamp: 1728064564171 +- conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda + sha256: 31599bfede2d1ddb7a59fdd5b4a2c4bf0ba72f683f3bcb9d07cb5446532386bf + md5: 71a71a2bbfb3f89f2b14be38dfea90ff depends: - __osx >=11.0 - - krb5 >=1.22.2,<1.23.0a0 - - libnghttp2 >=1.68.1,<2.0a0 - - libssh2 >=1.11.1,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libcxx >=19 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 - libzlib >=1.3.2,<2.0a0 - openssl >=3.5.6,<4.0a0 - zstd >=1.5.7,<1.6.0a0 - license: curl - license_family: MIT - size: 400568 - timestamp: 1777462251987 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.18.0-h43ecb02_0.conda - sha256: 86258e30845571ea13855e8a0605275905781476f3edf8ae5df90a06fcada93a - md5: 2688214a9bee5d5650cd4f5f6af5c8f2 - depends: - - krb5 >=1.21.3,<1.22.0a0 - - libssh2 >=1.11.1,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: curl - license_family: MIT - size: 383261 - timestamp: 1767821977053 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.20.0-h8206538_0.conda - sha256: f4ce5aa835a698532feaa368e804365a7e45a9edebe006a8e1c80505d893c24e - md5: 7bee27a8f0a295117ccb864f30d2d87e + license: Zlib + license_family: Other + run_exports: + weak: + - minizip >=4.2.1,<5.0a0 + size: 475739 + timestamp: 1778003429852 +- conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda + sha256: 0a238d8500b2206b04f780093c25d83694c8c9628ea50f4376463c608168bf95 + md5: bc5ac4d19d24a6062f60560aab0e8976 depends: - - krb5 >=1.22.2,<1.23.0a0 - - libssh2 >=1.11.1,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: curl - license_family: MIT - size: 393114 - timestamp: 1777461635732 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.7-h19cb2f5_0.conda - sha256: c03c298355dea54b729ed6c5f1e6dbd0e2426906039eba8aa2ba1254d005b7d8 - md5: 423373b842c3861da6cfa8c8915798ce + - __osx >=11.0 + - gmp >=6.3.0,<7.0a0 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - mpfr >=4.2.2,<5.0a0 + size: 374756 + timestamp: 1773414598704 +- conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py312hdb80668_0.conda + sha256: 335f71b49d612985440f4442e4c95a74397b86f462cfb8b56b43f53044aaff29 + md5: 13f98c8be22877a6b44985c9018957e6 depends: - __osx >=11.0 - license: Apache-2.0 WITH LLVM-exception + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 license_family: Apache - size: 564939 - timestamp: 1780442565078 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.7-h55c6f16_0.conda - sha256: cceb668dc1b71f054b1036dd83eca2e02c0c3a4b2ba3ad28c74a982d819597a3 - md5: 0325fbe13eb6dd39234eb305ac1b3cb8 + run_exports: {} + size: 91250 + timestamp: 1782070772954 +- conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py313h862c624_0.conda + sha256: 816f16edc11caa675daba47419eb438cf9df88f74c0d5ffd05d1428c9d3e9158 + md5: ad0e8564023d0f623c10649d755116e6 depends: - __osx >=11.0 - license: Apache-2.0 WITH LLVM-exception + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 license_family: Apache - size: 568252 - timestamp: 1780441702930 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 - md5: 6c77a605a7a689d17d4819c0f8ac9a00 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 73490 - timestamp: 1761979956660 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.25-h517ebb2_0.conda - sha256: 025f8b1e85dd8254e0ca65f011919fb1753070eb507f03bca317871a884d24de - md5: 31aa65919a729dc48180893f62c25221 - depends: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 70840 - timestamp: 1761980008502 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-hc11a715_0.conda - sha256: 5e0b6961be3304a5f027a8c00bd0967fc46ae162cffb7553ff45c70f51b8314c - md5: a6130c709305cd9828b4e1bd9ba0000c + run_exports: {} + size: 91699 + timestamp: 1782070761191 +- conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.2.1-py314h0963f2d_0.conda + sha256: 1fc1abd4fa7c0e4197273d6dc86b352ab06b8153e9eebfa7b44b80be7c924c7b + md5: d625059c40ae8c04611ec03f3b3ba356 depends: - __osx >=11.0 - license: MIT - license_family: MIT - size: 55420 - timestamp: 1761980066242 -- conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - sha256: 834e4881a18b690d5ec36f44852facd38e13afe599e369be62d29bd675f107ee - md5: e77030e67343e28b084fabd7db0ce43e - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 156818 - timestamp: 1761979842440 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda - sha256: 7d3187c11b7ae66c5595a8afd5a7ce352a490527fdf6614cab129bc7f2c16ba3 - md5: d8d16b9b32a3c5df7e5b3350e2cbe058 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpciaccess >=0.19,<0.20.0a0 - license: MIT - license_family: MIT - size: 311505 - timestamp: 1778975798004 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda - sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 - md5: c277e0a4d549b03ac1e9d6cbbe3d017b - depends: - - ncurses - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD - size: 134676 - timestamp: 1738479519902 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321ha958ccf_0.conda - sha256: 6cc49785940a99e6a6b8c6edbb15f44c2dd6c789d9c283e5ee7bdfedd50b4cd6 - md5: 1f4ed31220402fcddc083b4bff406868 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 92969 + timestamp: 1782070841666 +- conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda + sha256: 5365f648eeb6770c9f05d01f95df9a050f28e3c6ad287178411560e8cdf12130 + md5: 60ca4e1376742de9d637162802d16102 depends: - - ncurses - __osx >=10.13 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD - size: 115563 - timestamp: 1738479554273 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda - sha256: 66aa216a403de0bb0c1340a88d1a06adaff66bae2cfd196731aa24db9859d631 - md5: 44083d2d2c2025afca315c7a172eab2b - depends: - - ncurses - - __osx >=11.0 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD - size: 107691 - timestamp: 1738479560845 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda - sha256: 9a25ea93e8272785405a21d30f84e620befb1d545f6dfaae18f06103b5df0443 - md5: 75e9f795be506c96dd43cb09c7c8d557 - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd - size: 46500 - timestamp: 1779728188901 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.conda - sha256: e4b46919c9bb65930bce238bd2736110ed7b8c30e5cd5394e4e1edb48de54843 - md5: 5bc6d55503483aabe8a90c5e7f49a2a4 - depends: - - __glibc >=2.17,<3.0.a0 - - libegl 1.7.0 ha4b6fd6_3 - - libgl-devel 1.7.0 ha4b6fd6_3 - - xorg-libx11 - license: LicenseRef-libglvnd - size: 31718 - timestamp: 1779728222280 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda - sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 - md5: 172bf1cd1ff8629f2b1179945ed45055 - depends: - - libgcc-ng >=12 - license: BSD-2-Clause - license_family: BSD - size: 112766 - timestamp: 1702146165126 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-h10d778d_2.conda - sha256: 0d238488564a7992942aa165ff994eca540f687753b4f0998b29b4e4d030ff43 - md5: 899db79329439820b7e8f8de41bca902 - license: BSD-2-Clause - license_family: BSD - size: 106663 - timestamp: 1702146352558 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda - sha256: 95cecb3902fbe0399c3a7e67a5bed1db813e5ab0e22f4023a5e0f722f2cc214f - md5: 36d33e440c31857372a72137f78bacf5 - license: BSD-2-Clause - license_family: BSD - 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-64/libevent-2.1.12-ha90c15b_1.conda - sha256: e0bd9af2a29f8dd74309c0ae4f17a7c2b8c4b89f875ff1d6540c941eefbd07fb - md5: e38e467e577bd193a7d5de7c2c540b04 - depends: - - openssl >=3.1.1,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 372661 - timestamp: 1685726378869 -- 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.8.1-hecca717_1.conda - sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 - md5: b24d3c612f71e7aa74158d92106318b2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 88773 + timestamp: 1771610901609 +- conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py313h84cef87_0.conda + sha256: 8ec2cdedd59bccf6ed97ca4da0b0f3b2a25892006c66b660b29f8258b2d3386a + md5: ba0bbe19fb2f82ca7da2c2d0b8b6ce55 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - size: 77856 - timestamp: 1781203599810 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - sha256: 9c96cc05e056e1bba5b545cbbd57b6e01db622dc2c82934caaaa25cfb22fe666 - md5: dcfdea7b7013beef0a4d744d776ea38f + - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 88966 + timestamp: 1771611016718 +- conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda + sha256: 4a0c8607ee512caec98978f07c121a739037b3bd1366bcef56818b45f2599785 + md5: a1d4e790758af6cf3dfaf32eb51d7769 + license: CECILL-C + run_exports: {} + size: 20731 + timestamp: 1771839461603 +- conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda + sha256: 8c6da71bf05f5cc93943acd18985247cd66bea2b18f7733726e6b0b3c2f411f7 + md5: 441331cb7a3c6337711c485861dda6e3 depends: + - mumps-include ==5.8.2 h6a5cfba_2 - __osx >=11.0 + - llvm-openmp >=19.1.7 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - metis >=5.1.0,<5.1.1.0a0 + - libscotch >=7.0.11,<7.0.12.0a0 + - libscotch * int64_* constrains: - - expat 2.8.1.* + - libopenblas * *openmp* + license: CECILL-C + run_exports: + weak: + - mumps-seq >=5.8.2,<5.8.3.0a0 + size: 2680960 + timestamp: 1771839461606 +- conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_0.conda + sha256: e5de9f34d6b99e2888ed03fc2e9385a04186d9dcd750a94526cc93f130861f11 + md5: d3aa5571d7b5182dcfbf8beb92c434a1 + depends: + - __osx >=10.13 + - libcxx >=18 + - llvm-openmp >=18.1.8 license: MIT license_family: MIT - size: 76020 - timestamp: 1781204303305 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda - sha256: 5af74261101e3c777399c6294b2b5d290e508153268eb2e9ff99c4d69834612f - md5: a915151d5d3c5bf039f5ccc8402a436f + run_exports: + weak: + - muparser >=2.3.5,<2.4.0a0 + size: 160748 + timestamp: 1747116869077 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda + sha256: f5f7e006ff4271305ab4cc08eedd855c67a571793c3d18aff73f645f088a8cae + md5: 31b8740cf1b2588d4e61c81191004061 depends: - __osx >=11.0 - constrains: - - expat 2.8.1.* + license: X11 AND BSD-3-Clause + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 831711 + timestamp: 1777423052277 +- conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py313hc346fa9_100.conda + sha256: 59d1a8d12d0608ea9cd6ff828221c15eb6fa1ffe328bbb31d709146cf0b512b5 + md5: b90b19c0e4c9395006e4cde35ea3104a + depends: + - __osx >=10.13 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 69362 - timestamp: 1781203631990 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 - md5: ccc490c81ffe14181861beac0e8f3169 + run_exports: {} + size: 1018861 + timestamp: 1760541202147 +- conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py314hf60e252_100.conda + sha256: e7b462ccdb9085d5d864eee2f4c4312dcb968d18de7a358da7421bd060e60d7d + md5: cb8267fd6b2719b8ac44fd810acbcc1c depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.8.1.* + - __osx >=10.13 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 71631 - timestamp: 1781203724164 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda - sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab - md5: ede4673863426c0883c0063d853bbd85 + run_exports: {} + size: 1019213 + timestamp: 1760540858549 +- conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.4-nompi_py312h6ec3a75_102.conda + sha256: daae3d13c2695cf5294c297f336d61d128000ba2b5b269097ad16203a9683425 + md5: 155692cb0f353637a9be03e3d185bfa5 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - python + - certifi + - cftime + - numpy + - hdf5 + - libnetcdf + - __osx >=10.13 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + - libzlib >=1.3.1,<2.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 license: MIT license_family: MIT - 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 + run_exports: {} + size: 1073738 + timestamp: 1768552459359 +- conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda + sha256: 8e1b8ac88e07da2910c72466a94d1fc77aa13c722f8ddbc7ae3beb7c19b41fc7 + md5: 97d7a1cda5546cb0bbdefa3777cb9897 + constrains: + - nlohmann_json-abi ==3.12.0 license: MIT license_family: MIT - size: 58592 - timestamp: 1769456073053 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda - sha256: 6394b1bc67c64a21a5cc73d1736d1d4193a64515152e861785c44d2cfc49edf3 - md5: 4ca9ea59839a9ca8df84170fab4ceb41 + run_exports: {} + size: 137081 + timestamp: 1768670842725 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py313h2f264a9_0.conda + sha256: bd734073319abbc2e2fa9ff745d5d2bc87c5cfb7d8dfee5ecc62ed0bc900e902 + md5: 296c6e5c1ecc11e592cc534fd73feac8 depends: - __osx >=10.13 + - deprecated + - libcxx >=19 + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - typing_extensions license: MIT license_family: MIT - size: 51216 - timestamp: 1743434595269 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.5.2-hd1f9c09_0.conda - sha256: 951958d1792238006fdc6fce7f71f1b559534743b26cc1333497d46e5903a2d6 - md5: 66a0dc7464927d0853b590b6f53ba3ea + run_exports: {} + size: 754832 + timestamp: 1764782873679 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py314hc4308db_0.conda + sha256: 25bdcd17a599efce1fc3a9840c0ce6ea0330682e96963a3ccd74f87c3593e5b4 + md5: 44a8614dd3db9cfbd30cf8a4efa3553c depends: - __osx >=10.13 + - deprecated + - libcxx >=19 + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing_extensions license: MIT license_family: MIT - size: 53583 - timestamp: 1769456300951 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda - sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60 - md5: c215a60c2935b517dcda8cad4705734d + run_exports: {} + size: 760296 + timestamp: 1764782841113 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda + sha256: d4bd108eca5444a3bec78fc7bcb3f3beb4e9ce53a9535115d5fb2b310ab78083 + md5: ce99b41d1fd2b6f29b57b45a43cf6dbe depends: - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 39839 - timestamp: 1743434670405 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda - sha256: 6686a26466a527585e6a75cc2a242bf4a3d97d6d6c86424a441677917f28bec7 - md5: 43c04d9cb46ef176bb2a4c77e324d599 + run_exports: {} + size: 206966 + timestamp: 1778499381483 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py313hb9105e7_2.conda + sha256: 6fc940104d4cf1937a93c87211f31f965e1d120303e3c1b10c3b54bb34d5eac9 + md5: 2bb8f81bd9f8a6f134c4d9b5d9275d1a depends: - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 40979 - timestamp: 1769456747661 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda - sha256: d3b0b8812eab553d3464bbd68204f007f1ebadf96ce30eb0cbc5159f72e353f5 - md5: 85d8fa5e55ed8f93f874b3b23ed54ec6 + run_exports: {} + size: 206773 + timestamp: 1778498979090 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py314hcacaf9e_2.conda + sha256: 4ce3504493c044bbc32542550bce2cc173fd794f4a5d29ca783d049f98c30bcf + md5: 8b8223a54da1571d5fa5b2ec1835594b depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 44978 - timestamp: 1743435053850 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 - md5: 720b39f5ec0610457b725eb3f396219a + run_exports: {} + size: 211256 + timestamp: 1778499134372 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda + sha256: 6152b73fba3e227afa4952df8753128fc9669bbaf142ee8f9972bf9df3bf8856 + md5: 96c61a21c4276613748dba069554846b depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 45831 - timestamp: 1769456418774 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda - sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 - md5: e289f3d17880e44b633ba911d57a321b + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=16 + - liblapack >=3.9.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.26.4,<2.0a0 + size: 6990646 + timestamp: 1707226178262 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.4.2-py314hfc4c462_1.conda + sha256: 13adde755c5daa6ae7d7dafcf64d0ba9d8b6aa249601eb163121953bccf6f030 + md5: 891bda68803fbbcf08d37f94981b650a depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL - size: 8049 - timestamp: 1774298163029 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype-2.14.3-h694c41f_1.conda - sha256: 9029ed0c940be8161c86f5338eacfad1f61af216cdc508e386a648f6ef893a28 - md5: 7cec36e11e7c5a674a1d8c1d5082479e + - python + - __osx >=10.13 + - libcxx >=19 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.23,<3 + size: 8150788 + timestamp: 1770098404066 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.4.6-py314h7b24d9b_0.conda + sha256: 8127ecc9ffbb291830cd6849a8e4f8d9027b130672d277c9444b1d36949f0a38 + md5: e04ed878a4f06bb20201dabf7a25f9ee depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL - size: 8394 - timestamp: 1780934152050 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_1.conda - sha256: d5637b01941c0fc8f5cbb1f170c238f4ee153b3c1708b9d50f4f1305438ff051 - md5: 0582e67cd14cfed773be2f3b1aba08e0 + - python + - libcxx >=19 + - __osx >=11.0 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.23,<3 + size: 8155498 + timestamp: 1779169315894 +- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.5.0-py313hb870fc3_0.conda + sha256: b0ee3b63e5270334a4131b7332c4f8833edad000c367f8eecec34809b9842f4f + md5: 1ff01178b0d3081fab1203bfefc12a21 + depends: + - python + - __osx >=11.0 + - libcxx >=19 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.13.* *_cp313 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.25,<3 + size: 8201819 + timestamp: 1782112644198 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openjdk-25.0.2-h48c29e7_0.conda + sha256: 6d75a78b11aa1100d8dda8b860ebd2943c0ba137cf87c205351ee2c02434cb23 + md5: 7039d4add86c40fed1ff9371d405391f + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: GPL-2.0-or-later WITH Classpath-exception-2.0 + license_family: GPL + run_exports: {} + size: 201289992 + timestamp: 1771443806108 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda + sha256: 9a37ecf9c086f3a50d0132e6087dcbe7ea978d80e2da267fa3199c486529b311 + md5: 46e628da6e796c948fa8ec9d6d10bda3 + 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 + run_exports: + weak: + - openjpeg >=2.5.4,<3.0a0 + size: 335227 + timestamp: 1772625294157 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda + sha256: dc50d2ba1c8d5ece38310f4a58ea7c65ab5630c0f302ec4699d80d58ce200550 + md5: b7de45fd799b2ca486296df849b8a57b depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL - size: 8365 - timestamp: 1780933612390 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda - sha256: 035d0c67bf9f7a16f4a1764f420c120f1a995d071bb265fcc66ef688ef709d7b - md5: e45b52fb9a81c9e2708465a706e05952 + - et_xmlfile + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 476736 + timestamp: 1769122437049 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py313hc34da29_3.conda + sha256: 999e9ee899177b8ddbfd9f392fc86df5f962c75f4cc06ff4ff217cdadcd51cac + md5: a0ee9f9b49a5bb1bae9513db7bb86595 depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL - size: 8711 - timestamp: 1780934891782 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda - sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d - md5: fb16b4b69e3f1dcfe79d80db8fd0c55d + - et_xmlfile + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 486427 + timestamp: 1769122429300 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py314h83828b2_3.conda + sha256: 2d417688d527e7ac86944a40815a0a18a21d48e44e7ca63528bfbfcb84e0e158 + md5: 0d66adb3b500f3bb3526b82fc285eb8e 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 - size: 384575 - timestamp: 1774298162622 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libfreetype6-2.14.3-h58fbd8d_1.conda - sha256: cc94862c51e68626fadddf68b523e5f752149186ccc498fa37976504e2e7ff55 - md5: 112cb22521fa3abf19bc0c93938576f5 + - et_xmlfile + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 489602 + timestamp: 1769122394569 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda + sha256: 819d4368d6b5b298fa40d4bc836c1250842489002cacf3fb918a13ee2033b7c6 + md5: 46be42ab403712fd349d007d763bf767 depends: - __osx >=11.0 - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - freetype >=2.14.3 - license: GPL-2.0-only OR FTL - size: 365107 - timestamp: 1780934149073 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda - sha256: abbfffd8a8c776bb8b59a10c8247fc3aa6b17ba0051e9f6d199dca38479f214f - md5: a0bb0678f67c464938d3693fa96f6884 + - ca-certificates + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 2775300 + timestamp: 1781071391999 +- conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.1-hd1b02dc_0.conda + sha256: a00d48750d2140ea97d92b32c171480b76b2632dbb9d19d1ae423999efcc825f + md5: b4646b6ddcbcb3b10e9879900c66ed48 depends: - __osx >=11.0 - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - freetype >=2.14.3 - license: GPL-2.0-only OR FTL - size: 338442 - timestamp: 1780933611662 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - sha256: 0bbd19c9f7c4d0232b31892e6a4d1f82b8d19d1b84d89725f1f491b336447758 - md5: 4e4d54f9f98383d977ba56ef39ebf46d - depends: - - libpng >=1.6.58,<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 - size: 340411 - timestamp: 1780934813224 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 - md5: 57736f29cc2b0ec0b6c2952d3f101b6a + - libcxx >=19 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - orc >=2.2.1,<2.2.2.0a0 + size: 521463 + timestamp: 1759424838652 +- conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda + sha256: 6c7048ba82eea4c92c1dc8bdf0a6989609367ffef9ff719cf86066bab046e0d0 + md5: 7323bc020618321c05afaf23f78460c0 depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_19 - - libgomp 15.2.0 he0feb66_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 1041084 - timestamp: 1778269013026 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgcc-15.2.0-h08519bb_19.conda - sha256: 17a5dcd818f89173db51d7d1acd77615cb77db7b4c2b5f571d4dafe559430ab5 - md5: 4bf33d5ca73f4b89d3495285a42414a4 + - __osx >=11.0 + - libcxx >=19 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - orc >=2.2.2,<2.2.3.0a0 + size: 522041 + timestamp: 1768248087348 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py313h2f264a9_1.conda + sha256: 4fe8cb4e528e83f74e4f9f4277e4464eefcab2c93bb3b2509564bbb903597efa + md5: edd7a9cfba45ab3073b594ec999a24fe depends: - - _openmp_mutex + - __osx >=10.13 + - libcxx >=19 + - numpy >=1.22.4 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.13.* *_cp313 + - pytz >=2020.1 constrains: - - libgomp 15.2.0 19 - - libgcc-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 424164 - timestamp: 1778271183296 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda - sha256: 06644fa4d34d57c9e48f4d84b1256f9e5f654fdb37f43acc8a58a396952d42b7 - md5: 644058123986582db33aebd4ae2ca184 + - pandas-gbq >=0.19.0 + - matplotlib >=3.6.3 + - fsspec >=2022.11.0 + - tzdata >=2022.7 + - pytables >=3.8.0 + - scipy >=1.10.0 + - pyreadstat >=1.2.0 + - numexpr >=2.8.4 + - pyarrow >=10.0.1 + - odfpy >=1.4.1 + - qtpy >=2.3.0 + - tabulate >=0.9.0 + - lxml >=4.9.2 + - zstandard >=0.19.0 + - s3fs >=2022.11.0 + - html5lib >=1.1 + - blosc >=1.21.3 + - pyqt5 >=5.15.9 + - pyxlsb >=1.0.10 + - numba >=0.56.4 + - xarray >=2022.12.0 + - fastparquet >=2022.12.0 + - bottleneck >=1.3.6 + - gcsfs >=2022.11.0 + - beautifulsoup4 >=4.11.2 + - openpyxl >=3.1.0 + - xlsxwriter >=3.0.5 + - xlrd >=2.0.1 + - sqlalchemy >=2.0.0 + - python-calamine >=0.1.7 + - psycopg2 >=2.9.6 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14330563 + timestamp: 1759266231408 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py314hc4308db_2.conda + sha256: 66df07b283018490ca7e75fd869a4ad8e542e61bf916f17463c8ad022cce7ffd + md5: b082e18eb2696625aa09c80e0fbd1997 depends: - - _openmp_mutex + - __osx >=10.13 + - libcxx >=19 + - numpy >=1.22.4 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.14.* *_cp314 + - pytz >=2020.1 constrains: - - libgcc-ng ==15.2.0=*_19 - - libgomp 15.2.0 19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 404080 - timestamp: 1778273064154 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda - sha256: 80e80ef5e31b00b12539db3c5aaecde60dab91381abfc1060e323d5c3b016dce - md5: cc5d690fc1c629038f13c68e88e65f44 + - openpyxl >=3.1.0 + - lxml >=4.9.2 + - tzdata >=2022.7 + - blosc >=1.21.3 + - pandas-gbq >=0.19.0 + - pyarrow >=10.0.1 + - odfpy >=1.4.1 + - sqlalchemy >=2.0.0 + - bottleneck >=1.3.6 + - gcsfs >=2022.11.0 + - beautifulsoup4 >=4.11.2 + - fsspec >=2022.11.0 + - numba >=0.56.4 + - pyxlsb >=1.0.10 + - scipy >=1.10.0 + - pyqt5 >=5.15.9 + - xarray >=2022.12.0 + - qtpy >=2.3.0 + - numexpr >=2.8.4 + - tabulate >=0.9.0 + - pyreadstat >=1.2.0 + - zstandard >=0.19.0 + - html5lib >=1.1 + - matplotlib >=3.6.3 + - xlsxwriter >=3.0.5 + - fastparquet >=2022.12.0 + - python-calamine >=0.1.7 + - xlrd >=2.0.1 + - pytables >=3.8.0 + - psycopg2 >=2.9.6 + - s3fs >=2022.11.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14362288 + timestamp: 1764615196689 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-3.0.3-py312h8e27051_0.conda + sha256: d72b541b510e3a1db86db3ce8d4c30bddc945c3c89eb2c9d16fde0cc9f82e497 + md5: 8cfffbf760a7d7abc16c79141ead177a depends: - - _openmp_mutex >=4.5 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - python + - numpy >=1.26.0 + - python-dateutil >=2.8.2 + - libcxx >=19 + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 constrains: - - msys2-conda-epoch <0.0a0 - - libgcc-ng ==15.2.0=*_19 - - libgomp 15.2.0 h8ee18e1_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 821854 - timestamp: 1778273037795 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda - sha256: 9dcf54adfaa5e861123c2da4f2f0451a685464ea7e5a41ad91cf67b31d658d98 - md5: 331ee9b72b9dff570d56b1302c5ab37d - depends: - - libgcc 15.2.0 he0feb66_19 - license: GPL-3.0-only WITH GCC-exception-3.1 + - adbc-driver-postgresql >=1.2.0 + - adbc-driver-sqlite >=1.2.0 + - beautifulsoup4 >=4.12.3 + - blosc >=1.21.3 + - bottleneck >=1.4.2 + - fastparquet >=2024.11.0 + - fsspec >=2024.10.0 + - gcsfs >=2024.10.0 + - html5lib >=1.1 + - hypothesis >=6.116.0 + - jinja2 >=3.1.5 + - lxml >=5.3.0 + - matplotlib >=3.9.3 + - numba >=0.60.0 + - numexpr >=2.10.2 + - odfpy >=1.4.1 + - openpyxl >=3.1.5 + - psycopg2 >=2.9.10 + - pyarrow >=13.0.0 + - pyiceberg >=0.8.1 + - pymysql >=1.1.1 + - pyqt5 >=5.15.9 + - pyreadstat >=1.2.8 + - pytables >=3.10.1 + - pytest >=8.3.4 + - pytest-xdist >=3.6.1 + - python-calamine >=0.3.0 + - pytz >=2024.2 + - pyxlsb >=1.0.10 + - qtpy >=2.4.2 + - scipy >=1.14.1 + - s3fs >=2024.10.0 + - sqlalchemy >=2.0.36 + - tabulate >=0.9.0 + - xarray >=2024.10.0 + - xlrd >=2.0.1 + - xlsxwriter >=3.2.0 + - zstandard >=0.23.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14170082 + timestamp: 1778602746933 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pandoc-3.10-h694c41f_0.conda + sha256: 713f1e020881d8ba3348d71782f6ffe549dbcfe712e3166e5054d417719fe5f2 + md5: 3147d9d8af6ecf8e4154598383d78f6f + license: GPL-2.0-or-later license_family: GPL - size: 27694 - timestamp: 1778269016987 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5fbf134_12.conda - sha256: 245be793e831170504f36213134f4c24eedaf39e634679809fd5391ad214480b - md5: 88c1c66987cd52a712eea89c27104be6 + run_exports: {} + size: 16932418 + timestamp: 1780595686082 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-h6ef8af8_0.conda + sha256: baab8ebf970fb6006ad26884f75f151316e545c47fb308a1de2dd47ddd0381c5 + md5: 8c6316c058884ffda0af1f1272910f94 depends: - - __glibc >=2.17,<3.0.a0 + - __osx >=10.13 + - cairo >=1.18.4,<2.0a0 - fontconfig >=2.15.0,<3.0a0 - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 + - fribidi >=1.0.10,<2.0a0 + - harfbuzz >=11.0.1 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libglib >=2.84.2,<3.0a0 + - libpng >=1.6.49,<1.7.0a0 - libzlib >=1.3.1,<2.0a0 - license: GD - license_family: BSD - size: 177306 - timestamp: 1766331805898 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda - sha256: 19e5be91445db119152217e8e8eec4fd0499d854acc7d8062044fb55a70971cd - md5: 68fc66282364981589ef36868b1a7c78 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 432832 + timestamp: 1751292511389 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda + sha256: c1150e6a405985b25830c18f896d5e89b9777ef7e420bc0b1d88634f9a614769 + md5: 591f9fcbb36fbd50caef590d9b1de614 depends: - - __glibc >=2.17,<3.0.a0 - - fontconfig >=2.15.0,<3.0a0 + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libgcc >=13 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libpng >=1.6.45,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.5.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - license: GD - license_family: BSD - size: 177082 - timestamp: 1737548051015 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-h8555400_11.conda - sha256: af8ca696b229236e4a692220a26421a4f3d28a6ceff16723cd1fe12bc7e6517c - md5: 0eea404372aa41cf95e71c604534b2a2 + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 431801 + timestamp: 1774282435173 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.45-hf733adb_0.conda + sha256: 5b2c93ee8714c17682cd926127f1e712efef00441a79732635a80b24f5adc212 + md5: d9f1976154f2f45588251dcfc48bcdda depends: - __osx >=10.13 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libiconv >=1.17,<2.0a0 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libpng >=1.6.45,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.5.0,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 - libzlib >=1.3.1,<2.0a0 - license: GD + license: BSD-3-Clause license_family: BSD - size: 162601 - timestamp: 1737548422107 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgd-2.3.3-hb2c11ec_12.conda - sha256: bf7b0c25b6cca5808f4da46c5c363fa1192088b0b46efb730af43f28d52b8f04 - md5: e12673b408d1eb708adb3ecc2f621d78 + run_exports: + weak: + - pcre2 >=10.45,<10.46.0a0 + size: 1086588 + timestamp: 1745955211398 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda + sha256: 8d64a9d36073346542e5ea042ef8207a45a0069a2e65ce3323ee3146db78134c + md5: 08f970fb2b75f5be27678e077ebedd46 depends: - __osx >=10.13 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 - libzlib >=1.3.1,<2.0a0 - license: GD + license: BSD-3-Clause license_family: BSD - size: 163145 - timestamp: 1766332198196 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda - sha256: 269edce527e204a80d3d05673301e0207efcd0dbeebc036a118ceb52690d6341 - md5: fa4a92cfaae9570d89700a292a9ca714 + run_exports: + weak: + - pcre2 >=10.47,<10.48.0a0 + size: 1106584 + timestamp: 1763655837207 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py312he84af14_0.conda + sha256: 720a4bb7aa1cb6a1d4fa026350f69785f5f11fe4899730d575e32292399f470a + md5: 2062ffb1b958b050e65ddd8556bcb4d8 depends: + - python - __osx >=11.0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libiconv >=1.18,<2.0a0 + - openjpeg >=2.5.4,<3.0a0 - libjpeg-turbo >=3.1.2,<4.0a0 - - libpng >=1.6.53,<1.7.0a0 + - libxcb >=1.17.0,<2.0a0 - libtiff >=4.7.1,<4.8.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - license: GD - license_family: BSD - size: 159247 - timestamp: 1766331953491 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-hb2c3a21_11.conda - sha256: be038eb8dfe296509aee2df21184c72cb76285b0340448525664bc396aa6146d - md5: 4581aa3cfcd1a90967ed02d4a9f3db4b + - tk >=8.6.13,<8.7.0a0 + - lcms2 >=2.18,<3.0a0 + - python_abi 3.12.* *_cp312 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + license: HPND + run_exports: {} + size: 973346 + timestamp: 1775060319565 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py313h23d381d_0.conda + sha256: 60f721fb766c585c370e1a936754163652cd9f4fd33bda5202ebcf38d502abd2 + md5: 69e4cefea9c222ea64b219df6ba5787d depends: + - python - __osx >=11.0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libiconv >=1.17,<2.0a0 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libpng >=1.6.45,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.5.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - license: GD - license_family: BSD - size: 156868 - timestamp: 1737548290283 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda - sha256: 9ab562c718bd3fcef5f6189c8e2730c3d9321e05f13749a611630475d41207fc - md5: 3a5b40267fcd31f1ba3a24014fe92044 - depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - libjpeg-turbo >=3.1.2,<4.0a0 - - libpng >=1.6.53,<1.7.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 - libtiff >=4.7.1,<4.8.0a0 + - libxcb >=1.17.0,<2.0a0 - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - xorg-libxpm >=3.5.17,<4.0a0 - license: GD - license_family: BSD - size: 166711 - timestamp: 1766331770351 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h7208af6_11.conda - sha256: 485a30af9e710feeda8d5b537b2db1e32e41f29ef24683bbe7deb6f7fd915825 - md5: 2070a706123b2d5e060b226a00e96488 - depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libjpeg-turbo >=3.0.0,<4.0a0 - - libpng >=1.6.45,<1.7.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.5.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - xorg-libxpm >=3.5.17,<4.0a0 - license: GD - license_family: BSD - size: 165838 - timestamp: 1737548342665 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.10.3-h02f45b3_13.conda - sha256: 9a1170e7eb91b947fbe32e9d8f42a6c5b750de77b327c088948ecacf9a0ab5bd - md5: 728c94f861dfb7d7cfb9244516626ca9 + - tk >=8.6.13,<8.7.0a0 + - python_abi 3.13.* *_cp313 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - openjpeg >=2.5.4,<3.0a0 + - lcms2 >=2.18,<3.0a0 + license: HPND + run_exports: {} + size: 986276 + timestamp: 1775060319565 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py314hc904d5e_0.conda + sha256: 58e340ddb5aac57ec8161b26cd025c6309d9266c38ca64f72217fd21173df1f0 + md5: fb32d458ddac23248e07a0830c6ffc7b depends: - - __glibc >=2.17,<3.0.a0 - - blosc >=1.21.6,<2.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - geotiff >=1.7.4,<1.8.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.26.0a0 - - libexpat >=2.7.1,<3.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.0,<4.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 - - libtiff >=4.7.0,<4.8.0a0 + - python + - __osx >=11.0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - lcms2 >=2.18,<3.0a0 - libwebp-base >=1.6.0,<2.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - openssl >=3.5.2,<4.0a0 - - pcre2 >=10.45,<10.46.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.10.3.* + - libtiff >=4.7.1,<4.8.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - python_abi 3.14.* *_cp314 + - libxcb >=1.17.0,<2.0a0 + - tk >=8.6.13,<8.7.0a0 + license: HPND + run_exports: {} + size: 1015315 + timestamp: 1775060319565 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda + sha256: ff8b679079df25aa3ed5daf3f4e3a9c7ee79e7d4b2bd8a21de0f8e7ec7207806 + md5: 742a8552e51029585a32b6024e9f57b4 + depends: + - __osx >=10.13 + - libcxx >=19 license: MIT license_family: MIT - size: 11007446 - timestamp: 1755813512112 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-core-3.12.2-hc2c0581_1.conda - sha256: 8e3b5a88a114a0a23caf12cd049f21f1554b721438731721889d2404fd026cfd - md5: c8ca404aeab8e32c9d6d82a82aeb6511 + run_exports: + weak: + - pixman >=0.46.4,<1.0a0 + size: 390942 + timestamp: 1754665233989 +- conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.42.0-py310h3769acf_0.conda + noarch: python + sha256: 727b95495cefa85f20104ffa283e44f6257bcc864fecfe059862cfdf1a554740 + md5: e86a89e68c80f641ba5aa7523a61130b depends: - - __glibc >=2.17,<3.0.a0 - - blosc >=1.21.6,<2.0a0 - - geos >=3.14.1,<3.14.2.0a0 - - giflib >=5.2.2,<5.3.0a0 - - json-c >=0.18,<0.19.0a0 - - lerc >=4.0.0,<5.0a0 - - libarchive >=3.8.5,<3.9.0a0 - - libcurl >=8.18.0,<9.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libexpat >=2.7.4,<3.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libjxl >=0.11,<1.0a0 - - libkml >=1.3.0,<1.4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libspatialite >=5.1.0,<5.2.0a0 - - libsqlite >=3.51.2,<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.5,<4.0a0 - - pcre2 >=10.47,<10.48.0a0 - - proj >=9.7.1,<9.8.0a0 - - xerces-c >=3.3.0,<3.4.0a0 - - zstd >=1.5.7,<1.6.0a0 + - python + - libcxx >=19 + - __osx >=11.0 + - _python_abi3_support 1.* + - cpython >=3.10 constrains: - - libgdal 3.12.2.* + - __osx >=10.13 license: MIT license_family: MIT - size: 12962357 - timestamp: 1771393493666 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.10.3-h55ca5b3_13.conda - sha256: 2f97f2381214aaac551b5774a25c030c9f760adcfa28e2d36beb680903c12518 - md5: 96495dc8bed9b6ca13ba4d5f5af422e8 + run_exports: {} + size: 40597497 + timestamp: 1782310403483 +- conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.6.2-h8462e38_2.conda + sha256: d3bad35930d6ddaef85881c0bc88a5cd5122a6efa4a8f6b645d4642053f172f7 + md5: 00a64f7f9888ad6a05ff9766058c33cc depends: - __osx >=10.13 - - blosc >=1.21.6,<2.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - geotiff >=1.7.4,<1.8.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.26.0a0 - - libexpat >=2.7.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.0,<4.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 - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - openssl >=3.5.2,<4.0a0 - - pcre2 >=10.45,<10.46.0a0 - - proj >=9.6.2,<9.7.0a0 - - xerces-c >=3.2.5,<3.3.0a0 - - zstd >=1.5.7,<1.6.0a0 + - sqlite constrains: - - libgdal 3.10.3.* + - proj4 ==999999999999 license: MIT license_family: MIT - size: 9213226 - timestamp: 1755814469068 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-core-3.12.2-hbf8631d_1.conda - sha256: bc0f5e1275da95d91f59e39539056b527292a1f126fe44a3c84ca465c330b06f - md5: c0f41c8a932df0fcdb8f2bfe0bb124db + run_exports: + weak: + - proj >=9.6.2,<9.7.0a0 + size: 2914595 + timestamp: 1754928086110 +- conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda + sha256: 848b0393f363ab49169d9a7d4dccef15cb4b34cbdbc6365240dd7e70bd602173 + md5: 86a72148f2ace31569279a41c903f1be depends: - - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - - geos >=3.14.1,<3.14.2.0a0 - - giflib >=5.2.2,<5.3.0a0 - - json-c >=0.18,<0.19.0a0 - - lerc >=4.0.0,<5.0a0 - - libarchive >=3.8.5,<3.9.0a0 - - libcurl >=8.18.0,<9.0a0 + - sqlite + - libtiff + - libcurl - libcxx >=19 - - libdeflate >=1.25,<1.26.0a0 - - libexpat >=2.7.4,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libjxl >=0.11,<1.0a0 - - libkml >=1.3.0,<1.4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libspatialite >=5.1.0,<5.2.0a0 + - __osx >=10.13 + - libcurl >=8.18.0,<9.0a0 + - libtiff >=4.7.1,<4.8.0a0 - libsqlite >=3.51.2,<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.5,<4.0a0 - - pcre2 >=10.47,<10.48.0a0 - - proj >=9.7.1,<9.8.0a0 - - xerces-c >=3.3.0,<3.4.0a0 - - zstd >=1.5.7,<1.6.0a0 constrains: - - libgdal 3.12.2.* + - proj4 ==999999999999 license: MIT license_family: MIT - size: 10774393 - timestamp: 1771394024659 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.3-hef24e92_13.conda - sha256: b225d1f7343693dae975ba18a77fa64f7a1a6906531aa98f8d101f98beb8db3c - md5: 88b8ebd6c260daeaee3a7b0790186207 + run_exports: + weak: + - proj >=9.7.1,<9.8.0a0 + size: 3235372 + timestamp: 1770890768263 +- conda: https://conda.anaconda.org/conda-forge/osx-64/prometheus-cpp-1.3.0-h7802330_0.conda + sha256: af754a477ee2681cb7d5d77c621bd590d25fe1caf16741841fc2d176815fc7de + md5: f36107fa2557e63421a46676371c4226 + depends: + - __osx >=10.13 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - zlib + license: MIT + license_family: MIT + run_exports: + weak: + - prometheus-cpp >=1.3.0,<1.4.0a0 + size: 179103 + timestamp: 1730769223221 +- conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda + sha256: ec41a0405198e471a600091ef26bd39052a5ef88328d421571cdd8a4b64e6380 + md5: 2f121d7f322c261516114043a493193f depends: - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - geotiff >=1.7.4,<1.8.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 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 49489 + timestamp: 1780038241106 +- conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py313h035b7d0_0.conda + sha256: 709812080146f1203b86dd90d752412834beb3e408b1002a935faecde9ae70ff + md5: 10f6fd4a4769a90dc23ec09bb19ab909 + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 49349 + timestamp: 1780038180457 +- conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda + sha256: f943fdccd095beaa7773615dab762ce846aa1f98a9d7ba0dcb90b85de77bdb21 + md5: 4283909633ec7d07839e150f7a52c01b + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 - libcxx >=19 - - libdeflate >=1.24,<1.26.0a0 - - libexpat >=2.7.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.0,<4.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 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - openssl >=3.5.2,<4.0a0 - - pcre2 >=10.45,<10.46.0a0 - - proj >=9.6.2,<9.7.0a0 - - xerces-c >=3.2.5,<3.3.0a0 - - zstd >=1.5.7,<1.6.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libprotobuf 6.31.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 463022 + timestamp: 1760393759851 +- conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py313hc85ccdc_2.conda + sha256: 0e82d841af2bafb89a298193cbee6f872927ab3d737eda2a3b90367e26abc3b2 + md5: be212a91c302314032626a0efaeec1fb + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 constrains: - - libgdal 3.10.3.* - license: MIT - license_family: MIT - size: 8509314 - timestamp: 1755814377889 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda - sha256: ebec0f2466bc46f65d5738574a209aa5d75026f85f254a7b75a502606e4199c5 - md5: 7b1495aaf715847f1483b13712d2ca2b + - libprotobuf 6.31.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 471960 + timestamp: 1760393562957 +- conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py314hbf63cc6_2.conda + sha256: ab0a4022b5ef71b3821aa93e594b3ec31c9f1b930c5cf314b885b5bd788cb2dc + md5: 7defaa043d0a76a76df0c81cac169144 depends: - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - - geos >=3.14.1,<3.14.2.0a0 - - giflib >=5.2.2,<5.3.0a0 - - json-c >=0.18,<0.19.0a0 - - lerc >=4.0.0,<5.0a0 - - libarchive >=3.8.5,<3.9.0a0 - - libcurl >=8.18.0,<9.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 - libcxx >=19 - - libdeflate >=1.25,<1.26.0a0 - - libexpat >=2.7.4,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libjxl >=0.11,<1.0a0 - - libkml >=1.3.0,<1.4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libspatialite >=5.1.0,<5.2.0a0 - - libsqlite >=3.51.2,<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.5,<4.0a0 - - pcre2 >=10.47,<10.48.0a0 - - proj >=9.7.1,<9.8.0a0 - - xerces-c >=3.3.0,<3.4.0a0 - - zstd >=1.5.7,<1.6.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 constrains: - - libgdal 3.12.2.* + - libprotobuf 6.31.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 473866 + timestamp: 1760394022184 +- conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda + sha256: 517c17b24349476535db4da7d1cd31538dadf2c77f9f7f7d8be6b7dc5dfbb636 + md5: 1fd947fae149960538fc941b8f122bc1 + depends: + - python + - __osx >=10.13 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 236338 + timestamp: 1769678402626 +- conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py313h16366db_0.conda + sha256: b50a9d64aabd30c05e405cc1166f21fd7dee8d1b42ef38116701883d3bd4d5fa + md5: c8185e1891ace76e565b4c28dd50ed5d + depends: + - python + - __osx >=10.13 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 239894 + timestamp: 1769678319684 +- conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py314hd330473_0.conda + sha256: 3194ce0d94c810cb1809da851261be34e1cae72ca345445b29e61766b38ee6cc + md5: d465805e603072c341554159939be5b8 + depends: + - python + - __osx >=10.13 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 242816 + timestamp: 1769678225798 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda + sha256: 05944ca3445f31614f8c674c560bca02ff05cb51637a96f665cb2bbe496099e5 + md5: 8bcf980d2c6b17094961198284b8e862 + depends: + - __osx >=10.13 license: MIT license_family: MIT - size: 9876702 - timestamp: 1771394217278 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.10.3-h228a343_13.conda - sha256: f37f125e192de1a2a08bf74efeec68194b7fcd18f6fe5a86000c46ea27ed0778 - md5: 9da0330748ecb59ebb337952930a60af + run_exports: {} + size: 8364 + timestamp: 1726802331537 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py312hda2ad9a_3.conda + sha256: c702ca6041aaee5bb6517796bfd2412d38f297854cc2b8911896d8f48ca103e4 + md5: b6f6e7a2c6800cc8b57e072824a00ffc depends: - - blosc >=1.21.6,<2.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - geotiff >=1.7.4,<1.8.0a0 - - lerc >=4.0.0,<5.0a0 - - libarchive >=3.8.1,<3.9.0a0 - - libcurl >=8.14.1,<9.0a0 - - libdeflate >=1.24,<1.26.0a0 - - libexpat >=2.7.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.0,<4.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 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - openssl >=3.5.2,<4.0a0 - - pcre2 >=10.45,<10.46.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.10.3.* + - amply >=0.1.2 + - coin-or-cbc + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 8439600 - timestamp: 1755815497434 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda - sha256: a84fe9c5c4ffe360bde5ede10d388570851ba6fcd4f84e99816a6c2f20e809cb - md5: 9f22154b122af399b220678d35edcc9d + run_exports: {} + size: 224939 + timestamp: 1757853409971 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py314h123ab73_3.conda + sha256: 30d783d20bbb0090c46d1bc40466889463e834170289a22d720a346736e6e347 + md5: 89ba95cb38166a9d5dbadd8b014e7cd8 depends: - - blosc >=1.21.6,<2.0a0 - - geos >=3.14.1,<3.14.2.0a0 - - lerc >=4.0.0,<5.0a0 - - libarchive >=3.8.5,<3.9.0a0 - - libcurl >=8.18.0,<9.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libexpat >=2.7.4,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libjxl >=0.11,<1.0a0 - - libkml >=1.3.0,<1.4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libspatialite >=5.1.0,<5.2.0a0 - - libsqlite >=3.51.2,<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.5,<4.0a0 - - pcre2 >=10.47,<10.48.0a0 - - proj >=9.7.1,<9.8.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - xerces-c >=3.3.0,<3.4.0a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - libgdal 3.12.2.* + - amply >=0.1.2 + - coin-or-cbc + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 9816282 - timestamp: 1771395249315 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf4-3.12.2-hf70aa56_1.conda - sha256: 062b2d4c436b5b5e2b1b956b208dc053c7da480b36a909d6ef79017daed4650c - md5: ecf7b755370673d8d116ce45f7c8bbaa + run_exports: {} + size: 229603 + timestamp: 1757853375386 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py312hb401068_3.conda + sha256: a765b006165f51833fdf0ae228b085e4c68ae20b492e7b47bd927ecdb370c08c + md5: 663118ba01872e23d71eb17b8e617168 depends: - - __glibc >=2.17,<3.0.a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - libaec >=1.1.5,<2.0a0 - - libgcc >=14 - - libgdal-core 3.12.2 hc2c0581_1 - - libstdcxx >=14 + - libarrow-acero 21.0.0.* + - libarrow-dataset 21.0.0.* + - libarrow-substrait 21.0.0.* + - libparquet 21.0.0.* + - pyarrow-core 21.0.0 *_3_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 33389 + timestamp: 1770650434937 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py313habf4b1d_0.conda + sha256: f7be5632510f97483e89e296d2929006fb3b741cffa89a872a09a09cedd3bb97 + md5: 5a1b0ff8d04d3343edda66e26425523a + depends: + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 27296 + timestamp: 1769291600131 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py314hee6578b_0.conda + sha256: 4423a9755547e4c17a2c6dcacea970ce94eb06a0d488287859d3aae6ccc33fb9 + md5: 274dffd360c22b5dafab399012c5caa2 + depends: + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 27283 + timestamp: 1769291571114 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py312h46fdf74_3_cpu.conda + build_number: 3 + sha256: a479e8e6c43866e1ac247718ea49423b85fc6953c32895a7ae0d95743c214eee + md5: bc3ec64f406a65e66c49c291a7dd763b + depends: + - __osx >=10.13 + - libarrow 21.0.0.* *cpu + - libarrow-compute 21.0.0.* *cpu + - libcxx >=18 + - 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 + run_exports: {} + size: 4343661 + timestamp: 1770650313474 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py313h83f9c1b_0_cpu.conda + sha256: 2a3f8241a63f3a542fe977a122898d551a18c49be3c8fdae9f3e95ea2c55a149 + md5: 79cb6380e69848540ca3f42460900880 + depends: + - __osx >=10.13 + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libcxx >=21 + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + constrains: + - apache-arrow-proc * cpu + - numpy >=1.23,<3 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 4429445 + timestamp: 1770673095365 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py314hf51c35e_0_cpu.conda + sha256: 618f94821d68d6f49afd9dcecd32f57ab0f4f0a04cc5487148dbef71576954e3 + md5: ce8148bb646414ee67fd5bbed585acce + depends: + - __osx >=10.13 + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libcxx >=21 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - apache-arrow-proc * cpu + - numpy >=1.23,<3 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 4024788 + timestamp: 1770672922376 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py313h23ec8f2_0.conda + sha256: 66b1f30f0968f00b748710f7ee9ac410e98edccb6a53ae590aa1bd53f145a631 + md5: c6f73413ba12c55c2a0b6d2f3c1474d0 + depends: + - python + - typing-extensions >=4.6.0,!=4.7.0 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + constrains: + - __osx >=10.13 license: MIT license_family: MIT - size: 562852 - timestamp: 1771394821155 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf4-3.12.2-h2f08c0b_1.conda - sha256: d4ea393ba74f89ef295b9248388d2dd1a31096143139241219017d8a31b4e54b - md5: 2f3c40860f85bf02205e5b782b5be0bd + run_exports: {} + size: 1879854 + timestamp: 1778084387529 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py314h8916c15_0.conda + sha256: 555021648575077c62d429feb4530c724915af6f92e3d77f2accb4789c071778 + md5: a98f01ef277ca30e27a29bda4168b158 + depends: + - python + - typing-extensions >=4.6.0,!=4.7.0 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + constrains: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: {} + size: 1883108 + timestamp: 1778084289874 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.2.1-py314h8a73851_0.conda + sha256: 08f2221c040f1e1393981a8e577bef42fe7140de169e82e60874a99e660ea0ab + md5: 2d1b140fc33b5a49ca183bcc330e7601 depends: - __osx >=11.0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - libaec >=1.1.5,<2.0a0 - - libcxx >=19 - - libgdal-core 3.12.2 hbf8631d_1 + - libffi >=3.5.2,<3.6.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools license: MIT license_family: MIT - size: 551459 - timestamp: 1771397020089 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda - sha256: 6a65a02026713f03e371f50b0092b6379dfe7bfbddd7fe74b427f32382b59725 - md5: 47e896a67e8246c6ef98f9dc13181ef1 + run_exports: {} + size: 2302785 + timestamp: 1782231924955 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.2.1-py314hb60be56_0.conda + sha256: 606d09697b81dbc952b49a80b859d8c122d9098797014738281224fb70d3af20 + md5: 02a7573b6ee675989d86b295b66fd6e0 depends: - __osx >=11.0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - libaec >=1.1.5,<2.0a0 - - libcxx >=19 - - libgdal-core 3.12.2 h779b996_1 + - libffi >=3.5.2,<3.6.0a0 + - pyobjc-core 12.2.1.* + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 544595 - timestamp: 1771397140733 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda - sha256: 2dc401a74cbda6432633ab3cd86e9bdbf30dc834b90534475f75921afae9895a - md5: 861e471b9d7df1eed52ea9a25f227951 + run_exports: {} + size: 380745 + timestamp: 1782265589788 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.11.0-py312h4bcfd6b_0.conda + sha256: 4446fb33d948eae324c378cf3762d64b1d464a4aeff0c6cf55e09869cf2828b4 + md5: 9c4e1cab59f2b45a86e354bc25eeb0ac depends: - - hdf4 >=4.2.15,<4.2.16.0a0 - - libaec >=1.1.5,<2.0a0 - - libgdal-core 3.12.2 h9774fe2_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=10.13 + - libcxx >=18 + - libgdal-core >=3.10.3,<3.11.0a0 + - numpy + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 566768 - timestamp: 1771398131827 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-hdf5-3.12.2-hcaab353_1.conda - sha256: f5aa2ef73644ec614ff46ae4c8402d73f00f1d4a3e571e247635a0a14ebb448e - md5: ebc9b2164b2e599d5375361e230a1540 + run_exports: {} + size: 599006 + timestamp: 1746735008528 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py313h8e1be7a_0.conda + sha256: d6f0e668999d958000ca1621699ac877405e375eeb46a7bc4c98334feea68c85 + md5: b58a673faf1399b9bdcdddef8ecea923 depends: - - __glibc >=2.17,<3.0.a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgcc >=14 - - libgdal-core 3.12.2 hc2c0581_1 - - libstdcxx >=14 + - __osx >=10.13 + - libcxx >=19 + - libgdal-core >=3.12.0,<3.13.0a0 + - numpy + - packaging + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 673369 - timestamp: 1771394889641 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-hdf5-3.12.2-hd721b9a_1.conda - sha256: 6eac5630269c86f3f08f1417bd066385e50595bf9ea1b62c5d490685436b4300 - md5: 157c42a38b3a6c6cd8816babe2376c09 + run_exports: {} + size: 607350 + timestamp: 1764402734273 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py314h687fbad_0.conda + sha256: 99d658c184c934b7b8a38e05e2f138e1deeb6adb8aed9d5ffb02176e78d1e438 + md5: adbb3fccb1336078d0263369698285cc depends: - - __osx >=11.0 - - hdf5 >=1.14.6,<1.14.7.0a0 + - __osx >=10.13 - libcxx >=19 - - libgdal-core 3.12.2 hbf8631d_1 + - libgdal-core >=3.12.0,<3.13.0a0 + - numpy + - packaging + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 624061 - timestamp: 1771397252507 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda - sha256: 86d4deca8bd72c5d402c0a89905952f6fa51246f718d05fced80efb5dc4c864c - md5: 54fc1bd391970992305aa62e753992f5 + run_exports: {} + size: 610356 + timestamp: 1764402783220 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.0-py314h7008281_0.conda + sha256: 82b1fae2a942b87b60b2903eeae14a4b643e336863c7d45b54ea2d4a0db79fe5 + md5: d75232845e170dd171b66f4b4315a947 depends: - __osx >=11.0 - - hdf5 >=1.14.6,<1.14.7.0a0 - libcxx >=19 - - libgdal-core 3.12.2 h779b996_1 - license: MIT - license_family: MIT - size: 612371 - timestamp: 1771397379542 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda - sha256: c9211ed92d9862fc6e2ffc9a8db86ef18aaa759ca9a1ec250eb11d97f3ecfb18 - md5: 150230ce593ad139e1ab1437954b81e2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8125662 + timestamp: 1771631394115 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda + sha256: a0b3febaa941acaf3c7b298d80a2e240792fa4acfc408002cb9c274218a10a6c + md5: 434369ae1489f8fdda2135b6090de7b9 depends: - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgdal-core 3.12.2 h9774fe2_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=11.0 + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8218626 + timestamp: 1780617119134 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py313hbc4457e_1.conda + sha256: 9651b56c0c76ffd1539beccdc8af4763080979960265447a37bebacb359a409b + md5: 43f97a30faac0cdda513c9427ae6ada2 + depends: + - __osx >=11.0 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - setuptools + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8270377 + timestamp: 1780617525868 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312hb613793_1.conda + sha256: 31e729d0b0f55628d56260f6d79a7010e33732e3a7e32ad5b417b1c23b43fefc + md5: d64162d9eda9f2eb57fa777de83f53d4 + depends: + - __osx >=10.13 + - certifi + - proj >=9.6.2,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 643803 - timestamp: 1771398296860 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgdal-netcdf-3.12.2-h03ef1cf_1.conda - sha256: 8738ba6b64077ba579786c8b902262394b778d1d2cf11e3baf75e3b97a7dc47e - md5: ed2754a12c4fcc929bb39d6b6cc8729c + run_exports: {} + size: 478378 + timestamp: 1756536813423 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py313hb57fe85_3.conda + sha256: a825e90fe0f292cf2596f8001487ec6215dd45550857ec62db30b6d4fcc688bc + md5: 1182dbafb963ed41bf46baa835bc8c76 depends: - - __glibc >=2.17,<3.0.a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgcc >=14 - - libgdal-core 3.12.2 hc2c0581_1 - - libgdal-hdf4 3.12.2.* - - libgdal-hdf5 3.12.2.* - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libstdcxx >=14 + - python + - proj + - certifi + - __osx >=11.0 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 745903 - timestamp: 1771395436997 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgdal-netcdf-3.12.2-ha19e286_1.conda - sha256: 392b20756d3c284212d32d623e483ec93f061f5d9fec08b3d5f0ac3d7e308913 - md5: 17ed908c9fe48af590929b9959adfd75 + run_exports: {} + size: 524929 + timestamp: 1772623286713 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py314hae267ec_3.conda + sha256: d7c14cebc79246bcbce0ecc7d641afa03a2b135000597e7b0b79725e599d8802 + md5: 37baf852b810311b17ed3652c7b5677e depends: + - python + - proj + - certifi - __osx >=11.0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libcxx >=19 - - libgdal-core 3.12.2 hbf8631d_1 - - libgdal-hdf4 3.12.2.* - - libgdal-hdf5 3.12.2.* - - libnetcdf >=4.9.3,<4.9.4.0a0 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 695157 - timestamp: 1771399111486 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda - sha256: 16312eb415f4ac623edc367a3e313dc4bb6ff8cf7bda0bda6177105838b70d5d - md5: 655acd448c73740abdb3716407a3a650 + run_exports: {} + size: 531229 + timestamp: 1772623286690 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py313h2589dda_0.conda + sha256: bf0ff1a97048f2ea7c18a7ee3cf639fc9e206cacf9153a4e6e17a2bac7d35aa0 + md5: 9f0b0edb56701ff00064d18e3deec27f depends: - - __osx >=11.0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 + - python + - numpy >=1.16.0 - libcxx >=19 - - libgdal-core 3.12.2 h779b996_1 - - libgdal-hdf4 3.12.2.* - - libgdal-hdf5 3.12.2.* - - libnetcdf >=4.9.3,<4.9.4.0a0 + - __osx >=11.0 + - numpy >=1.23,<3 + - scip >=10.0.0,<11.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 673336 - timestamp: 1771399384417 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda - sha256: 080eb227d80120b4c93d71efc881bfdbd11bed90c3707cb536893ba15fa52c01 - md5: 300ec561b23a4018262b90995350061a + run_exports: {} + size: 960012 + timestamp: 1778947415116 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py314h72ea864_0.conda + sha256: 8a6879b204a95bf2a183a938ede943368adf90fd222de38f5dcd5809dd27aca6 + md5: ccd806cf6a84d1b7a10c66689d8d3e93 depends: - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgdal-core 3.12.2 h9774fe2_1 - - libgdal-hdf4 3.12.2.* - - libgdal-hdf5 3.12.2.* - - libnetcdf >=4.9.3,<4.9.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python + - numpy >=1.16.0 + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + - scip >=10.0.0,<11.0a0 + - numpy >=1.23,<3 license: MIT license_family: MIT - size: 690068 - timestamp: 1771399686055 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - sha256: 561a42758ef25b9ce308c4e2cf56daee4f06138385a17e29a492cd928e00be6f - md5: 42bf7eca1a951735fa06c0e3c0d5c8e6 - depends: - - libgfortran5 15.2.0 h68bc16d_19 - constrains: - - libgfortran-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27655 - timestamp: 1778269042954 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-15.2.0-h7e5c614_19.conda - sha256: 519045363b87b870be779d38f0bfd325d4b787acdaa0a2136a92c1081eff5112 - md5: d362f41203d0a1d2d4940446f95374c9 - depends: - - libgfortran5 15.2.0 hd16e46c_19 - constrains: - - libgfortran-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 139925 - timestamp: 1778271458366 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda - sha256: d4837b3b9b30af3132d260225e91ab9dde83be04c59513f500cc81050fb37486 - md5: 1ea03f87cdb1078fbc0e2b2deb63752c - depends: - - libgfortran5 15.2.0 hdae7583_19 - constrains: - - libgfortran-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 139675 - timestamp: 1778273280875 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-15.2.0-h69a702a_19.conda - sha256: 9ca1d254a3e44e608abec6186b18d372cec21e5253e6da9750f4a8f4780ea0bb - md5: 35d07243abf828674d273aecd1dd537e - depends: - - libgfortran 15.2.0 h69a702a_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27727 - timestamp: 1778269220455 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - sha256: 057978bb69fea29ed715a9b98adf71015c31baecc4aeb2bfc20d4fd5d83579d4 - md5: 85072b0ad177c966294f129b7c04a2d5 - 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 - size: 2483673 - timestamp: 1778269025089 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-15.2.0-hd16e46c_19.conda - sha256: c7f5f6e80357d6d5bc69588c16144205b0c79cf32cd090ccb5afef9d557632af - md5: 1cddb3f7e54f5871297afc0fafa61c2c - depends: - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 1063687 - timestamp: 1778271196574 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda - sha256: d0a68b7a121d115b80c169e24d1265dcc25a3fe58d107df1bbc430797e226d88 - md5: ba36d8c606a6a53fe0b8c12d47267b3d + run_exports: {} + size: 969230 + timestamp: 1778947419312 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.10.2-py312hde43864_11.conda + sha256: fcddc88659abc6416fbc1a4c532d42c0f80a628a790b01ae42645f7fc4cc375e + md5: b4c8331ee7ae2189e22b399ec1a16c48 depends: - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 599691 - timestamp: 1778273075448 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - sha256: ec353b3076ed8e357ed961d0e9ff6997491cade0e603de5bd18a2e301ac78ebd - md5: f25206d7322c0e9648e8b83694d143ab + - __osx >=10.13 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=2.23.0,<2.24.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 + - libzlib >=1.3.1,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1523751 + timestamp: 1770024044849 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py313hd7fc5ae_3.conda + sha256: 642a364cc992b40f206e64a56d0f4c7f02ce515ae18d6fdbdbfa61def6c279fe + md5: 9dcf05a5faa33c83a37e5b33891c85c1 depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - - libglx 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd - size: 133469 - timestamp: 1779728207669 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - sha256: 41d7d864ad1f199bdb06ff6cc3931455c8af62f1d2071a08c6fa08affbcb678f - md5: 63e43d278ee5084813fe3c2edf4834ce + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1550018 + timestamp: 1780065288684 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py314hd3b5d2a_3.conda + sha256: 001fe2e335a36f010aecc54f4778846a9a594ed8ec9f1c93cb993ec0301fb2ef + md5: 9c687523f836bc16357bba75574ecefc depends: - - __glibc >=2.17,<3.0.a0 - - libgl 1.7.0 ha4b6fd6_3 - - libglx-devel 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd - size: 115664 - timestamp: 1779728218325 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.84.3-hf39c6af_0.conda - sha256: e1ad3d9ddaa18f95ff5d244587fd1a37aca6401707f85a37f7d9b5002fcf16d0 - md5: 467f23819b1ea2b89c3fc94d65082301 + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1567780 + timestamp: 1780065283541 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.12-h3999593_0_cpython.conda + sha256: dfeee761021f0a84ade2c38d60fe8506771e49f992063377094fba11002d15ef + md5: 50be3ddc448ca63b24d145ebf9954877 depends: - - __glibc >=2.17,<3.0.a0 + - __osx >=10.13 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.1,<3.0a0 - libffi >=3.4.6,<3.5.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libsqlite >=3.50.4,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.45,<10.46.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.4,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata constrains: - - glib 2.84.3 *_0 - license: LGPL-2.1-or-later - size: 3961899 - timestamp: 1754315006443 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda - sha256: 33eb5d5310a5c2c0a4707a0afa644801c2e08c8f70c45e1f62f354116dfe0970 - md5: 17d484ab9c8179c6a6e5b7dbb5065afc + - python_abi 3.12.* *_cp312 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.12.* *_cp312 + noarch: + - python + size: 13685943 + timestamp: 1760368419157 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.14-h3d5d122_100_cp313.conda + build_number: 100 + sha256: a92dd0f84a8a715dc7ac45bacbfdfca9f06eadd2b327cbe915fff9d386ae9ffb + md5: a8798b5d0bc70f11e1e1183b6795c007 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.1,<3.0a0 - libffi >=3.5.2,<3.6.0a0 - - pcre2 >=10.47,<10.48.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 - libzlib >=1.3.2,<2.0a0 - - libiconv >=1.18,<2.0a0 - constrains: - - glib >2.66 - license: LGPL-2.1-or-later - size: 4754097 - timestamp: 1778508800134 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.84.3-h5fed8df_0.conda - sha256: 28d60cfaa74dd5427b35941ea28069bfd87d4dfdaaae79b13e569b4b4c21098d - md5: 2bb92de7159f9c47a4455eb3c08484d8 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.13.* *_cp313 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + license: Python-2.0 + run_exports: + weak: + - python_abi 3.13.* *_cp313 + noarch: + - python + size: 17520209 + timestamp: 1781260014001 + python_site_packages_path: lib/python3.13/site-packages +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.3-h4f44bb5_101_cp314.conda + build_number: 101 + sha256: f64e357aa0168a201c9b3eedf500d89a8550d6631d26a95590b12de61f8fd660 + md5: 030ec23658b941438ac42303aff0db2b depends: - __osx >=10.13 - - libffi >=3.4.6,<3.5.0a0 - - libiconv >=1.18,<2.0a0 - - libintl >=0.25.1,<1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.3,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.2,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.51.2,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.45,<10.46.0a0 - constrains: - - glib 2.84.3 *_0 - license: LGPL-2.1-or-later - size: 3735183 - timestamp: 1754315274931 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libglib-2.88.1-hf28f236_2.conda - sha256: 9e10d37f49b4efef3426ac323dd8cec88a48df57d49e335d5aef8eac08ea9226 - md5: 6cf119d472892f945d81187e790cc131 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 14387288 + timestamp: 1770676578632 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.14.5-h7c6738f_100_cp314.conda + build_number: 100 + sha256: f99fd77c51d52319f02b7732971b35921a987ac49ca9b60f9c2e280b0dcdd409 + md5: 915728f929ae3610f084aecdf62f5272 depends: - __osx >=11.0 - - pcre2 >=10.47,<10.48.0a0 - - libintl >=0.25.1,<1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.0,<3.0a0 - libffi >=3.5.2,<3.6.0a0 - - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.1,<4.0a0 - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.6,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 14450441 + timestamp: 1779239702259 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-calamine-0.6.1-py313ha265c4a_0.conda + sha256: cc62157ceea20ca9247d3b55d31ba907039d50a7f480931848426f01c600e36f + md5: 1f9126d504be63029941541ae99a592b + depends: + - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 constrains: - - glib >2.66 - license: LGPL-2.1-or-later - size: 4519643 - timestamp: 1778508940832 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.84.3-h587fa63_0.conda - sha256: a30510a18f0b85a036f99c744750611b5f26b972cfa70cc9f130b9f42e5bbc18 - md5: bb98995c244b6038892fd59a694a93ed + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: {} + size: 749822 + timestamp: 1764159103231 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py312h421c061_0.conda + sha256: b55d89dfb227097c895ed828723780e00cc8d50588da9819e41c3bf1d7d88414 + md5: e5b68c24463c0ee692ab0fbc18b0eda3 + depends: + - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 235465 + timestamp: 1772376319181 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py313h4ef92c9_0.conda + sha256: d6aa6902e8af61c9b8be026515195808d82b34fd631b0f6013ddb25801cf0d45 + md5: 499dcad98e71549b70d46488faab5963 + depends: + - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 238089 + timestamp: 1772376237311 +- conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py314h22e5f2c_0.conda + sha256: b848d4f0c0f66eba6dac676cf85ad78c41ccfaa81a942e56ecc94db72f69c808 + md5: 8d8da2cde165c254df695a0916355f79 + depends: + - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 245338 + timestamp: 1772376256716 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda + sha256: d85e3be523b7173a194a66ae05a585ac1e14ccfbe81a9201b8047d6e45f2f7d9 + md5: 9029301bf8a667cf57d6e88f03a6726b + depends: + - __osx >=10.13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 190417 + timestamp: 1770223755226 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py313h7c6a591_1.conda + sha256: ab5f6c27d24facd1832481ccd8f432c676472d57596a3feaa77880a1462cdb2a + md5: 0eaf6cf9939bb465ee62b17d04254f9e + depends: + - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 192051 + timestamp: 1770223971430 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py314h10d0514_1.conda + sha256: aef010899d642b24de6ccda3bc49ef008f8fddf7bad15ebce9bdebeae19a4599 + md5: ebd224b733573c50d2bfbeacb5449417 + depends: + - __osx >=10.13 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 191947 + timestamp: 1770226344240 +- conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda + noarch: python + sha256: 341551703ca138175ef37867c954dc5f72e3bec005b0d35e35db08db4d3fd26d + md5: 8380cc6b19de487e907529361f00f2ba + depends: + - python + - libcxx >=19 + - __osx >=11.0 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 192531 + timestamp: 1779484028794 +- conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda + sha256: 79d804fa6af9c750e8b09482559814ae18cd8df549ecb80a4873537a5a31e06e + md5: dd1ea9ff27c93db7c01a7b7656bd4ad4 + depends: + - __osx >=10.13 + - libcxx >=16 + license: LicenseRef-Qhull + run_exports: + weak: + - qhull >=2020.2,<2020.3.0a0 + size: 528122 + timestamp: 1720814002588 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda + sha256: 6d192c03de157d531958389ecf9af848a703b13d93648cc4942bca09ece92d4f + md5: 833e6a264caaaa43d265fc5ebaf30aa1 depends: - __osx >=11.0 - - libffi >=3.4.6,<3.5.0a0 - - libiconv >=1.18,<2.0a0 - - libintl >=0.25.1,<1.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.45,<10.46.0a0 - constrains: - - glib 2.84.3 *_0 - license: LGPL-2.1-or-later - size: 3661135 - timestamp: 1754315631978 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda - sha256: 3b32a7a710132d509f2ea38b2f0384414c863533e0fc7ac71b6a0763e4c67424 - md5: 62d6f3b832d7d79ae0c0aa1bb3c325fa + - libcxx >=19 + - numpy + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 945166 + timestamp: 1775565917572 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py313hbc4457e_0.conda + sha256: c97aa162eda6e0340fa2d9f595642c918fff273996342aeebda07ca463e31320 + md5: 9fbad127663fc9c5650a86adf0eaf9b8 depends: - __osx >=11.0 - - libintl >=0.25.1,<1.0a0 - - libffi >=3.5.2,<3.6.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - glib >2.66 - license: LGPL-2.1-or-later - size: 4439458 - timestamp: 1778508895255 -- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.84.3-h1c1036b_0.conda - sha256: bd322efaebc369e188a1dd93030325a40753a4c009e92c1f82ec481a20f0d232 - md5: 2bcc00752c158d4a70e1eaccbf6fe8ae - depends: - - libffi >=3.4.6,<3.5.0a0 - - libiconv >=1.18,<2.0a0 - - libintl >=0.22.5,<1.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.45,<10.46.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - glib 2.84.3 *_0 - license: LGPL-2.1-or-later - size: 3826069 - timestamp: 1754315362939 -- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda - sha256: f61277e224e9889c221bb2eac0f57d5aeeb82fc45d3dc326957d251c97444f7c - md5: 5fb838786a8317ebb38056bbe236d3ff + - libcxx >=19 + - numpy + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 943584 + timestamp: 1775566379638 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py314h7008281_0.conda + sha256: 0306553182c6876762740681cbddec9f9a825d9af78852476d8aee0143adf8c7 + md5: a2d5344ac031280855463759eb453827 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libintl >=0.22.5,<1.0a0 - - libffi >=3.5.2,<3.6.0a0 - constrains: - - glib >2.66 - license: LGPL-2.1-or-later - size: 4522891 - timestamp: 1778508851933 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda - sha256: a0105eb88f76073bbb30169312e797ed5449ebb4e964a756104d6e54633d17ef - md5: 8422fcc9e5e172c91e99aef703b3ce65 + - __osx >=11.0 + - libcxx >=19 + - numpy + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 947122 + timestamp: 1775566845996 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.4.3-py312h2efda69_2.conda + sha256: cd5fbb78481cbbf2311c4cb2282bea0b3f644e5e9338ff8c3941f655a6a26bb0 + md5: 795c8ef855dd871ab3b445fddf8863ba depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libopengl >=1.7.0,<2.0a0 - - libstdcxx >=13 - license: SGI-B-2.0 - size: 325262 - timestamp: 1748692137626 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - sha256: e019ebe4e3f5cdf23e2f5e58ddf7ade27988c53820115b17b98f218ebcc87748 - md5: eb83f3f8cecc3e9bff9e250817fc69b6 + - __osx >=10.13 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libcxx >=19 + - libgdal-core <3.11 + - libgdal-core >=3.10.3,<3.11.0a0 + - numpy >=1.23,<3 + - proj >=9.6.2,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7726315 + timestamp: 1758130130600 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py313hab02871_0.conda + sha256: a114fe573450714ec37a7709734db746bc8664db25e10eb7764cee14e14c72f7 + md5: 96f545a73a43939c31c9540b89d3bdee depends: - - __glibc >=2.17,<3.0.a0 - license: LicenseRef-libglvnd - size: 133586 - timestamp: 1779728183422 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - sha256: 2f74713c9ca408ea84e88a30a9028153e7b553e8bb42e06139eac9a753c27da9 - md5: ec3c4350aa0261bf7f87b8ca15c8e80e + - __osx >=10.13 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.12.1,<3.13.0a0 + - numpy >=1.23,<3 + - proj >=9.7.0,<9.8.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7360744 + timestamp: 1767632926544 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py314h061e49a_0.conda + sha256: d29dcabef795b8d10ff4f14ee20690306203abd2e099c8d11f2ae3114e790a08 + md5: 644f3fdcb7b6e5b5655550460eb6e629 depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - - xorg-libx11 >=1.8.13,<2.0a0 - license: LicenseRef-libglvnd - size: 76586 - timestamp: 1779728199059 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - sha256: a17ae2d4cb2de04a20882ae14ec3cc1958e868a4dec81e3d7eca30115ee50e94 - md5: 16b6330783ce0d1ae8d22782173b32c9 + - __osx >=10.13 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.12.1,<3.13.0a0 + - numpy >=1.23,<3 + - proj >=9.7.0,<9.8.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7456698 + timestamp: 1767632993421 +- conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda + sha256: cd892b6b571fc6aaf9132a859e5ef0fae9e9ff980337ce7284798fa1d24bee5d + md5: 13dc8eedbaa30b753546e3d716f51816 depends: - - __glibc >=2.17,<3.0.a0 - - libglx 1.7.0 ha4b6fd6_3 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-xorgproto - license: LicenseRef-libglvnd - size: 27363 - timestamp: 1779728211402 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b - md5: faac990cb7aedc7f3a2224f2c9b0c26c + - libre2-11 2025.11.05 h554ac88_0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libre2-11 >=2025.11.5 + - re2 + size: 27381 + timestamp: 1762398153069 +- conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda + sha256: 4614af680aa0920e82b953fece85a03007e0719c3399f13d7de64176874b80d5 + md5: eefd65452dfe7cce476a519bece46704 depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 + - __osx >=10.13 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only license_family: GPL - size: 603817 - timestamp: 1778268942614 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda - sha256: 4dc958ced2fc7f42bc675b07e2c9abe3e150875ffdf62ca551d94fc6facf1fd7 - md5: f1147651e3fdd585e2f442c0c2fc8f2d + run_exports: + weak: + - readline >=8.3,<9.0a0 + size: 317819 + timestamp: 1765813692798 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda + sha256: 7a5993490a0ef070205da04b21c57ecdc2e3b06cc6b1ae9deb247678439da2aa + md5: 739f9a12783e1a32576509d0ea3cc0db depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - python + - __osx >=11.0 + - python_abi 3.12.* *_cp312 constrains: - - msys2-conda-epoch <0.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 664640 - timestamp: 1778272979661 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.39.0-hdb79228_0.conda - sha256: d3341cf69cb02c07bbd1837968f993da01b7bd467e816b1559a3ca26c1ff14c5 - md5: a2e30ccd49f753fd30de0d30b1569789 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 311987 + timestamp: 1779977288688 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py313he4ad68c_0.conda + sha256: 2f818de1b230c4b9b387b2c62bb01098df2aa4b8496d20d997d08ad49fac7ef5 + md5: 7f0286ad9557feaaadde10a2ddd95efe depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libgcc >=14 - - libgrpc >=1.73.1,<1.74.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - - openssl >=3.5.1,<4.0a0 + - python + - __osx >=11.0 + - python_abi 3.13.* *_cp313 constrains: - - libgoogle-cloud 2.39.0 *_0 - license: Apache-2.0 - license_family: Apache - size: 1307909 - timestamp: 1752048413383 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-2.39.0-hed66dea_0.conda - sha256: 9b50362bafd60c4a3eb6c37e6dbf7e200562dab7ae1b282b1ebd633d4d77d4bd - md5: 06564befaabd2760dfa742e47074bad2 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 311909 + timestamp: 1779977312121 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py314h1d56075_0.conda + sha256: 573986e20c6c6c6257bd3440a5752946b669990ad6941593555a3525e8b145be + md5: 33f48e40d93c6e74f47b5a1f316c8cad depends: + - python - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libcxx >=19 - - libgrpc >=1.73.1,<1.74.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - openssl >=3.5.1,<4.0a0 + - python_abi 3.14.* *_cp314 constrains: - - libgoogle-cloud 2.39.0 *_0 - license: Apache-2.0 - license_family: Apache - size: 899629 - timestamp: 1752048034356 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda - sha256: 209facdb8ea5b68163f146525720768fa3191cef86c82b2538e8c3cafa1e9dd4 - md5: ad7272a081abe0966d0297691154eda5 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 309450 + timestamp: 1779977258054 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py313h16366db_1.conda + sha256: 0bcb752de3e034b43529fc41aec9bca95cf1d1b9ae741b9db7bccd980ef603ac + md5: 846c1dd713142a49a08e917a92343f51 depends: + - python + - __osx >=10.13 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 136396 + timestamp: 1766159518290 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py314hd330473_1.conda + sha256: dbcc0ff6e902468314d10d9f59d289ad078e5eac02d72b9092fa96e88b91d5dd + md5: e41e8948899a09937c068f71fe65ebb6 + depends: + - python + - __osx >=10.13 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 136902 + timestamp: 1766159517466 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.19-h1ddadc8_0.conda + noarch: python + sha256: 1248df0118db9364dd64168744e5243d17f8775addc2f02ee518ed6acd651d9e + md5: bf898fc3e2352684937ba5f37d7f73c2 + depends: + - python - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libcxx >=19 - - libgrpc >=1.73.1,<1.74.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - openssl >=3.5.1,<4.0a0 constrains: - - libgoogle-cloud 2.39.0 *_0 - license: Apache-2.0 - license_family: Apache - size: 876283 - timestamp: 1752047598741 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h01c467a_1.conda - sha256: 098ac4abc51752a1c56c1c05ed4220e88daa7d0e18922b0d355056d5b305f167 - md5: 453d3a0347fe049b922a2a851c1c0110 + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: {} + size: 9448616 + timestamp: 1782288855028 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.7.2-py312hfee4f84_0.conda + sha256: 6c492d58e51107b7f3944526bb7f8b4af4cb6ebcba648c4a08277fa7a4854762 + md5: 9cecc4b9d6cca528546f53a6c0120a04 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/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda - sha256: 8f5b26e9ea985c819a67e41664da82219534f9b9c8ba190f7d3c440361e5accb - md5: c2c512f98c5c666782779439356a1713 + - __osx >=10.13 + - joblib >=1.2.0 + - libcxx >=19 + - llvm-openmp >=19.1.7 + - numpy >=1.22.0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - scipy >=1.8.0 + - threadpoolctl >=3.1.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 9042087 + timestamp: 1757407115271 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.8.0-np2py314he40e093_1.conda + sha256: 59cd64d38c88c3433bdd9865bee0ed8ac2a84c77658c95d34a5d153a640bc489 + md5: 7d554a7bc5fecba4b789a6f34aa24f8c depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libgrpc >=1.73.1,<1.74.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libgoogle-cloud 2.39.0 *_0 - license: Apache-2.0 - license_family: Apache - size: 14952 - timestamp: 1752049549178 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.39.0-hdbdcf42_0.conda - sha256: 59eb8365f0aee384f2f3b2a64dcd454f1a43093311aa5f21a8bb4bd3c79a6db8 - md5: bd21962ff8a9d1ce4720d42a35a4af40 + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.3.0 + - threadpoolctl >=3.2.0 + - llvm-openmp >=19.1.7 + - __osx >=10.13 + - libcxx >=19 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 9551332 + timestamp: 1766550868276 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py313h4d167ef_0.conda + sha256: 2e9551099fbb615be4dc9f1fb0af3f2980362773e4362b19b5c97a5f4fa099fb + md5: a4c59ec92d804e21e3457ebae040f286 depends: - - __glibc >=2.17,<3.0.a0 - - libabseil - - libcrc32c >=1.1.2,<1.2.0a0 - - libcurl - - libgcc >=14 - - libgoogle-cloud 2.39.0 hdb79228_0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - openssl - license: Apache-2.0 - license_family: Apache - size: 804189 - timestamp: 1752048589800 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgoogle-cloud-storage-2.39.0-h8ac052b_0.conda - sha256: fe790fc9ed8ffa468d27e886735fe11844369caee406d98f1da2c0d8aed0401e - md5: 7600fb1377c8eb5a161e4a2520933daa + - python + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.4.0 + - threadpoolctl >=3.5.0 + - narwhals >=2.0.1 + - llvm-openmp >=19.1.7 + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 9735614 + timestamp: 1780401330323 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h1609d71_1.conda + sha256: 3f8ca180c86a672abbd663554aac6d870bb0c14f992bb86fa06b1c9853b82714 + md5: b1fe2df45ca03e3d6315457ccad20e9f depends: + - libcxx >=19 - __osx >=11.0 - - libabseil - - libcrc32c >=1.1.2,<1.2.0a0 - - libcurl + - libgfortran + - libgfortran5 >=14.3.0 + - gmp >=6.3.0,<7.0a0 + - mpfr >=4.2.2,<5.0a0 + - libzlib >=1.3.2,<2.0a0 + - tbb >=2023.0.0 + - libblas >=3.9.0,<4.0a0 + - ipopt >=3.14.19,<3.14.20.0a0 + - libboost >=1.90.0,<1.91.0a0 + license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND + run_exports: + weak: + - scip >=10.0.2,<11.0a0 + size: 15859488 + timestamp: 1781770090280 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda + sha256: 4b3663a4f1a92c881ba0fc4d317eee04831adc44400d85bac5b27c503445f6ad + md5: 284f71322e48e8ae8ce23d48356df042 + depends: + - __osx >=11.0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 - libcxx >=19 - - libgoogle-cloud 2.39.0 hed66dea_0 - - libzlib >=1.3.1,<2.0a0 - - openssl - license: Apache-2.0 - license_family: Apache - size: 543323 - timestamp: 1752048443047 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda - sha256: a5160c23b8b231b88d0ff738c7f52b0ee703c4c0517b044b18f4d176e729dfd8 - md5: 147a468b9b6c3ced1fccd69b864ae289 + - 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_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15137152 + timestamp: 1779876260804 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py313h9cbb6b6_0.conda + sha256: 0338d5d5ba0820f86983aeeaad996471bd8f52f3f6ef6ca0a1cbb0cd47215837 + md5: 36f6aac8710abd70e13c02e24509506e depends: - __osx >=11.0 - - libabseil - - libcrc32c >=1.1.2,<1.2.0a0 - - libcurl + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 - libcxx >=19 - - libgoogle-cloud 2.39.0 head0a95_0 - - libzlib >=1.3.1,<2.0a0 - - openssl - license: Apache-2.0 - license_family: Apache - size: 525153 - timestamp: 1752047915306 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda - sha256: 51c29942d9bb856081605352ac74c45cad4fedbaac89de07c74efb69a3be9ab3 - md5: 26198e3dc20bbcbea8dd6fa5ab7ea1e0 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15781271 + timestamp: 1781914294124 +- conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.18.0-py314h5727af0_0.conda + sha256: 43b9a06e25753fe503530363738741ca58edaf69e6dc8046b022fd71e92d74df + md5: 082c776f991a6e68e4e8a0829e5041e8 depends: - - libabseil - - libcrc32c >=1.1.2,<1.2.0a0 - - libcurl - - libgoogle-cloud 2.39.0 h19ee442_0 - - 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: 14904 - timestamp: 1752049852815 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_1.conda - sha256: 127bd4becdd1abace1f99520b53440450ff3974468c90afa5aad68c25e7707b0 - md5: 88ebaa9b98c04cd5ad7b042b7e4f49c9 + - __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 >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15667374 + timestamp: 1781913667133 +- conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.0.7-py312hbf10b29_1.conda + sha256: 6640b08d896186c5ef9998f24be188253646e1821c9959b9ec2362219f78571b + md5: 0fa791edab019354c27babf206aa22b7 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.73.1-h3288cfb_1.conda - sha256: bc9d32af6167b1f5bcda216dc44eddcb27f3492440571ab12f6e577472a05e34 - md5: ff63bb12ac31c176ff257e3289f20770 + - __osx >=10.13 + - geos >=3.13.1,<3.13.2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 541745 + timestamp: 1741167264444 +- conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py313h210a477_2.conda + sha256: 811dbfec32a8b267de2bfd31579361d668adf725f10a21f5163563e500093c1d + md5: 1aa318a8d24b42383ceb2ac8f5ea7d5a depends: - - __glibc >=2.17,<3.0.a0 - - c-ares >=1.34.5,<2.0a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - re2 - constrains: - - grpc-cpp =1.73.1 - license: Apache-2.0 - license_family: APACHE - size: 8349777 - timestamp: 1761058442526 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libgrpc-1.73.1-h451496d_1.conda - sha256: 30378f4c9055224fecd1da8b9a65e2c0293cde68edca0f8a306fd9e92fd6ee1f - md5: d6ea2acfae86b523b54938c6bc30e378 + - __osx >=10.13 + - geos >=3.14.1,<3.14.2.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 620427 + timestamp: 1762524026835 +- conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py314h4eeafd1_2.conda + sha256: bbcfdd8e40572e3d68379dd9ff971d6598096a7a43918de6bd55af2ed944861b + md5: a21b55dc72c8fc239782cb49d35fedb0 + depends: + - __osx >=10.13 + - geos >=3.14.1,<3.14.2.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 624905 + timestamp: 1762524067847 +- conda: https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py313hf59fe81_0.conda + sha256: 54a5045f2d0c3d3d0fa0760c72eed0017c2fe5537445955dcbe340c1765775a2 + md5: 77706488dadb12fc0b81fe2f11fca40a depends: - __osx >=11.0 - - c-ares >=1.34.5,<2.0a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - re2 - constrains: - - grpc-cpp =1.73.1 - license: Apache-2.0 - license_family: APACHE - size: 5468625 - timestamp: 1761060387315 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda - sha256: c2099872b1aa06bf8153e35e5b706d2000c1fc16f4dde2735ccd77a0643a4683 - md5: f5856b3b9dae4463348a7ec23c1301f2 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 162308 + timestamp: 1777112694578 +- conda: https://conda.anaconda.org/conda-forge/osx-64/simplejson-4.1.1-py314h217eccc_0.conda + sha256: 498d4c715366083d93e6c622e9de7aa856cf5cd2ce28744448ad8ac23397617f + md5: 56ef61ccbb54d5e221b26de4fe3f9a37 depends: - __osx >=11.0 - - c-ares >=1.34.5,<2.0a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 163645 + timestamp: 1777112487524 +- conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda + sha256: 1525e6d8e2edf32dabfe2a8e2fc8bf2df81c5ef9f0b5374a3d4ccfa672bfd949 + md5: 2e993292ec18af5cd480932d448598cf + depends: - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - re2 - constrains: - - grpc-cpp =1.73.1 - license: Apache-2.0 - license_family: APACHE - size: 5377798 - timestamp: 1761053602943 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda - sha256: 95a83e98c35b8ec03d84f0714eefb2630078d9224360a93dbef6f2403414f76f - md5: 855b10d858d6c078a28d670cf32baa67 + - __osx >=10.13 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - snappy >=1.2.2,<1.3.0a0 + size: 40023 + timestamp: 1762948053450 +- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py313h22ab4a2_0.conda + sha256: d55fc8b7c181396dd703c08c2f653771ebe1c05a0f0c299e557ca4b2197525a8 + md5: 09247f2610418a1654672df2c5e5aabd depends: - - c-ares >=1.34.5,<2.0a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libre2-11 >=2025.8.12 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - re2 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - grpc-cpp =1.73.1 - license: Apache-2.0 - license_family: APACHE - size: 14433486 - timestamp: 1761053760632 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.78.1-h9ff2b3e_0.conda - sha256: e5667a557c6211db4e1de0bf3146b880977cd7447dce5e5f5cb7d9e3dc9afa70 - md5: 26dbb65607f8fe485df5ee98fa6eb79f + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 3844953 + timestamp: 1781547929736 +- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.51-py314h0b69929_0.conda + sha256: 4e361dcf6efbfbd40600fb347ebc06185a3892019dcb88bd27e93e9490c761d4 + md5: 2ae2aeb0975ffa44ea6f6251f5532897 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/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda - sha256: b9e6340da35245d5f3b7b044b4070b4980809d340bddf16c942a97a83f146aa4 - md5: 4fe840c6d6b3719b4231ed89d389bb17 + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 4026773 + timestamp: 1781548018930 +- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_0.conda + sha256: 5d1a016e4219f2acb4d9f9e8c4068d9207f8fd38ae459273694363acaf68c58c + md5: b57460eab663465f43ab65a73f2e4c1c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libsqlite 3.53.2 h8f8c405_0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 191786 + timestamp: 1780575040872 +- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-hd4d344e_0.conda + sha256: abeba58509c31e8c132c38f15bd4544ba8430b9b58365d411fd5ccf3721bdfcd + md5: 86fbde90494b0235a3080bc34f8fa9ae + depends: + - __osx >=11.0 + - libsqlite 3.53.2 h77d7759_0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 191714 + timestamp: 1780574924193 +- conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda + sha256: 3d35c37ec7fd764e04b67e5f395a5f936285925836e4a5192ccc503392260065 + md5: 114bf0de85f665ce5586e9a0f0f077a8 + depends: + - __osx >=10.13 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - scipy !=1.9.2,>=1.8 license: BSD-3-Clause license_family: BSD - size: 2449346 - timestamp: 1765089858592 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libhwloc-2.13.0-default_h4e3125e_1000.conda - sha256: 8e051b990da280ca6eca2f025640572459a0ddfa2b3b71a113e4d14b4277aa33 - md5: c74c64d67f55426bc24d333a84aed0e3 + run_exports: {} + size: 11516375 + timestamp: 1764983568072 +- conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py313h0f4b8c3_0.conda + sha256: 742814f77d9f36e370c05a8173f05fbaf342f9b684b409d41b37db6232991d9e + md5: c4a63959628293c523d6c4276049e1e9 depends: - __osx >=10.13 - - libcxx >=19 - - libxml2 - - libxml2-16 >=2.14.6 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - scipy !=1.9.2,>=1.8 license: BSD-3-Clause license_family: BSD - size: 2363468 - timestamp: 1770954013361 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda - sha256: d47c3c030671d196ff1cdd343e93eb2ae0d7b665cb79f8164cc91488796db437 - md5: fed55ddd65a830cb62e78f07cfffcd41 + run_exports: {} + size: 11721252 + timestamp: 1764983752241 +- conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py314hd1ec8a2_0.conda + sha256: 030e51be992102c831a4a0b95859b30707934b9c960b2f28d18f432fd8d98daf + md5: 2824b3725d24404c718de7961ecad753 depends: - - __osx >=11.0 - - libcxx >=19 - - libxml2 - - libxml2-16 >=2.14.6 + - __osx >=10.13 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - scipy !=1.9.2,>=1.8 license: BSD-3-Clause license_family: BSD - size: 2339152 - timestamp: 1770953916323 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda - sha256: 2ee12e37223dfcd0acd050c80a91150c482b6e2899198521e1800dce66662467 - md5: 6a01c986e30292c715038d2788aa1385 + run_exports: {} + size: 12017752 + timestamp: 1764984372017 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tabula-py-2.7.0-py312hb401068_2.conda + sha256: 3ce12c68d0470fcb5d99b9bc15f218da4cec2eeca80cbddc5bb43510972bf7ad + md5: 8a2e4f2ea6aabbcef99132f53c9a15f2 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 + - numpy + - openjdk + - pandas + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - requests + - setuptools + - setuptools_scm + license: MIT + license_family: MIT + run_exports: {} + size: 11853737 + timestamp: 1762186059946 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda + sha256: f57b374fa5bbb1823a9e1b7e4a9db044c42964313c59d4c652b948f20b55d1a0 + md5: 2867ad6f19cadc54675abd00a19d0268 + depends: + - __osx >=11.0 + - libcxx >=19 + - libhwloc >=2.13.0,<2.13.1.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 161879 + timestamp: 1778674626809 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda + sha256: 7f0d9c320288532873e2d8486c331ec6d87919c9028208d3f6ac91dc8f99a67b + md5: 6e6efb7463f8cef69dbcb4c2205bf60e + depends: + - __osx >=10.13 + - libzlib >=1.3.1,<2.0a0 + license: TCL license_family: BSD - size: 2396128 - timestamp: 1770954127918 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.conda - sha256: 8b70955d5e9a49d08945d4f8e2eab855b2efa5fce9cb9bc5e75d86764e6f2f38 - md5: 3a9428b74c403c71048104d38437b48c + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3282953 + timestamp: 1769460532442 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda + sha256: 8c84161267d98342ba2358c86145f5cece732d9d5d928eaab2526161db56686c + md5: 2ec1c960c5995e181a8d9e07b36f4c5a depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause - size: 1435782 - timestamp: 1776989559668 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libhwy-1.4.0-hca42a69_0.conda - sha256: fb82a974f5bc029963665a77a0d669cacecfd067e1f3b32fe427d806ec21d52b - md5: b9e41e8946bb04aca90e181f29c5cf82 + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 861847 + timestamp: 1781007537046 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py313hf59fe81_0.conda + sha256: 91dbc614951bd7ed6c23b0a3a1e0e3c67151c3c6c67a8d585070a35a7995494c + md5: b8158336093b80cb929daf95a38cd29b + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 886027 + timestamp: 1781007192525 +- conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py314h217eccc_0.conda + sha256: 5049ba4872765887bae8cce3673c785754d94ea23e0a2ea20158e76108a3fe4f + md5: b30f2eeef4987aa26f697978d17e867c + depends: + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 915832 + timestamp: 1781007541495 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py313h5fe49f0_0.conda + sha256: 4c3364640dc73bc7041701789976f22eb92b436634124c0041dc502926c8822e + md5: 7e27fa36a9ba8abb899055f58a83eee1 depends: + - python - __osx >=11.0 - libcxx >=19 - license: Apache-2.0 OR BSD-3-Clause - size: 1000219 - timestamp: 1776990421693 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.conda - sha256: 4fcad3cbec60da940312e883b7866816517acc5f9baecfe9a778de57327a1b1b - md5: 7394850583ca88325244b68b532c7a39 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 69559 + timestamp: 1781561780522 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.13.0-py314h2883b87_0.conda + sha256: 97f41909e42b663c05b18ef43f5214fb97cac9ac27c78961328585eabbeed65b + md5: e04df82812d59479bb6c1fb3393d633a depends: + - python - __osx >=11.0 - libcxx >=19 - license: Apache-2.0 OR BSD-3-Clause - size: 609931 - timestamp: 1776990524407 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.conda - sha256: 4b45bf59ee46d3c746272c27651da9ce709fda4eee8536c7424acea60d0e2ad0 - md5: aeca1cb6665f19e560c1fbd20b5bcf34 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 69317 + timestamp: 1781561686797 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py314h473ef84_0.conda + sha256: a77214fabb930c5332dece5407973c0c1c711298bf687976a0b6a9207b758e12 + md5: 08a26dd1ba8fc9681d6b5256b2895f8e depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 OR BSD-3-Clause - size: 562583 - timestamp: 1776989522919 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f - md5: 915f5995e94f60e9a4826e0b0920ee88 + - __osx >=10.13 + - cffi + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 14286 + timestamp: 1769439103231 +- conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda + sha256: 29bdc3648a4b8011c572003234ebfaa13666aa71760c9f89f798758ccebd7448 + md5: 563dc18b746f873408b76e068e2b4baa depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-only - size: 790176 - timestamp: 1754908768807 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.18-h57a12c2_2.conda - sha256: a1c8cecdf9966921e13f0ae921309a1f415dfbd2b791f2117cf7e8f5e61a48b6 - md5: 210a85a1119f97ea7887188d176db135 + - __osx >=10.13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 406056 + timestamp: 1770909495553 +- conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py314h4f144dc_0.conda + sha256: 972155e67125f230bef47883d6613c1d6ca32fd6e807e1df0d4d8799b1abfd57 + md5: 773e3141f292d9698e706da094ada8c1 depends: - __osx >=10.13 - license: LGPL-2.1-only - size: 737846 - timestamp: 1754908900138 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda - sha256: de0336e800b2af9a40bdd694b03870ac4a848161b35c8a2325704f123f185f03 - md5: 4d5a7445f0b25b6a3ddbb56e790f5251 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 406478 + timestamp: 1770909238815 +- conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda + sha256: fec8e52955fc314580a93dee665349bf430ce6df19019cea3fae7ec60f732bdd + md5: 649890a63cc818b24fbbf0572db221a5 + depends: + - __osx >=10.9 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - uriparser >=0.9.8,<1.0a0 + size: 43396 + timestamp: 1715010079800 +- conda: https://conda.anaconda.org/conda-forge/osx-64/watchdog-6.0.0-py312hba6025d_3.conda + sha256: dc852510fc797797a475bf39c7e1b1a0d890c4bc10710d7d6781b2a6ef55c360 + md5: 555736af86bab70bbf128cb933e74140 depends: + - python + - pyyaml >=3.10 - __osx >=11.0 - license: LGPL-2.1-only - size: 750379 - timestamp: 1754909073836 -- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 - md5: 64571d1dd6cdcfa25d0664a5950fdaa2 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 161620 + timestamp: 1772608079095 +- conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda + sha256: df1430736e2b8ecfb559b7240478517c71d85697dee753628ef9ead84c3d1e52 + md5: a92e23c22f481e7c8bc5d2dc551c101d depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only - size: 696926 - timestamp: 1754909290005 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libintl-0.25.1-h3184127_1.conda - sha256: 8c352744517bc62d24539d1ecc813b9fdc8a785c780197c5f0b84ec5b0dfe122 - md5: a8e54eefc65645193c46e8b180f62d22 + - __osx >=10.13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 60710 + timestamp: 1756851817591 +- conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py313h585f44e_1.conda + sha256: dd8f1b31d78220dae5fd046d53d4c4b90251661086b44aef074e7775398719fc + md5: 765dc9b39fc2d62e1351c3a26e316607 depends: - __osx >=10.13 - - libiconv >=1.18,<2.0a0 - license: LGPL-2.1-or-later - size: 96909 - timestamp: 1753343977382 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda - sha256: 99d2cebcd8f84961b86784451b010f5f0a795ed1c08f1e7c76fbb3c22abf021a - md5: 5103f6a6b210a3912faf8d7db516918c + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 61239 + timestamp: 1756851742749 +- conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py314h03d016b_1.conda + sha256: 72e67726778356a45bba26c598bd91f13e95b37d0f931e8217408f9e20527786 + md5: eddd65903cdc82babc86d48aba49acae depends: - - __osx >=11.0 - - libiconv >=1.18,<2.0a0 - license: LGPL-2.1-or-later - size: 90957 - timestamp: 1751558394144 -- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - sha256: c7e4600f28bcada8ea81456a6530c2329312519efcf0c886030ada38976b0511 - md5: 2cf0cf76cc15d360dfa2f17fd6cf9772 + - __osx >=10.13 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 61409 + timestamp: 1756851745948 +- conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.2.5-h197e74d_2.conda + sha256: 6218762b3ecff8e365f2880bb6a762b195e350159510d3f2dba58fa53f90a1bf + md5: 559e2c3fb2fe4bfc985e8486bad8ecaa depends: - - libiconv >=1.17,<2.0a0 - license: LGPL-2.1-or-later - size: 95568 - timestamp: 1723629479451 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda - sha256: 10056646c28115b174de81a44e23e3a0a3b95b5347d2e6c45cc6d49d35294256 - md5: 6178c6f2fb254558238ef4e6c56fb782 + - __osx >=10.13 + - icu >=75.1,<76.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - xerces-c >=3.2.5,<3.3.0a0 + size: 1352475 + timestamp: 1727734320281 +- conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda + sha256: 214dc4f27f9160830bb5b82bdc53a943a052071b0f23b8d4771a2f4e469763c6 + md5: 21338f14e1226ca108452b770e770455 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 633831 - timestamp: 1775962768273 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-3.1.4.1-ha1e9b39_0.conda - sha256: 6b809d8acb6b97bbb1a858eb4ba7b7163c67257b6c3f199dd9d1e0751f4c5b18 - md5: 57cc1464d457d01ac78f5860b9ca1714 + - __osx >=10.13 + - icu >=78.1,<79.0a0 + - libcxx >=19 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - xerces-c >=3.3.0,<3.4.0a0 + size: 1358256 + timestamp: 1766327914262 +- conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda + sha256: 928f28bd278c7da674b57d71b2e7f4ac4e7c7ce56b0bf0f60d6a074366a2e76d + md5: 47f1b8b4a76ebd0cd22bd7153e54a4dc + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libxau >=1.0.12,<2.0a0 + size: 13810 + timestamp: 1762977180568 +- conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda + sha256: b7b291cc5fd4e1223058542fca46f462221027779920dd433d68b98e858a4afc + md5: 435446d9d7db8e094d2c989766cfb146 + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - xorg-libxdmcp >=1.1.5,<2.0a0 + size: 19067 + timestamp: 1762977101974 +- conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda + sha256: a335161bfa57b64e6794c3c354e7d49449b28b8d8a7c4ed02bf04c3f009953f9 + md5: a645bb90997d3fc2aea0adf6517059bd + depends: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: + weak: + - yaml >=0.2.5,<0.3.0a0 + size: 79419 + timestamp: 1753484072608 +- conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda + sha256: 7ff665fd46a280495baaf054c39f915fa255c5ac2313b170e7e47a114c1659f5 + md5: 5c3a3b98dd9ac69d3a73a27519bde732 depends: - __osx >=11.0 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 587997 - timestamp: 1775963139212 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda - sha256: 17e035ae6a520ff6a6bb5dd93a4a7c3895891f4f9743bcb8c6ef607445a31cd0 - md5: b8a7544c83a67258b0e8592ec6a5d322 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 147968 + timestamp: 1779246634448 +- conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py313h035b7d0_0.conda + sha256: edbf070467ee70fee10c06b658ac30d607d9197073f1f6c615a26134a43afb34 + md5: 4b8c1c9d00e55f1cfd38e4f0c79f314f depends: - __osx >=11.0 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 555681 - timestamp: 1775962975624 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.4.1-hfd05255_0.conda - sha256: 698d57b5b90120270eaa401298319fcb25ea186ae95b340c2f4813ed9171083d - md5: 25a127bad5470852b30b239f030ec95b + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 148142 + timestamp: 1779246485846 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda + sha256: 2ba9b6a3131b5a97641068559d38c044f37fd29b54c10dd6d073f1cf81fc4e4c + md5: 8a622d1db89d80a94477b1c03824d611 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 842806 - timestamp: 1775962811457 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - sha256: 0c8a78c6a42a6e4c6de3a5e82d692f60400d43f4cc80591745f28b37daad9c70 - md5: 850f48943d6b4589800a303f0de6a816 + - libcxx >=19 + - __osx >=11.0 + - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + run_exports: + weak: + - zeromq >=4.3.5,<4.4.0a0 + size: 260817 + timestamp: 1779124180318 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_2.conda + sha256: 5dd728cebca2e96fa48d41661f1a35ed0ee3cb722669eee4e2d854c6745655eb + md5: 6276aa61ffc361cbf130d78cfb88a237 + depends: + - __osx >=11.0 + - libzlib 1.3.2 hbb4bfdb_2 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 92411 + timestamp: 1774073075482 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda + sha256: 4a1beb656761c7d8c9a53474bfd3932c30d82af5d93a32b8ef626c01c059d981 + md5: b3ecb6480fd46194e3f7dd0ff4445dff + depends: + - __osx >=10.13 + - libcxx >=19 + license: Zlib + license_family: Other + run_exports: + weak: + - zlib-ng >=2.3.3,<2.4.0a0 + size: 120464 + timestamp: 1770168263684 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda + sha256: 5360439241921c612a5df77e28ce0ae4912eef7de65dc42adba5499878a67e87 + md5: d9209ec6445f95fba0c3c64fa4a46216 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libhwy >=1.4.0,<1.5.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - __osx >=10.13 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD - size: 1846962 - timestamp: 1777065125966 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libjxl-0.11.2-h473410d_1.conda - sha256: 5c59a02fcb345c49ef8bdd5e1889de8aa918bedd95917f9805d20659cec65da1 - md5: 596810d804d0b2f2c54bfdd635025e92 + run_exports: {} + size: 462661 + timestamp: 1762512711429 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py313hcb05632_1.conda + sha256: eed36460cfd4afdcb5e3dbca1f493dd9251e90ad793680064efdeb72d95f16a0 + md5: da657125cfc67fe18e4499cf88dbe512 depends: - - __osx >=11.0 - - libcxx >=19 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libhwy >=1.4.0,<1.5.0a0 + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - __osx >=10.13 + - python_abi 3.13.* *_cp313 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD - size: 1692611 - timestamp: 1777065242546 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda - sha256: 948cf1370abb58e06a7c9554838c68672ef1d78e01c3fc4e62ccfc3072579645 - md5: 05bead8980f5ae6a070117dacec38b5b + run_exports: {} + size: 468984 + timestamp: 1762512716065 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py314hd1e8ddb_1.conda + sha256: cf12b4c138eef5160b12990278ac77dec5ca91de60638dd6cf1e60e4331d8087 + md5: b94712955dc017da312e6f6b4c6d4866 depends: - - libcxx >=19 - - __osx >=11.0 - - libhwy >=1.4.0,<1.5.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - __osx >=10.13 + - python_abi 3.14.* *_cp314 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD - size: 1032419 - timestamp: 1777065264956 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda - sha256: 4715e22c602526c85da09f73865676add67e0995a944b821fbff84547a9db533 - md5: 327bce3eb1ef1875c7145e915d25bcd3 + run_exports: {} + size: 470136 + timestamp: 1762512696464 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda + sha256: 47101a4055a70a4876ffc87b750ab2287b67eca793f21c8224be5e1ee6394d3f + md5: 727109b184d680772e3122f40136d5ca depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libhwy >=1.4.0,<1.5.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 + - __osx >=10.13 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 1194926 - timestamp: 1777065171989 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-haa4a5bd_1023.conda - sha256: f6348ac9cebbc03f765ea6d2da88d57d19531585c8f3a963b98635b208e8bef1 - md5: 953b7cca897e21215302dbfe2af5cd0c + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 528148 + timestamp: 1764777156963 +- 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: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.5,<3.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - - uriparser >=0.9.8,<1.0a0 + - llvm-openmp >=9.0.1 license: BSD-3-Clause license_family: BSD - size: 412514 - timestamp: 1777026799177 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libkml-1.3.0-h72464b1_1023.conda - sha256: d6ca748bf779008f25cc68d314e71999119ba1598d68d47909016ee4f903ad68 - md5: 83103d49cefa1d365c4a67bcf6ab1831 + run_exports: + weak: + - _openmp_mutex >=4.5 + size: 8325 + timestamp: 1764092507920 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py312h9f8c436_0.conda + sha256: c77dcdfc4f47f0ed86d5aff9ed19cbe91bd059959d5ce85b9234903b393d4113 + md5: 3946bccca9216a21d4a61a49a902aa06 depends: - __osx >=11.0 - - libcxx >=19 - - libexpat >=2.7.5,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - uriparser >=0.9.8,<1.0a0 - license: BSD-3-Clause - license_family: BSD - size: 290634 - timestamp: 1777027860879 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda - sha256: bfc6c0b1f30de524e3270eed2171d87e6b96552ff90cf2a5eb34c00d6bcb3dfa - md5: 3d8eeedb8e541d1cb593e8204fcc397d + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.4 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1049144 + timestamp: 1780913992605 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.14.1-py313h53c0e3e_0.conda + sha256: 79113895281a26605daf3f0776bb60053bf1de69dc62bd42c5f1afbc908c41df + md5: e068a8116541a671c61dcc7de46a5c80 depends: - __osx >=11.0 - - libcxx >=19 - - libexpat >=2.7.5,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - uriparser >=0.9.8,<1.0a0 - license: BSD-3-Clause - license_family: BSD - size: 283804 - timestamp: 1777027670481 -- conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda - sha256: 6b2c6506dc7d7bb3bc4128d575e4ae6c2cf18d3f9828a4be331e0b5e49edf108 - md5: b44e0d9eb84c6c086d809787aab0a1da + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - typing_extensions >=4.4 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1059799 + timestamp: 1780913969743 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ampl-asl-1.0.0-h286801f_2.conda + sha256: 47a5da6cd38a32c086017a5d2ed2b67e0cc24e25268a9c4cc91ea7d8f1cb9507 + md5: bb25b8fa2b28474412dda4e1a95853b4 depends: - - libexpat >=2.7.5,<3.0a0 - - libzlib >=1.3.2,<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 - size: 1668156 - timestamp: 1777026660593 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - build_number: 8 - sha256: 168e327d737059553e15cc6ec36d76b9bbb3931c2a7721555fd68b4c9348b247 - md5: 809be8ba8712c77bc7d44c2d99390dc4 + - __osx >=11.0 + - libcxx >=18 + constrains: + - ampl-mp >=4.0.0 + license: BSD-3-Clause AND SMLNJ + run_exports: + weak: + - ampl-asl >=1.0.0,<1.0.1.0a0 + size: 411989 + timestamp: 1732439500161 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-25.1.0-py314h0612a62_2.conda + sha256: aab60bbaea5cc49dff37438d1ad469d64025cda2ce58103cf68da61701ed2075 + md5: a240a79a49a95b388ef81ccda27a5e51 depends: - - libblas 3.11.0 8_h4a7cf45_openblas + - __osx >=11.0 + - cffi >=2.0.0b1 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 34218 + timestamp: 1762509977830 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/astroid-4.0.4-py314h4dc9dd8_0.conda + sha256: d9a6527801edbe508ab190dec32e418d6e8d9e3136471a50b7c3e2b0201a863b + md5: 8223f3301e1375477b8cad2cc625b514 + depends: + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: {} + size: 543878 + timestamp: 1770634916288 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda + sha256: b0747f9b1bc03d1932b4d8c586f39a35ac97e7e72fe6e63f2b2a2472d466f3c1 + md5: 57301986d02d30d6805fdce6c99074ee + depends: + - __osx >=11.0 + - libcxx >=16 + - libglib >=2.80.0,<3.0a0 + - libintl >=0.22.5,<1.0a0 constrains: - - blas 2.308 openblas - - libcblas 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18790 - timestamp: 1779859115086 -- conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.11.0-8_h859234e_openblas.conda - build_number: 8 - sha256: 56a68fce5a63d4583a42c212324d62ac292376b8bf05986a551bd640e7fa137d - md5: e11ee849bd2a573a0f6e53b1b67ebf37 + - atk-1.0 2.38.0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - atk-1.0 >=2.38.0 + size: 347530 + timestamp: 1713896411580 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.1-h41ebd0a_3.conda + sha256: 4114ebee79ea6c4bab0522e9c6ce366b87f9bbc28ab11b3ce1becd9f51b58b67 + md5: c011208b4dd96a573efb00805ffae8b1 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.1,<0.9.2.0a0 + size: 106581 + timestamp: 1757625789102 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.9.3-h1ddaa69_0.conda + sha256: 491576e1ef8640e0cc345705c2028aebb98e015d51471395fe595f60a3b33884 + md5: f0cc47ecd2058f2dd65fde1a5f6528ec + depends: + - __osx >=11.0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - 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-io >=0.23.3,<0.23.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.3,<0.9.4.0a0 + size: 114473 + timestamp: 1764765266429 +- 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 + run_exports: + weak: + - aws-c-cal >=0.9.13,<0.9.14.0a0 + size: 45233 + timestamp: 1764593742187 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.9.2-hd08b81e_1.conda + sha256: 0cff81daf70f64bb8bf51f0883727d253c0462085f6bfe3d6c619479fbaec329 + md5: f8d75a83ced3f7296fed525502eac257 + depends: + - __osx >=11.0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-cal >=0.9.2,<0.9.3.0a0 + size: 41154 + timestamp: 1752240791193 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.12.4-h6caf38d_0.conda + sha256: d94c508308340b5b8294d2c382737b72b77e9df688610fa034d0a009a9339d73 + md5: 7a3edd3d065687fe3aa9a04a515fd2bf + depends: + - __osx >=11.0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - aws-c-common >=0.12.4,<0.12.5.0a0 + size: 221313 + timestamp: 1752193769784 +- 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 + run_exports: + weak: + - aws-c-common >=0.12.6,<0.12.7.0a0 + size: 224116 + timestamp: 1763585987935 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.1-h16f91aa_9.conda + sha256: 988f2251c5ddb91a93a3893e52eccb4fdd8b755af80bbc2bf739aabc25c5cfdf + md5: 8dc111381c4c73deb8b9a529b3abee4a depends: - - libblas 3.11.0 8_he492b99_openblas - constrains: - - liblapacke 3.11.0 8*_openblas - - libcblas 3.11.0 8*_openblas - - blas 2.308 openblas - license: BSD-3-Clause - license_family: BSD - size: 19030 - timestamp: 1779860046842 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda - build_number: 8 - sha256: 8a076fe82142a00fe85f5a5a5351e286e8064f0100fe13608d19182cd0018c25 - md5: 85adeb3d469d082dbd9c8c39e36dec57 + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 21372 + timestamp: 1764593773975 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.3.1-habbe1e8_6.conda + sha256: 633c7ee0e80c24fa6354b2e1c940af6d7f746c9badc3da94681a1a660faeca39 + md5: 35c95aad3ab99e0a428c2e02e8b8e282 depends: - - libblas 3.11.0 8_h51639a9_openblas - constrains: - - libcblas 3.11.0 8*_openblas - - blas 2.308 openblas - - liblapacke 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18925 - timestamp: 1779859153970 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda - build_number: 8 - sha256: 2c1c411a1196f1d09ac1a7265f2b976deedb3791d0930dedcdc58b991d613c26 - md5: cae9364b4d1f1af0c9b9595b01fcd6be + - __osx >=11.0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 21037 + timestamp: 1752240015504 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.6-hf65d68d_3.conda + sha256: d84e174bc63a9d22b538ee00924d9e1089b9aa34d7419276230ded5af9ab8d1b + md5: 6f8e9b398a144ed59b0a0c380e152968 depends: - - libblas 3.11.0.* - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - track_features: - - blas_netlib - - blas_netlib_2 - license: BSD-3-Clause - license_family: BSD - size: 2131555 - timestamp: 1779861344704 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-8_h6ae95b6_openblas.conda - build_number: 8 - sha256: 0b982865888a73fe7c2e7d8e8ee3738ac378b83012a7da1a12264a473cb2382b - md5: da17457f689df5c0f246d2f0b3798fd2 + - libcxx >=19 + - __osx >=11.0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + size: 51857 + timestamp: 1757606346473 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.5.7-h9ae9c55_1.conda + sha256: c336b71a356d9b39fa6e9769d475dea6fd0cfe25ad81dcecac3102ef30f8b753 + md5: 53c59e7f68bbd3754de6c8dcd4c27f86 depends: - - libblas 3.11.0 8_h4a7cf45_openblas - - libcblas 3.11.0 8_h0358290_openblas - - liblapack 3.11.0 8_h47877c9_openblas - constrains: - - blas 2.308 openblas - license: BSD-3-Clause - license_family: BSD - size: 18824 - timestamp: 1779859122364 -- conda: https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.11.0-8_h94b3770_openblas.conda - build_number: 8 - sha256: c77bf954aed1a2fe5b77d442030596325b214ee5600da75ea9ebd8c0cced4549 - md5: 0caf586e8a37c4e3d8eeef8082d554c7 + - libcxx >=19 + - __osx >=11.0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + size: 52221 + timestamp: 1764675514267 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.4-h70a9c10_3.conda + sha256: a9e2c19378d5dd42904f76fbaf0b9726e2af890e5b53fcf975f242a6aa4c6196 + md5: 39d91ec5c4ac0c0fba2e1c48e383706b depends: - - libblas 3.11.0 8_he492b99_openblas - - libcblas 3.11.0 8_h9b27e0a_openblas - - liblapack 3.11.0 8_h859234e_openblas - constrains: - - blas 2.308 openblas - license: BSD-3-Clause - license_family: BSD - size: 19066 - timestamp: 1779860062711 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda - build_number: 8 - sha256: 589d3218009b4002d486a7d3f88d3313e81c1e7720ddb3ee4ee2eff07fa34f9b - md5: bd1b597f41e950e2058978497bf35c2e + - __osx >=11.0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.4,<0.10.5.0a0 + size: 170425 + timestamp: 1757610702161 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.10.7-h5928ca5_5.conda + sha256: 29e180b61155279a2e64011b95957fbe38385113c60467b8d34fce47bc29c728 + md5: f12bd6066c693efba2e5886e2c70d7ba depends: - - libblas 3.11.0 8_h51639a9_openblas - - libcblas 3.11.0 8_hb0561ab_openblas - - liblapack 3.11.0 8_hd9741b5_openblas - constrains: - - blas 2.308 openblas - license: BSD-3-Clause - license_family: BSD - size: 18968 - timestamp: 1779859160325 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda - sha256: a6fddc510de09075f2b77735c64c7b9334cf5a26900da351779b275d9f9e55e1 - md5: 59a7b967b6ef5d63029b1712f8dcf661 + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.7,<0.10.8.0a0 + size: 171020 + timestamp: 1764675515369 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.22.0-h89d1e94_1.conda + sha256: 680c309d4ebbd5a1b408d043766d1aec628c5b6d304ceff13a01db8ca21fa9a8 + md5: 2e51b01a5f52349f51e8e0965f604fe6 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: Apache - size: 43987020 - timestamp: 1752141980723 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda - sha256: d190f1bf322149321890908a534441ca2213a9a96c59819da6cabf2c5b474115 - md5: 9ad637a7ac380c442be142dfb0b1b955 + - __osx >=11.0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-io >=0.22.0,<0.22.1.0a0 + size: 176207 + timestamp: 1758212831591 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.23.3-hbe03c90_5.conda + sha256: bf1c7cf7997d28922283e6612e5ea6a9409fcfc2749cd4acfafd1bf6e0c57c08 + md5: c249aa1a151e319d7acd05a2e1f165d2 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: Apache - size: 44363060 - timestamp: 1756291822911 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.7-hf7376ad_0.conda - sha256: 7b2cfedb9a0c4d2329e6b5e527f36e23579c985f00073330c5d739cdd4592218 - md5: 963a932cab52c52cb9cda5877d0d8537 + - __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 + run_exports: + weak: + - aws-c-io >=0.23.3,<0.23.4.0a0 + size: 176451 + timestamp: 1765168273313 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-haf5c5c8_11.conda + sha256: 880996ae8c792eb15fcbca0a452d8b3508dba16ed7384bdb73fb7ed6c075c125 + md5: 3fcd02361ce1427ae5968fcd532a85b4 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 - size: 44240299 - timestamp: 1780445743730 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d - md5: b88d90cad08e6bc8ad540cb310a761fb + - __osx >=11.0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 150454 + timestamp: 1764681796127 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.13.3-he7b126b_6.conda + sha256: d1928f5f726e76b654eb395ccd983a80698019784da9020c04d16bf0e91fc2cb + md5: ff984f7e551996b8624a38b69b81e068 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - xz 5.8.3.* - license: 0BSD - size: 113478 - timestamp: 1775825492909 -- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_0.conda - sha256: d9e2006051529aec5578c6efeb13bb6a7200a014b2d5a77a579e83a8049d5f3c - md5: becdfbfe7049fa248e52aa37a9df09e2 + - __osx >=11.0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 150220 + timestamp: 1757626776230 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.11.3-h8da9771_1.conda + sha256: 31f432d1a0f7dacbe80b476c3236c22a71f4018e840ae6974e843d38d5763335 + md5: 06417cb45f131cf503d3483446cedbc3 depends: - __osx >=11.0 - constrains: - - xz 5.8.3.* - license: 0BSD - size: 105724 - timestamp: 1775826029494 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda - sha256: 34878d87275c298f1a732c6806349125cebbf340d24c6c23727268184bba051e - md5: b1fd823b5ae54fbec272cea0811bd8a9 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + size: 129384 + timestamp: 1765174183548 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.8.6-h7a3c519_5.conda + sha256: 4d1e30120d846420ccaf46be44a2f24a4ca3a98acd3f383fbe98d9d60ad3be69 + md5: c33295f9e4a4bdb0d6e08e0d242599b0 depends: - __osx >=11.0 - constrains: - - xz 5.8.3.* - license: 0BSD - size: 92472 - timestamp: 1775825802659 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 - md5: 8f83619ab1588b98dd99c90b0bfc5c6d - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - xz 5.8.3.* - license: 0BSD - size: 106486 - timestamp: 1775825663227 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.3-hb03c661_0.conda - sha256: 7858f6a173206bc8a5bdc8e75690483bb66c0dcc3809ac1cb43c561a4723623a - md5: 55c20edec8e90c4703787acaade60808 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-auth >=0.9.1,<0.9.2.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-s3 >=0.8.6,<0.8.7.0a0 + size: 117752 + timestamp: 1757647971064 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-h16f91aa_4.conda + sha256: 8a4ee03ea6e14d5a498657e5fe96875a133b4263b910c5b60176db1a1a0aaa27 + md5: 658a8236f3f1ebecaaa937b5ccd5d730 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - liblzma 5.8.3 hb03c661_0 - license: 0BSD - size: 491429 - timestamp: 1775825511214 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_h81b047f_102.conda - sha256: fe32865925d3d193ad894fc8bccb1badc745796487a0bf55a85591661e8eafe2 - md5: b2431965f6c2a49384e6d3b36bb44e45 + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 53430 + timestamp: 1764755714246 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.2.4-habbe1e8_1.conda + sha256: cab7f54744619b88679c577c9ec8d56957bc8f6829e9966a7e50857fbc6c756d + md5: 9d77627725afb71b57f38355ee9e2829 depends: - - __glibc >=2.17,<3.0.a0 - - attr >=2.5.2,<2.6.0a0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.4,<2.0a0 - - libcurl >=8.14.1,<9.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 >=2.13.8,<2.14.0a0 - - libzip >=1.11.2,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.2,<4.0a0 - - zlib - - zstd >=1.5.7,<1.6.0a0 - license: MIT - license_family: MIT - size: 872799 - timestamp: 1757401949915 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.3-nompi_hbf2fc22_104.conda - sha256: cae2f8fe5258fc1a1d2b61cbc9190ed2c0a1b7cdf5d4aac98da071ade6dac152 - md5: a2956b63b1851e9d5eb9f882d02fa3a9 + - __osx >=11.0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 53149 + timestamp: 1752240972623 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.7-h16f91aa_5.conda + sha256: c630ece8c0fe99cdf03774bb0b048cfd72daec0458dbc825be5de0106431087e + md5: ee9ebfd7b6fdf61dd632e4fea6287c47 depends: - - __glibc >=2.17,<3.0.a0 - - attr >=2.5.2,<2.6.0a0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.18.0,<9.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - - libzip >=1.11.2,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: MIT - license_family: MIT - size: 870788 - timestamp: 1770718321021 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_h29b767a_104.conda - sha256: 5f6a88ed35bfa7e67f30ff4bc96f49a31fc46b2cc28518ad2898a853584e5bc2 - md5: 6515420f8cc50150e846b779ad1b3f8b + - __osx >=11.0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 74377 + timestamp: 1764593734393 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.2.7-habbe1e8_2.conda + sha256: 648c3d23df53b4cea1d551e4e54a544284be5436af5453296ed8184d970efc3a + md5: f3f6fef7c8d8ce7f80df37e4aaaf6b93 depends: - - __osx >=10.13 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.18.0,<9.0a0 - - libcxx >=19 - - libxml2 - - libxml2-16 >=2.14.6 - - libzip >=1.11.2,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: MIT - license_family: MIT - size: 729168 - timestamp: 1770719020674 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libnetcdf-4.9.3-nompi_hd7ff75f_102.conda - sha256: fca64970eb3e2f51603bc301981df90192668155c27c2375081873c2c4c3a662 - md5: 7ca7db567e97c4f0e13f0ab710b973b8 + - __osx >=11.0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 74030 + timestamp: 1752241089866 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.34.4-h01415d0_0.conda + sha256: 9b6e87354496d34c4b71bd012bc69705d1316b2c2ba4532c850105cd9cf27b47 + md5: 034456ff7a54b8d8e505cfd9b17005fd depends: - - __osx >=10.13 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.4,<2.0a0 - - libcurl >=8.14.1,<9.0a0 - libcxx >=19 - - libxml2 >=2.13.8,<2.14.0a0 - - libzip >=1.11.2,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.2,<4.0a0 - - zlib - - zstd >=1.5.7,<1.6.0a0 - license: MIT - license_family: MIT - size: 726938 - timestamp: 1757402395207 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h6808abe_102.conda - sha256: 0e4f48524bec74e53e97fb2149c4db33fc8b69d3db7668b7eec799d0b4c656f0 - md5: 50be32bb3251f3e24cf7568786640e84 + - __osx >=11.0 + - aws-c-cal >=0.9.2,<0.9.3.0a0 + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + - aws-c-http >=0.10.4,<0.10.5.0a0 + - aws-c-s3 >=0.8.6,<0.8.7.0a0 + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + - aws-c-auth >=0.9.1,<0.9.2.0a0 + - aws-c-io >=0.22.0,<0.22.1.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + size: 265588 + timestamp: 1758142053181 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.35.4-h74951b9_0.conda + sha256: 465527f414c2399ab70503d9d4e891658e7698439ba7f22d723f2ca8c03bb3e8 + md5: 87351fb3a08425237b701c582773be1a depends: - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.4,<2.0a0 - - libcurl >=8.14.1,<9.0a0 - libcxx >=19 - - libxml2 >=2.13.8,<2.14.0a0 - - libzip >=1.11.2,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.2,<4.0a0 - - zlib - - zstd >=1.5.7,<1.6.0a0 - license: MIT - license_family: MIT - size: 684477 - timestamp: 1757402380009 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.conda - sha256: 14d895f8c07201cd88ca2aada641c7e1db55c9b8e44b3f2579a7608b9d12cec2 - md5: 82a39939eb22d375750b85ed42cdbaba + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + - aws-c-event-stream >=0.5.7,<0.5.8.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 + run_exports: + weak: + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + size: 266862 + timestamp: 1765200345049 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h2169b1b_4.conda + sha256: 0e0a1d5cfa4e4a3f229fd6cb7db5e3f4a603132e22cfff47e94c4e58ab81a897 + md5: 0871f2fc2273bfd84c4e40d0604949ed depends: - - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.18.0,<9.0a0 - libcxx >=19 - - libxml2 - - libxml2-16 >=2.14.6 - - libzip >=1.11.2,<2.0a0 + - __osx >=11.0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: MIT - license_family: MIT - size: 687626 - timestamp: 1770718748118 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda - sha256: 70bc463082e8c861a2cd22b419fffd74aec98e43052be254c4fd0d51305742b3 - md5: 3747feaeeb94d1f7654bd10596360d21 - depends: - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.5,<2.0a0 - - libcurl >=8.18.0,<9.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzip >=1.11.2,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - aws-c-event-stream >=0.5.6,<0.5.7.0a0 + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + - aws-c-common >=0.12.4,<0.12.5.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3011040 + timestamp: 1758701033139 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.606-h4e1b0f7_10.conda + sha256: 87660413df6c49984a897544c8ace8461cd4ed69301ede5a793d00530985f702 + md5: a392fe9e9a3c6e0b65161533aca39be9 + depends: + - __osx >=11.0 + - libcxx >=19 + - aws-c-event-stream >=0.5.7,<0.5.8.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: MIT - license_family: MIT - size: 679613 - timestamp: 1770718488654 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_ha45073a_102.conda - sha256: c5312fe1026960a931e0f0be046a44acc43ab46d059a1f82c0b7881a3af8ff49 - md5: e70b5fae7a9b638d65fe226c0639b14a + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + - libcurl >=8.17.0,<9.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3121951 + timestamp: 1765257130593 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.0-h88fedcc_1.conda + sha256: 007cc6e7d821bc9553549dcdcdd500bac036dc169e920afff3968d981f7c86de + md5: 3633a96ad986211071b6f4e1884fa187 depends: - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - hdf4 >=4.2.15,<4.2.16.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libaec >=1.1.4,<2.0a0 + - __osx >=11.0 - libcurl >=8.14.1,<9.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - libzip >=1.11.2,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zlib - - zstd >=1.5.7,<1.6.0a0 + - libcxx >=19 + - openssl >=3.5.2,<4.0a0 license: MIT license_family: MIT - size: 677496 - timestamp: 1757402219395 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda - sha256: 663444d77a42f2265f54fb8b48c5450bfff4388d9c0f8253dd7855f0d993153f - md5: 2a45e7f8af083626f009645a6481f12d + run_exports: + weak: + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + size: 292995 + timestamp: 1758036239250 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.16.2-he5ae378_0.conda + sha256: d9a04af33d9200fcd9f6c954e2a882c5ac78af4b82025623e59cb7f7e590b451 + md5: 7efe92d28599c224a24de11bb14d395e depends: - - __glibc >=2.17,<3.0.a0 - - c-ares >=1.34.6,<2.0a0 - - libev >=4.33,<4.34.0a0 - - libev >=4.33,<5.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 + - __osx >=11.0 + - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - openssl >=3.5.4,<4.0a0 license: MIT license_family: MIT - size: 663344 - timestamp: 1773854035739 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda - sha256: 899551e16aac9dfb85bfc2fd98b655f4d1b7fea45720ec04ccb93d95b4d24798 - md5: dba4c95e2fe24adcae4b77ebf33559ae + run_exports: + weak: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + size: 290928 + timestamp: 1768837810218 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.12.0-hd83eed2_0.conda + sha256: b1cc54a52c735f6f791671763580501bb7ad016e4bcca005f8acea2f619b8709 + md5: 78ac8ce287aef15f819c2927e0fc29c6 depends: - __osx >=11.0 - - c-ares >=1.34.6,<2.0a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 - libcxx >=19 - - libev >=4.33,<4.34.0a0 - - libev >=4.33,<5.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 + - openssl >=3.5.1,<4.0a0 license: MIT license_family: MIT - size: 606749 - timestamp: 1773854765508 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda - sha256: 2bc7bc3978066f2c274ebcbf711850cc9ab92e023e433b9631958a098d11e10a - md5: 6ea18834adbc3b33df9bd9fb45eaf95b + run_exports: + weak: + - azure-identity-cpp >=1.12.0,<1.12.1.0a0 + size: 162705 + timestamp: 1753212949473 +- 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 - - c-ares >=1.34.6,<2.0a0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 - libcxx >=19 - - libev >=4.33,<4.34.0a0 - - libev >=4.33,<5.0a0 - - libzlib >=1.3.1,<2.0a0 - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT - size: 576526 - timestamp: 1773854624224 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 - md5: d864d34357c3b65a4b731f78c0801dc4 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-only - license_family: GPL - 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 - size: 33418 - timestamp: 1734670021371 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda - sha256: 3d9aa85648e5e18a6d66db98b8c4317cc426721ad7a220aa86330d1ccedc8903 - md5: 2d3278b721e40468295ca755c3b84070 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.33,<0.3.34.0a0 - license: BSD-3-Clause - license_family: BSD - size: 5931919 - timestamp: 1776993658641 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.33-openmp_h9e49c7b_0.conda - sha256: 2c2ffe7c3ab7becd47ad308946873d2bdc219625af32a53d10efbaa54b595d31 - md5: 30666a6f0afe1471e999eca7ae5c8179 - depends: - - __osx >=11.0 - - libgfortran - - libgfortran5 >=14.3.0 - - llvm-openmp >=19.1.7 - constrains: - - openblas >=0.3.33,<0.3.34.0a0 - license: BSD-3-Clause - license_family: BSD - size: 6287889 - timestamp: 1776996499823 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.33-openmp_he657e61_0.conda - sha256: 9dd455b2d172aeedfa2058d324b5b5822b0bc1b7c1f32cd183d7078540d2f6eb - md5: 909e41855c29f0d52ae630198cd57135 + run_exports: + weak: + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + size: 167424 + timestamp: 1770345338067 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.14.0-he094cc7_1.conda + sha256: df570ea362bb446bd4cf1353405daad1898887a7ab0d35af3250bed332a9895a + md5: 496217fd6aaa6d43646252a586c1445c depends: - __osx >=11.0 - - libgfortran - - libgfortran5 >=14.3.0 - - llvm-openmp >=19.1.7 - constrains: - - openblas >=0.3.33,<0.3.34.0a0 - license: BSD-3-Clause - license_family: BSD - size: 4304965 - timestamp: 1776995497368 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda - sha256: 90777039b48529283df5f16383fc399866024257a8bd93de583f4730db1ab30a - md5: c2bd8055a2e2dce7a7f32cfd02101fb6 - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd - size: 51767 - timestamp: 1779728204026 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hb9b0907_1.conda - sha256: ba9b09066f9abae9b4c98ffedef444bbbf4c068a094f6c77d70ef6f006574563 - md5: 1c0320794855f457dea27d35c4c71e23 - depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libgrpc >=1.73.1,<1.74.0a0 - - libopentelemetry-cpp-headers 1.21.0 ha770c72_1 - - libprotobuf >=6.31.1,<6.31.2.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 - size: 885397 - timestamp: 1751782709380 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-1.21.0-h7d3f41d_1.conda - sha256: 94df4129f94dbb17998a60bff0b53c700e6124a6cb67f3047fe7059ebaa7d357 - md5: 952dd64cff4a72cadf5e81572a7a81c8 - depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libgrpc >=1.73.1,<1.74.0a0 - - libopentelemetry-cpp-headers 1.21.0 h694c41f_1 - - libprotobuf >=6.31.1,<6.31.2.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 - size: 585875 - timestamp: 1751782877386 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda - sha256: 4bf8f703ddd140fe54d4c8464ac96b28520fbc1083cce52c136a85a854745d5c - md5: cbcea547d6d831863ab0a4e164099062 - depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcurl >=8.14.1,<9.0a0 - - libgrpc >=1.73.1,<1.74.0a0 - - libopentelemetry-cpp-headers 1.21.0 hce30654_1 - - libprotobuf >=6.31.1,<6.31.2.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 - size: 564609 - timestamp: 1751782939921 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-headers-1.21.0-ha770c72_1.conda - sha256: b3a1b36d5f92fbbfd7b6426982a99561bdbd7e4adbafca1b7f127c9a5ab0a60f - md5: 9e298d76f543deb06eb0f3413675e13a - license: Apache-2.0 - license_family: APACHE - size: 363444 - timestamp: 1751782679053 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libopentelemetry-cpp-headers-1.21.0-h694c41f_1.conda - sha256: 5b43ec55305a6fabd8eb37cee06bc3260d3641f260435194837d0b64faa0b355 - md5: 62636543478d53b28c1fc5efce346622 - license: Apache-2.0 - license_family: APACHE - size: 362175 - timestamp: 1751782820895 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda - sha256: ce74278453dec1e3c11158ec368c8f1b03862e279b63f79ed01f38567a1174e6 - md5: c7df4b2d612208f3a27486c113b6aefc - license: Apache-2.0 - license_family: APACHE - size: 363213 - timestamp: 1751782889359 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-21.0.0-h790f06f_8_cpu.conda - build_number: 8 - sha256: 221bf7e71ad787ecffcd79db294552077daa8aa760fa20831cae0c095b9d3166 - md5: 80344ce1bdd57e68bd70e742430a408c + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - libcxx >=19 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + size: 425677 + timestamp: 1753219837256 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.16.0-h5446563_2.conda + sha256: 2ab2bc487d2cb985d2d45adbac7a6fe9a554bd78808268622566acb5e28fe5a2 + md5: 1ac96ad3d642a951b4576ea09ae502a3 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 21.0.0 h56a6dad_8_cpu - - libgcc >=14 - - libstdcxx >=14 - - libthrift >=0.22.0,<0.22.1.0a0 - - openssl >=3.5.4,<4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1318386 - timestamp: 1759482004172 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-23.0.0-h7376487_2_cpu.conda - build_number: 2 - sha256: f8a747df762d1197196d6113a1fb56b9c6d396c1b37727f2caeef2887d3e0733 - md5: 64c8c3132e92b2d02e6b0bcdf7125090 + - __osx >=11.0 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + - libcxx >=19 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + size: 426524 + timestamp: 1778727625073 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.10.0-h12fd690_2.conda + sha256: 9b0fa0c2acbd69de6fce19c180439af8ed748a3facdc5e5eaa9b543371078497 + md5: 9be5f38d5306ac1069fcf3818549d56c depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 23.0.0 h40b5c2d_2_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: 1393478 - timestamp: 1770434939323 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-21.0.0-ha67a804_8_cpu.conda - build_number: 8 - sha256: da4b38051288fc06c577bce4b397f53e0ff1309b6e2e83af7a4496791724c682 - md5: 4bc9d24acd24d125176a85554f517ed1 + - __osx >=11.0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - libcxx >=19 + - libxml2 >=2.13.8,<2.14.0a0 + - openssl >=3.5.1,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + size: 120171 + timestamp: 1753211997430 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.13.0-he467506_0.conda + sha256: bc73ce983d90baa732e6f64e4d8b4ddbb8e671c5d6e7b9475d33dbd118ddd5b6 + md5: 4cfc08976cf62fef7736a763652987cb depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 h3202d62_8_cpu + - azure-core-cpp >=1.16.2,<1.16.3.0a0 - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libthrift >=0.22.0,<0.22.1.0a0 - - openssl >=3.5.4,<4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1061306 - timestamp: 1759483989578 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libparquet-23.0.0-ha0d2768_2_cpu.conda - build_number: 2 - sha256: 7bcdca6f68c17e1b154c39bcc5ea8be65a555e8c7c562b291df0bd290523fd2a - md5: 174b6059fc1102dbe2a784d732e919b4 + - libxml2 + - libxml2-16 >=2.14.6 + - openssl >=3.5.6,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + size: 128808 + timestamp: 1778662321258 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.12.0-h30213e0_3.conda + sha256: efa7abc4fded5b028f3f0e80dd271286255c3e746bf201f270556bbf13b01258 + md5: ee25593a451954f56a58eda1ad4bda07 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h72f758e_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libthrift >=0.22.0,<0.22.1.0a0 - - openssl >=3.5.5,<4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1098263 - timestamp: 1770434021021 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-21.0.0-h45c8936_8_cpu.conda - build_number: 8 - sha256: c336c67cdab92f99ad40e3d41571b880bd6d54ba06aaabb5187b23c799458da5 - md5: 1225311b8705c89c676a382da38865e4 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + - azure-storage-common-cpp >=12.10.0,<12.10.1.0a0 + - libcxx >=19 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 + size: 197289 + timestamp: 1753227070997 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.14.0-hdc9d693_2.conda + sha256: 77dde85d2c3c4c2f2a0a0cf6ac7e2b2458d60fe9a633e8fe934f0c9bfcbae168 + md5: 4dbee4ea590bf017fb7b2fba71b16b24 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 21.0.0 hd43feaf_8_cpu + - 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.13.0,<12.13.1.0a0 - libcxx >=19 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libthrift >=0.22.0,<0.22.1.0a0 - - openssl >=3.5.4,<4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1021610 - timestamp: 1759482399167 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda - build_number: 2 - sha256: 8a73ec8dd63d993ba4d0daa366470d0b68f3fcda7386362ec10a0e1abae5a9b8 - md5: 7b877b0e610ca5a58a8947eadb1f6191 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + size: 198818 + timestamp: 1778764243281 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.6.0-py313h7208f8c_0.conda + sha256: 4d39bf744249f60212a728369dbc6cd6ec4d5aef6668a14321f747d7eb4bac2d + md5: 6ab3d07883ad437c12a8f5fd90c1df5b depends: + - python - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libarrow 23.0.0 h585ae05_2_cpu - - libcxx >=21 - - libopentelemetry-cpp >=1.21.0,<1.22.0a0 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libthrift >=0.22.0,<0.22.1.0a0 - - openssl >=3.5.5,<4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1076058 - timestamp: 1770431459752 -- conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda - build_number: 2 - sha256: 10b1562bc1d7195c46134b2f53a7091b979c45e4117a60e1c4be0a0ce05c6171 - md5: 15dbe221357e3854b02ecc34f047cf40 + - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause AND MIT AND EPL-2.0 + run_exports: {} + size: 243873 + timestamp: 1781450811773 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + sha256: c3fe902114b9a3ac837e1a32408cc2142c147ec054c1038d37aec6814343f48a + md5: 925acfb50a750aa178f7a0aced77f351 depends: - - libarrow 23.0.0 hfcfc620_2_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: 949664 - timestamp: 1770435907454 -- conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.1-h7051d1f_3_cpu.conda - build_number: 3 - sha256: 04b6cacec2ba910a9339cd63d8c5f27626bad7c3c86040b5580d20d13c42cc46 - md5: 8ff27385263c4440f53422a1446feac9 + - __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 + run_exports: + weak: + - blosc >=1.21.6,<2.0a0 + size: 33602 + timestamp: 1733513285902 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py312h931d34d_3.conda + sha256: e2778cb8c253162e7c168bdf6dfd4ef76b5575c1c92179096c2e20e3f466d469 + md5: c0801688b09699777011e72c800eead0 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/libpciaccess-0.19-hb03c661_0.conda - sha256: f41721636a7c2e51bc2c642e1127955ab9c81145470714fdaac44d4d09e4af41 - md5: 33082e13b4769b48cfeb648e15bfe3fc + - numpy + - python + - python 3.12.* *_cpython + - __osx >=11.0 + - python_abi 3.12.* *_cp312 + - numpy >=1.23,<3 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 138458 + timestamp: 1762775942052 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py313hc22c943_3.conda + sha256: 58a1250804b8d90cdf4a28ef96a1ca5cd71bcd31e0473c3ec52b3ffed5134b4f + md5: 723ed198c435622db8f57a528b9debfe depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - numpy + - python + - python 3.13.* *_cp313 + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.13.* *_cp313 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 138948 + timestamp: 1762775928084 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bottleneck-1.6.0-np2py314hfa18b03_3.conda + sha256: 377dd23a6ebc813a6f3e9f54ef6152bd0dc447527aad6b37638822916b4fd484 + md5: f48af87bb77ab96c244e5105c4a9434b + depends: + - numpy + - python + - python 3.14.* *_cp314 + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 140095 + timestamp: 1762775905428 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h6caf38d_4.conda + sha256: 8aa8ee52b95fdc3ef09d476cbfa30df722809b16e6dca4a4f80e581012035b7b + md5: ce8659623cea44cc812bc0bfae4041c5 + depends: + - __osx >=11.0 + - brotli-bin 1.1.0 h6caf38d_4 + - libbrotlidec 1.1.0 h6caf38d_4 + - libbrotlienc 1.1.0 h6caf38d_4 license: MIT license_family: MIT - size: 29147 - timestamp: 1773533027610 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - sha256: 377cfe037f3eeb3b1bf3ad333f724a64d32f315ee1958581fc671891d63d3f89 - md5: eba48a68a1a2b9d3c0d9511548db85db + run_exports: + weak: + - libbrotlicommon >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + size: 20003 + timestamp: 1756599758165 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.2.0-h7d5ae5b_1.conda + sha256: 422ac5c91f8ef07017c594d9135b7ae068157393d2a119b1908c7e350938579d + md5: 48ece20aa479be6ac9a284772827d00c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement - size: 317729 - timestamp: 1776315175087 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.58-he930e7c_0.conda - sha256: a669b22978e546484d18d99a210801b1823360a266d7035c713d8d1facd035f7 - md5: 9744d43d5200f284260637304a069ddd + - __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 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 20237 + timestamp: 1764018058424 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h6caf38d_4.conda + sha256: e57d402b02c9287b7c02d9947d7b7b55a4f7d73341c210c233f6b388d4641e08 + md5: ab57f389f304c4d2eb86d8ae46d219c3 depends: - __osx >=11.0 - - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement - size: 299206 - timestamp: 1776315286816 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda - sha256: 66eae34546df1f098a67064970c92aa14ae7a7505091889e00468294d2882c36 - md5: 2259ae0949dbe20c0665850365109b27 + - libbrotlidec 1.1.0 h6caf38d_4 + - libbrotlienc 1.1.0 h6caf38d_4 + license: MIT + license_family: MIT + run_exports: {} + size: 17373 + timestamp: 1756599741779 +- 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 - - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement - size: 289546 - timestamp: 1776315246750 -- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - sha256: 218913aeee391460bd0e341b834dbd9c6fa6ae0a4276c0c300266cc99a816a28 - md5: 52f1280563f3b48b5f75414cd2d15dd1 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement - size: 385227 - timestamp: 1776315248638 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda - sha256: 06a8ace6cc5ee47b85a5e64fad621e5912a12a0202398f54f302eb4e8b9db1fd - md5: a4769024afeab4b32ac8167c2f92c7ac - 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 - size: 2649881 - timestamp: 1763565297202 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_0.conda - sha256: 076742d4a9fa88711c5fc6726b967e6a03b5060e669aa03288c684a7ae03583b - md5: 2772b7ab7bc43f24e9585a714761a255 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - krb5 >=1.22.2,<1.23.0a0 - - libgcc >=14 - - openldap >=2.6.13,<2.7.0a0 - - openssl >=3.5.6,<4.0a0 - license: PostgreSQL - size: 2754709 - timestamp: 1778786234149 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-hfb7daa7_5.conda - sha256: b04322e2128684d4043e256f56b74528b0a0a296ba4a81299056ec04655a0580 - md5: da31d891434e50d7e7be8adc5832269b + - libbrotlidec 1.2.0 hc919400_1 + - libbrotlienc 1.2.0 hc919400_1 + license: MIT + license_family: MIT + run_exports: {} + size: 18628 + timestamp: 1764018033635 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312h6b01ec3_4.conda + sha256: e45f24660a89c734c3d54f185ecdc359e52a5604d7e0b371e35dce042fa3cf3a + md5: 0d50ab05d6d8fa7a38213c809637ba6d depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 4204474 - timestamp: 1780003940664 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libprotobuf-6.31.1-h774df25_5.conda - sha256: 337e8abeadb5f1303646c44b86d7b03767d81b3f7eec825d9f6825554a6fb054 - md5: 3a67e77f5eedfbd8aac22941685c3807 + - __osx >=11.0 + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 h6caf38d_4 + license: MIT + license_family: MIT + run_exports: {} + size: 341750 + timestamp: 1756600036931 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py313hde1f3bb_1.conda + sha256: 2e21dccccd68bedd483300f9ab87a425645f6776e6e578e10e0dd98c946e1be9 + md5: b03732afa9f4f54634d94eb920dfb308 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - libcxx >=19 - - libzlib >=1.3.2,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3010593 - timestamp: 1780005465717 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda - sha256: c1998dd33ae1229bec55c40a01cdf88bc5839cab2549f9ba21ea84472bba3242 - md5: 9f05750adae48f79259ee79aa4b02e52 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + constrains: + - libbrotlicommon 1.2.0 hc919400_1 + license: MIT + license_family: MIT + run_exports: {} + size: 359568 + timestamp: 1764018359470 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda + sha256: 5c2e471fd262fcc3c5a9d5ea4dae5917b885e0e9b02763dbd0f0d9635ed4cb99 + md5: f9501812fe7c66b6548c7fcaa1c1f252 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - libcxx >=19 - - libzlib >=1.3.2,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3430992 - timestamp: 1780004171922 -- conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda - sha256: f7a0fa886ac988dc78d34898c6b5b92f0e612002837f2f3f61e1a54e30754a06 - md5: 14ebe738986c601b677b060fbe1df575 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + constrains: + - libbrotlicommon 1.2.0 hc919400_1 + license: MIT + license_family: MIT + run_exports: {} + size: 359854 + timestamp: 1764018178608 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda + sha256: 540fe54be35fac0c17feefbdc3e29725cce05d7367ffedfaaa1bdda234b019df + md5: 620b85a3f45526a8bc4d23fd78fc22f0 depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause + - __osx >=11.0 + license: bzip2-1.0.6 license_family: BSD - size: 7799743 - timestamp: 1780005667741 -- conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h6cf2d3c_1.conda - sha256: dce2820ebc4059b4919158814aa6ea2ccd31be699d9e3d74824de8d31ec66864 - md5: 712686431de276d81eb02d87483f6f10 + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 124834 + timestamp: 1771350416561 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.6-hc919400_0.conda + sha256: 2995f2aed4e53725e5efbc28199b46bf311c3cab2648fc4f10c2227d6d5fa196 + md5: bcb3cba70cf1eec964a03b4ba7775f01 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 7162612 - timestamp: 1780005438640 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.11.05-h7b12aa8_0.conda - sha256: eb5d5ef4d12cdf744e0f728b35bca910843c8cf1249f758cf15488ca04a21dbb - md5: a30848ebf39327ea078cf26d114cff53 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.6,<2.0a0 + size: 180327 + timestamp: 1765215064054 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-2.22.0-hb83781b_1.conda + sha256: 4c1afcc78418a5d171f94238bae8b798c288deb8ba454113cf11f10d72b09ff6 + md5: 5e4bdded23f6d61d8351223db98bc8f3 depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - re2 2025.11.05.* + - __osx >=11.0 + - libcxx >=19 + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.3.1,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD - size: 211099 - timestamp: 1762397758105 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libre2-11-2025.11.05-h554ac88_0.conda - sha256: 901fb4cfdabf1495e7f080f8e8e218d1ad182c9bcd3cea2862481fef0e9d534f - md5: a0237623ed85308cb816c3dcced23db2 + run_exports: + weak: + - c-blosc2 >=2.22.0,<2.23.0a0 + size: 253671 + timestamp: 1764291734763 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-blosc2-3.1.4-hf9886e1_0.conda + sha256: 51cf3bdd81a7fbb1bbfd911a839dce5207db222e7fa30465930c6ea38a8b7d38 + md5: dbc854c2a2fbeda409d0391dde083cd0 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - libcxx >=19 - constrains: - - re2 2025.11.05.* + - lz4-c >=1.10.0,<1.11.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD - size: 180107 - timestamp: 1762398117273 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda - sha256: 7b525313ab16415c4a3191ccf59157c3a4520ed762c8ec61fcfb81d27daa4723 - md5: 060f099756e6baf2ed51b9065e44eda8 + run_exports: + weak: + - c-blosc2 >=3.1.4,<3.2.0a0 + size: 285481 + timestamp: 1781706690074 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-h6a3b0d2_0.conda + sha256: 00439d69bdd94eaf51656fdf479e0c853278439d22ae151cabf40eb17399d95f + md5: 38f6df8bc8c668417b904369a01ba2e2 depends: - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libcxx >=18 + - libexpat >=2.6.4,<3.0a0 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 896173 + timestamp: 1741554795915 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.4-he0f2337_1.conda + sha256: cde9b79ee206fe3ba6ca2dc5906593fb7a1350515f85b2a1135a4ce8ec1539e3 + md5: 36200ecfbbfbcb82063c87725434161f + depends: + - __osx >=11.0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 - libcxx >=19 - constrains: - - re2 2025.11.05.* - license: BSD-3-Clause - license_family: BSD - size: 165593 - timestamp: 1762398300610 -- conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h04e5de1_1.conda - sha256: 7e26b7868b10e40bc441e00c558927835eacef7e5a39611c2127558edd660c8f - md5: 3d863f1a19f579ca511f6ac02038ab5a + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 900035 + timestamp: 1766416416791 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py312h5978115_1.conda + sha256: b4e4c3c765da889c4de984f0e3d290ed546efd78b81b3494bd34e7f87f95cbc5 + md5: cd69cf54cee41b81bbed095a5e2a61d7 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.* + - __osx >=11.0 + - libcxx >=19 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - shapely >=2.0 license: BSD-3-Clause license_family: BSD - size: 266062 - timestamp: 1768190189553 -- conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda - sha256: 8eb2c205588e6d751fe387e90f1321ac8bbaef0a12d125a1dd898e925327f8ae - md5: 960713477ad3d7f82e5199fa1b940495 + run_exports: {} + size: 1518509 + timestamp: 1756884101248 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py313h7d16b84_1.conda + sha256: a394da24e53040504e621aa489017bf1cff045cd29976fd3d114d5f1dda21398 + md5: 65859d540753d1a0acb05029eb6cf492 depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - re2 2025.11.05.* + - __osx >=11.0 + - libcxx >=19 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - shapely >=2.0 license: BSD-3-Clause license_family: BSD - size: 263996 - timestamp: 1762397947932 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-he92a37e_3.conda - sha256: a45ef03e6e700cc6ac6c375e27904531cf8ade27eb3857e080537ff283fb0507 - md5: d27665b20bc4d074b86e628b3ba5ab8b - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - freetype >=2.13.3,<3.0a0 - - gdk-pixbuf >=2.42.12,<3.0a0 - - harfbuzz >=11.0.0,<12.0a0 - - libgcc >=13 - - libglib >=2.84.0,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libxml2 >=2.13.7,<2.14.0a0 - - pango >=1.56.3,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 6543651 - timestamp: 1743368725313 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - sha256: 5571bd8239d71961d4e3ce972f865b3ea95a91ce0b53d5749fe2dd24254ddbda - md5: 492c8d9b1c564c2e948b6cb4ba0f8261 - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.0,<3.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.6,<3.0a0 - - harfbuzz >=14.2.0 - - libgcc >=14 - - libglib >=2.88.1,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 3476570 - timestamp: 1780450632624 -- conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.58.4-h21a6cfa_3.conda - sha256: 87432fca28ddfaaf82b3cd12ce4e31fcd963428d1f2c5e2a3aef35dd30e56b71 - md5: 213dcdb373bf108d1beb18d33075f51d - depends: - - __osx >=10.13 - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.42.12,<3.0a0 - - libglib >=2.84.0,<3.0a0 - - libxml2 >=2.13.7,<2.14.0a0 - - pango >=1.56.3,<2.0a0 - constrains: - - __osx >=10.13 - license: LGPL-2.1-or-later - size: 4946543 - timestamp: 1743368938616 -- conda: https://conda.anaconda.org/conda-forge/osx-64/librsvg-2.62.3-h7321050_0.conda - sha256: 4e6ceb25dcc7b67d550e2b6ce98da585b49dd4590f21a709dd6ec626df3b8c19 - md5: 2d5f6b880486d5058c7eab0db04b1bc9 + run_exports: {} + size: 1526507 + timestamp: 1756884314766 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cartopy-0.25.0-py314ha3d490a_1.conda + sha256: 9f7ff06062d29b7096121478515e75afd02246b7c98fead6f0dac2f011eea4b0 + md5: 5def62152c68e2343228e1b27a9338c0 depends: - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.0,<3.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.6,<3.0a0 - - harfbuzz >=14.2.0 - - libglib >=2.88.1,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __osx >=10.13 - license: LGPL-2.1-or-later - size: 2511802 - timestamp: 1780451204499 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.58.4-h266df6f_3.conda - sha256: 0ec066d7f22bcd9acb6ca48b2e6a15e9be4f94e67cb55b0a2c05a37ac13f9315 - md5: 95d6ad8fb7a2542679c08ce52fafbb6c + - libcxx >=19 + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.14.0rc2,<3.15.0a0 + - python >=3.14.0rc2,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - shapely >=2.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1533650 + timestamp: 1756884104765 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py312hb65edc0_0.conda + sha256: ad49c48044a5f12c7bcc6ae6a66b79f10e24e681e9f3ad4fa560b0f708a9393c + md5: 1b36501506f4ef414524891ca5f0a561 depends: - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.42.12,<3.0a0 - - libglib >=2.84.0,<3.0a0 - - libxml2 >=2.13.7,<2.14.0a0 - - pango >=1.56.3,<2.0a0 - constrains: - - __osx >=11.0 - license: LGPL-2.1-or-later - size: 4607782 - timestamp: 1743369546790 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda - sha256: f5b4fb7b6f13bbfca59613bff2e70b5a398e80727b9d0f814837ffcbc34185e1 - md5: 6973724fadafe66ac6e4f1c55c191407 + - libffi >=3.4.6,<3.5.0a0 + - pycparser + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 287573 + timestamp: 1758716529098 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py313h224173a_1.conda + sha256: 1fa69651f5e81c25d48ac42064db825ed1a3e53039629db69f86b952f5ce603c + md5: 050374657d1c7a4f2ea443c0d0cbd9a0 depends: - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.0,<3.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.6,<3.0a0 - - harfbuzz >=14.2.0 - - libglib >=2.88.1,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __osx >=11.0 - license: LGPL-2.1-or-later - size: 2397567 - timestamp: 1780452232118 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-h46dd2a8_20.conda - sha256: eb4082a5135102f5ba9c302da13164d4ed1181d5f0db9d49e5e11a815a7b526f - md5: df81fd57eacf341588d728c97920e86d + - libffi >=3.5.2,<3.6.0a0 + - pycparser + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 291376 + timestamp: 1761203583358 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.0.0-py314h44086f9_1.conda + sha256: 5b5ee5de01eb4e4fd2576add5ec9edfc654fbaf9293e7b7ad2f893a67780aa98 + md5: 10dd19e4c797b8f8bdb1ec1fbb6821d7 depends: - - __glibc >=2.17,<3.0.a0 - - geos >=3.14.1,<3.14.2.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: GPL-2.0-or-later - license_family: GPL - size: 231670 - timestamp: 1761670395043 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librttopo-1.1.0-hd718a1a_18.conda - sha256: 394cf4356e0e26c4c95c9681e01e4def77049374ac78b737193e38c1861e8042 - md5: 4f40dea96ff9935e7bd48893c24891b9 + - __osx >=11.0 + - libffi >=3.5.2,<3.6.0a0 + - pycparser + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 292983 + timestamp: 1761203354051 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py312hf57c059_1.conda + sha256: 80bb769852c90c763cdb90e55a9f2a392164de907a6df579cc8b94bff85d0158 + md5: bd54402123a03de02e03c509597c635b depends: - - __glibc >=2.17,<3.0.a0 - - geos >=3.13.1,<3.13.2.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: GPL-2.0-or-later - license_family: GPL - size: 232698 - timestamp: 1741167016983 -- conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-h16cd5d8_20.conda - sha256: e3613fabe6ce2fa1329f98a0be49df4529553f5632706c90fd3b56209a5a739f - md5: 32837d365266ad66fcf849b7a92fb5fa + - __osx >=11.0 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 387077 + timestamp: 1768511266483 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py313hf5115c3_1.conda + sha256: 6fec83f36746b5977283d0433224fe50a9fa85dac81036912dba3ceef36cf834 + md5: 1e6565956ac1d659613807c28e103350 depends: - - __osx >=10.13 - - geos >=3.14.1,<3.14.2.0a0 - - libcxx >=19 - license: GPL-2.0-or-later - license_family: GPL - size: 215501 - timestamp: 1761670645302 -- conda: https://conda.anaconda.org/conda-forge/osx-64/librttopo-1.1.0-hd2ea1e3_18.conda - sha256: 7a927ca3c12d103f2c5829b2c33409cd651c3f3c648cdf53592fa848c9e72118 - md5: 425adac1dfc1169beb97753b5167fc5f + - __osx >=11.0 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 388560 + timestamp: 1768511482468 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cftime-1.6.5-py314h2115a04_1.conda + sha256: 266ee94a54887cbe8c05ae4ea6d5ea575fafb9d7f64c0ce0859af0fc5a416e59 + md5: a03f98abd72452e57a6667a58a5a2fdf depends: - - __osx >=10.13 - - geos >=3.13.1,<3.13.2.0a0 - - libcxx >=18 - license: GPL-2.0-or-later - license_family: GPL - size: 214379 - timestamp: 1741167133138 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-h26cc057_18.conda - sha256: d44060c2980e45e6392a045b55bfdde440819346251daa2400b527007fd727e2 - md5: d324443cad810cf90608d8b2330fcc59 + - __osx >=11.0 + - numpy >=1.21.2 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 397425 + timestamp: 1768511349471 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cbc-2.10.13-h2032c40_1.conda + sha256: 238328ef13c15fa87ff718ef6bfc32ee83c255f47af7d4ba07190ff865c652fa + md5: f76979642f978340ec48d809c548732f depends: - __osx >=11.0 - - geos >=3.13.1,<3.13.2.0a0 - - libcxx >=18 - license: GPL-2.0-or-later - license_family: GPL - size: 192154 - timestamp: 1741167142737 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda - sha256: 2b28c777889b1b638244f65d5bef4a8ba4624bdb740cecf26c845876653552c2 - md5: d07359797436cfc891b38e203cf0caac + - bzip2 >=1.0.8,<2.0a0 + - coin-or-cgl >=0.60,<0.61.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - 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 + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cbc >=2.10.13,<2.11.0a0 + size: 799849 + timestamp: 1778586417864 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-cgl-0.60.10-h034796e_1.conda + sha256: c748d38ea6f8dd80ac1f34e4c5291bde150ae75a70b3cfe94a10a6bf609540bc + md5: a7bdd89020d6d7316c67e16f0b1db99c depends: - __osx >=11.0 - - geos >=3.14.1,<3.14.2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 - libcxx >=19 - license: GPL-2.0-or-later - license_family: GPL - size: 192590 - timestamp: 1761670939075 -- conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda - sha256: d8d091afa0e5009b71e9a931da862a60104b75ca13c3021edf036620eebaf2d0 - md5: 7eeb5aed49853f8b3e1ca0463ef55a8e - depends: - - geos >=3.14.1,<3.14.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: GPL-2.0-or-later - license_family: GPL - size: 403088 - timestamp: 1761671197546 -- conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-hbfc9ebc_18.conda - sha256: 10aa38ae0b2e590368db0cadd8457890f62e23aa10d7f34c0d60f9cc4251ad53 - md5: 42a234d3a722c3fb3a332a3f67d6916b - depends: - - geos >=3.13.1,<3.13.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: GPL-2.0-or-later - license_family: GPL - size: 404655 - timestamp: 1741167186009 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libscotch-7.0.4-h2fe6a88_5.conda - sha256: 218ddc7a3d5f55f78edf0b78262c0988e70ee9a630c35f45098dae37591c558b - md5: dd1e1c54432494476d66c679014c675c + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cgl >=0.60,<0.61.0a0 + size: 440213 + timestamp: 1778571470907 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-clp-1.17.11-he934a02_1.conda + sha256: fecf7f3b3789072f3118127da84fe9c4806ce430e011f87d2a9c303e7a394ee6 + md5: 24fa532c36ed6a2352679d46d29b3d3f depends: + - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libgcc-ng >=12 - - libgfortran-ng - - libgfortran5 >=12.3.0 - - libzlib >=1.2.13,<2.0a0 - - xz >=5.2.6,<6.0a0 - - zlib - license: CECILL-C - size: 341039 - timestamp: 1717069891622 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libscotch-7.0.11-int64_hdc26f42_3.conda - sha256: 6d8ac2fcd40291d6ca0892a9138528a740fc9a772f67ff95eaeb5ee314b8022f - md5: 4ab09041d626c67a4fccc9fe3c3bb734 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - 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 + - liblapacke >=3.9.0,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-clp >=1.17,<1.18.0a0 + size: 914273 + timestamp: 1778520263707 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-osi-0.108.12-h8aa3827_1.conda + sha256: 529f86cd97ddfb494e877b354c8e2fba36b00ad94b2609d243027e4073f74efa + md5: b1c3b86d87bc48144aa135969218d8af depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=19 - libgfortran - libgfortran5 >=14.3.0 - - liblzma >=5.8.3,<6.0a0 + - liblapack >=3.9.0,<4.0a0 + - liblapacke >=3.9.0,<4.0a0 - libzlib >=1.3.2,<2.0a0 - license: CECILL-C - size: 305944 - timestamp: 1776441838532 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda - sha256: 9263ad0a4204696b4b88f4bfcf89f33e3be6c07881ca23c40eea4e0d43d18253 - md5: 6a8cee5bf8c0272917bedc4318de4f2c + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-osi >=0.108,<0.109.0a0 + size: 326662 + timestamp: 1778511593409 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coin-or-utils-2.11.13-h6bed822_1.conda + sha256: 8cf9f89d622e6a0778b4b21e5e059ad834c02e23d644f56505b73e2e2bd02edc + md5: 1d8fbd1774dbeebde80ea86e1c67652a depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 + - libblas >=3.9.0,<4.0a0 + - libcxx >=19 - libgfortran - libgfortran5 >=14.3.0 - - liblzma >=5.8.3,<6.0a0 + - liblapack >=3.9.0,<4.0a0 - libzlib >=1.3.2,<2.0a0 - license: CECILL-C - size: 282634 - timestamp: 1776441906749 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda - sha256: b677bbf1c339d894757c3dcfbb2f88649e499e4991d70ae09a1466da9a6c92d6 - md5: 965e4d531b588b2e42f66fd8e48b056c + constrains: + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-utils >=2.11,<2.12.0a0 + size: 553075 + timestamp: 1778500827484 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312h3093aea_4.conda + sha256: fa1b3967c644c1ffaf8beba3d7aee2301a8db32c0e9a56649a0e496cf3abd27c + md5: f9cce0bc86b46533489a994a47d3c7d2 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: ISC - size: 269272 - timestamp: 1779163468406 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.22-ha3d0635_1.conda - sha256: 07f0f37463564d93530fc23e2a77cc1aad58ba8724b1842f8713dbf6cde17cb0 - md5: bf0ce6af8f7628e34cdb399f6aa82e53 + - 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 + run_exports: {} + size: 286084 + timestamp: 1769156157865 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py313h2af2deb_4.conda + sha256: 6320cd6c16fdcf25efa493f9a2c54b2687911967a5e90544d599c535535387e9 + md5: afd3e394d14e627be0de6e8ee3553dae depends: + - numpy >=1.25 + - python + - libcxx >=19 - __osx >=11.0 - license: ISC - size: 281370 - timestamp: 1779164249823 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda - sha256: 202be45db5726757a8ea1f374f85aacc18c504f5ff15b2558496dff4c8779c48 - md5: 9ed5ab909c449bdcae72322e44875a18 + - python 3.13.* *_cp313 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 286789 + timestamp: 1769156187387 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py314hf8a3a22_4.conda + sha256: 754ab72f1c1ae99ef7c57995f59224dc9632cbd6731fe7e6277437fd01d43156 + md5: cddc851000ce131d757678c2f329eaad depends: + - numpy >=1.25 + - python + - python 3.14.* *_cp314 - __osx >=11.0 - license: ISC - size: 247352 - timestamp: 1779164136206 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda - sha256: de45b71224da77a1c3a7dd48d8885eb957c9f05455d4f0828463293e7144330f - md5: 7d5abf7ca1bd00b43d273f44d93d05dc + - libcxx >=19 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 290405 + timestamp: 1769156069514 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py312h1238841_0.conda + sha256: 50af482c90ac5decda27265ef20a1c2399b18d35c0378eecc90539b5a76ff85f + md5: 8269bb6adc80e76fd9f7bf4ee8ded3b8 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: ISC - size: 280234 - timestamp: 1779164124739 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-gpl_h2abfd87_119.conda - sha256: 403c1ad74ee70caaac02216a233ef9ec4531497ee14e7fea93a254a005ece88d - md5: 887245164c408c289d0cb45bd508ce5f + - __osx >=11.0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1852608 + timestamp: 1781385456338 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py313hda5ae78_0.conda + sha256: aa94e10d98ce59815319fd7ef35be3b847778a5e9a164ee9663314ece832caaa + md5: fcafa4ea64298701d582b0bd697592be depends: - - __glibc >=2.17,<3.0.a0 - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.14.1,<3.14.2.0a0 - - libgcc >=14 - - librttopo >=1.1.0,<1.2.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - - libxml2-devel - - libzlib >=1.3.1,<2.0a0 - - proj >=9.7.0,<9.8.0a0 - - sqlite - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 4097449 - timestamp: 1761681679109 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.1.0-he17ca71_14.conda - sha256: 82f7f5f4498a561edf84146bfcff3197e8b2d8796731d354446fc4fd6d058e94 - md5: d010b5907ed39fdb93eb6180ab925115 + - __osx >=11.0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + constrains: + - __osx >=11.0 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1856555 + timestamp: 1781385454803 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-49.0.0-py314h0d331bb_0.conda + sha256: 095f69075f4b54bf4d3674f7a529926a4e9bc9c1452093135d3fdbef233a4783 + md5: 8eb2d079cb2d42f28bc85c73977d05de depends: - - __glibc >=2.17,<3.0.a0 - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - libgcc >=13 - - librttopo >=1.1.0,<1.2.0a0 - - libsqlite >=3.49.1,<4.0a0 - - libstdcxx >=13 - - libxml2 >=2.13.6,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - sqlite - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 4047775 - timestamp: 1742308519433 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-gpl_hb921464_119.conda - sha256: 4f4a08255e92e4c320252a7693cc27ba27e731a48f8fd5e41a76c1a671bb82e3 - md5: 14067124e9dd23b72cd78d68d78fac03 + - __osx >=11.0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - __osx >=11.0 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1871987 + timestamp: 1781385445880 +- 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 + run_exports: {} + size: 591797 + timestamp: 1771856474133 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py313h0997733_2.conda + sha256: d272fa92cbf6b4de83a47702878e1ac75efc665d7f60f1c2818c8c33ebd4cfa6 + md5: 5b7dd41f7974dd5d52bf37cbc0322e84 + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - toolz >=0.10.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 594945 + timestamp: 1771856362962 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.1.0-py314h6c2aa35_2.conda + sha256: 8deb1f8ef80525cccc68c73cdcd690cb8614035f6e1d0eb6880c0c9b377d29ac + md5: aae872d4d6847677924de8e023e00457 + depends: + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - toolz >=0.10.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 615096 + timestamp: 1771856205834 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.21-py314he609de1_0.conda + sha256: fd6df772cdb30d01fa0d405ed637f420a9f2194fe931f967e8c67d95b504f8b4 + md5: da29307f59fb7a63f686ec20724fecf9 + depends: + - python + - libcxx >=19 + - __osx >=11.0 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 2776045 + timestamp: 1780390212997 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/eccodes-2.46.0-h768f3a7_0.conda + sha256: 3184ed7ad2647931d398e82ec6f675df027a29fa0f5da8cc33c5924076f97092 + md5: a3a6aa5eb19e85c456ad3bc7b98777af depends: - - __osx >=10.13 - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.14.1,<3.14.2.0a0 + - __osx >=11.0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - jasper >=4.2.8,<5.0a0 + - libaec >=1.1.5,<2.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.6 - - libxml2-devel + - libgfortran + - libgfortran5 >=14.3.0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libpng >=1.6.55,<1.7.0a0 - libzlib >=1.3.1,<2.0a0 - - proj >=9.7.0,<9.8.0a0 - - sqlite - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 3164968 - timestamp: 1761682127133 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libspatialite-5.1.0-hf0eb338_14.conda - sha256: 427fdb65b2d40c9bbe029e5728a5e4db4af07d2b23899e62982d55e765546118 - md5: 11031c4dfd7426bd0ed67ce4b5f59ffc + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 5330368 + timestamp: 1772015392178 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda + sha256: ba685b87529c95a4bf9de140a33d703d57dc46b036e9586ed26890de65c1c0d5 + md5: 3b87dabebe54c6d66a07b97b53ac5874 depends: - - __osx >=10.13 - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - libcxx >=18 - - libiconv >=1.18,<2.0a0 - - librttopo >=1.1.0,<1.2.0a0 - - libsqlite >=3.49.1,<4.0a0 - - libxml2 >=2.13.6,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - sqlite - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 3144268 - timestamp: 1742308894421 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda - sha256: 631e1bca330abc13bcbb0a16aea47aec969ddd5a82f695bdc840497069fc1dec - md5: babf54eb886241155434878f728ea099 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - epoxy >=1.5.10,<1.6.0a0 + size: 296347 + timestamp: 1758743805063 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py312h455b684_4.conda + sha256: cd6ef8ae8237c237abda0fad3c58984959f792a1607d610b86b7e3f8b0b0c488 + md5: 9835aa65ef5d25e7e7f12653c1c56f22 depends: - __osx >=11.0 - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.14.1,<3.14.2.0a0 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 - 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.6 - - libxml2-devel - - libzlib >=1.3.1,<2.0a0 - - proj >=9.7.0,<9.8.0a0 - - sqlite - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 2712485 - timestamp: 1761681521138 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hea0a7cd_14.conda - sha256: f586ba7ffa445514bf97778c3f6720a83980e8e9a4aa8c95f060d5ecf3ea531a - md5: c2d44056e47c6985bb1dbe8c60788f64 + - libgdal-core >=3.10.3,<3.11.0a0 + - pyparsing + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1042406 + timestamp: 1764875395749 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py313h7df67bf_6.conda + sha256: 3bdf13c8f79852ab3a22fccadb5938efb06351ae43509bac4cdbd423a0608b0a + md5: dc81b108af52deb655ea85f9b745f7e2 depends: - __osx >=11.0 - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - libcxx >=18 - - libiconv >=1.18,<2.0a0 - - librttopo >=1.1.0,<1.2.0a0 - - libsqlite >=3.49.1,<4.0a0 - - libxml2 >=2.13.6,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - sqlite - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 2942231 - timestamp: 1742308744175 -- conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda - sha256: c34dd6238ac4723b83b2155b18e7a91ce70dc80b422a50b19c4c713c7c6a8d80 - md5: c0eeff876d19f52efddccbd4887bb66f + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.12.1,<3.13.0a0 + - pyparsing + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1050758 + timestamp: 1767051627331 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fiona-1.10.1-py314hf8d3afe_6.conda + sha256: ba8da8eb94e2762116a6c8877814826d638f046210f23b9da1ef444f9a55046a + md5: d30d4527aacdf33b1e80ef858f33608c depends: - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.14.1,<3.14.2.0a0 - - librttopo >=1.1.0,<1.2.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libxml2-devel - - libzlib >=1.3.1,<2.0a0 - - proj >=9.7.0,<9.8.0a0 - - sqlite - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zlib - license: MPL-1.1 - license_family: MOZILLA - size: 8671657 - timestamp: 1761681604524 -- conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-h378fb81_14.conda - sha256: 2a32368acce3c70a26e5600be369d78223e75db21907adf0454cfa30b63029e3 - md5: 58904bcd0b61948946e4efff5e4e3bbd + - __osx >=11.0 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libcxx >=19 + - libgdal-core >=3.12.1,<3.13.0a0 + - pyparsing + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - shapely + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1059210 + timestamp: 1767051558277 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.1-h2b252f5_0.conda + sha256: 8607d8d0b32f9f6fc61ea8c06b537486b78428a04516658222fa4d1d521af765 + md5: 9d928e6a62192141fb6540a3125b1345 depends: - - freexl >=2 - - freexl >=2.0.0,<3.0a0 - - geos >=3.13.1,<3.13.2.0a0 - - librttopo >=1.1.0,<1.2.0a0 - - libsqlite >=3.49.1,<4.0a0 - - libxml2 >=2.13.6,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - proj >=9.6.0,<9.7.0a0 - - sqlite - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - zlib + - __osx >=11.0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libintl >=0.25.1,<1.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + size: 248677 + timestamp: 1780450500773 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.63.0-py312h04c11ed_0.conda + sha256: b78cc8df0d93ac0f0d59cb91cf54cc91effa6c124a78c8d2e8afc8011d9fb320 + md5: 77e64a600d8426c3863942f67491f5fb + 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 + run_exports: {} + size: 2904377 + timestamp: 1778771054844 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.63.0-py313h65a2061_0.conda + sha256: 7ee6adb0d2c9c5c8d5674736efd46c10b6902b31f95853c606cf86b3928b39cc + md5: 1b8cb9d51771e5399df1a2859e512134 + depends: + - __osx >=11.0 + - brotli + - munkres + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 2983026 + timestamp: 1778770717031 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_1.conda + sha256: 96b33f1e2a32c602b167f43719e3acf89ec742b4a1e25e99ffd0e6f99b38d277 + md5: 7bd06ab4ed807154c2d9031eb5ebf025 + depends: + - libfreetype 2.14.3 hce30654_1 + - libfreetype6 2.14.3 hdfa99f5_1 + license: GPL-2.0-only OR FTL + run_exports: + weak: + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + size: 173518 + timestamp: 1780933616544 +- 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 - size: 8277831 - timestamp: 1742308854436 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libspral-2025.05.20-hfabd9d1_1.conda - sha256: c9faa24e14ecdcf666b79fab8961c93562d20626c473a5df108b5c17e8873ab2 - md5: 9f54808199531c466b437215d8dd5c29 - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - libhwloc >=2.12.1,<2.12.2.0a0 - - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - metis >=5.1.0,<5.1.1.0a0 - license: BSD-3-Clause - license_family: BSD - size: 360447 - timestamp: 1756123740608 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-h0c1763c_0.conda - sha256: 1ab603b6ec93933e76027e1f23b21b22b858ba1b56f1e1695ef6fe5e80cb7358 - md5: 062b0ac602fb0adf250e3dfa86f221c4 + run_exports: + weak: + - freexl >=2.0.0,<3.0a0 + size: 53378 + timestamp: 1734014980768 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.16-hc919400_0.conda + sha256: d856dc6744ecfba78c5f7df3378f03a75c911aadac803fa2b41a583667b4b600 + md5: 04bdce8d93a4ed181d1d726163c2d447 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: blessing - size: 957849 - timestamp: 1780574429573 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h77d7759_0.conda - sha256: e092c945764c0194298af892bc79c89dbdacac7fab6fa0cd315f91deb0780c03 - md5: 78bad38060b6d8bd30e1f43474dcf77c + - __osx >=11.0 + license: LGPL-2.1-or-later + run_exports: + weak: + - fribidi >=1.0.16,<2.0a0 + size: 59391 + timestamp: 1757438897523 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py312ha0ce254_0.conda + sha256: 95690f616c3dd589ba886f54d79111769092c66dd83ed16139920c070742791f + md5: 4dba3a2eb282b85b3f6e0a25b6af0d8a depends: - __osx >=11.0 - - libzlib >=1.3.2,<2.0a0 - license: blessing - size: 1006060 - timestamp: 1780574903119 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.53.2-h8f8c405_0.conda - sha256: 4d4f3135d390d192ab9cdf3711d87e3be6bb7f3959c52a96e2f333b30960d6fb - md5: 4c019bd25570899d0f9755de01b89021 + - 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 + run_exports: {} + size: 52681 + timestamp: 1780000209812 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.8.0-py313h750ce70_0.conda + sha256: 5ccc41b81f2df99072f40e4c7ef79be095e8f8f313a686ef1e63c0337bbeff5f + md5: 9605407803c5fcdee162a969f234ca35 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libzlib >=1.3.2,<2.0a0 - license: blessing - size: 1010419 - timestamp: 1780575011758 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_0.conda - sha256: 862463917e8ef5ac3ebdaf8f19914634b457609cc27ba678b7197124cefeb1f7 - md5: 1ebde5c677f00765233a17e278571177 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 51974 + timestamp: 1780000580140 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.42.12-h7af3d76_3.conda + sha256: b9a928be779da5ce90e4dbc1f70829ac6bb45c3b244d6913c71439ce6a0d631b + md5: da68375a855e361d5833f84a7d012ef1 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libzlib >=1.3.2,<2.0a0 - license: blessing - size: 927724 - timestamp: 1780575223548 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1b79a29_0.conda - sha256: f06b6d9d50d5ad1bed09daada386eb1aa8ed7a9ca4618facd3aead75b82db9ff - md5: 530ef68b7f9f7bee04f67db8d435f872 + - libglib >=2.84.3,<3.0a0 + - libintl >=0.25.1,<1.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - gdk-pixbuf >=2.42.12,<3.0a0 + size: 549845 + timestamp: 1754960472079 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.6-h4e57454_0.conda + sha256: 07cbba4e12430de35ea608eb3006cf1f7f63832c4f89a081cd6f3872944c1aa6 + md5: e67ebd2f639f46e52af8531622fa6051 depends: - __osx >=11.0 - - libzlib >=1.3.2,<2.0a0 - license: blessing - size: 923664 - timestamp: 1780574869893 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-hf5d6505_0.conda - sha256: 4cd81319dcc58fb758da20a6d5595950c021adc2c18d7cffeadcfb590529629f - md5: df294e7f9f24a6063f0e226f4d028fda + - libglib >=2.86.4,<3.0a0 + - libintl >=0.25.1,<1.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.56,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: + weak: + - gdk-pixbuf >=2.44.6,<3.0a0 + size: 548309 + timestamp: 1774986047281 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.1-hc9a1286_0.conda + sha256: b3f116968699ef72271f608a8ef2794b609e9a3cecbd5c178d8ccb797be709d6 + md5: 3528352bdf54e8b11eca0eb97daf7d55 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - size: 1313306 - timestamp: 1780574491977 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda - sha256: fa39bfd69228a13e553bd24601332b7cfeb30ca11a3ca50bb028108fe90a7661 - md5: eecce068c7e4eddeb169591baac20ac4 + - __osx >=11.0 + - libcxx >=18 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.13.1,<3.13.2.0a0 + size: 1470335 + timestamp: 1741051878236 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.14.1-h5afe852_0.conda + sha256: 1ac5f5a3a35f2e4778025043c87993208d336e30539406e380e0952bb7ffd188 + md5: 4238412c29eff0bb2bb5c60a720c035a depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.0,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 304790 - timestamp: 1745608545575 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hed3591d_0.conda - sha256: 00654ba9e5f73aa1f75c1f69db34a19029e970a4aeb0fa8615934d8e9c369c3c - md5: a6cb15db1c2dc4d3a5f6cf3772e09e81 + - __osx >=11.0 + - libcxx >=19 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.14.1,<3.14.2.0a0 + size: 1530844 + timestamp: 1761594597236 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.4-h1d7e6e1_2.conda + sha256: f82eb2b3465f860a8703b9f7694ad6419b1d477e0485cebb1d1b76b94a8606fe + md5: d341bc43aedb09c6256ef321793e6890 depends: - - __osx >=10.13 + - __osx >=11.0 + - libcxx >=18 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.0,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 284216 - timestamp: 1745608575796 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h1590b86_0.conda - sha256: 8bfe837221390ffc6f111ecca24fa12d4a6325da0c8d131333d63d6c37f27e0a - md5: b68e8f66b94b44aaa8de4583d3d4cc40 + - proj >=9.6.0,<9.7.0a0 + - zlib + license: MIT + license_family: MIT + run_exports: + weak: + - geotiff >=1.7.4,<1.8.0a0 + size: 113025 + timestamp: 1742402688792 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + sha256: fd56ed8a1dab72ab90d8a8929b6f916a6d9220ca297ff077f8f04c5ed3408e20 + md5: 57a511a5905caa37540eb914dfcbf1fb depends: - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.0,<4.0a0 + - __osx >=11.0 + - libcxx >=17 license: BSD-3-Clause license_family: BSD - size: 279193 - timestamp: 1745608793272 -- conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h9aa295b_0.conda - sha256: cbdf93898f2e27cefca5f3fe46519335d1fab25c4ea2a11b11502ff63e602c09 - md5: 9dce2f112bfd3400f4f432b3d0ac07b2 + run_exports: + weak: + - gflags >=2.2.2,<2.3.0a0 + size: 82090 + timestamp: 1726600145480 +- 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 + run_exports: + weak: + - giflib >=5.2.2,<5.3.0a0 + size: 71613 + timestamp: 1712692611426 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.84.3-h857b2e6_0.conda + sha256: c0cebe4a3e41e20bfadd9d7b9b93fe314c55f80d5bb2d45373e04a7878c856c3 + md5: c018d74ec3d1c6d27e1e4714117b653a depends: - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.0,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - __osx >=11.0 + - libglib 2.84.3 h587fa63_0 + - libintl >=0.25.1,<1.0a0 + license: LGPL-2.1-or-later + run_exports: {} + size: 101984 + timestamp: 1754315707816 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.88.1-h37541a8_2.conda + sha256: 414bdf86a8096d5706293d163359def2e61b8ffd3fe106bbf2028d79e58e6a97 + md5: 8d4580a91948a6c3383a7c2fbfe5311c + depends: + - libglib ==2.88.1 ha08bb59_2 + - libffi + - __osx >=11.0 + - libintl >=0.25.1,<1.0a0 + license: LGPL-2.1-or-later + run_exports: {} + size: 204902 + timestamp: 1778508895255 +- 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: 292785 - timestamp: 1745608759342 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc - md5: 5794b3bdc38177caf969dabd3af08549 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_19 - constrains: - - libstdcxx-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 5852044 - timestamp: 1778269036376 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - sha256: 0672b6b6e1791c92e8eccad58081a99d614fcf82bca5841f9dfa3c3e658f83b9 - md5: e5ce228e579726c07255dbf90dc62101 + run_exports: + weak: + - glog >=0.7.1,<0.8.0a0 + size: 112215 + timestamp: 1718284365403 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/glpk-5.0-h6d7a090_0.tar.bz2 + sha256: ac67e0ee73936f2b38b4c3c55354bec4ac79f31d4f4ed1020103f052c052259d + md5: 02b868940101a06a6365c109ab1a94fe depends: - - libstdcxx 15.2.0 h934c35e_19 - license: GPL-3.0-only WITH GCC-exception-3.1 + - gmp >=6.2.1,<7.0a0 + license: GPL-3.0-or-later license_family: GPL - size: 27776 - timestamp: 1778269074600 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.22.0-h7d032f7_2.conda - sha256: af6025aa4a4fc3f4e71334000d2739d927e2f678607b109ec630cc17d716918a - md5: b6e326fbe1e3948da50ec29cee0380db + run_exports: + weak: + - glpk >=5.0,<6.0a0 + size: 1003220 + timestamp: 1624569244555 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda + sha256: 76e222e072d61c840f64a44e0580c2503562b009090f55aa45053bf1ccb385dd + md5: eed7278dfbab727b56f2c0b64330814b depends: - - __glibc >=2.17,<3.0.a0 - - libevent >=2.1.12,<2.1.13.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - license: Apache-2.0 - license_family: APACHE - size: 423861 - timestamp: 1777018957474 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libthrift-0.22.0-hebea4ca_2.conda - sha256: 89a20cb35e0f32d59a7080c934a56120591cb962d4fab1cba3a795a094bc8256 - md5: 36d5479e1b5967c2eb9824b953317e41 + - __osx >=11.0 + - libcxx >=16 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + run_exports: + weak: + - gmp >=6.3.0,<7.0a0 + size: 365188 + timestamp: 1718981343258 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py312h090f823_1.conda + sha256: cf6c1345d2c4fb4cee1128256d3a1d3fe5150c8788bc6cad12a04cbfc44bb247 + md5: 0c8ad601cdbec3be85d1c62080b388d7 depends: - __osx >=11.0 - - libcxx >=19 - - libevent >=2.1.12,<2.1.13.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 + - libcrc32c >=1.1.2,<1.2.0a0 + - 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 - size: 332270 - timestamp: 1777019812419 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h1fb9c8a_2.conda - sha256: 568bb23db02b050c3903bec05edbcab84960c8c7e5a1710dac3109df997ac7f1 - md5: d006875f9a58a44f92aec9a7ebeb7150 + license_family: Apache + run_exports: {} + size: 25105 + timestamp: 1768549598713 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py313h11ab6f4_1.conda + sha256: 475172f172fbe15eb3dcb7a7c31f83792e5ca18064f1ae56502cdeaafca97592 + md5: 08e5ab1798fd9a890447baa09bb31e8f depends: - __osx >=11.0 - - libcxx >=19 - - libevent >=2.1.12,<2.1.13.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 license: Apache-2.0 - license_family: APACHE - size: 323017 - timestamp: 1777019893083 -- conda: https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h2e43b2f_2.conda - sha256: 7ffb48755c4fc4a7cca454e4afea286e4fb47e50e153df1b006b14691f0f43d0 - md5: 42856184560e5cf901551fd414ad25c1 + license_family: Apache + run_exports: {} + size: 25467 + timestamp: 1768549431006 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/google-crc32c-1.8.0-py314h8744745_1.conda + sha256: a0d261ae01e0e6302a6300eb379c27795311d63047248bd4b60133694fa42d46 + md5: b63f8d58f71157e6ffdcac373fa5e8ab depends: - - libevent >=2.1.12,<2.1.13.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __osx >=11.0 + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - license_family: APACHE - size: 634136 - timestamp: 1777019194906 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda - sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 - md5: cd5a90476766d53e901500df9215e927 + license_family: Apache + run_exports: {} + size: 26132 + timestamp: 1768549424382 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphite2-1.3.15-hf6b4638_0.conda + sha256: c0a060d7b7a05669043ef3f68c7a1025c8594e1ab73735afb64c35e8baa41da5 + md5: 0d576cff278a2e60456d5b2c0a1ffda3 depends: - - __glibc >=2.17,<3.0.a0 - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libgcc >=14 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - size: 435273 - timestamp: 1762022005702 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.7.1-ha0a348c_1.conda - sha256: e53424c34147301beae2cd9223ebf593720d94c038b3f03cacd0535e12c9668e - md5: 9d4344f94de4ab1330cdc41c40152ea6 + - __osx >=11.0 + - libcxx >=19 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - graphite2 >=1.3.15,<2.0a0 + size: 82245 + timestamp: 1780454628763 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-13.1.2-hcd33d8b_0.conda + sha256: f25e1828d02ebd78214966f483cfca5ac6a7b18824369c748d8cda99c66ff588 + md5: 81ab85a5a8481667660c7ce6e84bd681 depends: - - __osx >=10.13 - - lerc >=4.0.0,<5.0a0 + - __osx >=11.0 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.42.12,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 - libcxx >=19 - - libdeflate >=1.25,<1.26.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.84.3,<3.0a0 + - librsvg >=2.58.4,<3.0a0 - libwebp-base >=1.6.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - size: 404591 - timestamp: 1762022511178 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.1-h4030677_1.conda - sha256: e9248077b3fa63db94caca42c8dbc6949c6f32f94d1cafad127f9005d9b1507f - md5: e2a72ab2fa54ecb6abab2b26cde93500 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=13.1.2,<14.0a0 + size: 2201370 + timestamp: 1754732518951 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/graphviz-14.1.2-hec8c438_0.conda + sha256: 755c72d469330265f80a615912a3b522aef6f26cbc52763862b6a3c492fbf97c + md5: 1f3d859de3ca2bcaa845e92e87d73660 depends: - __osx >=11.0 - - lerc >=4.0.0,<5.0a0 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.4,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 - libcxx >=19 - - libdeflate >=1.25,<1.26.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 + - libexpat >=2.7.3,<3.0a0 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.86.3,<3.0a0 + - librsvg >=2.60.0,<3.0a0 - libwebp-base >=1.6.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - size: 373892 - timestamp: 1762022345545 -- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda - sha256: f1b8cccaaeea38a28b9cd496694b2e3d372bb5be0e9377c9e3d14b330d1cba8a - md5: 549845d5133100142452812feb9ba2e8 - depends: - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.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 - size: 993166 - timestamp: 1762022118895 -- 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-64/libutf8proc-2.11.3-hc282952_0.conda - sha256: 626db214208e8da6aa9a904518a0442e5bff7b4602cc295dd5ce1f4a98844c1d - md5: 2c49b6f6ec9a510bbb75ecbd2a572697 - depends: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 84535 - timestamp: 1768735249136 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.11.3-h2431656_0.conda - sha256: ae1a82e62cd4e3c18e005ae7ff4358ed72b2bfbfe990d5a6a5587f81e9a100dc - md5: 2255add2f6ae77d0a96624a5cbde6d45 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=14.1.2,<15.0a0 + size: 2218284 + timestamp: 1769427599940 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py313h1188861_0.conda + sha256: 5f6c39e99b52c7172e84c3d17a99d3a9a1f02ebb8617fae803aacc49d566f66e + md5: cec86846fbecd3ddae0c788dc441f49d depends: + - python + - libcxx >=19 - __osx >=11.0 + - python 3.13.* *_cp313 + - python_abi 3.13.* *_cp313 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 + run_exports: {} + size: 262570 + timestamp: 1781762290178 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/greenlet-3.5.2-py314he609de1_0.conda + sha256: 0538d74bc47b2ac3cff2a6c1cfca23abf609909bc9395062a1130f399fb8ae77 + md5: 98ee4e107dd538b2fbd183b0ecad5a84 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python + - python 3.14.* *_cp314 + - __osx >=11.0 + - libcxx >=19 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 89061 - timestamp: 1768735187639 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.1-h5347b49_0.conda - sha256: 3f0edf1280e2f6684a986f821eaa3e123d2694a00b31b96ca0d4a4c12c129231 - md5: 7d0a66598195ef00b6efc55aefc7453b + run_exports: {} + size: 263816 + timestamp: 1781762277927 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py312h9bc1d27_1.conda + sha256: b85be873881dc36b41131f5670d3e31c92625cee1935e0ba27eee07af26e6d8f + md5: 40ee987933a16b51f5f917187ab724f7 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 40163 - timestamp: 1779118517630 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - sha256: a68280d57dfd29e3d53400409a39d67c4b9515097eba733aa6fe00c880620e2b - md5: 31ad065eda3c2d88f8215b1289df9c89 + - __osx >=11.0 + - libcxx >=19 + - libgrpc 1.73.1 h3063b79_1 + - libzlib >=1.3.1,<2.0a0 + - 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 + run_exports: {} + size: 787600 + timestamp: 1761053803779 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py313hb057f1c_1.conda + sha256: 61a94bba8d9f0a1c73ab1f006041ccab03156d9d6ce4cb1a54cf197f3251c541 + md5: eae3667f33e9e2a296b775547b42f506 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.* + - __osx >=11.0 + - libcxx >=19 + - libgrpc 1.73.1 h3063b79_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: APACHE - 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 + run_exports: {} + size: 796665 + timestamp: 1761054284568 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/grpcio-1.73.1-py314h7689434_1.conda + sha256: 4984cd85bf931a29c651369f5525e96489f248936fffac249862312068dea495 + md5: 9c09a98fc257aa3bde2a322f96d97282 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - constrains: - - libvulkan-headers 1.4.341.0.* + - __osx >=11.0 + - libcxx >=19 + - libgrpc 1.73.1 h3063b79_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE - 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 + run_exports: {} + size: 812240 + timestamp: 1761053925680 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.43-h07173f4_5.conda + sha256: 9650ac1a02975ae0a3917443dc3c35ddc4d8e87a1cb04fda115af5f98e5d457c + md5: 8353369d4c2ecc5afd888405d3226fd9 + depends: + - __osx >=11.0 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fribidi >=1.0.10,<2.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - glib-tools + - harfbuzz >=11.0.0,<12.0a0 + - hicolor-icon-theme + - libexpat >=2.6.4,<3.0a0 + - libglib >=2.84.0,<3.0a0 + - libintl >=0.23.1,<1.0a0 + - liblzma >=5.6.4,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.3,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gtk3 >=3.24.43,<4.0a0 + - adwaita-icon-theme + size: 4792338 + timestamp: 1743406461562 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda + sha256: 26862a9898054b8552e55e609e5ce73c7ef1eb28bbe6fb87f0b9109d73cd09df + md5: 5557a2433b1339b8e536c264afea41ef + depends: + - __osx >=11.0 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fribidi >=1.0.16,<2.0a0 + - gdk-pixbuf >=2.44.5,<3.0a0 + - glib-tools + - harfbuzz >=13.2.1 + - hicolor-icon-theme + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libintl >=0.25.1,<1.0a0 + - liblzma >=5.8.2,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gtk3 >=3.24.52,<4.0a0 + - adwaita-icon-theme + size: 9385734 + timestamp: 1774288504338 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda + sha256: e0f8c7bc1b9ea62ded78ffa848e37771eeaaaf55b3146580513c7266862043ba + md5: 21b4dd3098f63a74cf2aa9159cbef57d depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - libwebp 1.6.0 - license: BSD-3-Clause - license_family: BSD - size: 429011 - timestamp: 1752159441324 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.6.0-hb807250_0.conda - sha256: 00dbfe574b5d9b9b2b519acb07545380a6bc98d1f76a02695be4995d4ec91391 - md5: 7bb6608cf1f83578587297a158a6630b + - libcxx >=15.0.7 + - libglib >=2.76.3,<3.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gts >=0.7.6,<0.8.0a0 + size: 304331 + timestamp: 1686545503242 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py312hdd01ddf_102.conda + sha256: 68bf1ed50a983c4eea17bab8cb91e7b2bfd19b92f3846e2a057ab1bb78b5b1cd + md5: d6561da751793e9f534b175e070b19d3 depends: - - __osx >=10.13 - constrains: - - libwebp 1.6.0 + - __osx >=11.0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.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 - size: 365086 - timestamp: 1752159528504 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.6.0-h07db88b_0.conda - sha256: a4de3f371bb7ada325e1f27a4ef7bcc81b2b6a330e46fac9c2f78ac0755ea3dd - md5: e5e7d467f80da752be17796b87fe6385 + run_exports: {} + size: 1180081 + timestamp: 1775582311942 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py313hc6ee213_102.conda + sha256: ec38d68d23ac769156f7569ca97bf1ab792ffaa952fb976fba1f4be37d35e5b2 + md5: a2a20614663904c625a76907aa0a394d depends: - __osx >=11.0 - constrains: - - libwebp 1.6.0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 294974 - timestamp: 1752159906788 -- conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - sha256: 7b6316abfea1007e100922760e9b8c820d6fc19df3f42fb5aca684cfacb31843 - md5: f9bbae5e2537e3b06e0f7310ba76c893 + run_exports: {} + size: 1193209 + timestamp: 1775582328126 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/h5py-3.16.0-nompi_py314hb49d8aa_102.conda + sha256: 6f27b623cc51dca62a1094d4be5cf53eaffb61f97e6a6f159c780aceedd7b991 + md5: 89abd846fe2692170eaed00842486ce1 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libwebp 1.6.0 + - __osx >=11.0 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - 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 - size: 36621 - timestamp: 1759768399557 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa - md5: 92ed62436b625154323d40d5f2f11dd7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - pthread-stubs - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp - license: MIT - license_family: MIT - size: 395888 - timestamp: 1727278577118 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.17.0-hf1f96e2_0.conda - sha256: 8896cd5deff6f57d102734f3e672bc17120613647288f9122bec69098e839af7 - md5: bbeca862892e2898bdb45792a61c4afc - depends: - - __osx >=10.13 - - pthread-stubs - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp - license: MIT - license_family: MIT - size: 323770 - timestamp: 1727278927545 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxcb-1.17.0-hdb1d25a_0.conda - sha256: bd3816218924b1e43b275863e21a3e13a5db4a6da74cca8e60bc3c213eb62f71 - md5: af523aae2eca6dfa1c8eec693f5b9a79 + run_exports: {} + size: 1200170 + timestamp: 1775582717308 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-11.4.5-hf4e55d4_0.conda + sha256: 8106c2941f842dad81444bbc7f68b08b65c63adb5d0ba399d7180926a51f8829 + md5: 0938e21caccd8fd5b30527396f8aaa82 depends: - __osx >=11.0 - - pthread-stubs - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=75.1,<76.0a0 + - libcxx >=19 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libglib >=2.84.3,<3.0a0 + - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT - size: 323658 - timestamp: 1727278733917 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda - sha256: 08dec73df0e161c96765468847298a420933a36bc4f09b50e062df8793290737 - md5: a69bbf778a462da324489976c84cfc8c + run_exports: + weak: + - harfbuzz >=11.4.5 + size: 1551301 + timestamp: 1756738697245 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.2.1-h3103d1b_0.conda + sha256: 5593f4aad6580707eb268e8dbb4c562a736d87bea03f5e1551becaebfe1a6620 + md5: 389b1c7cb4738fa74f8a142336807a13 depends: - - libgcc >=13 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - pthread-stubs - - ucrt >=10.0.20348.0 - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=78.3,<79.0a0 + - libcxx >=19 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 1208687 - timestamp: 1727279378819 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c - md5: 5aa797f8787fe7a17d1b0821485b5adc - depends: - - libgcc-ng >=12 - license: LGPL-2.1-or-later - size: 100393 - timestamp: 1702724383534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.11.0-he8b52b9_0.conda - sha256: 23f47e86cc1386e7f815fa9662ccedae151471862e971ea511c5c886aa723a54 - md5: 74e91c36d0eef3557915c68b6c2bef96 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libxml2 >=2.13.8,<2.14.0a0 - - xkeyboard-config - - xorg-libxau >=1.0.12,<2.0a0 - license: MIT/X11 Derivative - license_family: MIT - size: 791328 - timestamp: 1754703902365 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda - sha256: 046f2ff4acebd8729fac03e99c8c307dfb48b6a32894ba8c11576e78f6e76e43 - md5: dc8b067e22b414172bedd8e3f03f3c95 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - xkeyboard-config - - xorg-libxau >=1.0.12,<2.0a0 - license: MIT/X11 Derivative - license_family: MIT - size: 851166 - timestamp: 1780213397575 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda - sha256: 5d12e993894cb8e9f209e2e6bef9c90fa2b7a339a1f2ab133014b71db81f5d88 - md5: 35eeb0a2add53b1e50218ed230fa6a02 + run_exports: + weak: + - harfbuzz >=14.2.1 + size: 1721040 + timestamp: 1780451752518 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf4-4.2.15-h2ee6834_7.conda + sha256: c3b01e3c3fe4ca1c4d28c287eaa5168a4f2fd3ffd76690082ac919244c22fa90 + md5: ff5d749fd711dc7759e127db38005924 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=75.1,<76.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 697033 - timestamp: 1761766011241 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - sha256: 3bc5551720c58591f6ea1146f7d1539c734ed1c40e7b9f5cb8cb7e900c509aba - md5: 995d8c8bad2a3cc8db14675a153dec2b + - libcxx >=15.0.7 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf4 >=4.2.15,<4.2.16.0a0 + size: 762257 + timestamp: 1695661864625 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/hdf5-1.14.6-nompi_had3affe_110.conda + sha256: 6964fee3d3a4a59c85d2589eb5e8c8bff7dde9721854f493cc7b9aca5cd7d4be + md5: 65797138355b90a8e219afcf7e77b273 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 hca6bf5a_0 + - __osx >=11.0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.20.0,<9.0a0 + - libcxx >=19 + - libgfortran + - libgfortran5 >=14.3.0 - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 + size: 3290207 + timestamp: 1780581564967 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda + sha256: 46a4958f2f916c5938f2a6dc0709f78b175ece42f601d79a04e0276d55d25d07 + md5: cfb39109ac5fa8601eb595d66d5bf156 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 17616 + timestamp: 1771539622983 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.13.1-np2py314hdd732f0_0.conda + sha256: 53a473bfaf4e926219f9430b827cf524a01ca5facae23e1e07c792ad5f9692df + md5: f05bfb7e9d796840aa38e9af5aa87bc5 + depends: + - python + - numpy + - python 3.14.* *_cp314 + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 46810 - timestamp: 1776376751152 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.13.9-he1bc88e_0.conda - sha256: 151e653e72b9de48bdeb54ae0664b490d679d724e618649997530a582a67a5fb - md5: af41ebf4621373c4eeeda69cc703f19c + run_exports: {} + size: 1804054 + timestamp: 1770879095523 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py312h60fbb24_0.conda + sha256: ae4e97d8f537b09e3b36f0c3b507bf693f665ec27b23ed934e6b7770935eae08 + md5: 90fd09cb6405d55a4b224d78e8d051a7 depends: - - __osx >=10.13 - - icu >=75.1,<76.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 + - python + - numpy + - python 3.12.* *_cpython + - __osx >=11.0 + - libcxx >=19 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 609937 - timestamp: 1761766325697 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.15.3-h953d39d_0.conda - sha256: 24248928e63b5de45012c8ad3fd6b350ae1fe2fc355613bb89ee5f0a35835bea - md5: 33f30d4878d1f047da82a669c33b307d + run_exports: {} + size: 1853314 + timestamp: 1775498673062 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py313hdc65ad0_0.conda + sha256: a2f7047a9edfacc174efe47e036d4b004eb7df000984b7da1a35848cfdd62c24 + md5: 8aab3789e726c60eee0f0aa1560666d6 depends: + - python + - numpy - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 h7a90416_0 - - libzlib >=1.3.2,<2.0a0 + - python 3.13.* *_cp313 + - libcxx >=19 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 40836 - timestamp: 1776377277986 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.9-h4a9ca0c_0.conda - sha256: 7ab9b3033f29ac262cd3c846887e5b512f5916c3074d10f298627d67b7a32334 - md5: 763c7e76295bf142145d5821f251b884 + run_exports: {} + size: 1853755 + timestamp: 1775498405303 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/highspy-1.14.0-np2py314hdd732f0_0.conda + sha256: b659a255f4cdd0ea380555f108c67821cfb3fcadac020fbc7cacdf8e8e1a66ad + md5: 5104a79c3c309894508c89818143a516 depends: + - python + - numpy - __osx >=11.0 - - icu >=75.1,<76.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 + - libcxx >=19 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 581379 - timestamp: 1761766437117 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda - sha256: 2fe1d8de0854342ae9cabe408b476935f82f5636e153b3b497456264dc8ff3a1 - md5: 8e037d73747d6fe34e12d7bcac10cf21 + run_exports: {} + size: 1856841 + timestamp: 1775498570961 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 + md5: 5eb22c1d7b3fc4abb50d92d621583137 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 h5ef1a60_0 - - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 41102 - timestamp: 1776377119495 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.9-h741aa76_0.conda - sha256: 28ac5bbed11644b9e06241ba1dfdac7e3a99e74b69915d45f646717ad9645ca5 - md5: 333d21ab129d5fa5742225bf1d7557a5 + run_exports: + weak: + - icu >=75.1,<76.0a0 + size: 11857802 + timestamp: 1720853997952 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda + sha256: 3a7907a17e9937d3a46dfd41cffaf815abad59a569440d1e25177c15fd0684e5 + md5: f1182c91c0de31a7abd40cedf6a5ebef depends: - - 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 + - __osx >=11.0 license: MIT license_family: MIT - size: 1521446 - timestamp: 1761766307746 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda - sha256: a4599c6bbbbdd7db570896e520c557eec8e66d94e839a59d17dc1f24a3d5f82b - md5: 95591ca5671d2213f5b2d5aa7818420d + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 12361647 + timestamp: 1773822915649 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py312h163523d_2.conda + sha256: b8b04e8d5a204f1b8755ed4637a5ddc99f4203593e10ecc08d974a46d0c250e2 + md5: 3290a7dc4c56a0ccacee9cc8213dcffd depends: - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 h3cfd58e_0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __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 + run_exports: {} + size: 51493 + timestamp: 1757685587768 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py313hcdf3177_2.conda + sha256: 795769b9eb19319ea2f9600703bd9f5a4c13c8cc88dd84d4a38476b261512631 + md5: 3f4e06d0ca82c434c026592bc3133069 + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 51484 + timestamp: 1757685606874 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/immutables-0.21-py314hb84d1df_2.conda + sha256: 8fc009559f6fdce0bfc053898d62a48bdfcca1d4960f785922019e6999aca62f + md5: 0749dc3555b919277586d96a8e3240f7 + depends: + - __osx >=11.0 + - python >=3.14.0rc2,<3.15.0a0 + - python >=3.14.0rc2,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 52567 + timestamp: 1757685575891 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/inflate64-1.0.4-py313h6535dbc_0.conda + sha256: 0654230d08a1341394e08e4fd2a1f5eb44e1656152b2a40bde560543d290eb02 + md5: cf73f1444a351ed90bbf4b61bf925059 + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: LGPL-2.1-or-later + run_exports: {} + size: 40085 + timestamp: 1764330815316 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ipopt-3.14.19-h9191b9b_2.conda + sha256: 1d0738a2592d2f0aff0289f5fd5ba58985734cbd1e2327f001fe31f3a34e965d + md5: d7ce0fa8a1d1840691a12bbf409f29c6 + depends: + - __osx >=11.0 + - ampl-asl >=1.0.0,<1.0.1.0a0 + - libblas >=3.9.0,<4.0a0 + - libcxx >=19 + - liblapack >=3.9.0,<4.0a0 + - mumps-seq >=5.8.2,<5.8.3.0a0 + license: EPL-1.0 + run_exports: + weak: + - ipopt >=3.14.19,<3.14.20.0a0 + size: 733594 + timestamp: 1771291978620 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jasper-4.2.9-h7543a42_1.conda + sha256: 58bfd15b7426f99ca2b1854535d4ede1ca2a35be4f8c43c5e34b6ffdcfd7a5c8 + md5: e3f3a2a62fbaad99f327440dfd8a3ac3 + depends: + - __osx >=11.0 + - libjpeg-turbo >=3.1.2,<4.0a0 + license: JasPer-2.0 + run_exports: + weak: + - jasper >=4.2.9,<5.0a0 + size: 584700 + timestamp: 1773681839297 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py313h6deaedc_0.conda + sha256: cf686504eae5cb3be1fb19e22f6946c3da467fae3388575ee449e5bb7b3e9a04 + md5: 1998938cdd29c265e5fb4b0853773334 + depends: + - __osx >=11.0 + - libcxx >=19 + - packaging + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 398460 + timestamp: 1778142760665 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jpype1-1.7.1-py314h4ed92d5_0.conda + sha256: 4516d7dc203238392ba71df35c82d65e925073a59a6e45ad14b2ce54e6b671e1 + md5: 00276e9b845124cb1a14135fecc8db86 + depends: + - __osx >=11.0 + - libcxx >=19 + - packaging + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 400148 + timestamp: 1778142460868 +- 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 - size: 43684 - timestamp: 1776376992865 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - sha256: 3d44f737c5ae52d5af32682cc1530df433f401f8e58a7533926536244127572a - md5: e79d2c2f24b027aa8d5ab1b1ba3061e7 + run_exports: + weak: + - json-c >=0.18,<0.19.0a0 + size: 73715 + timestamp: 1726487214495 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py312h3093aea_0.conda + sha256: 8de440f0e33ab6895e81f2c47c51e59d177349a832087a0367e8e259c97f4833 + md5: 58261af35f0d33fd28e2257b208a1be0 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - libxml2 2.15.3 + - python + - __osx >=11.0 + - libcxx >=19 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 68490 + timestamp: 1773067215781 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py313h2af2deb_0.conda + sha256: b0ac975a7eb40638b1405c8092835c47222ce758eb26114afee50a8d1ce98569 + md5: bd1e04d017f340e42431706402db8b02 + depends: + - python + - python 3.13.* *_cp313 + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 69457 + timestamp: 1773067363162 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.5.0-py314hf8a3a22_0.conda + sha256: 840de1b0ba2fa646475bc53ba0f723c8a13e66139633a070831b8279deaa7c64 + md5: eb1465d8a644ef290d18fb86af6e9bc4 + depends: + - python + - python 3.14.* *_cp314 + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 69284 + timestamp: 1773067285911 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-hfd3d5f3_1.conda + sha256: c740e4a2e7247776a9883158fdab50ae0732c8f67f96d8f1db8ad9da5e0b5222 + md5: 8780f41b013d19219faef9c82260744b + depends: + - __osx >=11.0 + - libcxx >=19 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 + - openssl >=3.5.7,<4.0a0 license: MIT license_family: MIT - size: 559775 - timestamp: 1776376739004 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-16-2.15.3-h7a90416_0.conda - sha256: 437f003e299d77403db42d17e532d686236f357ac5c3d6bf466558c697902597 - md5: c74ae93cd7876e3a9c4b5569d5e29e34 + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 1159780 + timestamp: 1781859501654 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.19.1-hdfa7624_1.conda + sha256: ccb5598fad3694e79bf54f0eb812e3b3c3dd63d1497e631f5978800eadb9bcc4 + md5: d2f2c7c10e2957647d45589b7701a453 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - libxml2 2.15.3 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 license: MIT license_family: MIT - size: 496338 - timestamp: 1776377250079 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda - sha256: ff75b84cdb9e8d123db2fa694a8ac2c2059516b6cbc98ac21fb68e235d0fd354 - md5: 19edaa53885fc8205614b03da2482282 + run_exports: + weak: + - lcms2 >=2.19.1,<3.0a0 + size: 213747 + timestamp: 1780212240694 +- 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 + run_exports: + weak: + - lerc >=4.1.0,<5.0a0 + size: 164222 + timestamp: 1773114244984 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py312h455b684_0.conda + sha256: 7826b39d318864c1a697d9c3929b9133f92d154c83fb9704bfe77226e44387c0 + md5: 8989afb06de47502b2f4d2be15478180 + depends: + - __osx >=11.0 + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - rapidfuzz >=3.8.0,<4.0.0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 94024 + timestamp: 1762011543694 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py313h0e822ff_0.conda + sha256: 95097efc9006943a93e44f589f3b539dbf80571c9d3cd70d83d3a8abaca5c41b + md5: 36caee8b568c12e972ffcdaf36bcc03e + depends: + - __osx >=11.0 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - rapidfuzz >=3.8.0,<4.0.0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 94143 + timestamp: 1762011519255 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/levenshtein-0.27.3-py314h93ecee7_0.conda + sha256: ab39c532eaad72554c4051778f5d2255d8bdc4df7ed197ee2714e12efb241413 + md5: b44162ac7ec9d25dff4b9b61285ba540 + depends: + - __osx >=11.0 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - rapidfuzz >=3.8.0,<4.0.0 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 94842 + timestamp: 1762011534610 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20250512.1-cxx17_hd41c47c_0.conda + sha256: 7f0ee9ae7fa2cf7ac92b0acf8047c8bac965389e48be61bf1d463e057af2ea6a + md5: 360dbb413ee2c170a0a684a33c4fc6b8 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - libxml2 2.15.3 - license: MIT - license_family: MIT - size: 466360 - timestamp: 1776377102261 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda - sha256: 3b61ee3caba702d2ff432fa3920835db963026e5c99c4e6fdca0c6114f59e7ce - md5: 9e8dd0d90ed830107b2c36801035b7db - depends: - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - libcxx >=18 constrains: - - libxml2 2.15.3 - license: MIT - license_family: MIT - size: 519871 - timestamp: 1776376969852 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-devel-2.15.3-h49c6c72_0.conda - sha256: adada9c781ea51faea3e3adcd6883dc294ff2fa044c7f4e199430a11862dfa40 - md5: be70cb50dd0ecc1531c58034d38f72e0 + - libabseil-static =20250512.1=cxx17* + - abseil-cpp =20250512.1 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libabseil >=20250512.1,<20250513.0a0 + - libabseil =*=cxx17* + size: 1174081 + timestamp: 1750194620012 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libaec-1.1.5-h8664d51_0.conda + sha256: af9cd8db11eb719e38a3340c88bb4882cf19b5b4237d93845224489fc2a13b46 + md5: 13e6d9ae0efbc9d2e9a01a91f4372b41 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2 2.15.3 h49c6c72_0 - - libxml2-16 2.15.3 hca6bf5a_0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - size: 80529 - timestamp: 1776376762779 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-devel-2.15.3-h953d39d_0.conda - sha256: 05ed86d6395a8c7aeabc5d5505e2189ebca33e14073895a3f3d1b4db37c67333 - md5: 875a51e12cc99a98d70aa48055f40ba4 + - __osx >=11.0 + - libcxx >=19 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libaec >=1.1.5,<2.0a0 + size: 30390 + timestamp: 1769222133373 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.1-gpl_h46e8061_100.conda + sha256: 7728d08880637622caaf03e6f8e92ee383715e145637a779d668e1ac677717f0 + md5: b8d09de5df5352f9e0eb7a27cc79a675 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 + - bzip2 >=1.0.8,<2.0a0 - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2 2.15.3 h953d39d_0 - - libxml2-16 2.15.3 h7a90416_0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - size: 80113 - timestamp: 1776377299206 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda - sha256: 541980a15bf0acb7794754f1cde9cfeb74ca27c139d065c1c6541c73b4e07105 - md5: 469f4af737803bf7deda25d41c557593 + - liblzma >=5.8.1,<6.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.0,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libarchive >=3.8.1,<3.9.0a0 + size: 788465 + timestamp: 1749385999215 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.8.8-gpl_h6fbacd7_100.conda + sha256: 05c370fae4f2a5fd7baf59c15d75caec718d785ec47e813dbf7bff68355e4bb7 + md5: cfa10f3c4b14c13f676dc08e2ea29023 depends: - __osx >=11.0 - - icu >=78.3,<79.0a0 + - bzip2 >=1.0.8,<2.0a0 - libiconv >=1.18,<2.0a0 - liblzma >=5.8.3,<6.0a0 - - libxml2 2.15.3 h5654f7c_0 - - libxml2-16 2.15.3 h5ef1a60_0 + - libxml2 + - libxml2-16 >=2.14.6 - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - size: 80217 - timestamp: 1776377134719 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_0.conda - sha256: 1991b4e5e19b877b4cf01d9980957df1cc00dec94d7b93354a919ddaf8469582 - md5: 97b52e0d228b549e289445ab1238af7e + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libarchive >=3.8.8,<3.9.0a0 + size: 796153 + timestamp: 1782289667690 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-21.0.0-hd43feaf_8_cpu.conda + build_number: 8 + sha256: 0086d59c4bcdce61cc2ada047995bfdf047d635e77c97cf4720d084b647c08c1 + md5: 92d5cc7e1d494aeb82db5b2faa33b28c depends: - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2 2.15.3 h8ef44ab_0 - - libxml2-16 2.15.3 h3cfd58e_0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 123614 - timestamp: 1776377012113 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda - sha256: 0694760a3e62bdc659d90a14ae9c6e132b525a7900e59785b18a08bb52a5d7e5 - md5: 87e6096ec6d542d1c1f8b33245fe8300 + - __osx >=11.0 + - aws-crt-cpp >=0.34.4,<0.34.5.0a0 + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + - azure-core-cpp >=1.16.0,<1.16.1.0a0 + - azure-identity-cpp >=1.12.0,<1.12.1.0a0 + - azure-storage-blobs-cpp >=12.14.0,<12.14.1.0a0 + - azure-storage-files-datalake-cpp >=12.12.0,<12.12.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.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.31.1,<6.31.2.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - orc >=2.2.1,<2.2.2.0a0 + - snappy >=1.2.2,<1.3.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - parquet-cpp <0.0a0 + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow >=21.0.0,<21.1.0a0 + size: 4070104 + timestamp: 1759481958097 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-23.0.0-h585ae05_2_cpu.conda + build_number: 2 + sha256: 26854bc0409c487b79abe406f3f5c3a93db8ec6e0adf57d64a24e57542fc1df0 + md5: 8cbb6099377c13f1932c6a04d5da013f depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: MIT - license_family: MIT - size: 245434 - timestamp: 1757963724977 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda - sha256: 35ddfc0335a18677dd70995fa99b8f594da3beb05c11289c87b6de5b930b47a3 - md5: 31059dc620fa57d787e3899ed0421e6d + - __osx >=11.0 + - aws-crt-cpp >=0.35.4,<0.35.5.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 >=20250512.1,<20250513.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libcxx >=21 + - 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.31.1,<6.31.2.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 + - 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 + run_exports: + weak: + - libarrow >=23.0.0,<23.1.0a0 + size: 4265020 + timestamp: 1770431176545 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-21.0.0-hc317990_8_cpu.conda + build_number: 8 + sha256: c2566bb6f399cc61fcf54736f71bf29c96199a61ffbb8fc30e029b7eac0826e7 + md5: fedb5f48e5a038146af8cfcb11de5879 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libxml2 >=2.13.8,<2.14.0a0 - license: MIT - license_family: MIT - size: 244399 - timestamp: 1753273455036 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libxslt-1.1.43-h486b42e_1.conda - sha256: 00d6b5e92fc1c5d86e095b9b6840f793d9fc4c9b4a7753fa0f8197ab11d5eb90 - md5: 367b8029352f3899fb76cc20f4d144b9 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 hd43feaf_8_cpu + - libarrow-compute 21.0.0 h75845d1_8_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-acero >=21.0.0,<21.1.0a0 + size: 517544 + timestamp: 1759482466808 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-23.0.0-h6de58dd_2_cpu.conda + build_number: 2 + sha256: 58bfc6a3ce5a07e95c333036ca07b548cb1b504bf29a84a5834667130240fb5c + md5: db14af88015df0dbd660a5eb814a1b23 depends: - - __osx >=10.13 - - libxml2 - - libxml2-16 >=2.14.6 - license: MIT - license_family: MIT - size: 225660 - timestamp: 1757964032926 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda - sha256: 7a4d0676ab1407fecb24d4ada7fe31a98c8889f61f04612ea533599c22b8c472 - md5: 90f7ed12bb3c164c758131b3d3c2ab0c + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h585ae05_2_cpu + - libarrow-compute 23.0.0 h45df96a_2_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-acero >=23.0.0,<23.1.0a0 + size: 544305 + timestamp: 1770431508372 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-21.0.0-h75845d1_8_cpu.conda + build_number: 8 + sha256: d778d7df8123a542c0f8c4b028eb7855c4ac139c8b12d98b20cbea01a30db0b7 + md5: 528408dfe0c6a053360ceb8bfa468100 depends: - __osx >=11.0 - - libxml2 - - libxml2-16 >=2.14.6 - license: MIT - license_family: MIT - size: 220345 - timestamp: 1757964000982 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda - sha256: 13da38939c2c20e7112d683ab6c9f304bfaf06230a2c6a7cf00359da1a003ec7 - md5: 46034d9d983edc21e84c0b36f1b4ba61 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 hd43feaf_8_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libutf8proc >=2.11.0,<2.12.0a0 + - re2 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-compute >=21.0.0,<21.1.0a0 + size: 2213962 + timestamp: 1759482132558 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-compute-23.0.0-h45df96a_2_cpu.conda + build_number: 2 + sha256: 300333f8fc6af6859fcaa8012146ddf9120dc9ca86778d81cba807dccc3aa871 + md5: 605c1d25d6ea55f0d110a15cb7c95dfe 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 - size: 420223 - timestamp: 1757963935611 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h25c3957_0.conda - sha256: 20857f1adb91cc59826e146ee6cb1157c6abf2901a93d359b1106ba87c8e770b - md5: e84f36aa02735c140099d992d491968d + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h585ae05_2_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libutf8proc >=2.11.3,<2.12.0a0 + - re2 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-compute >=23.0.0,<23.1.0a0 + size: 2261676 + timestamp: 1770431301633 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-21.0.0-hc317990_8_cpu.conda + build_number: 8 + sha256: cb549cbeb43478261c99c50d38249d30e93b7aa25f4786496daa80fba430f4c4 + md5: 0baa7e03e0bf1f00d436c3a8e2656464 depends: - - libxml2 >=2.13.8,<2.14.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - size: 416974 - timestamp: 1753273998632 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda - sha256: 991e7348b0f650d495fb6d8aa9f8c727bdf52dabf5853c0cc671439b160dce48 - md5: a7b27c075c9b7f459f1c022090697cba + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 hd43feaf_8_cpu + - libarrow-acero 21.0.0 hc317990_8_cpu + - libarrow-compute 21.0.0 h75845d1_8_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libparquet 21.0.0 h45c8936_8_cpu + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-dataset >=21.0.0,<21.1.0a0 + size: 514947 + timestamp: 1759482675333 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-23.0.0-h6de58dd_2_cpu.conda + build_number: 2 + sha256: 991570eebd1b7bbb050fcc3a1264d57d7e6c1f71d5d1794ce6cd323144bd221b + md5: 3da2f4cd4f855e2bcbd668038a5fcd13 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=13 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.3.2,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 109043 - timestamp: 1730442108429 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libzip-1.11.2-h31df5bb_0.conda - sha256: 434a4d1ad23c1c8deb7ec2da94aca05e22bc29dee445b4f7642e1c2f20fc0b0b - md5: 3cf12c97a18312c9243a895580bf5be6 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h585ae05_2_cpu + - libarrow-acero 23.0.0 h6de58dd_2_cpu + - libarrow-compute 23.0.0 h45df96a_2_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libparquet 23.0.0 hcc2992d_2_cpu + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-dataset >=23.0.0,<23.1.0a0 + size: 540965 + timestamp: 1770431651908 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-21.0.0-h144af7f_8_cpu.conda + build_number: 8 + sha256: b1933afbf52d01a31dfe8a78405081e222a8749f69cdd44c87de445916325415 + md5: 789bcc687969e48a482ed931d9fb0509 depends: - - __osx >=10.13 - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.3.2,<4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 129542 - timestamp: 1730442392952 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_0.conda - sha256: 507599a77c1ce823c2d3acaefaae4ead0686f183f3980467a4c4b8ba209eff40 - md5: 7177414f275db66735a17d316b0a81d6 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 hd43feaf_8_cpu + - libarrow-acero 21.0.0 hc317990_8_cpu + - libarrow-dataset 21.0.0 hc317990_8_cpu + - libcxx >=19 + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-substrait >=21.0.0,<21.1.0a0 + size: 452889 + timestamp: 1759482755723 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-23.0.0-hb5627e6_2_cpu.conda + build_number: 2 + sha256: 1d39899591ab7f1837294a3f894178b47f677e8c69d1e1a9f12979824c6a1c74 + md5: 6b25f000c0719ee305470f62147bfdc6 depends: - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.3.2,<4.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h585ae05_2_cpu + - libarrow-acero 23.0.0 h6de58dd_2_cpu + - libarrow-dataset 23.0.0 h6de58dd_2_cpu + - libcxx >=21 + - libprotobuf >=6.31.1,<6.31.2.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-substrait >=23.0.0,<23.1.0a0 + size: 474601 + timestamp: 1770431716301 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-8_h51639a9_openblas.conda + build_number: 8 + sha256: 8f5ec18ead0619a9cf0f38b49796c22f6fc0f44850c0df2baea0f5277db16e75 + md5: dbfe729181a32741ae63ecb41eefbac6 + depends: + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 + constrains: + - blas 2.308 openblas + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + - libcblas 3.11.0 8*_openblas + - mkl <2027 license: BSD-3-Clause license_family: BSD - size: 125507 - timestamp: 1730442214849 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzip-1.11.2-h3135430_0.conda - sha256: 8ed49d8aa0ff908e16c82f92154174027c8906429e8b63d71f0b27ecc987b43e - md5: 09066edc7810e4bd1b41ad01a6cc4706 + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 + size: 18949 + timestamp: 1779859141315 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libboost-1.90.0-h0419b56_1.conda + sha256: 6f1450cdde346f12cdfa4f6862cc9aa288a8967a7017cf4ccdbbeb403604e148 + md5: c0cc232de93ca04196d6b4e46037d1f3 depends: + - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 + - icu >=78.1,<79.0a0 + - libcxx >=19 + - liblzma >=5.8.1,<6.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.3.2,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-3-Clause - license_family: BSD - size: 146856 - timestamp: 1730442305774 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 - md5: d87ff7921124eccd67248aa483c23fec - depends: - - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - size: 63629 - timestamp: 1774072609062 -- conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_2.conda - sha256: 4c6da089952b2d70150c74234679d6f7ac04f4a98f9432dec724968f912691e7 - md5: 30439ff30578e504ee5e0b390afc8c65 + - boost-cpp <0.0a0 + license: BSL-1.0 + run_exports: {} + size: 2154080 + timestamp: 1766347492076 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h6caf38d_4.conda + sha256: 023b609ecc35bfee7935d65fcc5aba1a3ba6807cbba144a0730198c0914f7c79 + md5: 231cffe69d41716afe4525c5c1cc5ddd depends: - __osx >=11.0 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - size: 59000 - timestamp: 1774073052242 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda - sha256: 361415a698514b19a852f5d1123c5da746d4642139904156ddfca7c922d23a05 - md5: bc5a5721b6439f2f62a84f2548136082 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.1.0,<1.2.0a0 + size: 68938 + timestamp: 1756599687687 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda + sha256: a7cb9e660531cf6fbd4148cff608c85738d0b76f0975c5fc3e7d5e92840b7229 + md5: 006e7ddd8a110771134fcc4e1e3a6ffa depends: - __osx >=11.0 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - size: 47759 - timestamp: 1774072956767 -- 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 - size: 58347 - timestamp: 1774072851498 -- conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.5.7-pyhd8ed1ab_0.conda - sha256: 7f72acdc54cf9558bccfea6f72adc851e983e4b75b012665b746bba2b2705344 - md5: 1a3c574f48195d3f9cf069d87c4f28fc + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + size: 79443 + timestamp: 1764017945924 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h6caf38d_4.conda + sha256: 7f1cf83a00a494185fc087b00c355674a0f12e924b1b500d2c20519e98fdc064 + md5: cb7e7fe96c9eee23a464afd57648d2cd depends: - - bottleneck - - dask-core >=0.18.0 - - deprecation - - google-cloud-storage - - numexpr - - numpy <2.0 - - polars - - python >=3.10 - - requests - - scipy - - toolz - - tqdm - - xarray >=2024.2.0 + - __osx >=11.0 + - libbrotlicommon 1.1.0 h6caf38d_4 license: MIT license_family: MIT - size: 83528 - timestamp: 1757081816303 -- conda: https://conda.anaconda.org/conda-forge/noarch/linopy-0.6.7-pyhc364b38_0.conda - sha256: 8d759c5c9961dcb4523362334f52521a5e5770ceafe8b17a8350ad0958bba74d - md5: 55d19f7062b690dd95e669e9a0bb5fba + run_exports: + weak: + - libbrotlidec >=1.1.0,<1.2.0a0 + size: 29015 + timestamp: 1756599708339 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda + sha256: 2eae444039826db0454b19b52a3390f63bfe24f6b3e63089778dd5a5bf48b6bf + md5: 079e88933963f3f149054eec2c487bc2 depends: - - python >=3.11 - - numpy <2 - - scipy - - bottleneck - - toolz - - numexpr - - xarray >=2024.2.0 - - dask-core >=0.18.0 - - polars >=1.31.1 - - tqdm - - deprecation - - packaging - - google-cloud-storage - - requests - - python + - __osx >=11.0 + - libbrotlicommon 1.2.0 hc919400_1 license: MIT license_family: MIT - size: 100448 - timestamp: 1776764613610 -- conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-22.1.7-h0d3cbff_0.conda - sha256: c8eeb6bca45680db8974b78e0524b2ab3c285a9916a0b3356329d1f949b1311b - md5: 301c1db2d75ac8a91f46d21652e08dd6 + run_exports: + weak: + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 29452 + timestamp: 1764017979099 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h6caf38d_4.conda + sha256: a2f2c1c2369360147c46f48124a3a17f5122e78543275ff9788dc91a1d5819dc + md5: 4ce5651ae5cd6eebc5899f9bfe0eac3c depends: - __osx >=11.0 - constrains: - - openmp 22.1.7|22.1.7.* - - intel-openmp <0.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 310879 - timestamp: 1780456054580 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.7-hc7d1edf_0.conda - sha256: 6bf27376f11198c01a88a1c8234470f45bce0aa7502b7e7988ef03ef5db3a890 - md5: 7c6a5897a8bc5b6d509a4ee9dec7fcc8 + - libbrotlicommon 1.1.0 h6caf38d_4 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlienc >=1.1.0,<1.2.0a0 + size: 275791 + timestamp: 1756599724058 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.2.0-hc919400_1.conda + sha256: 01436c32bb41f9cb4bcf07dda647ce4e5deb8307abfc3abdc8da5317db8189d1 + md5: b2b7c8288ca1a2d71ff97a8e6a1e8883 depends: - __osx >=11.0 - constrains: - - openmp 22.1.7|22.1.7.* - - intel-openmp <0.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 285162 - timestamp: 1780455637760 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-h4fa8253_0.conda - sha256: 70140a1fa5d7cb801c6be3273b0704b5f0e418e2fff6b12b8ce9db13067a1ed5 - md5: 0ca3373049a5be11689bc2f9b2f3a9d2 + - libbrotlicommon 1.2.0 hc919400_1 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlienc >=1.2.0,<1.3.0a0 + size: 290754 + timestamp: 1764018009077 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-8_hb0561ab_openblas.conda + build_number: 8 + sha256: f93efcd44bc24f97c2478c7474d3baa6801a057974f330e1d06bedc33e4c778f + md5: 03a2ef3491da9e5b4d18c03e9f4b3109 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - libblas 3.11.0 8_h51639a9_openblas constrains: - - intel-openmp <0.0a0 - - openmp 22.1.7|22.1.7.* - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 347536 - timestamp: 1780456277495 -- 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 + - blas 2.308 openblas + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause license_family: BSD - size: 8250 - timestamp: 1650660473123 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.1-py312h63ddcf0_0.conda - sha256: 4b27a5903ab30141832924f882988a42591696a4fed8e25124e6369791664f63 - md5: 03cbf03d08ba6a45f906c2542c894a52 + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 + size: 18911 + timestamp: 1779859147634 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + sha256: 58477b67cc719060b5b069ba57161e20ba69b8695d154a719cb4b60caf577929 + md5: 32bd82a6a625ea6ce090a81c3d34edeb depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libxml2 - - libxml2-16 >=2.14.6 - - libxslt >=1.1.43,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause and MIT-CMU - size: 1571628 - timestamp: 1779194839109 -- conda: https://conda.anaconda.org/conda-forge/osx-64/lxml-6.1.1-py312h211e60a_0.conda - sha256: 66cb6fe7c73ffb49a59631de03f50ebd20666a42c475dc9ebcf699630e2164ee - md5: 120740d52f4092dd860416c5df1cb7dd + - libcxx >=11.1.0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libcrc32c >=1.1.2,<1.2.0a0 + size: 18765 + timestamp: 1633683992603 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_0.conda + sha256: 5f73f41b3504c9d41a60aa161f6c87c36f19f97c92b3510441db618e361dc946 + md5: 862eb5c81e1295f492fa261a68a4233f depends: - __osx >=11.0 - - libxml2 - - libxml2-16 >=2.14.6 - - libxslt >=1.1.43,<2.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libnghttp2 >=1.68.1,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 - libzlib >=1.3.2,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause and MIT-CMU - size: 1393319 - timestamp: 1779195446510 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py312h2f8615f_0.conda - sha256: deee7f222f49807d8412b93049c484a3c79b8dc38d33fc9cac3d3e92645f3f06 - md5: 5d4ec6ba8251efc330cc0615109b46ce + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 410874 + timestamp: 1782297872451 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-h55c6f16_0.conda + sha256: a2e7abab5add9750fab064c024394de48e49f97631c605ad5db5c8ac3fc769ef + md5: 89f76a2a21a3ec3ec983b5eb237c4113 depends: - __osx >=11.0 - - libxml2 - - libxml2-16 >=2.14.6 - - libxslt >=1.1.43,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause and MIT-CMU - size: 1352166 - timestamp: 1779195259317 -- conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py312h2f35c63_0.conda - sha256: a23ee72837fa9606b5931b64c3d272303895b07bd654f291b3fb49f35ca1a3dc - md5: f23b7c90ac0cb5366be9715af546cfa1 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 569349 + timestamp: 1781670209146 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-hc11a715_0.conda + sha256: 5e0b6961be3304a5f027a8c00bd0967fc46ae162cffb7553ff45c70f51b8314c + md5: a6130c709305cd9828b4e1bd9ba0000c depends: - - libxml2 - - libxml2-16 >=2.14.6 - - libxslt >=1.1.43,<2.0a0 - - libzlib >=1.3.2,<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 - license: BSD-3-Clause and MIT-CMU - size: 1234695 - timestamp: 1779194942138 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda - sha256: e8ae9141c7afcc95555fca7ff5f91d7a84f094536715211e750569fd4bb2caa4 - md5: a669145a2c834895bdf3fcba1f1e5b9c + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libdeflate >=1.25,<1.26.0a0 + size: 55420 + timestamp: 1761980066242 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + sha256: 66aa216a403de0bb0c1340a88d1a06adaff66bae2cfd196731aa24db9859d631 + md5: 44083d2d2c2025afca315c7a172eab2b 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 + - ncurses + - __osx >=11.0 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause license_family: BSD - size: 44154 - timestamp: 1765026394687 -- conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-4.4.5-py312ha706d14_1.conda - sha256: 76327601d2b65bb5e3b93cee12cfd301d2cf0b246d150ff52ff7b4b01c6f9147 - md5: 157f8c5e9e63b3a4ceab8e73386f1629 + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 + size: 107691 + timestamp: 1738479560845 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + sha256: 95cecb3902fbe0399c3a7e67a5bed1db813e5ab0e22f4023a5e0f722f2cc214f + md5: 36d33e440c31857372a72137f78bacf5 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libev >=4.33,<4.34.0a0 + size: 107458 + timestamp: 1702146414478 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + sha256: 8c136d7586259bb5c0d2b913aaadc5b9737787ae4f40e3ad1beaf96c80b919b7 + md5: 1a109764bff3bdc7bdd84088347d71dc depends: - - python - - lz4-c - - __osx >=10.13 - - lz4-c >=1.10.0,<1.11.0a0 - - python_abi 3.12.* *_cp312 + - openssl >=3.1.1,<4.0a0 license: BSD-3-Clause license_family: BSD - size: 41972 - timestamp: 1765026424344 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py312h2b25a0d_1.conda - sha256: fb2c6c6d0078cc7097f71ca4117adfb013163dd7845d3a7b90c80cf8c324b2e3 - md5: 43132aaf61e6d8a59624b2da26aec518 + run_exports: + weak: + - libevent >=2.1.12,<2.1.13.0a0 + size: 368167 + timestamp: 1685726248899 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda + sha256: 5af74261101e3c777399c6294b2b5d290e508153268eb2e9ff99c4d69834612f + md5: a915151d5d3c5bf039f5ccc8402a436f 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 - size: 125772 - timestamp: 1765026411222 -- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_1.conda - sha256: d9139738fe6b7a4c8490f333435d3855ce4a2b15895cfd28fd976d62bb5ce0da - md5: 835dcb698b526cfeab01e1f5f908ca5c + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 69362 + timestamp: 1781203631990 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda + sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60 + md5: c215a60c2935b517dcda8cad4705734d 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 - 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 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.4.6,<3.5.0a0 + 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 + run_exports: + weak: + - libffi >=3.5.2,<3.6.0a0 + size: 40979 + timestamp: 1769456747661 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_1.conda + sha256: d5637b01941c0fc8f5cbb1f170c238f4ee153b3c1708b9d50f4f1305438ff051 + md5: 0582e67cd14cfed773be2f3b1aba08e0 + depends: + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + run_exports: {} + size: 8365 + timestamp: 1780933612390 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-hdfa99f5_1.conda + sha256: abbfffd8a8c776bb8b59a10c8247fc3aa6b17ba0051e9f6d199dca38479f214f + md5: a0bb0678f67c464938d3693fa96f6884 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: BSD-2-Clause - license_family: BSD - size: 167055 - timestamp: 1733741040117 -- conda: https://conda.anaconda.org/conda-forge/osx-64/lz4-c-1.10.0-h240833e_1.conda - sha256: 8da3c9d4b596e481750440c0250a7e18521e7f69a47e1c8415d568c847c08a1c - md5: d6b9bd7e356abd7e3a633d59b753495a + - __osx >=11.0 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + run_exports: {} + size: 338442 + timestamp: 1780933611662 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-15.2.0-hcbb3090_19.conda + sha256: 06644fa4d34d57c9e48f4d84b1256f9e5f654fdb37f43acc8a58a396952d42b7 + md5: 644058123986582db33aebd4ae2ca184 depends: - - __osx >=10.13 - - libcxx >=18 - license: BSD-2-Clause - license_family: BSD - size: 159500 - timestamp: 1733741074747 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda - sha256: 94d3e2a485dab8bdfdd4837880bde3dd0d701e2b97d6134b8806b7c8e69c8652 - md5: 01511afc6cc1909c5303cf31be17b44f + - _openmp_mutex + constrains: + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 404080 + timestamp: 1778273064154 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-h05bcc79_12.conda + sha256: 269edce527e204a80d3d05673301e0207efcd0dbeebc036a118ceb52690d6341 + md5: fa4a92cfaae9570d89700a292a9ca714 depends: - __osx >=11.0 - - libcxx >=18 - license: BSD-2-Clause + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD license_family: BSD - size: 148824 - timestamp: 1733741047892 -- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h2466b09_1.conda - sha256: 632cf3bdaf7a7aeb846de310b6044d90917728c73c77f138f08aa9438fc4d6b5 - md5: 0b69331897a92fac3d8923549d48d092 + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 159247 + timestamp: 1766331953491 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgd-2.3.3-hb2c3a21_11.conda + sha256: be038eb8dfe296509aee2df21184c72cb76285b0340448525664bc396aa6146d + md5: 4581aa3cfcd1a90967ed02d4a9f3db4b depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause + - __osx >=11.0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libiconv >=1.17,<2.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.45,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD license_family: BSD - 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 - size: 191060 - timestamp: 1753889274283 -- conda: https://conda.anaconda.org/conda-forge/osx-64/lzo-2.10-h4132b18_1002.conda - sha256: bb5fe07123a7d573af281d04b75e1e77e87e62c5c4eb66d9781aa919450510d1 - md5: 5a047b9aa4be1dcdb62bd561d9eb6ceb - depends: - - __osx >=10.13 - license: GPL-2.0-or-later - license_family: GPL - size: 174634 - timestamp: 1753889269889 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h925e9cb_1002.conda - sha256: db40fd25c6306bfda469f84cddd8b5ebb9aa08d509cecb49dfd0bb8228466d0c - md5: e56eaa1beab0e7fed559ae9c0264dd88 + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 156868 + timestamp: 1737548290283 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.3-hef24e92_13.conda + sha256: b225d1f7343693dae975ba18a77fa64f7a1a6906531aa98f8d101f98beb8db3c + md5: 88b8ebd6c260daeaee3a7b0790186207 depends: - __osx >=11.0 - license: GPL-2.0-or-later - license_family: GPL - size: 152755 - timestamp: 1753889267953 -- conda: https://conda.anaconda.org/conda-forge/win-64/lzo-2.10-h6a83c73_1002.conda - sha256: 344f4f225c6dfb523fb477995545542224c37a5c86161f053a1a18fe547aa979 - md5: c5cb4159f0eea65663b31dd1e49bbb71 + - blosc >=1.21.6,<2.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - geotiff >=1.7.4,<1.8.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.26.0a0 + - libexpat >=2.7.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.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 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.45,<10.46.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.10.3.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.10.3,<3.11.0a0 + size: 8509314 + timestamp: 1755814377889 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.12.2-h779b996_1.conda + sha256: ebec0f2466bc46f65d5738574a209aa5d75026f85f254a7b75a502606e4199c5 + md5: 7b1495aaf715847f1483b13712d2ca2b 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 - size: 165589 - timestamp: 1753889311940 -- conda: https://conda.anaconda.org/conda-forge/noarch/mapclassify-2.10.0-pyhd8ed1ab_1.conda - sha256: 967841d300598b17f76ba812e7dae642176692ed2a6735467b93c2b2debe35c1 - md5: cc293b4cad9909bf66ca117ea90d4631 + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.1,<3.14.2.0a0 + - giflib >=5.2.2,<5.3.0a0 + - json-c >=0.18,<0.19.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.5,<3.9.0a0 + - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - libdeflate >=1.25,<1.26.0a0 + - libexpat >=2.7.4,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libjxl >=0.11,<1.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.51.2,<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.5,<4.0a0 + - pcre2 >=10.47,<10.48.0a0 + - proj >=9.7.1,<9.8.0a0 + - xerces-c >=3.3.0,<3.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - libgdal 3.12.2.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.12.2,<3.13.0a0 + size: 9876702 + timestamp: 1771394217278 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf4-3.12.2-h44e20f9_1.conda + sha256: 6a65a02026713f03e371f50b0092b6379dfe7bfbddd7fe74b427f32382b59725 + md5: 47e896a67e8246c6ef98f9dc13181ef1 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 - size: 810830 - timestamp: 1752271625200 -- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_1.conda - sha256: 0fbacdfb31e55964152b24d5567e9a9996e1e7902fb08eb7d91b5fd6ce60803a - md5: fee3164ac23dfca50cfcc8b85ddefb81 + - __osx >=11.0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - libaec >=1.1.5,<2.0a0 + - libcxx >=19 + - libgdal-core 3.12.2 h779b996_1 + license: MIT + license_family: MIT + run_exports: {} + size: 544595 + timestamp: 1771397140733 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-hdf5-3.12.2-h48d8a21_1.conda + sha256: 86d4deca8bd72c5d402c0a89905952f6fa51246f718d05fced80efb5dc4c864c + md5: 54fc1bd391970992305aa62e753992f5 depends: - - mdurl >=0.1,<1 - - python >=3.9 + - __osx >=11.0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 + - libgdal-core 3.12.2 h779b996_1 license: MIT license_family: MIT - size: 64430 - timestamp: 1733250550053 -- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda - sha256: 0c4c35376fe920714390d46e4b8d31c876d65f18e1655899e0763ec25f2a902f - md5: 6d03368f2b2b0a5fb6839df53b2eb5e0 + run_exports: {} + size: 612371 + timestamp: 1771397379542 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-netcdf-3.12.2-h4eb6350_1.conda + sha256: 16312eb415f4ac623edc367a3e313dc4bb6ff8cf7bda0bda6177105838b70d5d + md5: 655acd448c73740abdb3716407a3a650 depends: - - mdurl >=0.1,<1 - - python >=3.10 + - __osx >=11.0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 + - libgdal-core 3.12.2 h779b996_1 + - libgdal-hdf4 3.12.2.* + - libgdal-hdf5 3.12.2.* + - libnetcdf >=4.9.3,<4.9.4.0a0 license: MIT license_family: MIT - size: 69017 - timestamp: 1778169663339 -- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - sha256: 5f3aad1f3a685ed0b591faad335957dbdb1b73abfd6fc731a0d42718e0653b33 - md5: 93a4752d42b12943a355b682ee43285b + run_exports: {} + size: 673336 + timestamp: 1771399384417 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.2.0-h07b0088_19.conda + sha256: d4837b3b9b30af3132d260225e91ab9dde83be04c59513f500cc81050fb37486 + md5: 1ea03f87cdb1078fbc0e2b2deb63752c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libgfortran5 15.2.0 hdae7583_19 constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - size: 26057 - timestamp: 1772445297924 -- conda: https://conda.anaconda.org/conda-forge/osx-64/markupsafe-3.0.3-py312heb39f77_1.conda - sha256: 0eb418d4776a1a54c1869b11a5c4ae096ef9a46c8d7e481e32fa814561c5cfed - md5: d596f9d03043acd4ec711c844060da59 + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 139675 + timestamp: 1778273280875 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.2.0-hdae7583_19.conda + sha256: d0a68b7a121d115b80c169e24d1265dcc25a3fe58d107df1bbc430797e226d88 + md5: ba36d8c606a6a53fe0b8c12d47267b3d depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libgcc >=15.2.0 constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - size: 25095 - timestamp: 1772445399364 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py312h04c11ed_1.conda - sha256: 330394fb9140995b29ae215a19fad46fcc6691bdd1b7654513d55a19aaa091c1 - md5: 11d95ab83ef0a82cc2de12c1e0b47fe4 + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 599691 + timestamp: 1778273075448 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.84.3-h587fa63_0.conda + sha256: a30510a18f0b85a036f99c744750611b5f26b972cfa70cc9f130b9f42e5bbc18 + md5: bb98995c244b6038892fd59a694a93ed depends: - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - libffi >=3.4.6,<3.5.0a0 + - libiconv >=1.18,<2.0a0 + - libintl >=0.25.1,<1.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.45,<10.46.0a0 constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - size: 25564 - timestamp: 1772445846939 -- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda - sha256: b744287a780211ac4595126ef96a44309c791f155d4724021ef99092bae4aace - md5: a73298d225c7852f97403ca105d10a13 + - glib 2.84.3 *_0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.84.3,<3.0a0 + size: 3661135 + timestamp: 1754315631978 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.88.1-ha08bb59_2.conda + sha256: 3b32a7a710132d509f2ea38b2f0384414c863533e0fc7ac71b6a0763e4c67424 + md5: 62d6f3b832d7d79ae0c0aa1bb3c325fa 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 + - __osx >=11.0 + - libintl >=0.25.1,<1.0a0 + - libffi >=3.5.2,<3.6.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.2,<2.0a0 constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - size: 28510 - timestamp: 1772445175216 -- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.7-py312h7900ff3_0.conda - sha256: a90b146dcaae011f97b85776dcd9751acf31db6206c9da7a867b2870a082c642 - md5: 71da16a72db3da61f5569da05fd1c750 - depends: - - matplotlib-base >=3.10.7,<3.10.8.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 - size: 17267 - timestamp: 1760560562908 -- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.9-py312h7900ff3_0.conda - sha256: cdd59bb1a52b09979f11c68909d53120b2e749edd1992853a74e1604db19c8b0 - md5: 579c6a324b197594fabc9240bddf2d8b - depends: - - matplotlib-base >=3.10.9,<3.10.10.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 - size: 17831 - timestamp: 1777000588302 -- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.7-py312hb401068_0.conda - sha256: c5fd2bf2e76616b55526ff7ec836d45527685b59fa198b848c03b28b8e4dc6ef - md5: 00721c0399429e5f7d7b293fa89c2625 - depends: - - matplotlib-base >=3.10.7,<3.10.8.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - tornado >=5 - license: PSF-2.0 - license_family: PSF - size: 17339 - timestamp: 1760561530263 -- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.10.9-py312hb401068_0.conda - sha256: e236285396458870bd69842978a8c7aa412464e73e608105c59ca537d470d40a - md5: 4277a65bf3b72f018c778d719338e13a - depends: - - matplotlib-base >=3.10.9,<3.10.10.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - tornado >=5 - license: PSF-2.0 - license_family: PSF - size: 17692 - timestamp: 1777000814535 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.7-py312h1f38498_0.conda - sha256: 676e6eaf85b3482e39db1033e87c3c00b7dff32186b0574bf4aaf394554750f5 - md5: e31c510b04a9dd1071b1ee0a9c977f60 - depends: - - matplotlib-base >=3.10.7,<3.10.8.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - tornado >=5 - license: PSF-2.0 - license_family: PSF - size: 17533 - timestamp: 1760561080633 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.9-py312h1f38498_0.conda - sha256: 79d518d9556ce81ff4e55e3e947a5a8cb6b1c4a101536e86ab90c34d2c80efcf - md5: 94174d301ce2f5962197fb9b880ea8ff - depends: - - matplotlib-base >=3.10.9,<3.10.10.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - tornado >=5 - license: PSF-2.0 - license_family: PSF - size: 17770 - timestamp: 1777001080046 -- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.7-py312h2e8e312_0.conda - sha256: 9b850c7aeaeae8c836b19e79497c2cf357cd9e0bb617df16c2c6b003936e6cce - md5: 7e0fd7fd2a87921eb3b2088b52c9abfe - depends: - - matplotlib-base >=3.10.7,<3.10.8.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 - size: 17869 - timestamp: 1760561135857 -- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.9-py312h2e8e312_0.conda - sha256: a1864fb26f541716aff7c194d6399b17ec90ee4fded2f74034fe4db7c930c60d - md5: 779fa0e5531694e039385f739ceb88b4 - depends: - - matplotlib-base >=3.10.9,<3.10.10.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 - size: 18066 - timestamp: 1777000842638 -- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.7-py312he3d6523_0.conda - sha256: a86bf43f40c8afa3dbe846c62e54dc7496493cc882acdf366b5197205e7709d8 - md5: 066291f807305cff71a8ec1683fc9958 + - glib >2.66 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.88.1,<3.0a0 + size: 4439458 + timestamp: 1778508895255 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.39.0-head0a95_0.conda + sha256: 209facdb8ea5b68163f146525720768fa3191cef86c82b2538e8c3cafa1e9dd4 + md5: ad7272a081abe0966d0297691154eda5 depends: - - __glibc >=2.17,<3.0.a0 - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libstdcxx >=14 - - numpy >=1.23 - - numpy >=1.23,<3 - - packaging >=20.0 - - pillow >=8 - - pyparsing >=2.3.1 - - python >=3.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 - size: 8536303 - timestamp: 1760560544102 -- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.9-py312he3d6523_0.conda - sha256: c7e133837376e53e6a52719c205a3067c42f05769bc3e8307417f8d817dfc63e - md5: 7d499b5b6d150f133800dc3a582771c7 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcurl >=8.14.1,<9.0a0 + - libcxx >=19 + - libgrpc >=1.73.1,<1.74.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - openssl >=3.5.1,<4.0a0 + constrains: + - libgoogle-cloud 2.39.0 *_0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud >=2.39.0,<2.40.0a0 + size: 876283 + timestamp: 1752047598741 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.39.0-hfa3a374_0.conda + sha256: a5160c23b8b231b88d0ff738c7f52b0ee703c4c0517b044b18f4d176e729dfd8 + md5: 147a468b9b6c3ced1fccd69b864ae289 depends: - - __glibc >=2.17,<3.0.a0 - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libstdcxx >=14 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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 - size: 8336056 - timestamp: 1777000573501 -- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.7-py312h7894933_0.conda - sha256: 890975012522122fb20a7914c11a02fd4973ed0ee470abc27bd3298ef6de37df - md5: 8993a6404a2bd1d1b4ccc169c611c826 + - __osx >=11.0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=19 + - libgoogle-cloud 2.39.0 head0a95_0 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + size: 525153 + timestamp: 1752047915306 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.73.1-h3063b79_1.conda + sha256: c2099872b1aa06bf8153e35e5b706d2000c1fc16f4dde2735ccd77a0643a4683 + md5: f5856b3b9dae4463348a7ec23c1301f2 depends: - - __osx >=10.13 - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 + - __osx >=11.0 + - c-ares >=1.34.5,<2.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 - libcxx >=19 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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 - license: PSF-2.0 - license_family: PSF - size: 8137491 - timestamp: 1760561487488 -- conda: https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.10.9-py312h7609456_0.conda - sha256: 7cec29b831c25744736c92d3fa9afe0e2c090087ce2387e7f1c7ecf08414b23e - md5: c7133e403f67d8e34af93e0be4286478 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.73.1 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libgrpc >=1.73.1,<1.74.0a0 + size: 5377798 + timestamp: 1761053602943 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwloc-2.13.0-default_ha97f43a_1000.conda + sha256: d47c3c030671d196ff1cdd343e93eb2ae0d7b665cb79f8164cc91488796db437 + md5: fed55ddd65a830cb62e78f07cfffcd41 depends: - __osx >=11.0 - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 - libcxx >=19 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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 - license: PSF-2.0 - license_family: PSF - size: 8284805 - timestamp: 1777000784713 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.7-py312h605b88b_0.conda - sha256: 83e4f0e36cdeb610568f074afc12440cb95b84645f0f63a8f45dd51410fb98c8 - md5: f4c14d3f89a1a892cab55771c798c6b2 + - libxml2 + - libxml2-16 >=2.14.6 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libhwloc >=2.13.0,<2.13.1.0a0 + size: 2339152 + timestamp: 1770953916323 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libhwy-1.4.0-ha332bbd_0.conda + sha256: 4fcad3cbec60da940312e883b7866816517acc5f9baecfe9a778de57327a1b1b + md5: 7394850583ca88325244b68b532c7a39 depends: - __osx >=11.0 - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 - libcxx >=19 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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 - size: 8007810 - timestamp: 1760561036534 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.9-py312hf3defc7_0.conda - sha256: c2dc997012fb8a901163cdad333ba5ba27733aa26d67a28a6501f4b4d69fcbce - md5: e5d83f3ae6ada32d4e64e366a41f9ff6 + license: Apache-2.0 OR BSD-3-Clause + run_exports: + weak: + - libhwy >=1.4.0,<1.5.0a0 + size: 609931 + timestamp: 1776990524407 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda + sha256: de0336e800b2af9a40bdd694b03870ac4a848161b35c8a2325704f123f185f03 + md5: 4d5a7445f0b25b6a3ddbb56e790f5251 depends: - __osx >=11.0 - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 + license: LGPL-2.1-only + run_exports: + weak: + - libiconv >=1.18,<2.0a0 + size: 750379 + timestamp: 1754909073836 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-h493aca8_0.conda + sha256: 99d2cebcd8f84961b86784451b010f5f0a795ed1c08f1e7c76fbb3c22abf021a + md5: 5103f6a6b210a3912faf8d7db516918c + depends: + - __osx >=11.0 + - libiconv >=1.18,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libintl >=0.25.1,<1.0a0 + size: 90957 + timestamp: 1751558394144 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.4.1-h84a0fba_0.conda + sha256: 17e035ae6a520ff6a6bb5dd93a4a7c3895891f4f9743bcb8c6ef607445a31cd0 + md5: b8a7544c83a67258b0e8592ec6a5d322 + depends: + - __osx >=11.0 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + run_exports: + weak: + - libjpeg-turbo >=3.1.4.1,<4.0a0 + size: 555681 + timestamp: 1775962975624 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjxl-0.11.2-h934fa54_1.conda + sha256: 948cf1370abb58e06a7c9554838c68672ef1d78e01c3fc4e62ccfc3072579645 + md5: 05bead8980f5ae6a070117dacec38b5b + depends: - libcxx >=19 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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 - size: 8191891 - timestamp: 1777001043842 -- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.7-py312h0ebf65c_0.conda - sha256: 7a48d0f7acf2c6f659d4110c51fd6349eea59cf094736c0487d146b279ffc8a5 - md5: 79230f2289ae81063289d3e726150912 + - __osx >=11.0 + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libjxl >=0.11,<1.0a0 + size: 1032419 + timestamp: 1777065264956 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-hb833057_1023.conda + sha256: bfc6c0b1f30de524e3270eed2171d87e6b96552ff90cf2a5eb34c00d6bcb3dfa + md5: 3d8eeedb8e541d1cb593e8204fcc397d depends: - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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.3,<15 - - vc14_runtime >=14.44.35208 - license: PSF-2.0 - license_family: PSF - size: 8046406 - timestamp: 1760561093532 -- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.9-py312h0ebf65c_0.conda - sha256: 539ca0eac473a1b7f9da1071ddcd6fe9a3bdd9e51eab0f1c498e6345c1898e8b - md5: 3752482b0df88d7a08a0791f906e87ae + - __osx >=11.0 + - libcxx >=19 + - libexpat >=2.7.5,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - uriparser >=0.9.8,<1.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 283804 + timestamp: 1777027670481 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-8_hd9741b5_openblas.conda + build_number: 8 + sha256: 8a076fe82142a00fe85f5a5a5351e286e8064f0100fe13608d19182cd0018c25 + md5: 85adeb3d469d082dbd9c8c39e36dec57 depends: - - contourpy >=1.0.1 - - cycler >=0.10 - - fonttools >=4.22.0 - - freetype - - kiwisolver >=1.3.1 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - numpy >=1.23 - - numpy >=1.23,<3 - - 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.3,<15 - - vc14_runtime >=14.44.35208 - license: PSF-2.0 - license_family: PSF - size: 8033620 - timestamp: 1777000825433 -- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda - sha256: 35b43d7343f74452307fd018a1cca92b8f68961ff8e2ab6a81ce0a703c9a3764 - md5: 9acc1c385be401d533ff70ef5b50dae6 + - libblas 3.11.0 8_h51639a9_openblas + constrains: + - libcblas 3.11.0 8*_openblas + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapack >=3.11.0,<3.12.0a0 + size: 18925 + timestamp: 1779859153970 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapacke-3.11.0-8_h1b118fd_openblas.conda + build_number: 8 + sha256: 589d3218009b4002d486a7d3f88d3313e81c1e7720ddb3ee4ee2eff07fa34f9b + md5: bd1b597f41e950e2058978497bf35c2e depends: - - python >=3.10 - - traitlets + - libblas 3.11.0 8_h51639a9_openblas + - libcblas 3.11.0 8_hb0561ab_openblas + - liblapack 3.11.0 8_hd9741b5_openblas + constrains: + - blas 2.308 openblas license: BSD-3-Clause license_family: BSD - size: 15725 - timestamp: 1778264403247 -- conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - sha256: 9b0037171dad0100f0296699a11ae7d355237b55f42f9094aebc0f41512d96a1 - md5: 827064ddfe0de2917fb29f1da4f8f533 + run_exports: + weak: + - liblapacke >=3.11.0,<3.12.0a0 + size: 18968 + timestamp: 1779859160325 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda + sha256: 34878d87275c298f1a732c6806349125cebbf340d24c6c23727268184bba051e + md5: b1fd823b5ae54fbec272cea0811bd8a9 + depends: + - __osx >=11.0 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 92472 + timestamp: 1775825802659 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda + sha256: 1089c7f15d5b62c622625ec6700732ece83be8b705da8c6607f4dabb0c4bd6d2 + md5: 57c4be259f5e0b99a5983799a228ae55 + depends: + - __osx >=11.0 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 73690 + timestamp: 1769482560514 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h6808abe_102.conda + sha256: 0e4f48524bec74e53e97fb2149c4db33fc8b69d3db7668b7eec799d0b4c656f0 + md5: 50be32bb3251f3e24cf7568786640e84 depends: - - python >=3.9 + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libcxx >=19 + - libxml2 >=2.13.8,<2.14.0a0 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - zlib + - zstd >=1.5.7,<1.6.0a0 license: MIT license_family: MIT - size: 12934 - timestamp: 1733216573915 -- conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - sha256: 49db23cbfb1c1d414a14d7540195208b994ebd747beba0f15c903f3a0a2dc446 - md5: ad6821df7a98510117db06e9a833281f + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 684477 + timestamp: 1757402380009 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnetcdf-4.9.3-nompi_h7a8d41e_104.conda + sha256: 14d895f8c07201cd88ca2aada641c7e1db55c9b8e44b3f2579a7608b9d12cec2 + md5: 82a39939eb22d375750b85ed42cdbaba depends: - - markdown-it-py >=2.0.0,<5.0.0 - - python >=3.10 + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libcxx >=19 + - libxml2 + - libxml2-16 >=2.14.6 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 license: MIT license_family: MIT - size: 50460 - timestamp: 1778692223625 -- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 - md5: 592132998493b3ff25fd7479396e8351 + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 687626 + timestamp: 1770718748118 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda + sha256: 2bc7bc3978066f2c274ebcbf711850cc9ab92e023e433b9631958a098d11e10a + md5: 6ea18834adbc3b33df9bd9fb45eaf95b depends: - - python >=3.9 + - __osx >=11.0 + - c-ares >=1.34.6,<2.0a0 + - libcxx >=19 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 license: MIT license_family: MIT - size: 14465 - timestamp: 1733255681319 -- conda: https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhcf101f3_1.conda - sha256: 737616a517a15c9d8a56602f54eff7aeb81491711c2f5634bc2b6873af1b4037 - md5: e1bccffd88819e75729412799824e270 + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 + size: 576526 + timestamp: 1773854624224 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.33-openmp_he657e61_0.conda + sha256: 9dd455b2d172aeedfa2058d324b5b5822b0bc1b7c1f32cd183d7078540d2f6eb + md5: 909e41855c29f0d52ae630198cd57135 depends: - - python >=3.10 - - psutil - - python + - __osx >=11.0 + - libgfortran + - libgfortran5 >=14.3.0 + - llvm-openmp >=19.1.7 + constrains: + - openblas >=0.3.33,<0.3.34.0a0 license: BSD-3-Clause license_family: BSD - size: 36168 - timestamp: 1764885507963 -- conda: https://conda.anaconda.org/conda-forge/linux-64/metis-5.1.0-hd0bcaf9_1007.conda - sha256: e8a00971e6d00bd49f375c5d8d005b37a9abba0b1768533aed0f90a422bf5cc7 - md5: 28eb714416de4eb83e2cbc47e99a1b45 + run_exports: + weak: + - libopenblas >=0.3.33,<1.0a0 + size: 4304965 + timestamp: 1776995497368 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-he15edb5_1.conda + sha256: 4bf8f703ddd140fe54d4c8464ac96b28520fbc1083cce52c136a85a854745d5c + md5: cbcea547d6d831863ab0a4e164099062 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgrpc >=1.73.1,<1.74.0a0 + - libopentelemetry-cpp-headers 1.21.0 hce30654_1 + - libprotobuf >=6.31.1,<6.31.2.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 - size: 3923560 - timestamp: 1728064567817 -- conda: https://conda.anaconda.org/conda-forge/osx-64/metis-5.1.0-h3023b02_1007.conda - sha256: 9443014f00a78a216c59f17a1309e49beb24b96082d198b4ab1626522fc7da40 - md5: 4e4566c484361d6a92478f57db53fb08 + run_exports: + weak: + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + size: 564609 + timestamp: 1751782939921 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_1.conda + sha256: ce74278453dec1e3c11158ec368c8f1b03862e279b63f79ed01f38567a1174e6 + md5: c7df4b2d612208f3a27486c113b6aefc + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 363213 + timestamp: 1751782889359 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-21.0.0-h45c8936_8_cpu.conda + build_number: 8 + sha256: c336c67cdab92f99ad40e3d41571b880bd6d54ba06aaabb5187b23c799458da5 + md5: 1225311b8705c89c676a382da38865e4 depends: - - __osx >=10.13 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 21.0.0 hd43feaf_8_cpu + - libcxx >=19 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.4,<4.0a0 license: Apache-2.0 license_family: APACHE - size: 3949838 - timestamp: 1728064564171 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda - sha256: f54ad3e5d47a0235ba2830848fee590faad550639336fe1e2413ab16fee7ac39 - md5: 7687ec5796288536947bf616179726d8 + run_exports: + weak: + - libparquet >=21.0.0,<21.1.0a0 + size: 1021610 + timestamp: 1759482399167 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-23.0.0-hcc2992d_2_cpu.conda + build_number: 2 + sha256: 8a73ec8dd63d993ba4d0daa366470d0b68f3fcda7386362ec10a0e1abae5a9b8 + md5: 7b877b0e610ca5a58a8947eadb1f6191 depends: - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 h585ae05_2_cpu + - libcxx >=21 + - libopentelemetry-cpp >=1.21.0,<1.22.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libthrift >=0.22.0,<0.22.1.0a0 + - openssl >=3.5.5,<4.0a0 license: Apache-2.0 license_family: APACHE - size: 3898314 - timestamp: 1728064659078 -- conda: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.2.1-hb71707f_0.conda - sha256: 41558b95a387ce2374260aa034a99c3a88cbb98e1a56510f4fa6839063de867b - md5: fe7b4ff5792fee512aad843294ea809a + run_exports: + weak: + - libparquet >=23.0.0,<23.1.0a0 + size: 1076058 + timestamp: 1770431459752 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.58-h132b30e_0.conda + sha256: 66eae34546df1f098a67064970c92aa14ae7a7505091889e00468294d2882c36 + md5: 2259ae0949dbe20c0665850365109b27 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libstdcxx >=14 + - __osx >=11.0 - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: Zlib - license_family: Other - size: 520570 - timestamp: 1778002506337 -- conda: https://conda.anaconda.org/conda-forge/osx-64/minizip-4.2.1-he29b9bd_0.conda - sha256: 31599bfede2d1ddb7a59fdd5b4a2c4bf0ba72f683f3bcb9d07cb5446532386bf - md5: 71a71a2bbfb3f89f2b14be38dfea90ff + license: zlib-acknowledgement + run_exports: + weak: + - libpng >=1.6.58,<1.7.0a0 + size: 289546 + timestamp: 1776315246750 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-6.31.1-h29102cf_5.conda + sha256: c1998dd33ae1229bec55c40a01cdf88bc5839cab2549f9ba21ea84472bba3242 + md5: 9f05750adae48f79259ee79aa4b02e52 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libprotobuf >=6.31.1,<6.31.2.0a0 + size: 3430992 + timestamp: 1780004171922 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libraqm-0.10.5-h29bd36a_0.conda + sha256: 9a28d495e12638bda33a43c236c4089beef11e09b7a7a5ba52f86e3605264eb1 + md5: 4c7999b62691f4ed6e0650832b7b6cff + depends: + - __osx >=11.0 + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=14.2.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + license: MIT + license_family: MIT + run_exports: + weak: + - libraqm >=0.10.5,<0.11.0a0 + size: 27339 + timestamp: 1780835892821 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2025.11.05-h91c62da_0.conda + sha256: 7b525313ab16415c4a3191ccf59157c3a4520ed762c8ec61fcfb81d27daa4723 + md5: 060f099756e6baf2ed51b9065e44eda8 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 + constrains: + - re2 2025.11.05.* + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libre2-11 >=2025.11.5 + size: 165593 + timestamp: 1762398300610 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.58.4-h266df6f_3.conda + sha256: 0ec066d7f22bcd9acb6ca48b2e6a15e9be4f94e67cb55b0a2c05a37ac13f9315 + md5: 95d6ad8fb7a2542679c08ce52fafbb6c + depends: + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - libglib >=2.84.0,<3.0a0 + - libxml2 >=2.13.7,<2.14.0a0 + - pango >=1.56.3,<2.0a0 + constrains: + - __osx >=11.0 + license: LGPL-2.1-or-later + run_exports: + weak: + - librsvg >=2.58.4,<3.0a0 + size: 4607782 + timestamp: 1743369546790 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.3-he8aa2a2_0.conda + sha256: f5b4fb7b6f13bbfca59613bff2e70b5a398e80727b9d0f814837ffcbc34185e1 + md5: 6973724fadafe66ac6e4f1c55c191407 + depends: + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 + constrains: + - __osx >=11.0 + license: LGPL-2.1-or-later + run_exports: + weak: + - librsvg >=2.62.3,<3.0a0 + size: 2397567 + timestamp: 1780452232118 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-h26cc057_18.conda + sha256: d44060c2980e45e6392a045b55bfdde440819346251daa2400b527007fd727e2 + md5: d324443cad810cf90608d8b2330fcc59 depends: - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libcxx >=19 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: Zlib - license_family: Other - size: 475739 - timestamp: 1778003429852 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda - sha256: 4b1d4e4b17d27bbec50b1ad144e000c3b077cc4e0ef487ef11011c52ef8c86ab - md5: fcd860469a8fa003e25d472b40b0ff81 + - geos >=3.13.1,<3.13.2.0a0 + - libcxx >=18 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 192154 + timestamp: 1741167142737 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha909e78_20.conda + sha256: 2b28c777889b1b638244f65d5bef4a8ba4624bdb740cecf26c845876653552c2 + md5: d07359797436cfc891b38e203cf0caac depends: - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 + - geos >=3.14.1,<3.14.2.0a0 - libcxx >=19 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: Zlib - license_family: Other - size: 459816 - timestamp: 1778003052237 -- conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda - sha256: 208b235b20232891d1dc9f468d08b00c53e7ca65a18b9bc0ff4c4867680b9a75 - md5: 5d55038c4d640e5df06de1cfb4e8d741 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 192590 + timestamp: 1761670939075 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libscotch-7.0.11-int64_hc5c7ca1_3.conda + sha256: 9263ad0a4204696b4b88f4bfcf89f33e3be6c07881ca23c40eea4e0d43d18253 + md5: 6a8cee5bf8c0272917bedc4318de4f2c depends: + - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 + - libgfortran + - libgfortran5 >=14.3.0 - liblzma >=5.8.3,<6.0a0 - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Zlib - license_family: Other - size: 106290 - timestamp: 1778002682910 -- conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.1-pyhcf101f3_0.conda - sha256: b52dc6c78fbbe7a3008535cb8bfd87d70d8053e9250bbe16e387470a9df07070 - md5: b97e84d1553b4a1c765b87fff83453ad - depends: - - python >=3.10 - - typing_extensions - - python - license: BSD-3-Clause - license_family: BSD - size: 74567 - timestamp: 1777824616382 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2026.0.0-h57928b3_908.conda - sha256: d41a87a46c31b74368aabb7a7f47037524459ecb8062a470ae58469c9cb13027 - md5: 7522ecf673b186d76f87b1990abdbf04 - depends: - - onemkl-license 2026.0.0 h57928b3_908 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 790641 - timestamp: 1779293292195 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2026.0.0-hfdbc840_908.conda - sha256: f7828dabad0915d43dd088511d8c0cec646c319bad2004a3f30497cf06ef7cc4 - md5: 236465654fb21f7377c50262b12290d9 - depends: - - mkl-include 2026.0.0 h57928b3_908 - - tbb 2023.* - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 125059581 - timestamp: 1779293349895 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda - sha256: 8690f550a780f75d9c47f7ffc15f5ff1c149d36ac17208e50eda101ca16611b9 - md5: 85ce2ffa51ab21da5efa4a9edc5946aa - depends: - - __glibc >=2.17,<3.0.a0 - - gmp >=6.3.0,<7.0a0 - - libgcc >=14 - license: LGPL-3.0-only - license_family: LGPL - size: 730422 - timestamp: 1773413915171 -- conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.2-h31caf2d_0.conda - sha256: 0a238d8500b2206b04f780093c25d83694c8c9628ea50f4376463c608168bf95 - md5: bc5ac4d19d24a6062f60560aab0e8976 + license: CECILL-C + run_exports: + weak: + - libscotch >=7.0.11,<7.0.12.0a0 + - libscotch * int64_* + size: 282634 + timestamp: 1776441906749 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h1a92334_1.conda + sha256: 202be45db5726757a8ea1f374f85aacc18c504f5ff15b2558496dff4c8779c48 + md5: 9ed5ab909c449bdcae72322e44875a18 depends: - __osx >=11.0 - - gmp >=6.3.0,<7.0a0 - license: LGPL-3.0-only - license_family: LGPL - size: 374756 - timestamp: 1773414598704 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda - sha256: af5eca85f7ffdd403275e916f1de40a7d4b48ae138f12479523d9500c6a073ba - md5: a47a14da2103c9c7a390f7c8bc8d7f9b + license: ISC + run_exports: + weak: + - libsodium >=1.0.22,<1.0.23.0a0 + size: 247352 + timestamp: 1779164136206 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-gpl_ha239c29_119.conda + sha256: 631e1bca330abc13bcbb0a16aea47aec969ddd5a82f695bdc840497069fc1dec + md5: babf54eb886241155434878f728ea099 depends: - __osx >=11.0 - - gmp >=6.3.0,<7.0a0 - license: LGPL-3.0-only - license_family: LGPL - size: 348767 - timestamp: 1773414111071 -- conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.conda - sha256: 59d10b8dcfa2b899726556835b4546a2e1054f104c938b951ed9821fff81fad2 - md5: 7bcb237f435cb77e5a68d6e528ec65ae - depends: - - gmp >=6.3.0,<7.0a0 - - libgcc >=14 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - ucrt >=10.0.20348.0 - license: LGPL-3.0-only - license_family: LGPL - size: 734113 - timestamp: 1773415369651 -- 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 - size: 102525 - timestamp: 1762504116832 -- conda: https://conda.anaconda.org/conda-forge/osx-64/msgpack-python-1.1.2-py312hd099df3_1.conda - sha256: 77314afa123abe6c25a0b8a161763d7f624f432bff382b976e5f243c72082944 - md5: 00597ae4dd073faaa9e6d2ca478f21c6 - depends: - - __osx >=10.13 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.1,<3.14.2.0a0 - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 90666 - timestamp: 1762504423797 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.2-py312h84eede6_1.conda - sha256: 1540339678e13365001453fdcb698887075a2b326d5fab05cfd0f4fdefae4eab - md5: e3973f0ac5ac854bf86f0d5674a1a289 + - libiconv >=1.18,<2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.7.0,<9.8.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 2712485 + timestamp: 1761681521138 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hea0a7cd_14.conda + sha256: f586ba7ffa445514bf97778c3f6720a83980e8e9a4aa8c95f060d5ecf3ea531a + md5: c2d44056e47c6985bb1dbe8c60788f64 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 - 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 - size: 87478 - timestamp: 1762504274037 -- conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.1-py312h8a5da7c_0.conda - sha256: 0da7e7f4e69bfd6c98eff92523e93a0eceeaec1c6d503d4a4cd0af816c3fe3dc - md5: 17c77acc59407701b54404cfd3639cac - 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 - size: 100056 - timestamp: 1771611023053 -- conda: https://conda.anaconda.org/conda-forge/osx-64/multidict-6.7.1-py312hfc03ebc_0.conda - sha256: 5365f648eeb6770c9f05d01f95df9a050f28e3c6ad287178411560e8cdf12130 - md5: 60ca4e1376742de9d637162802d16102 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - libcxx >=18 + - libiconv >=1.18,<2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libxml2 >=2.13.6,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 2942231 + timestamp: 1742308744175 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1ae2325_0.conda + sha256: 862463917e8ef5ac3ebdaf8f19914634b457609cc27ba678b7197124cefeb1f7 + md5: 1ebde5c677f00765233a17e278571177 depends: - - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 88773 - timestamp: 1771610901609 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda - sha256: d7f2c4137271b158a452d02a5a3c4ceade8e8e75352fc90a4360f4a7eda9be9f - md5: 8094abe00f22955a9396d91c690f36e8 + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libzlib >=1.3.2,<2.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 927724 + timestamp: 1780575223548 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.2-h1b79a29_0.conda + sha256: f06b6d9d50d5ad1bed09daada386eb1aa8ed7a9ca4618facd3aead75b82db9ff + md5: 530ef68b7f9f7bee04f67db8d435f872 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 - size: 87852 - timestamp: 1771611147963 -- conda: https://conda.anaconda.org/conda-forge/win-64/multidict-6.7.1-py312h05f76fc_0.conda - sha256: 3a33346421defe3bd5dfdd10bed8a7055a2ce3b696aafa47f9ec5b1749d38c54 - md5: 3b54ef7993acc98becf31e0016e0404d + - libzlib >=1.3.2,<2.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 923664 + timestamp: 1780574869893 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h1590b86_0.conda + sha256: 8bfe837221390ffc6f111ecca24fa12d4a6325da0c8d131333d63d6c37f27e0a + md5: b68e8f66b94b44aaa8de4583d3d4cc40 + depends: + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 279193 + timestamp: 1745608793272 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.22.0-h1fb9c8a_2.conda + sha256: 568bb23db02b050c3903bec05edbcab84960c8c7e5a1710dac3109df997ac7f1 + md5: d006875f9a58a44f92aec9a7ebeb7150 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 + - __osx >=11.0 + - libcxx >=19 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 license: Apache-2.0 license_family: APACHE - size: 91620 - timestamp: 1771610831076 -- conda: https://conda.anaconda.org/conda-forge/noarch/multiurl-0.3.7-pyhd8ed1ab_0.conda - sha256: d87816da0e16812f93db1b3b174ef5465047c290457bf72ff750e137f8473a31 - md5: e585c71c2ed48e4eee1663d627ddcd47 + run_exports: + weak: + - libthrift >=0.22.0,<0.22.1.0a0 + size: 323017 + timestamp: 1777019893083 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.1-h4030677_1.conda + sha256: e9248077b3fa63db94caca42c8dbc6949c6f32f94d1cafad127f9005d9b1507f + md5: e2a72ab2fa54ecb6abab2b26cde93500 depends: - - python >=3.9 - - python-dateutil - - pytz - - requests - - tqdm - license: Apache-2.0 - license_family: Apache - size: 22874 - timestamp: 1753802497931 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-include-5.7.3-h82cca05_10.conda - sha256: c723d6e331444411db0a871958fc45621758595d12b4d6561fa20324535ce67a - md5: d6c7d8811686ed912ed4317831dd8c44 - license: CECILL-C - size: 20755 - timestamp: 1745406913902 -- conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-include-5.8.2-h6a5cfba_2.conda - sha256: 4a0c8607ee512caec98978f07c121a739037b3bd1366bcef56818b45f2599785 - md5: a1d4e790758af6cf3dfaf32eb51d7769 - license: CECILL-C - size: 20731 - timestamp: 1771839461603 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda - sha256: 5c6d99646c575522a5756a3254b84f988d76de691138993440c9710fc379b495 - md5: 99073be867a14872be24fe21a23b18c0 - license: CECILL-C - size: 20731 - timestamp: 1771833866354 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mumps-seq-5.7.3-h27a6a8b_0.conda - sha256: 32facdad34df86928ed1632264b943c87174edeb9d74ccfaaf353f8a669579c2 - md5: d524b41c7757ea147337039fa4158fbb + - __osx >=11.0 + - lerc >=4.0.0,<5.0a0 + - libcxx >=19 + - libdeflate >=1.25,<1.26.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 + run_exports: + weak: + - libtiff >=4.7.1,<4.8.0a0 + size: 373892 + timestamp: 1762022345545 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.11.3-h2431656_0.conda + sha256: ae1a82e62cd4e3c18e005ae7ff4358ed72b2bfbfe990d5a6a5587f81e9a100dc + md5: 2255add2f6ae77d0a96624a5cbde6d45 depends: - - __glibc >=2.17,<3.0.a0 - - libblas >=3.9.0,<4.0a0 - - libgcc-ng >=12 - - libgfortran-ng - - libgfortran5 >=12.4.0 - - liblapack >=3.9.0,<4.0a0 - - libscotch >=7.0.4,<7.0.5.0a0 - - metis >=5.1.0,<5.1.1.0a0 - - mumps-include >=5.7.3,<5.7.4.0a0 - license: CECILL-C - size: 2029763 - timestamp: 1722844276781 -- conda: https://conda.anaconda.org/conda-forge/osx-64/mumps-seq-5.8.2-h10d2f05_2.conda - sha256: 8c6da71bf05f5cc93943acd18985247cd66bea2b18f7733726e6b0b3c2f411f7 - md5: 441331cb7a3c6337711c485861dda6e3 + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libutf8proc >=2.11.3,<2.12.0a0 + size: 87916 + timestamp: 1768735311947 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.6.0-h07db88b_0.conda + sha256: a4de3f371bb7ada325e1f27a4ef7bcc81b2b6a330e46fac9c2f78ac0755ea3dd + md5: e5e7d467f80da752be17796b87fe6385 depends: - - mumps-include ==5.8.2 h6a5cfba_2 - __osx >=11.0 - - llvm-openmp >=19.1.7 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - metis >=5.1.0,<5.1.1.0a0 - - libscotch >=7.0.11,<7.0.12.0a0 - - libscotch * int64_* constrains: - - libopenblas * *openmp* - license: CECILL-C - size: 2680960 - timestamp: 1771839461606 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.conda - sha256: 297dd4dc0c0084e9fb87349962e47068d205e8b7f935bf81a44008f5f7924191 - md5: 2f93d2461c2ce57af8f1a06ef98b6146 + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libwebp-base >=1.6.0,<2.0a0 + size: 294974 + timestamp: 1752159906788 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxcb-1.17.0-hdb1d25a_0.conda + sha256: bd3816218924b1e43b275863e21a3e13a5db4a6da74cca8e60bc3c213eb62f71 + md5: af523aae2eca6dfa1c8eec693f5b9a79 depends: - - mumps-include ==5.8.2 h2ca763e_2 - __osx >=11.0 - - libgfortran - - libgfortran5 >=14.3.0 - - llvm-openmp >=19.1.7 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - metis >=5.1.0,<5.1.1.0a0 - - libscotch >=7.0.11,<7.0.12.0a0 - - libscotch * int64_* - constrains: - - libopenblas * *openmp* - license: CECILL-C - size: 2710681 - timestamp: 1771833866358 -- conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.conda - sha256: cbb4eb8fdd61ce372f036ea2b45608929bcbdc38ec9abc8102d64ba297bfc862 - md5: 4f9dd2756fd47f390197cdc0a984e08e + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + run_exports: + weak: + - libxcb >=1.17.0,<2.0a0 + size: 323658 + timestamp: 1727278733917 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.3-h5ef1a60_0.conda + sha256: ff75b84cdb9e8d123db2fa694a8ac2c2059516b6cbc98ac21fb68e235d0fd354 + md5: 19edaa53885fc8205614b03da2482282 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - llvm-openmp >=21.1.8 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 constrains: - - libopenblas * *openmp* - license: CECILL-C - size: 6225640 - timestamp: 1771833767934 -- 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 - size: 15851 - timestamp: 1749895533014 -- conda: https://conda.anaconda.org/conda-forge/linux-64/muparser-2.3.5-h5888daf_0.conda - sha256: 320dfc59a94cb9e3635bda71b9e62278b34aa2fdaea0caa6832ddb9b37e9ccd5 - md5: ab3e3db511033340e75e7002e80ce8c0 + - libxml2 2.15.3 + license: MIT + license_family: MIT + run_exports: {} + size: 466360 + timestamp: 1776377102261 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.9-h4a9ca0c_0.conda + sha256: 7ab9b3033f29ac262cd3c846887e5b512f5916c3074d10f298627d67b7a32334 + md5: 763c7e76295bf142145d5821f251b884 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 license: MIT license_family: MIT - size: 203174 - timestamp: 1747116762269 -- conda: https://conda.anaconda.org/conda-forge/osx-64/muparser-2.3.5-hb996559_0.conda - sha256: e5de9f34d6b99e2888ed03fc2e9385a04186d9dcd750a94526cc93f130861f11 - md5: d3aa5571d7b5182dcfbf8beb92c434a1 + run_exports: + weak: + - libxml2 >=2.13.9,<2.14.0a0 + size: 581379 + timestamp: 1761766437117 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.3-h5654f7c_0.conda + sha256: 2fe1d8de0854342ae9cabe408b476935f82f5636e153b3b497456264dc8ff3a1 + md5: 8e037d73747d6fe34e12d7bcac10cf21 depends: - - __osx >=10.13 - - libcxx >=18 - - llvm-openmp >=18.1.8 + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h5ef1a60_0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 160748 - timestamp: 1747116869077 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/muparser-2.3.5-h11e0b38_0.conda - sha256: 5533e7e3d4b0819b4426f8a1b3f680e6b9c922cdae2b7fabcd0e8c59df22772a - md5: 1cdbe54881794ee356d3cba7e3ed6668 + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 41102 + timestamp: 1776377119495 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-devel-2.15.3-h5654f7c_0.conda + sha256: 541980a15bf0acb7794754f1cde9cfeb74ca27c139d065c1c6541c73b4e07105 + md5: 469f4af737803bf7deda25d41c557593 depends: - __osx >=11.0 - - libcxx >=18 - - llvm-openmp >=18.1.8 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2 2.15.3 h5654f7c_0 + - libxml2-16 2.15.3 h5ef1a60_0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 154087 - timestamp: 1747117056226 -- conda: https://conda.anaconda.org/conda-forge/win-64/muparser-2.3.5-he0c23c2_0.conda - sha256: 57f78d8cd9a282d03cd7a7ffb1f42d570e1bbfb42d606e99de5c16e089067185 - md5: 013aabb169d59009bdf7d70319360e9b + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 80217 + timestamp: 1776377134719 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.43-hb2570ba_1.conda + sha256: 7a4d0676ab1407fecb24d4ada7fe31a98c8889f61f04612ea533599c22b8c472 + md5: 90f7ed12bb3c164c758131b3d3c2ab0c depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - __osx >=11.0 + - libxml2 + - libxml2-16 >=2.14.6 license: MIT license_family: MIT - size: 148557 - timestamp: 1747117340968 -- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 - md5: e9c622e0d00fa24a6292279af3ab6d06 + run_exports: + weak: + - libxslt >=1.1.43,<2.0a0 + size: 220345 + timestamp: 1757964000982 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzip-1.11.2-h1336266_0.conda + sha256: 507599a77c1ce823c2d3acaefaae4ead0686f183f3980467a4c4b8ba209eff40 + md5: 7177414f275db66735a17d316b0a81d6 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libzip >=1.11.2,<2.0a0 + size: 125507 + timestamp: 1730442214849 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda + sha256: 361415a698514b19a852f5d1123c5da746d4642139904156ddfca7c922d23a05 + md5: bc5a5721b6439f2f62a84f2548136082 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 47759 + timestamp: 1774072956767 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-22.1.8-hc7d1edf_0.conda + sha256: ccbaad6bbc88f135ab849bc36af5fa6eda36a9ed18ce6f58e3dde3d11784c156 + md5: a9c118f6343fb6301b6f3b4e94c4c562 + depends: + - __osx >=11.0 + constrains: + - intel-openmp <0.0a0 + - openmp 22.1.8|22.1.8.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + strong: + - llvm-openmp >=22.1.8 + size: 286313 + timestamp: 1781736516782 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py313h28ec6f0_0.conda + sha256: aea30c997fcff9fe0104267f2c3ea15f2bd112ce3637d90b2ed18e6bd3cd53f5 + md5: 1091294aaa605243551cdb928c487818 depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 11766 - timestamp: 1745776666688 -- conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-4.0.1-pyhd8ed1ab_0.conda - sha256: f035d0ea623f63247f0f944eb080eaa2a45fb5b7fda8947f4ac94d381ef3bf33 - md5: b528795158847039003033ee0db20e9b + - __osx >=11.0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1365331 + timestamp: 1779195767796 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.1-py314h264e108_0.conda + sha256: f2c95fdbfa2cb7fb3d97987d2b06617fb57a346a6d93030516b0bce5c420cfb7 + md5: 1f41be2aa1490c4da46da7c2e0de83d6 depends: - - docutils >=0.19,<0.22 - - jinja2 - - markdown-it-py >=3.0.0,<4.0.0 - - mdit-py-plugins >=0.4.1,<1 - - python >=3.10 - - pyyaml - - sphinx >=7,<9 - license: MIT - license_family: MIT - size: 73074 - timestamp: 1739381945342 -- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.22.1-pyhcf101f3_0.conda - sha256: dd2744a501f2db0aef084566bf3d0c2b312661dc91beb5a4cc97d27cdda0a959 - md5: 9450fb40fb1e147d0bcbdf07cd02ca96 + - __osx >=11.0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1376491 + timestamp: 1779195548681 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py312h2b25a0d_1.conda + sha256: fb2c6c6d0078cc7097f71ca4117adfb013163dd7845d3a7b90c80cf8c324b2e3 + md5: 43132aaf61e6d8a59624b2da26aec518 depends: - - python >=3.10 - python - license: MIT - license_family: MIT - size: 285532 - timestamp: 1780672242196 -- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 - md5: e941e85e273121222580723010bd4fa2 + - 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 + run_exports: {} + size: 125772 + timestamp: 1765026411222 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py313hd065f0a_1.conda + sha256: 71dfac3971dcd134c8a31b3f670d00b8d551e275fb386568ec11ab68d95fe540 + md5: ece4dab2afb98b065b69ce769a5c6c42 depends: - - python >=3.9 - python - license: MIT - license_family: MIT - size: 39262 - timestamp: 1770905275632 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - sha256: eceb424236fbbb9b337a857fe5448307b57a2a3fb2db389ae37e7a8b8cdca2ab - md5: cf01a81d7960ad9c829bf2e794fcee9a - depends: - - jupyter_client >=7.0.0 - - jupyter_core >=5.4 - - nbformat >=5.2.0 - - python >=3.10 - - traitlets >=5.13 + - lz4-c + - python 3.13.* *_cp313 + - __osx >=11.0 + - lz4-c >=1.10.0,<1.11.0a0 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 29138 - timestamp: 1780661039538 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.1-pyhcf101f3_0.conda - sha256: ab2ac79c5892c5434d50b3542d96645bdaa06d025b6e03734be29200de248ac2 - md5: 2bce0d047658a91b99441390b9b27045 + run_exports: {} + size: 126950 + timestamp: 1765026420116 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py314h24f3bdd_1.conda + sha256: fb105138b325e81f8dabc859cc47e9e29295b68cd6fd4dd333ed30e527e7c08b + md5: aea17e1b366b814eff15fc3c8c4c1e3c depends: - - beautifulsoup4 - - bleach-with-css !=5.0.0 - - defusedxml - - importlib-metadata >=3.6 - - jinja2 >=3.0 - - jupyter_core >=4.7 - - jupyterlab_pygments - - markupsafe >=2.0 - - mistune >=2.0.3,<4 - - nbclient >=0.5.0 - - nbformat >=5.7 - - packaging - - pandocfilters >=1.4.1 - - pygments >=2.4.1 - - python >=3.10 - - traitlets >=5.1 - python + - lz4-c + - __osx >=11.0 + - python 3.14.* *_cp314 + - lz4-c >=1.10.0,<1.11.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 127471 + timestamp: 1765026415723 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + sha256: 94d3e2a485dab8bdfdd4837880bde3dd0d701e2b97d6134b8806b7c8e69c8652 + md5: 01511afc6cc1909c5303cf31be17b44f + depends: + - __osx >=11.0 + - libcxx >=18 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - lz4-c >=1.10.0,<1.11.0a0 + size: 148824 + timestamp: 1733741047892 +- 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 + run_exports: + weak: + - lzo >=2.10,<3.0a0 + size: 152755 + timestamp: 1753889267953 +- 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: - - pandoc >=2.9.2,<4.0.0 - - nbconvert ==7.17.1 *_0 + - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - size: 202229 - timestamp: 1775615493260 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 - md5: bbe1963f1e47f594070ffe87cdf612ea + run_exports: {} + size: 25564 + timestamp: 1772445846939 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py313h65a2061_1.conda + sha256: f62892a42948c61aa0a13d9a36ff811651f0a1102331223594aecf3cc042bece + md5: 0195d558b0c0ab8f4af3089af83067c5 + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 26009 + timestamp: 1772445537524 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda + sha256: 411153d14ee0d98be6e3751cf5cc0502db17bce2deebebb8779e33d29d0e525f + md5: d33c0a15882b70255abdd54711b06a45 + depends: + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 27256 + timestamp: 1772445397216 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.10.7-py312h1f38498_0.conda + sha256: 676e6eaf85b3482e39db1033e87c3c00b7dff32186b0574bf4aaf394554750f5 + md5: e31c510b04a9dd1071b1ee0a9c977f60 + depends: + - matplotlib-base >=3.10.7,<3.10.8.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 17533 + timestamp: 1760561080633 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py313h39782a4_0.conda + sha256: 1dd9fe8c0fa817a6e38f572627fbdfdcecbf36e898eddb063ad4670ea2a8c624 + md5: 3a70aa61eb5027d798f5625802816e17 + depends: + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 14918 + timestamp: 1781627038531 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-3.11.0-py314he55896b_0.conda + sha256: ccea182b94c98ebdd96cbe342e1363f0f70a6473435bd1396a90c34ff5989bc5 + md5: d61cd6ed508704b12c3a50d5f5fa7f52 + depends: + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 14902 + timestamp: 1781626905458 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.7-py312h605b88b_0.conda + sha256: 83e4f0e36cdeb610568f074afc12440cb95b84645f0f63a8f45dd51410fb98c8 + md5: f4c14d3f89a1a892cab55771c798c6b2 + depends: + - __osx >=11.0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=19 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - numpy >=1.23 + - numpy >=1.23,<3 + - 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 + run_exports: {} + size: 8007810 + timestamp: 1760561036534 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py313h113b65d_0.conda + sha256: 4f69ad17d255103981f0d2e35d7a75892c26c10aceb9754a1a2b024efb76ab7f + md5: f1d55a18c56bdffeb3978c663717f1bf + depends: + - __osx >=11.0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=19 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.13,<3.14.0a0 + - python-dateutil >=2.7 + - python_abi 3.13.* *_cp313 + - qhull >=2020.2,<2020.3.0a0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8793215 + timestamp: 1781627006171 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.11.0-py314ha5eae4c_0.conda + sha256: 725c41bcca60f81937ebafd438208f3041042ee79feea629d0800ec382c5287d + md5: be491edfb88200e074cee944c46a4296 + depends: + - __osx >=11.0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libcxx >=19 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8831714 + timestamp: 1781626884129 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/metis-5.1.0-h15f6cfe_1007.conda + sha256: f54ad3e5d47a0235ba2830848fee590faad550639336fe1e2413ab16fee7ac39 + md5: 7687ec5796288536947bf616179726d8 + depends: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - metis >=5.1.0,<5.1.1.0a0 + size: 3898314 + timestamp: 1728064659078 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.2.1-hdb7fadc_0.conda + sha256: 4b1d4e4b17d27bbec50b1ad144e000c3b077cc4e0ef487ef11011c52ef8c86ab + md5: fcd860469a8fa003e25d472b40b0ff81 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libcxx >=19 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Zlib + license_family: Other + run_exports: + weak: + - minizip >=4.2.1,<5.0a0 + size: 459816 + timestamp: 1778003052237 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.2-h6bc93b0_0.conda + sha256: af5eca85f7ffdd403275e916f1de40a7d4b48ae138f12479523d9500c6a073ba + md5: a47a14da2103c9c7a390f7c8bc8d7f9b + depends: + - __osx >=11.0 + - gmp >=6.3.0,<7.0a0 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - mpfr >=4.2.2,<5.0a0 + size: 348767 + timestamp: 1773414111071 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py312h766f71e_0.conda + sha256: 342a8d6976c198d741844d51268beaffd5dec56a2b688b9350dbf9f4fa1004f9 + md5: 86d034fc6116be109bbbbe9079ac73f8 depends: - - jsonschema >=2.6 - - jupyter_core >=4.12,!=5.0.* - - python >=3.9 - - python-fastjsonschema >=2.15 - - traitlets >=5.1 - license: BSD-3-Clause - license_family: BSD - size: 100945 - timestamp: 1733402844974 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 - md5: fc21868a1a5aacc937e7a18747acb8a5 + - __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 + run_exports: {} + size: 90998 + timestamp: 1782070951579 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py313h5c29297_0.conda + sha256: 12f2c785c34a465f399e7af89e6b88a86684bde704e25460789e83efc0d8fd87 + md5: b929e2af3d4059fedfb0a5da0007556f depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: X11 AND BSD-3-Clause - size: 918956 - timestamp: 1777422145199 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_0.conda - sha256: f5f7e006ff4271305ab4cc08eedd855c67a571793c3d18aff73f645f088a8cae - md5: 31b8740cf1b2588d4e61c81191004061 + - __osx >=11.0 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 91552 + timestamp: 1782070886759 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.2.1-py314h6cfcd04_0.conda + sha256: 09ea486f9248fdd987430a3519c31a0331e903edecc9740586a3e0abd590f840 + md5: 7f80c3267c4b89767d7bbdf36d69fe80 depends: - __osx >=11.0 - license: X11 AND BSD-3-Clause - size: 831711 - timestamp: 1777423052277 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 92074 + timestamp: 1782070774684 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.7.1-py312h43af8aa_0.conda + sha256: d7f2c4137271b158a452d02a5a3c4ceade8e8e75352fc90a4360f4a7eda9be9f + md5: 8094abe00f22955a9396d91c690f36e8 + 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 + run_exports: {} + size: 87852 + timestamp: 1771611147963 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.7.1-py313haf6918d_0.conda + sha256: 7766b348101dcb2cb0ff59c6e5245a295bfdc8355e62990d48c574e7d7474585 + md5: f958fcfdcf64155e1e33fb2d3bdb44e0 + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 87067 + timestamp: 1771611311391 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-include-5.8.2-h2ca763e_2.conda + sha256: 5c6d99646c575522a5756a3254b84f988d76de691138993440c9710fc379b495 + md5: 99073be867a14872be24fe21a23b18c0 + license: CECILL-C + run_exports: {} + size: 20731 + timestamp: 1771833866354 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mumps-seq-5.8.2-h49d0c1d_2.conda + sha256: 297dd4dc0c0084e9fb87349962e47068d205e8b7f935bf81a44008f5f7924191 + md5: 2f93d2461c2ce57af8f1a06ef98b6146 + depends: + - mumps-include ==5.8.2 h2ca763e_2 + - __osx >=11.0 + - libgfortran + - libgfortran5 >=14.3.0 + - llvm-openmp >=19.1.7 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - metis >=5.1.0,<5.1.1.0a0 + - libscotch >=7.0.11,<7.0.12.0a0 + - libscotch * int64_* + constrains: + - libopenblas * *openmp* + license: CECILL-C + run_exports: + weak: + - mumps-seq >=5.8.2,<5.8.3.0a0 + size: 2710681 + timestamp: 1771833866358 +- 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 + run_exports: + weak: + - muparser >=2.3.5,<2.4.0a0 + size: 154087 + timestamp: 1747117056226 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-h1d4f5a5_0.conda sha256: 4ea6c620b87bd1d42bb2ccc2c87cd2483fa2d7f9e905b14c223f11ff3f4c455d md5: 343d10ed5b44030a2f67193905aea159 depends: - __osx >=11.0 license: X11 AND BSD-3-Clause + run_exports: + weak: + - ncurses >=6.6,<7.0a0 size: 805509 timestamp: 1777423252320 -- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 - md5: 598fd7d4d0de2455fb74f56063969a97 - depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - size: 11543 - timestamp: 1733325673691 -- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda - sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 - md5: fcd832bfd4749e9b246112b6894f97fc +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py313hb28a5cb_100.conda + sha256: 46c9dc6cfaaad45a56d54e7b3cd77ccaf5ad4bed80dc1c66fc445fd86178396e + md5: 0f1eeb5bd53d65bb1d49121d681d40b4 depends: - - python >=3.10 - - python - license: BSD-2-Clause - license_family: BSD - size: 15903 - timestamp: 1770973502283 -- conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.3-nompi_py312hf6400b3_100.conda - sha256: a2694dad5a7772ea6b38366dc9e701821f373f4a96c0f1109344a46e005043ad - md5: ed7ab4073fe4c48d0f9d3a80b6a17f74 + - __osx >=11.0 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 1008959 + timestamp: 1760541796792 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py314ha229517_100.conda + sha256: feaf70a8a04a77898b6c00f494d2ea1a1a1a5f18b09cd337890ed0c023eb3aa9 + md5: c2e349b932ebd08123faef6e9ce2f2d7 depends: - - __glibc >=2.17,<3.0.a0 + - __osx >=11.0 - certifi - cftime - hdf5 >=1.14.6,<1.14.7.0a0 - - libgcc >=14 - libnetcdf >=4.9.3,<4.9.4.0a0 - libzlib >=1.3.1,<2.0a0 - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 1109790 - timestamp: 1760540565753 -- conda: https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.7.4-nompi_py312h25f8dc5_102.conda - sha256: eecbf3489560510d2c7d8d73ae812b1d0d1241f667e250afdd3faad244fb3a52 - md5: 99217b58c029977345b72bb36a1f6596 + run_exports: {} + size: 1007976 + timestamp: 1760542005639 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.4-nompi_py312h5d59a02_102.conda + sha256: be6a5b9dc7c3dd790a0bcc33fbbc9888e5fa8e64c8429d910a118f5880d0b71a + md5: d5d848de57b716a036e71ab3fcca7b32 depends: - python - certifi @@ -24195,7746 +35935,9706 @@ packages: - numpy - hdf5 - libnetcdf - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - - numpy >=1.23,<3 + - __osx >=11.0 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 - hdf5 >=1.14.6,<1.14.7.0a0 - - python_abi 3.12.* *_cp312 + - numpy >=1.23,<3 license: MIT license_family: MIT - size: 1151979 - timestamp: 1768552448951 -- conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.3-nompi_py312hab8b850_100.conda - sha256: 2dc8395f680496a6a172b539bfe3301823b6c901f3eb5df3c87c17f5e67d2f92 - md5: 4849016a03b3be1eecb407197b063723 + run_exports: {} + size: 1053448 + timestamp: 1768552836346 +- 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 + run_exports: {} + size: 137595 + timestamp: 1768670878127 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py313h7d16b84_0.conda + sha256: adcdce0d5ca54fb7ca7433821b41a582d9f607391c08e84f636ed38a91794f05 + md5: 6a2c4584a1a126a1ecc459002bab966f depends: - - __osx >=10.13 - - certifi - - cftime - - hdf5 >=1.14.6,<1.14.7.0a0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libzlib >=1.3.1,<2.0a0 + - __osx >=11.0 + - deprecated + - libcxx >=19 + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - typing_extensions + license: MIT + license_family: MIT + run_exports: {} + size: 662641 + timestamp: 1764782646099 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py314ha3d490a_0.conda + sha256: 13169b72b28aa76ff5ec6d05220fd122b398470c9637b32301a039ec719d4806 + md5: 0aaf2782f8b7e4ca443b0d83c2a1ffdf + depends: + - __osx >=11.0 + - deprecated + - libcxx >=19 + - msgpack-python - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - typing_extensions + license: MIT + license_family: MIT + run_exports: {} + size: 668653 + timestamp: 1764782949708 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py312hb55a559_2.conda + sha256: 7d50d51e9eea7830f17e95f9b079f9f374079d616d26bc1b979137444895a6dc + md5: 0b40dc79b27e81b07eff3251c3c39f13 + depends: + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - numpy >=1.23.0 - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 1018544 - timestamp: 1760540965041 -- conda: https://conda.anaconda.org/conda-forge/osx-64/netcdf4-1.7.4-nompi_py312h6ec3a75_102.conda - sha256: daae3d13c2695cf5294c297f336d61d128000ba2b5b269097ad16203a9683425 - md5: 155692cb0f353637a9be03e3d185bfa5 + run_exports: {} + size: 198426 + timestamp: 1778499484750 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py313h23850d5_2.conda + sha256: 190f2646d94118734cfee5d8277ffe1d35bc2185d9cd3ed69f54cfff7af259d2 + md5: efb8b26e08133ed989a11fd85b878c1c + depends: + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 198785 + timestamp: 1778499403809 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py314hac0e451_2.conda + sha256: f4781bf156d059602f020bd1fb60a62d414d0f2859427079489aaa30e5839714 + md5: cf86b27040c4625593d865bc504cc7f8 + depends: + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.23,<3 + - numpy >=1.23.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 202653 + timestamp: 1778499288907 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda + sha256: c8841d6d6f61fd70ca80682efbab6bdb8606dc77c68d8acabfbd7c222054f518 + md5: d83fc83d589e2625a3451c9a7e21047c + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=16 + - liblapack >=3.9.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.26.4,<2.0a0 + size: 6073136 + timestamp: 1707226249608 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.4.2-py314hae46ccb_1.conda + sha256: 43b5ed0ead36e5133ee8462916d23284f0bce0e5f266fa4bd31a020a6cc22f14 + md5: 0f0ddf0575b98d91cda9e3ca9eaeb9a2 + depends: + - python + - __osx >=11.0 + - python 3.14.* *_cp314 + - libcxx >=19 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.23,<3 + size: 6992958 + timestamp: 1770098398327 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.4.6-py314hb79c6fa_0.conda + sha256: 538064b78042cd2751664f00c6255ecce81b38e9fa6dd9c1863327e6c759ed4a + md5: e64e47cb372d92e3425816a2918f4605 + depends: + - python + - __osx >=11.0 + - libcxx >=19 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.23,<3 + size: 6995531 + timestamp: 1779169217034 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.0-py313hce9b930_0.conda + sha256: 9192f87dfc1d57249ed8d7367353de6ab6caa8525d6fd6efa03d83758f46adad + md5: cb5c510ee24c7966001e122abe8d85b8 + depends: + - python + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.25,<3 + size: 7055163 + timestamp: 1782112549179 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openjdk-25.0.2-h258754b_0.conda + sha256: f6f06243c1a35b6590f06be386bd5cefc5b1773b985a61b7917b93dab4cf18ec + md5: a4024e03865a7411c1028eac83d1956c depends: - - python - - certifi - - cftime - - numpy - - hdf5 - - libnetcdf - - __osx >=10.13 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 + - __osx >=11.0 - libzlib >=1.3.1,<2.0a0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - license: MIT - license_family: MIT - size: 1073738 - timestamp: 1768552459359 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.3-nompi_py312h947358d_100.conda - sha256: 0af13b708a7f540fe2eaf5155ca254530112d64eb8dd93c6b74846b30c37ee14 - md5: 4d0a4809609db6402315d591d0fdc90a + license: GPL-2.0-or-later WITH Classpath-exception-2.0 + license_family: GPL + run_exports: {} + size: 199165105 + timestamp: 1771443790144 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openjpeg-2.5.4-hd9e9057_0.conda + sha256: 60aca8b9f94d06b852b296c276b3cf0efba5a6eb9f25feb8708570d3a74f00e4 + md5: 4b5d3a91320976eec71678fad1e3569b depends: - __osx >=11.0 - - certifi - - cftime - - hdf5 >=1.14.6,<1.14.7.0a0 - - libnetcdf >=4.9.3,<4.9.4.0a0 + - libcxx >=19 + - libpng >=1.6.55,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 - libzlib >=1.3.1,<2.0a0 - - numpy >=1.23,<3 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - openjpeg >=2.5.4,<3.0a0 + size: 319697 + timestamp: 1772625397692 +- 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 - size: 1004901 - timestamp: 1760541856800 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/netcdf4-1.7.4-nompi_py312h5d59a02_102.conda - sha256: be6a5b9dc7c3dd790a0bcc33fbbc9888e5fa8e64c8429d910a118f5880d0b71a - md5: d5d848de57b716a036e71ab3fcca7b32 + run_exports: {} + size: 477997 + timestamp: 1769122700108 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openpyxl-3.1.5-py313he4f8f71_3.conda + sha256: bf4e6418868902144039737846c2bb18462359ffcab6b7d91f40e63b40afe5bb + md5: efbd4d9fbc03317972be69883bbce470 depends: - - python - - certifi - - cftime - - numpy - - hdf5 - - libnetcdf - - __osx >=11.0 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libzlib >=1.3.1,<2.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - numpy >=1.23,<3 + - et_xmlfile + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 1053448 - timestamp: 1768552836346 -- conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py312h79d12a2_100.conda - sha256: 880d34f210aeddc023ed17014b0b4ab032a74e1018bf84965185b9e5a9e84368 - md5: b599bb301b740b9bb1089190c1b1a912 + run_exports: {} + size: 487057 + timestamp: 1769122365591 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openpyxl-3.1.5-py314h9748aab_3.conda + sha256: dffe5a0b209bd09bd7bfacd52e79a4dee00bbd6c233a41b7adf38ca8583f455b + md5: bfa728b57e0a843a812b001cd98fca52 depends: - - certifi - - cftime - - hdf5 >=1.14.6,<1.14.7.0a0 - - libnetcdf >=4.9.3,<4.9.4.0a0 - - libzlib >=1.3.1,<2.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 + - et_xmlfile + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 977728 - timestamp: 1760541025877 -- conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.4-nompi_py312h8fa77f8_102.conda - sha256: be4aaa3c8e18cbf68ac8214716444aebe86e37370dd1c72da881eed86b6b4755 - md5: ee21ff61b382ba17e980d83bf2e3d20e + run_exports: {} + size: 490636 + timestamp: 1769122427593 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda + sha256: b3e3ca895c336d4eb91c5d2f244a312bdb59a0de8cfa0cc4c179225ab2f6bbfb + md5: 8187a86242741725bfa74785fe812979 depends: - - python - - certifi - - cftime - - numpy - - hdf5 - - libnetcdf - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - hdf5 >=1.14.6,<1.14.7.0a0 + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 3102584 + timestamp: 1781069820667 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.1-h4fd0076_0.conda + sha256: f0a31625a647cb8d55a7016950c11f8fabc394df5054d630e9c9b526bf573210 + md5: b5dea50c77ab3cc18df48bdc9994ac44 + depends: + - __osx >=11.0 + - libcxx >=19 + - libprotobuf >=6.31.1,<6.31.2.0a0 - libzlib >=1.3.1,<2.0a0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - - libnetcdf >=4.9.3,<4.9.4.0a0 - license: MIT - license_family: MIT - size: 1032408 - timestamp: 1768552481606 -- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 - md5: a2c1eeadae7a309daed9d62c96012a2b + - 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 + run_exports: + weak: + - orc >=2.2.1,<2.2.2.0a0 + size: 487298 + timestamp: 1759424875005 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda + sha256: 9de7956c90c513e5e3ae4a637bf67ea1a09235151bad6fa266a3c24311d7fe1c + md5: 1c52effb297c8287cc79c383428e43c4 depends: - - python >=3.11 - - python + - __osx >=11.0 + - libcxx >=19 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - orc >=2.2.2,<2.2.3.0a0 + size: 487454 + timestamp: 1768248123539 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py313h7d16b84_2.conda + sha256: 5bc16e74bed7abbdbcedd76e72549cd4f9fc513b95261934c8173be6b8b1022c + md5: 03771a1c710d15974372ae791811bcde + depends: + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.22.4 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.13.* *_cp313 + - pytz >=2020.1 constrains: - - numpy >=1.25 - - scipy >=1.11.2 - - matplotlib-base >=3.8 - - pandas >=2.0 + - pytables >=3.8.0 + - gcsfs >=2022.11.0 + - blosc >=1.21.3 + - pandas-gbq >=0.19.0 + - python-calamine >=0.1.7 + - psycopg2 >=2.9.6 + - s3fs >=2022.11.0 + - zstandard >=0.19.0 + - numba >=0.56.4 + - tabulate >=0.9.0 + - pyarrow >=10.0.1 + - openpyxl >=3.1.0 + - pyxlsb >=1.0.10 + - bottleneck >=1.3.6 + - matplotlib >=3.6.3 + - pyreadstat >=1.2.0 + - fastparquet >=2022.12.0 + - fsspec >=2022.11.0 + - lxml >=4.9.2 + - xlrd >=2.0.1 + - qtpy >=2.3.0 + - sqlalchemy >=2.0.0 + - xlsxwriter >=3.0.5 + - html5lib >=1.1 + - scipy >=1.10.0 + - pyqt5 >=5.15.9 + - tzdata >=2022.7 + - beautifulsoup4 >=4.11.2 + - xarray >=2022.12.0 + - numexpr >=2.8.4 + - odfpy >=1.4.1 license: BSD-3-Clause license_family: BSD - size: 1587439 - timestamp: 1765215107045 -- 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 - size: 136216 - timestamp: 1758194284857 -- conda: https://conda.anaconda.org/conda-forge/osx-64/nlohmann_json-3.12.0-h06076ce_1.conda - sha256: 8e1b8ac88e07da2910c72466a94d1fc77aa13c722f8ddbc7ae3beb7c19b41fc7 - md5: 97d7a1cda5546cb0bbdefa3777cb9897 - constrains: - - nlohmann_json-abi ==3.12.0 - license: MIT - license_family: MIT - size: 137081 - timestamp: 1768670842725 -- 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 - size: 137595 - timestamp: 1768670878127 -- conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda - sha256: 4fa40e3e13fc6ea0a93f67dfc76c96190afd7ea4ffc1bac2612d954b42cdc3ee - md5: eb52d14a901e23c39e9e7b4a1a5c015f + run_exports: {} + size: 13898998 + timestamp: 1764615741354 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py314ha3d490a_2.conda + sha256: f71fc63904d80ef7bf4e882b420426e167e02cf68b9bd71ea6beb0a9d0c37430 + md5: 6e2f31aca92c525a884c509738aca93a depends: - - python >=3.10 - - setuptools + - __osx >=11.0 + - libcxx >=19 + - numpy >=1.22.4 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python-dateutil >=2.8.2 + - python-tzdata >=2022.7 + - python_abi 3.14.* *_cp314 + - pytz >=2020.1 + constrains: + - odfpy >=1.4.1 + - zstandard >=0.19.0 + - blosc >=1.21.3 + - html5lib >=1.1 + - numexpr >=2.8.4 + - gcsfs >=2022.11.0 + - sqlalchemy >=2.0.0 + - numba >=0.56.4 + - pyqt5 >=5.15.9 + - fastparquet >=2022.12.0 + - pandas-gbq >=0.19.0 + - pytables >=3.8.0 + - qtpy >=2.3.0 + - fsspec >=2022.11.0 + - s3fs >=2022.11.0 + - pyreadstat >=1.2.0 + - pyxlsb >=1.0.10 + - pyarrow >=10.0.1 + - xlrd >=2.0.1 + - xarray >=2022.12.0 + - beautifulsoup4 >=4.11.2 + - tabulate >=0.9.0 + - psycopg2 >=2.9.6 + - bottleneck >=1.3.6 + - matplotlib >=3.6.3 + - python-calamine >=0.1.7 + - lxml >=4.9.2 + - openpyxl >=3.1.0 + - scipy >=1.10.0 + - xlsxwriter >=3.0.5 + - tzdata >=2022.7 license: BSD-3-Clause license_family: BSD - size: 40866 - timestamp: 1766261270149 -- conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - sha256: d38542a151a90417065c1a234866f97fd1ea82a81de75ecb725955ab78f88b4b - md5: 9a66894dfd07c4510beb6b3f9672ccc0 + run_exports: {} + size: 14130201 + timestamp: 1764615862386 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-3.0.3-py312h6510ced_0.conda + sha256: 7202013525593f57a452dac7e5fee9f26478822be3ba5c893643517b8627406d + md5: 4581a32b837950217327fcab93214313 + depends: + - python + - numpy >=1.26.0 + - python-dateutil >=2.8.2 + - __osx >=11.0 + - python 3.12.* *_cpython + - libcxx >=19 + - python_abi 3.12.* *_cp312 + - numpy >=1.23,<3 constrains: - - mkl <0.a0 + - adbc-driver-postgresql >=1.2.0 + - adbc-driver-sqlite >=1.2.0 + - beautifulsoup4 >=4.12.3 + - blosc >=1.21.3 + - bottleneck >=1.4.2 + - fastparquet >=2024.11.0 + - fsspec >=2024.10.0 + - gcsfs >=2024.10.0 + - html5lib >=1.1 + - hypothesis >=6.116.0 + - jinja2 >=3.1.5 + - lxml >=5.3.0 + - matplotlib >=3.9.3 + - numba >=0.60.0 + - numexpr >=2.10.2 + - odfpy >=1.4.1 + - openpyxl >=3.1.5 + - psycopg2 >=2.9.10 + - pyarrow >=13.0.0 + - pyiceberg >=0.8.1 + - pymysql >=1.1.1 + - pyqt5 >=5.15.9 + - pyreadstat >=1.2.8 + - pytables >=3.10.1 + - pytest >=8.3.4 + - pytest-xdist >=3.6.1 + - python-calamine >=0.3.0 + - pytz >=2024.2 + - pyxlsb >=1.0.10 + - qtpy >=2.4.2 + - scipy >=1.14.1 + - s3fs >=2024.10.0 + - sqlalchemy >=2.0.36 + - tabulate >=0.9.0 + - xarray >=2024.10.0 + - xlrd >=2.0.1 + - xlsxwriter >=3.2.0 + - zstandard >=0.23.0 license: BSD-3-Clause license_family: BSD - size: 3843 - timestamp: 1582593857545 -- conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.5.7-pyhcf101f3_1.conda - sha256: f4974b9984376f75fe8cabab06b25e23addaa7d962e8a713da3f4a213ded8c7b - md5: 92b46e8c96039d3d7c4958f426bca753 + run_exports: {} + size: 13926263 + timestamp: 1778602825408 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandoc-3.10-hce30654_0.conda + sha256: 113acb26aa94268bff2f2b920828cdb34994d1372488264a4570aec98310e7b8 + md5: 6904ced5f85c4e1d96bc95ec423d38c1 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 27067271 + timestamp: 1780595751481 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-h875632e_0.conda + sha256: 705484ad60adee86cab1aad3d2d8def03a699ece438c864e8ac995f6f66401a6 + md5: 7d57f8b4b7acfc75c777bc231f0d31be depends: - - importlib_resources >=5.0 - - jupyter_server >=2.4.0,<3 - - jupyterlab >=4.5.8,<4.6 - - jupyterlab_server >=2.28.0,<3 - - notebook-shim >=0.2,<0.3 - - python >=3.10 - - tornado >=6.2.0 - - python + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.10,<2.0a0 + - harfbuzz >=11.0.1 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libglib >=2.84.2,<3.0a0 + - libpng >=1.6.49,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 426931 + timestamp: 1751292636271 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda + sha256: b57c59cf5abb06d407b3a79017b990ca5bfb10c15a10c62fc29e113f2b12d9a9 + md5: 4b433508ebb295c05dd3d03daf27f7bb + depends: + - __osx >=11.0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 425743 + timestamp: 1774282709773 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.45-ha881caa_0.conda + sha256: e9ecb706b58b5a2047c077b3a1470e8554f3aad02e9c3c00cfa35d537420fea3 + md5: a52385b93558d8e6bbaeec5d61a21cd7 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 10118664 - timestamp: 1780599271871 -- conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda - sha256: 7b920e46b9f7a2d2aa6434222e5c8d739021dbc5cc75f32d124a8191d86f9056 - md5: e7f89ea5f7ea9401642758ff50a2d9c1 + run_exports: + weak: + - pcre2 >=10.45,<10.46.0a0 + size: 837826 + timestamp: 1745955207242 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda + sha256: 5e2e443f796f2fd92adf7978286a525fb768c34e12b1ee9ded4000a41b2894ba + md5: 9b4190c4055435ca3502070186eba53a depends: - - jupyter_server >=1.8,<3 - - python >=3.9 + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 16817 - timestamp: 1733408419340 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numcodecs-0.16.5-py312hf79963d_0.conda - sha256: ae1ec07448a10cdfcaf5df4a818291b0f4a99eb398e02ea5d7fc5d3c76be108f - md5: 86a969eeb489119374ec1d2e863777e6 + run_exports: + weak: + - pcre2 >=10.47,<10.48.0a0 + size: 850231 + timestamp: 1763655726735 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py312h4e908a4_0.conda + sha256: f7ee5d45bf16184d2b53f0d35c98c06e4e82e21688ce93e52b55c02ec7153bf3 + md5: 0634560e556adb3e7924668e49ad53fc depends: - - __glibc >=2.17,<3.0.a0 - - deprecated - - libgcc >=14 - - libstdcxx >=14 - - msgpack-python - - numpy >=1.23,<3 - - numpy >=1.24 - - python >=3.12,<3.13.0a0 + - 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 - - typing_extensions - license: MIT - license_family: MIT - size: 813229 - timestamp: 1764782491676 -- conda: https://conda.anaconda.org/conda-forge/osx-64/numcodecs-0.16.5-py312h86abcb1_0.conda - sha256: dacadc1a0fe597ff94eea6b659ed0597e88f6a15c489a5562f0055bd7ef41c4e - md5: cb2f65f89f8194ff35e16cfe87dd1d62 + - openjpeg >=2.5.4,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + license: HPND + run_exports: {} + size: 965082 + timestamp: 1775060469004 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py313h45e5a15_0.conda + sha256: 90333643a7868b10724999633bb393d005bc5f539d05666f80c41fb67e5f0f3f + md5: 6186601fd72a394a6f7c7b7096f6a063 depends: - - __osx >=10.13 - - deprecated - - libcxx >=19 - - msgpack-python - - numpy >=1.23,<3 - - numpy >=1.24 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing_extensions - license: MIT - license_family: MIT - size: 753563 - timestamp: 1764782733189 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numcodecs-0.16.5-py312h5978115_0.conda - sha256: 6bd51c8f1a194289f741dd7112f3ad071856443f707926233a1323347df149c0 - md5: 1de2e6a0fda23e8fb7e31c87b3a422a8 + - python + - python 3.13.* *_cp313 + - __osx >=11.0 + - openjpeg >=2.5.4,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libwebp-base >=1.6.0,<2.0a0 + - lcms2 >=2.18,<3.0a0 + - tk >=8.6.13,<8.7.0a0 + - python_abi 3.13.* *_cp313 + - zlib-ng >=2.3.3,<2.4.0a0 + license: HPND + run_exports: {} + size: 977319 + timestamp: 1775060469004 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py314hab283cf_0.conda + sha256: 3d8a86c8cf69ea4bdfeaa3e89e7218bcdc1522e58c9c6298263bfede8ab48cee + md5: adf49537da0e0c34cf735e71fe579506 + depends: + - python + - __osx >=11.0 + - python 3.14.* *_cp314 + - tk >=8.6.13,<8.7.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - python_abi 3.14.* *_cp314 + - libtiff >=4.7.1,<4.8.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - lcms2 >=2.18,<3.0a0 + license: HPND + run_exports: {} + size: 1006294 + timestamp: 1775060469004 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda + sha256: 29c9b08a9b8b7810f9d4f159aecfd205fce051633169040005c0b7efad4bc718 + md5: 17c3d745db6ea72ae2fce17e7338547f depends: - __osx >=11.0 - - deprecated - libcxx >=19 - - msgpack-python - - numpy >=1.23,<3 - - numpy >=1.24 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - typing_extensions license: MIT license_family: MIT - size: 660694 - timestamp: 1764782989453 -- conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py312hc128f0a_0.conda - sha256: 313a53eeb96383718def99b09e6451d7f467d2fd90b07029cdc15fdfde321195 - md5: bfa28c1e6ffe1a740d75966af52be42f + run_exports: + weak: + - pixman >=0.46.4,<1.0a0 + size: 248045 + timestamp: 1754665282033 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.42.0-py310hb2fc7d1_0.conda + noarch: python + sha256: d8c2d6421a4fecf40a36b0bfdda888a8dfb1c7b67b470f144f8f4253b47e48d2 + md5: 691bbf4b0cbb87a6edda5b56cf8cce4c depends: - - deprecated - - msgpack-python - - numpy >=1.23,<3 - - numpy >=1.24 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing_extensions - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python + - libcxx >=19 + - __osx >=11.0 + - _python_abi3_support 1.* + - cpython >=3.10 + constrains: + - __osx >=11.0 license: MIT license_family: MIT - size: 515902 - timestamp: 1764782963670 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numexpr-2.14.1-py312h88efc94_102.conda - sha256: f46a6264647aa650d7481ca27aa5dc93c78bb1d7721f572ac326e79211264ee3 - md5: 98ecb65a9dd993774cc03f07a8b83231 + run_exports: {} + size: 37492321 + timestamp: 1782310291927 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.6.2-hdbeaa80_2.conda + sha256: 75e4bfa1a2d2b46b7aa11e2293abfe664f5775f21785fb7e3d41226489687501 + md5: e68d0d91e188ab134cb25675de82b479 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - nomkl - - numpy >=1.23,<3 - - numpy >=1.23.0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - __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 - size: 214944 - timestamp: 1778498659910 -- conda: https://conda.anaconda.org/conda-forge/osx-64/numexpr-2.14.1-py312h1a3b611_2.conda - sha256: d4bd108eca5444a3bec78fc7bcb3f3beb4e9ce53a9535115d5fb2b310ab78083 - md5: ce99b41d1fd2b6f29b57b45a43cf6dbe + run_exports: + weak: + - proj >=9.6.2,<9.7.0a0 + size: 2787374 + timestamp: 1754927844772 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.conda + sha256: 14484430a32a13cb9c03ebf3084a4ffb1feb417aa4c23907844fba219924058f + md5: 8f33a4a2b856de0e8f006c489beca62a depends: + - sqlite + - libtiff + - libcurl - __osx >=11.0 - libcxx >=19 - - numpy >=1.23,<3 - - numpy >=1.23.0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libsqlite >=3.51.2,<4.0a0 + - libcurl >=8.18.0,<9.0a0 + - libtiff >=4.7.1,<4.8.0a0 + constrains: + - proj4 ==999999999999 license: MIT license_family: MIT - size: 206966 - timestamp: 1778499381483 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numexpr-2.14.1-py312hb55a559_2.conda - sha256: 7d50d51e9eea7830f17e95f9b079f9f374079d616d26bc1b979137444895a6dc - md5: 0b40dc79b27e81b07eff3251c3c39f13 + run_exports: + weak: + - proj >=9.7.1,<9.8.0a0 + size: 3098262 + timestamp: 1770890778843 +- 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 - - libcxx >=19 - - numpy >=1.23,<3 - - numpy >=1.23.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - zlib license: MIT license_family: MIT - size: 198426 - timestamp: 1778499484750 -- conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda - sha256: e4e95a617c328f688f24a42eeedb27ab7a259fcde9cab95651235e27daa24118 - md5: ec5fb486545f4f928a86b2d2862418fd + run_exports: + weak: + - prometheus-cpp >=1.3.0,<1.4.0a0 + size: 173220 + timestamp: 1730769371051 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda + sha256: c98b285f5b33098a73fb9e69da6ec46592813ee6b5bcddc77fa7014515fd93ef + md5: 6c4420db8ea9288594164a8b5f8bcf6c depends: - - nomkl - - numpy >=1.23,<3 - - numpy >=1.23.0 + - __osx >=11.0 - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 205330 - timestamp: 1778498800383 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - sha256: fe3459c75cf84dcef6ef14efcc4adb0ade66038ddd27cadb894f34f4797687d8 - md5: d8285bea2a350f63fab23bf460221f3f + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 50356 + timestamp: 1780038316255 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py313h65a2061_0.conda + sha256: f6bc11459bcecbaf9036fb6c45bff046e09afdb50bb7c5caefcf4cf95f691b8c + md5: 1d9e183f80d6ca6355912233fb88f871 depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libgcc-ng >=12 - - liblapack >=3.9.0,<4.0a0 - - libstdcxx-ng >=12 + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 49583 + timestamp: 1780038405102 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.conda + sha256: b9eeaac17cae9fa0cd546b9eb4a29dd0672e36749b6b1dac15f14232d7fba4fd + md5: a772c3d86f4e74dabcae0817d2af73c5 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 + - 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-base <0a0 + - libprotobuf 6.31.1 license: BSD-3-Clause license_family: BSD - size: 7484186 - timestamp: 1707225809722 -- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-1.26.4-py312he3a82b2_0.conda - sha256: 6152b73fba3e227afa4952df8753128fc9669bbaf142ee8f9972bf9df3bf8856 - md5: 96c61a21c4276613748dba069554846b + run_exports: {} + size: 458272 + timestamp: 1760394386502 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py313he4076bf_2.conda + sha256: e7b269c4ee7ff414f700916bf31f5ade29671cf0a0e6d5f65c2ef2a849978c64 + md5: cc34b123ea742c7102de998af889a357 depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libcxx >=16 - - liblapack >=3.9.0,<4.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 constrains: - - numpy-base <0a0 + - libprotobuf 6.31.1 license: BSD-3-Clause license_family: BSD - size: 6990646 - timestamp: 1707226178262 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda - sha256: c8841d6d6f61fd70ca80682efbab6bdb8606dc77c68d8acabfbd7c222054f518 - md5: d83fc83d589e2625a3451c9a7e21047c + run_exports: {} + size: 466966 + timestamp: 1760394256563 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py314hc77ea51_2.conda + sha256: 22d043cd622f2db53aeec9a16fbb8b13794237e629d6d9db073c664c930d592d + md5: 86bed25422f2e8bb5b099806806df326 depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libcxx >=16 - - liblapack >=3.9.0,<4.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcxx >=19 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 constrains: - - numpy-base <0a0 + - libprotobuf 6.31.1 license: BSD-3-Clause license_family: BSD - size: 6073136 - timestamp: 1707226249608 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda - sha256: 73570817a5109d396b4ebbe5124a89525959269fd33fa33fd413700289fbe0ef - md5: f9ac74c3b07c396014434aca1e58d362 + run_exports: {} + size: 471093 + timestamp: 1760394536621 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hb3ab3e3_0.conda + sha256: 6d0e21c76436374635c074208cfeee62a94d3c37d0527ad67fd8a7615e546a05 + md5: fd856899666759403b3c16dcba2f56ff depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - python >=3.12,<3.13.0a0 + - python + - __osx >=11.0 + - python 3.12.* *_cpython - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - constrains: - - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - size: 6495445 - timestamp: 1707226412944 -- conda: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.3.1-pyhd8ed1ab_0.conda - sha256: dfa8222df90736fa13f8896f5a573a50273af8347542d412c3bd1230058e56a5 - md5: d4f3f31ee39db3efecb96c0728d4bdbf + run_exports: {} + size: 239031 + timestamp: 1769678393511 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py313h6688731_0.conda + sha256: 1d2a6039fb71d61134b1d6816202529f2f6286c83b59bc1491fd288f5c08046e + md5: ba2d89e51a855963c767648f44c03871 depends: - - blinker - - cryptography - - pyjwt >=1.0.0 - - python >=3.9 + - python + - __osx >=11.0 + - python 3.13.* *_cp313 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 102059 - timestamp: 1750415349440 -- conda: https://conda.anaconda.org/conda-forge/noarch/oda-reader-1.6.0-pyhc364b38_0.conda - sha256: dc6f9e0c5ab1df624fbd01073be6aabb0282b7abe9797c5099e3c27888b8a150 - md5: 0c5f9ee81f0fac33b7fac8c7591913e6 + run_exports: {} + size: 242596 + timestamp: 1769678288893 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py314ha14b1ff_0.conda + sha256: e0f31c053eb11803d63860c213b2b1b57db36734f5f84a3833606f7c91fedff9 + md5: fc4c7ab223873eee32080d51600ce7e7 depends: - - python >=3.10 - - filelock >=3.20.3 - - inflate64 >=1.0.0 - - joblib >=1.4 - - openpyxl >=3.1.0 - - pandas >=2.2.0 - - platformdirs >=4.5.0 - - pyarrow >=14.0.0 - - requests >=2.33.0 - - requests-cache >=1.2.0 - python + - __osx >=11.0 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 245502 + timestamp: 1769678303655 +- 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 - size: 58701 - timestamp: 1777469373977 -- conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.conda - sha256: 42ad15cbb3bf31830efa04d4b86dd2d5c0dd590c86f98adcd3c8c1f75acf5dd5 - md5: 9c9303e08b50e09f5c23e1dac99d0936 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 41580 - timestamp: 1779292867015 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openjdk-24.0.2-h5755bd7_0.conda - sha256: 1080419a2f5fca5a5a5b47688a9941d6e26e43c15405f93513e18154171530f1 - md5: 2cb7cefb4a66a25110b0fa8798cb4887 + run_exports: {} + size: 8381 + timestamp: 1726802424786 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py312h38bd297_3.conda + sha256: f38f841323428a62961b33454f420ff567c3f0d9c88b1efe329cdeeba6d6fa71 + md5: c04e802b868f8d004e42d4a35f6a30f0 depends: - - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.14,<1.3.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - giflib >=5.2.2,<5.3.0a0 - - harfbuzz >=11.4.5 - - lcms2 >=2.17,<3.0a0 - - libcups >=2.3.3,<2.4.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=14 - - libjpeg-turbo >=3.1.0,<4.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libstdcxx >=14 + - amply >=0.1.2 + - coin-or-cbc + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 225319 + timestamp: 1757853445594 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py314h676fd1f_3.conda + sha256: fad9646989fb16b3f5f858ffd81dbac5d9f5e51e98b829fa19cfb5897fbc66db + md5: 568c38aba1768777e2e92bfd1a3e94f2 + depends: + - amply >=0.1.2 + - coin-or-cbc + - python >=3.14.0rc2,<3.15.0a0 + - python >=3.14.0rc2,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 229818 + timestamp: 1757853438761 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-21.0.0-py312h1f38498_3.conda + sha256: a357a6646043c7ebc51d233ab7b46a69874f5ce5aa6ee8412ac734f9abe5c0ea + md5: e86d99f7ece7a3c34dad3e3e3c357500 + depends: + - libarrow-acero 21.0.0.* + - libarrow-dataset 21.0.0.* + - libarrow-substrait 21.0.0.* + - libparquet 21.0.0.* + - pyarrow-core 21.0.0 *_3_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 33429 + timestamp: 1770650291141 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py313h39782a4_0.conda + sha256: 9af37dec78650b05f6dd71d59253ad6d698ec13bd306e3297647220cbbac3185 + md5: fc6e7ad12d5282ee9388a77857efb7d9 + depends: + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 27364 + timestamp: 1769291809290 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py314he55896b_0.conda + sha256: ffd0eac09ea86ea371438c260fe72009a8bac7189cdc25d29f93d7299a83e006 + md5: 0db5ac80a331c9e37edd4529e1867e2b + depends: + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 27385 + timestamp: 1769291659272 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-21.0.0-py312hae6ed00_3_cpu.conda + build_number: 3 + sha256: 4cddca7233d23e8898813d897472549436ccab451155fa616f853778511a3525 + md5: e4f490b2024c9f1813d3019bd90e95bd + depends: + - __osx >=11.0 + - libarrow 21.0.0.* *cpu + - libarrow-compute 21.0.0.* *cpu + - libcxx >=18 - libzlib >=1.3.1,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxi >=1.8.2,<2.0a0 - - xorg-libxrandr >=1.5.4,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - - xorg-libxt >=1.3.1,<2.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - license: GPL-2.0-or-later WITH Classpath-exception-2.0 - license_family: GPL - size: 116404142 - timestamp: 1757258102756 -- conda: https://conda.anaconda.org/conda-forge/osx-64/openjdk-25.0.2-h48c29e7_0.conda - sha256: 6d75a78b11aa1100d8dda8b860ebd2943c0ba137cf87c205351ee2c02434cb23 - md5: 7039d4add86c40fed1ff9371d405391f + - 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 + run_exports: {} + size: 4207799 + timestamp: 1770650247020 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py313h23b330d_0_cpu.conda + sha256: 97287878797287756344e39204c2081d396ce785c25eac7965deb0d3501d1b26 + md5: d12ac9817b6da9d02fdece0f0170f1fd depends: - __osx >=11.0 + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libcxx >=21 - libzlib >=1.3.1,<2.0a0 - license: GPL-2.0-or-later WITH Classpath-exception-2.0 - license_family: GPL - size: 201289992 - timestamp: 1771443806108 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openjdk-25.0.2-h258754b_0.conda - sha256: f6f06243c1a35b6590f06be386bd5cefc5b1773b985a61b7917b93dab4cf18ec - md5: a4024e03865a7411c1028eac83d1956c + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 4252936 + timestamp: 1770673215210 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py314h109bba2_0_cpu.conda + sha256: 018bc9fe7eef517694155f6818287eb1de3833707beb7f8db4035266c990be05 + md5: aa1d17da20a278b28d583e018f025f05 depends: - __osx >=11.0 + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libcxx >=21 - libzlib >=1.3.1,<2.0a0 - license: GPL-2.0-or-later WITH Classpath-exception-2.0 - license_family: GPL - size: 199165105 - timestamp: 1771443790144 -- conda: https://conda.anaconda.org/conda-forge/win-64/openjdk-25.0.2-he453025_1.conda - sha256: ebf65d5dd7c6a16e1ea44edfeb501900524ff1780db0902997326c56755986dd - md5: 9151f91b148e6d892041da89c63ebb46 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + constrains: + - numpy >=1.23,<3 + - apache-arrow-proc * cpu + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 4284471 + timestamp: 1770673318855 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py313h212e517_0.conda + sha256: 5bcc20f2c21d8a20d8f2821caf31d8c0ef2fa3bcdaf7a9bdce62e37be819f1d7 + md5: 32bb0d4dbb1be2064c06248a1190aa96 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - symlink-exe-runtime >=1.0,<2.0a0 - license: GPL-2.0-or-later WITH Classpath-exception-2.0 - license_family: GPL - size: 199761803 - timestamp: 1771445473325 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda - sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d - md5: 11b3379b191f63139e29c0d19dee24cd + - python + - typing-extensions >=4.6.0,!=4.7.0 + - python 3.13.* *_cp313 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 1720475 + timestamp: 1778084300413 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py314h54f3292_0.conda + sha256: c034a7cc16f279c260d3456fcfc625838495a7f9f55aa79408a629a427769bb2 + md5: 16314d88257820013e698381af19153f 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 - size: 355400 - timestamp: 1758489294972 -- conda: https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.4-h52bb76a_0.conda - sha256: 9a37ecf9c086f3a50d0132e6087dcbe7ea978d80e2da267fa3199c486529b311 - md5: 46e628da6e796c948fa8ec9d6d10bda3 + - python + - typing-extensions >=4.6.0,!=4.7.0 + - __osx >=11.0 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 1722694 + timestamp: 1778084354332 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.2.1-py314h6590101_0.conda + sha256: d400216f2f724b20e56a47837d0924df8558a426af8042494bf59f9a317cdcc4 + md5: 3701b8006ce23a111d15ca1d514e9055 + depends: + - __osx >=11.3 + - libffi >=3.5.2,<3.6.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools + license: MIT + license_family: MIT + run_exports: {} + size: 2165860 + timestamp: 1782232267924 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.2.1-py314ha06c032_0.conda + sha256: 7368f25512f0920c4e5ad39b27cc34ecba1502b2bfbf7be0058352b31bb4e0f5 + md5: c28c88396a6c6fb064aa7bd1a7d7df4f + depends: + - __osx >=11.3 + - libffi >=3.5.2,<3.6.0a0 + - pyobjc-core 12.2.1.* + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 383812 + timestamp: 1782265953125 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.11.0-py312hfd5e53c_0.conda + sha256: 194a0e283634a1640a262e77bb33b3f0c7a4acf2a799f747d5c5f11f03533d79 + md5: e1b8ae9311eadbefed27cb87ff752596 + depends: + - __osx >=11.0 + - libcxx >=18 + - libgdal-core >=3.10.3,<3.11.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 + run_exports: {} + size: 597009 + timestamp: 1746734900747 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py313he6d61f9_0.conda + sha256: 10a0ccaf95e3217d9fa6439cd092eca5fee810d1fd55e052efe5a904fef8e994 + md5: f82ee6aa14c6ed19ff28144ef74cf32a 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 - size: 335227 - timestamp: 1772625294157 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openjpeg-2.5.4-hd9e9057_0.conda - sha256: 60aca8b9f94d06b852b296c276b3cf0efba5a6eb9f25feb8708570d3a74f00e4 - md5: 4b5d3a91320976eec71678fad1e3569b + - libgdal-core >=3.12.0,<3.13.0a0 + - numpy + - packaging + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 595647 + timestamp: 1764402845925 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py314h3da1bed_0.conda + sha256: dcaaab4d8b539f7c4ee740e0242ae09c48f68e75949476ca36d9c67e61aafc3b + md5: 9b33fa020bd4da86a2dddfd0f63a43ba 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 - size: 319697 - timestamp: 1772625397692 -- conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda - sha256: 24342dee891a49a9ba92e2018ec0bde56cc07fdaec95275f7a55b96f03ea4252 - md5: e723ab7cc2794c954e1b22fde51c16e4 + - libgdal-core >=3.12.0,<3.13.0a0 + - numpy + - packaging + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 599877 + timestamp: 1764402722213 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.0-py314h4ed92d5_0.conda + sha256: 0bd5d1c537bf96c7cb36952afcf47716ad44c03e5b046a0f2aeb201769166457 + md5: 66edd5dc8380583d2adb0f220731860a 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 + - __osx >=11.0 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - setuptools + license: BSD-3-Clause license_family: BSD - size: 245594 - timestamp: 1772624841727 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda - sha256: cb0b07db15e303e6f0a19646807715d28f1264c6350309a559702f4f34f37892 - md5: 2e5bf4f1da39c0b32778561c3c4e5878 + run_exports: {} + size: 8128372 + timestamp: 1771631285724 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda + sha256: 1651039d33a84ead54504576339e4cc361cbcfdde49d6da8b6ef277c1be9afd9 + md5: f69fd8ff939ae97347354eced18653a9 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 + - __osx >=11.0 + - libcxx >=19 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause license_family: BSD - size: 780253 - timestamp: 1748010165522 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - sha256: 21c4f6c7f41dc9bec2ea2f9c80440d9a4d45a6f2ac13243e658f10dcf1044146 - md5: 680608784722880fbfe1745067570b00 + run_exports: {} + size: 8208028 + timestamp: 1780617272401 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py313h6deaedc_1.conda + sha256: d4de6f0290fa780ae87d2830e74dacbf2bb7d2601a5c8757bd4e45db17083d38 + md5: c1653bfeb9f6f16ac540c9b52490f038 depends: - - __glibc >=2.17,<3.0.a0 - - cyrus-sasl >=2.1.28,<3.0a0 - - krb5 >=1.22.2,<1.23.0a0 - - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.6,<4.0a0 - license: OLDAP-2.8 + - __osx >=11.0 + - libcxx >=19 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - setuptools + license: BSD-3-Clause license_family: BSD - size: 786149 - timestamp: 1775741359582 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py312h7f6eeab_3.conda - sha256: 04839d313708a6b8c185bc9fcc56ccef985ed91520420c665b5e67b55fd8b5fb - md5: 04ab345ef65b88bcbb8ac3d083427bfc + run_exports: {} + size: 8280329 + timestamp: 1780617686471 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hf0774e8_1.conda + sha256: 246f7a846ee5dd879d1b17a985fe664babea5926bb8829f8c08fd7f64c1eb7a7 + md5: b9e4527503d3c4982afe0f056857263e depends: - - et_xmlfile - - libgcc >=14 + - __osx >=11.0 + - certifi + - proj >=9.6.2,<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 - size: 476128 - timestamp: 1769122092500 -- conda: https://conda.anaconda.org/conda-forge/osx-64/openpyxl-3.1.5-py312h35dbd26_3.conda - sha256: dc50d2ba1c8d5ece38310f4a58ea7c65ab5630c0f302ec4699d80d58ce200550 - md5: b7de45fd799b2ca486296df849b8a57b + run_exports: {} + size: 478428 + timestamp: 1756537003593 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py313h6de5794_3.conda + sha256: 7a65aa08a4dd6060289a73d461a379ee8e6c183f1b6dd78e0c01332acec8f651 + md5: 1f2ae983e8f36a664dbe220b8d1f7e97 depends: - - et_xmlfile - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python + - proj + - certifi + - __osx >=11.0 + - python 3.13.* *_cp313 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 476736 - timestamp: 1769122437049 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openpyxl-3.1.5-py312h2a925e6_3.conda - sha256: 53e786fc1095e5e009958acf7e75c3bb9518e6e6373ed82cddf2b59110712d8d - md5: 81e1c2e42e0bed7dc7d412dbb1b53a46 + run_exports: {} + size: 521756 + timestamp: 1772623306745 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py314hb2113e1_3.conda + sha256: a2a7d692bbac993396569bf68aaeabdc1b80fbe33400ef7f59655d81f3025115 + md5: 841b9e806c0d84635ff9cf329623cf8f depends: - - et_xmlfile - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python + - proj + - certifi + - python 3.14.* *_cp314 + - __osx >=11.0 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 477997 - timestamp: 1769122700108 -- conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py312h83acffa_3.conda - sha256: 824eeb546a08c990eb461706280d3064c0437f67eb320018986fa439f468e43a - md5: ff342a314798173eaaf2753a22f044fa + run_exports: {} + size: 528919 + timestamp: 1772623276635 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py313hdc65ad0_0.conda + sha256: 805351af82902d2934d4cd8b671247a9e4f79d150ad94da9d66bce509b76c1ad + md5: c13561f45ed7db4ef41d26874eb6e1c3 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 + - python + - numpy >=1.16.0 + - libcxx >=19 + - __osx >=11.0 + - python 3.13.* *_cp313 + - scip >=10.0.0,<11.0a0 + - python_abi 3.13.* *_cp313 + - numpy >=1.23,<3 license: MIT license_family: MIT - size: 475979 - timestamp: 1769122144585 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b - md5: 79dd2074b5cd5c5c6b2930514a11e22d - depends: - - __glibc >=2.17,<3.0.a0 - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - size: 3159683 - timestamp: 1781069855778 -- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_0.conda - sha256: 819d4368d6b5b298fa40d4bc836c1250842489002cacf3fb918a13ee2033b7c6 - md5: 46be42ab403712fd349d007d763bf767 + run_exports: {} + size: 892181 + timestamp: 1778947423346 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py314hdd732f0_0.conda + sha256: d50ed6c2a544ea0d8752822bf7f28bcca10a46ad198f48ffdafaeceabf8c9c36 + md5: 81fdc6c03c91ab864364100764f57eaf depends: + - python + - numpy >=1.16.0 + - libcxx >=19 - __osx >=11.0 - - ca-certificates - license: Apache-2.0 - license_family: Apache - size: 2775300 - timestamp: 1781071391999 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_0.conda - sha256: b3e3ca895c336d4eb91c5d2f244a312bdb59a0de8cfa0cc4c179225ab2f6bbfb - md5: 8187a86242741725bfa74785fe812979 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 + - scip >=10.0.0,<11.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 903845 + timestamp: 1778947422553 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.10.2-py312hc3f5fac_10.conda + sha256: 5ae31c65543dede25ed312744935ac16dec54097717e3fd6088f5108a7ad5466 + md5: 744477c442aa4a1cbc442edf440f68cd depends: - __osx >=11.0 - - ca-certificates - license: Apache-2.0 - license_family: Apache - size: 3102584 - timestamp: 1781069820667 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 - md5: e99f95734a326c0fd4d02bbd995150d4 - depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 9414790 - timestamp: 1781071745579 -- conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.1-hd747db4_0.conda - sha256: 8d91d6398fc63a94d238e64e4983d38f6f9555460f11bed00abb2da04dbadf7c - md5: ddab8b2af55b88d63469c040377bd37e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libprotobuf >=6.31.1,<6.31.2.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 - size: 1316445 - timestamp: 1759424644934 -- conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.2.2-h19cb568_0.conda - sha256: 84cfe4e11d3186c0c369f111700e978c849fb9e4ab7ed031acbe3663daacd141 - md5: a98b8d7cfdd20004f1bdd1a51cb22c58 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=2.22.0,<2.23.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libcxx >=19 - 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 - size: 1317120 - timestamp: 1768247825733 -- conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.1-hd1b02dc_0.conda - sha256: a00d48750d2140ea97d92b32c171480b76b2632dbb9d19d1ae423999efcc825f - md5: b4646b6ddcbcb3b10e9879900c66ed48 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1737873 + timestamp: 1761751925893 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py313hffa1668_3.conda + sha256: 57f9137794e5c896570cf3859de3c2c4f493b626452dd2cb109aadd0d24d7173 + md5: 15311f8342100cfefab83dd88de39748 depends: - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.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 - size: 521463 - timestamp: 1759424838652 -- conda: https://conda.anaconda.org/conda-forge/osx-64/orc-2.2.2-h3073fbf_0.conda - sha256: 6c7048ba82eea4c92c1dc8bdf0a6989609367ffef9ff719cf86066bab046e0d0 - md5: 7323bc020618321c05afaf23f78460c0 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1759467 + timestamp: 1780065127453 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py314h9d157c6_3.conda + sha256: 3ee2e261caf90358b6006d5ada43b43e962bf63f8a99aadec46765d67e459a7a + md5: 36be3d9a93693ddf57b79e30b045ad9b depends: - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.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 - size: 522041 - timestamp: 1768248087348 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.1-h4fd0076_0.conda - sha256: f0a31625a647cb8d55a7016950c11f8fabc394df5054d630e9c9b526bf573210 - md5: b5dea50c77ab3cc18df48bdc9994ac44 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - typing-extensions >=4.4.0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1787697 + timestamp: 1780064975144 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.12-hec0b533_0_cpython.conda + sha256: 63d5362621bbf3b0d90424f5fc36983d7be2434f6d0b2a8e431ac78a69a1c01d + md5: 5a732c06cbf90455a95dc6f6b1dd7061 depends: - __osx >=11.0 - - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.1,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - liblzma >=5.8.1,<6.0a0 + - libsqlite >=3.50.4,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - snappy >=1.2.2,<1.3.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.4,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Apache-2.0 - license_family: Apache - size: 487298 - timestamp: 1759424875005 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.2.2-hac85105_0.conda - sha256: 9de7956c90c513e5e3ae4a637bf67ea1a09235151bad6fa266a3c24311d7fe1c - md5: 1c52effb297c8287cc79c383428e43c4 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.12.* *_cp312 + noarch: + - python + size: 12905286 + timestamp: 1760367318303 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.14-h448ec07_100_cp313.conda + build_number: 100 + sha256: c89eedab6b293fae654d75483d8f3e5eb3ff9ce2478134d902676c1dd20c7dfd + md5: e556c07deaa168043f8430bb046092e2 depends: - __osx >=11.0 - - libcxx >=19 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - snappy >=1.2.2,<1.3.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.13.* *_cp313 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Apache-2.0 - license_family: Apache - size: 487454 - timestamp: 1768248123539 -- conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-h0a1ad0e_1.conda - sha256: dcfca3c3c117e9102fcfca116ec9e4f0bbcd0f13b3fce06ff111ae9f107d04b7 - md5: aa6701a960f0e94478229af1e061c237 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.13.* *_cp313 + noarch: + - python + size: 17017633 + timestamp: 1781257915644 + python_site_packages_path: lib/python3.13/site-packages +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda + build_number: 101 + sha256: fccce2af62d11328d232df9f6bbf63464fd45f81f718c661757f9c628c4378ce + md5: 753c8d0447677acb7ddbcc6e03e82661 depends: - - libprotobuf >=6.33.5,<6.33.6.0a0 + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.3,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.2,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.51.2,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - snappy >=1.2.2,<1.3.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.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/win-64/orc-2.2.2-hbd3206f_0.conda - sha256: 86549f63b4b30764e70fd3edc2df4d69e17880b317afa9fa93318a83f9213807 - md5: e20393ad8ebe534f3937e0a5da44e287 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 13522698 + timestamp: 1770675365241 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.5-h4c637c5_100_cp314.conda + build_number: 100 + sha256: 06dec0e2f50e2f7e6a8808fcb4aff23729a3f23bcb1fca4fcbc3a341d9e38a83 + md5: f7331c9deaf21c79e5675e72b21d570b depends: - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libzlib >=1.3.1,<2.0a0 - - lz4-c >=1.10.0,<1.11.0a0 - - snappy >=1.2.2,<1.3.0a0 + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.0,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.1,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.6,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.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: 1164012 - timestamp: 1768247969345 -- conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda - sha256: 1840bd90d25d4930d60f57b4f38d4e0ae3f5b8db2819638709c36098c6ba770c - md5: e51f1e4089cad105b6cac64bd8166587 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 13560854 + timestamp: 1779238292621 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-calamine-0.6.1-py313h0b74987_0.conda + sha256: c8e308d8216c2bb4ee1a82defe85672d59a4480f442bb6f9aa647753dbfcea3f + md5: f9e9d8ede32c1f2195f6e07663891053 depends: - - python >=3.9 - - typing_utils + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 723067 + timestamp: 1764158946475 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda + sha256: 9d2da6728779000bd57a285775dec70ee42a4a75c5b5b1cc6614b6b726c8e963 + md5: 0b8875fe8636ddbcbd39506faa1adc2a + depends: + - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - python 3.12.* *_cpython + - __osx >=11.0 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: APACHE - size: 30139 - timestamp: 1734587755455 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 - md5: 58335b26c38bf4a20f399384c33cbcf9 + run_exports: {} + size: 239634 + timestamp: 1772376265641 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py313h2962dae_0.conda + sha256: 3da1588ef717e9531d038244a0467a65e13b1293301735b4cc8b4c757610d616 + md5: 74db6d421f84b26bcad3597195f61cf3 depends: - - python >=3.8 - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - python 3.13.* *_cp313 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + - numpy >=1.23,<3 license: Apache-2.0 license_family: APACHE - size: 62477 - timestamp: 1745345660407 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 - md5: 4c06a92e74452cfa53623a81592e8934 + run_exports: {} + size: 242309 + timestamp: 1772376241484 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py314h4e57505_0.conda + sha256: 217d6d865a57ca157593dea2d9b61a844cd017889b39ddd72be45857a478a7a6 + md5: 26721c02a73db4229e58d0878a68e815 depends: - - python >=3.8 - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - __osx >=11.0 + - python 3.14.* *_cp314 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE - size: 91574 - timestamp: 1777103621679 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py312hf79963d_1.conda - sha256: f633d5f9b28e4a8f66a6ec9c89ef1b6743b880b0511330184b4ab9b7e2dda247 - md5: e597b3e812d9613f659b7d87ad252d18 + run_exports: {} + size: 249432 + timestamp: 1772376230178 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda + sha256: 737959262d03c9c305618f2d48c7f1691fb996f14ae420bfd05932635c99f873 + md5: 95a5f0831b5e0b1075bbd80fcffc52ac depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - numpy >=1.22.4 - - numpy >=1.23,<3 + - __osx >=11.0 - python >=3.12,<3.13.0a0 - - python-dateutil >=2.8.2 - - python-tzdata >=2022.7 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - - pytz >=2020.1 - constrains: - - xarray >=2022.12.0 - - qtpy >=2.3.0 - - html5lib >=1.1 - - pandas-gbq >=0.19.0 - - tzdata >=2022.7 - - fsspec >=2022.11.0 - - fastparquet >=2022.12.0 - - odfpy >=1.4.1 - - pyxlsb >=1.0.10 - - scipy >=1.10.0 - - sqlalchemy >=2.0.0 - - pytables >=3.8.0 - - bottleneck >=1.3.6 - - pyarrow >=10.0.1 - - numexpr >=2.8.4 - - pyqt5 >=5.15.9 - - xlsxwriter >=3.0.5 - - openpyxl >=3.1.0 - - blosc >=1.21.3 - - matplotlib >=3.6.3 - - lxml >=4.9.2 - - numba >=0.56.4 - - s3fs >=2022.11.0 - - tabulate >=0.9.0 - - xlrd >=2.0.1 - - gcsfs >=2022.11.0 - - pyreadstat >=1.2.0 - - python-calamine >=0.1.7 - - zstandard >=0.19.0 - - psycopg2 >=2.9.6 - - beautifulsoup4 >=4.11.2 - license: BSD-3-Clause - license_family: BSD - size: 15099922 - timestamp: 1759266031115 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-3.0.3-py312h8ecdadd_0.conda - sha256: 009408dcfdc789b8a1748d6a63fd2134ea2edc8474231ea7beba0ac3ad772a37 - md5: 15c437bfa4cbddd379b95357c9aa4150 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 187278 + timestamp: 1770223990452 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py313h65a2061_1.conda + sha256: 950725516f67c9691d81bb8dde8419581c5332c5da3da10c9ba8cbb1698b825d + md5: 5d0c8b92128c93027632ca8f8dc1190f + depends: + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 188763 + timestamp: 1770224094408 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda + sha256: 95f385f9606e30137cf0b5295f63855fd22223a4cf024d306cf9098ea1c4a252 + md5: dcf51e564317816cb8d546891019b3ab + depends: + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 189475 + timestamp: 1770223788648 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.conda + noarch: python + sha256: 086cc67ec57afb7c9c09b5e09e7356b536b5b1af6c2e97117dc022cd22f0d472 + md5: 73f22bde4991f30ae2bfac3811577c15 depends: - python - - numpy >=1.26.0 - - python-dateutil >=2.8.2 - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 - - numpy >=1.23,<3 - constrains: - - adbc-driver-postgresql >=1.2.0 - - adbc-driver-sqlite >=1.2.0 - - beautifulsoup4 >=4.12.3 - - blosc >=1.21.3 - - bottleneck >=1.4.2 - - fastparquet >=2024.11.0 - - fsspec >=2024.10.0 - - gcsfs >=2024.10.0 - - html5lib >=1.1 - - hypothesis >=6.116.0 - - jinja2 >=3.1.5 - - lxml >=5.3.0 - - matplotlib >=3.9.3 - - numba >=0.60.0 - - numexpr >=2.10.2 - - odfpy >=1.4.1 - - openpyxl >=3.1.5 - - psycopg2 >=2.9.10 - - pyarrow >=13.0.0 - - pyiceberg >=0.8.1 - - pymysql >=1.1.1 - - pyqt5 >=5.15.9 - - pyreadstat >=1.2.8 - - pytables >=3.10.1 - - pytest >=8.3.4 - - pytest-xdist >=3.6.1 - - python-calamine >=0.3.0 - - pytz >=2024.2 - - pyxlsb >=1.0.10 - - qtpy >=2.4.2 - - scipy >=1.14.1 - - s3fs >=2024.10.0 - - sqlalchemy >=2.0.36 - - tabulate >=0.9.0 - - xarray >=2024.10.0 - - xlrd >=2.0.1 - - xlsxwriter >=3.2.0 - - zstandard >=0.23.0 + - libcxx >=19 + - __osx >=11.0 + - zeromq >=4.3.5,<4.4.0a0 + - _python_abi3_support 1.* + - cpython >=3.12 license: BSD-3-Clause license_family: BSD - size: 14872605 - timestamp: 1778602625175 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-2.3.3-py312h86abcb1_2.conda - sha256: 112273ffd9572a4733c98b9d80a243f38db4d0fce5d34befaf9eb6f64ed39ba3 - md5: d7dfad2b9a142319cec4736fe88d8023 + run_exports: {} + size: 191432 + timestamp: 1779484184540 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/qhull-2020.2-h420ef59_5.conda + sha256: 873ac689484262a51fd79bc6103c1a1bedbf524924d7f0088fb80703042805e4 + md5: 6483b1f59526e05d7d894e466b5b6924 depends: - - __osx >=10.13 + - __osx >=11.0 + - libcxx >=16 + license: LicenseRef-Qhull + run_exports: + weak: + - qhull >=2020.2,<2020.3.0a0 + size: 516376 + timestamp: 1720814307311 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rapidfuzz-3.14.5-py312h6d95f44_0.conda + sha256: fde8d263faaa2fcb8e420afdd3a11175c86162b304faf0cc2131dc096b37a2f3 + md5: e5b512c0aeaf91b5fc493008b6c9b4e5 + depends: + - __osx >=11.0 - libcxx >=19 - - numpy >=1.22.4 - - numpy >=1.23,<3 + - numpy - python >=3.12,<3.13.0a0 - - python-dateutil >=2.8.2 - - python-tzdata >=2022.7 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - - pytz >=2020.1 - constrains: - - pyarrow >=10.0.1 - - tabulate >=0.9.0 - - html5lib >=1.1 - - s3fs >=2022.11.0 - - pandas-gbq >=0.19.0 - - matplotlib >=3.6.3 - - qtpy >=2.3.0 - - scipy >=1.10.0 - - zstandard >=0.19.0 - - bottleneck >=1.3.6 - - numexpr >=2.8.4 - - pyxlsb >=1.0.10 - - tzdata >=2022.7 - - psycopg2 >=2.9.6 - - pytables >=3.8.0 - - fsspec >=2022.11.0 - - python-calamine >=0.1.7 - - xarray >=2022.12.0 - - numba >=0.56.4 - - pyqt5 >=5.15.9 - - xlrd >=2.0.1 - - blosc >=1.21.3 - - odfpy >=1.4.1 - - openpyxl >=3.1.0 - - fastparquet >=2022.12.0 - - xlsxwriter >=3.0.5 - - pyreadstat >=1.2.0 - - sqlalchemy >=2.0.0 - - gcsfs >=2022.11.0 - - beautifulsoup4 >=4.11.2 - - lxml >=4.9.2 - license: BSD-3-Clause - license_family: BSD - size: 14008759 - timestamp: 1764615365220 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pandas-3.0.3-py312h8e27051_0.conda - sha256: d72b541b510e3a1db86db3ce8d4c30bddc945c3c89eb2c9d16fde0cc9f82e497 - md5: 8cfffbf760a7d7abc16c79141ead177a + license: MIT + license_family: MIT + run_exports: {} + size: 708243 + timestamp: 1775566329519 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rapidfuzz-3.14.5-py313h6deaedc_0.conda + sha256: 14b8b04f5f3e6b871de7aa5011deb38d1ba015c07e46d006066e6e65b91d4768 + md5: 10ef85c1370e95a8716ebab49c72c090 depends: - - python - - numpy >=1.26.0 - - python-dateutil >=2.8.2 + - __osx >=11.0 - libcxx >=19 + - numpy + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 710645 + timestamp: 1775566332239 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rapidfuzz-3.14.5-py314h4ed92d5_0.conda + sha256: 1f2ee9f65f7e243a5f298ccbc0f9ef9c03e74c3ee7573de0a97fe64148c24396 + md5: fbb1c5de4d1d4b333d07d3b16a300750 + depends: + - __osx >=11.0 + - libcxx >=19 + - numpy + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 711704 + timestamp: 1775565932773 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.4.3-py312h460a678_2.conda + sha256: 9d0db170b7081ac47b448f4f927362eb3789ee2cea4e56dd02fc4d348db3b52a + md5: f7acc1f2764e75eb7b58fcd353c8c7f0 + depends: - __osx >=11.0 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libcxx >=19 + - libgdal-core <3.11 + - libgdal-core >=3.10.3,<3.11.0a0 - numpy >=1.23,<3 + - proj >=9.6.2,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - constrains: - - adbc-driver-postgresql >=1.2.0 - - adbc-driver-sqlite >=1.2.0 - - beautifulsoup4 >=4.12.3 - - blosc >=1.21.3 - - bottleneck >=1.4.2 - - fastparquet >=2024.11.0 - - fsspec >=2024.10.0 - - gcsfs >=2024.10.0 - - html5lib >=1.1 - - hypothesis >=6.116.0 - - jinja2 >=3.1.5 - - lxml >=5.3.0 - - matplotlib >=3.9.3 - - numba >=0.60.0 - - numexpr >=2.10.2 - - odfpy >=1.4.1 - - openpyxl >=3.1.5 - - psycopg2 >=2.9.10 - - pyarrow >=13.0.0 - - pyiceberg >=0.8.1 - - pymysql >=1.1.1 - - pyqt5 >=5.15.9 - - pyreadstat >=1.2.8 - - pytables >=3.10.1 - - pytest >=8.3.4 - - pytest-xdist >=3.6.1 - - python-calamine >=0.3.0 - - pytz >=2024.2 - - pyxlsb >=1.0.10 - - qtpy >=2.4.2 - - scipy >=1.14.1 - - s3fs >=2024.10.0 - - sqlalchemy >=2.0.36 - - tabulate >=0.9.0 - - xarray >=2024.10.0 - - xlrd >=2.0.1 - - xlsxwriter >=3.2.0 - - zstandard >=0.23.0 + - setuptools >=0.9.8 + - snuggs >=1.4.1 license: BSD-3-Clause license_family: BSD - size: 14170082 - timestamp: 1778602746933 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.3-py312h5978115_2.conda - sha256: 93aa5b02e2394080a32fee9fb151da3384d317a42472586850abb37b28f314db - md5: fcbba82205afa4956c39136c68929385 + run_exports: {} + size: 7702855 + timestamp: 1758130147609 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py313h8ab8132_0.conda + sha256: 6da012a5810dcc0cc222b7b7e7ce8ea07608a683bbe5351f75bb95ed7bdf2bd9 + md5: 900d1d837d7ed61e0e8bda33746cc2d4 depends: - __osx >=11.0 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 - libcxx >=19 - - numpy >=1.22.4 + - libgdal-core >=3.12.1,<3.13.0a0 - numpy >=1.23,<3 - - 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: - - xarray >=2022.12.0 - - scipy >=1.10.0 - - tabulate >=0.9.0 - - pytables >=3.8.0 - - xlsxwriter >=3.0.5 - - pyxlsb >=1.0.10 - - odfpy >=1.4.1 - - zstandard >=0.19.0 - - fastparquet >=2022.12.0 - - gcsfs >=2022.11.0 - - beautifulsoup4 >=4.11.2 - - qtpy >=2.3.0 - - xlrd >=2.0.1 - - pandas-gbq >=0.19.0 - - s3fs >=2022.11.0 - - pyreadstat >=1.2.0 - - tzdata >=2022.7 - - html5lib >=1.1 - - fsspec >=2022.11.0 - - lxml >=4.9.2 - - numexpr >=2.8.4 - - blosc >=1.21.3 - - openpyxl >=3.1.0 - - pyarrow >=10.0.1 - - python-calamine >=0.1.7 - - numba >=0.56.4 - - sqlalchemy >=2.0.0 - - pyqt5 >=5.15.9 - - psycopg2 >=2.9.6 - - bottleneck >=1.3.6 - - matplotlib >=3.6.3 + - proj >=9.7.1,<9.8.0a0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - setuptools >=0.9.8 + - snuggs >=1.4.1 license: BSD-3-Clause license_family: BSD - size: 13893993 - timestamp: 1764615503244 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-3.0.3-py312h6510ced_0.conda - sha256: 7202013525593f57a452dac7e5fee9f26478822be3ba5c893643517b8627406d - md5: 4581a32b837950217327fcab93214313 + run_exports: {} + size: 7230221 + timestamp: 1767633038479 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py314h5002e4e_0.conda + sha256: 39cbd44377e218d94e88a17dbafa82e18f3631929832ff7bdb3b3c2c3af672dd + md5: 8a3db2ceb5103f48878c510065febca3 depends: - - python - - numpy >=1.26.0 - - python-dateutil >=2.8.2 - __osx >=11.0 - - python 3.12.* *_cpython + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 - libcxx >=19 - - python_abi 3.12.* *_cp312 + - libgdal-core >=3.12.1,<3.13.0a0 - numpy >=1.23,<3 - constrains: - - adbc-driver-postgresql >=1.2.0 - - adbc-driver-sqlite >=1.2.0 - - beautifulsoup4 >=4.12.3 - - blosc >=1.21.3 - - bottleneck >=1.4.2 - - fastparquet >=2024.11.0 - - fsspec >=2024.10.0 - - gcsfs >=2024.10.0 - - html5lib >=1.1 - - hypothesis >=6.116.0 - - jinja2 >=3.1.5 - - lxml >=5.3.0 - - matplotlib >=3.9.3 - - numba >=0.60.0 - - numexpr >=2.10.2 - - odfpy >=1.4.1 - - openpyxl >=3.1.5 - - psycopg2 >=2.9.10 - - pyarrow >=13.0.0 - - pyiceberg >=0.8.1 - - pymysql >=1.1.1 - - pyqt5 >=5.15.9 - - pyreadstat >=1.2.8 - - pytables >=3.10.1 - - pytest >=8.3.4 - - pytest-xdist >=3.6.1 - - python-calamine >=0.3.0 - - pytz >=2024.2 - - pyxlsb >=1.0.10 - - qtpy >=2.4.2 - - scipy >=1.14.1 - - s3fs >=2024.10.0 - - sqlalchemy >=2.0.36 - - tabulate >=0.9.0 - - xarray >=2024.10.0 - - xlrd >=2.0.1 - - xlsxwriter >=3.2.0 - - zstandard >=0.23.0 + - proj >=9.7.1,<9.8.0a0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - setuptools >=0.9.8 + - snuggs >=1.4.1 license: BSD-3-Clause license_family: BSD - size: 13926263 - timestamp: 1778602825408 -- conda: https://conda.anaconda.org/conda-forge/win-64/pandas-2.3.3-py312hc128f0a_2.conda - sha256: 7f37f3ccea378f491f68979c7afd7f2dbc8ee83c3461dfab3cce15d436298f44 - md5: 57d80e87a8b3161bcf26472deceaa556 + run_exports: {} + size: 7442099 + timestamp: 1767632864203 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda + sha256: 29c4bceb6b4530bac6820c30ba5a2f53fd26ed3e7003831ecf394e915b975fbc + md5: 1b35e663ed321840af65e7c5cde419f2 depends: - - numpy >=1.22.4 + - libre2-11 2025.11.05 h91c62da_0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libre2-11 >=2025.11.5 + - re2 + size: 27422 + timestamp: 1762398340843 +- 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 + run_exports: + weak: + - readline >=8.3,<9.0a0 + size: 313930 + timestamp: 1765813902568 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda + sha256: 10b1a12941d3f905dbd139b809d94d569e9be48d146c31f5cad71bfe6ae25412 + md5: 196427409c7a36c934df2c261edb164f + depends: + - python + - __osx >=11.0 + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 294437 + timestamp: 1779977098659 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py313hb9d2816_0.conda + sha256: c467f6202af51ca5331b2a75987f82846b6db1e3be7686c0bcfb091330724072 + md5: 8ca4cf4ffd3d47310b389cb8fe096197 + depends: + - python + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 293990 + timestamp: 1779977082789 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py314he1d1ac0_0.conda + sha256: 764b78892f8ba2a7d5cb24c2911bd5718753ba5b130bf4e0d9a0bb0001c139b1 + md5: 58fe40c3bba570ac2cbfac4f4ea983b7 + depends: + - python + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 292087 + timestamp: 1779977082395 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py313h6688731_1.conda + sha256: d2050d1d9fb396bd8fb42758bcc6e5bf301c94856086be5411dfe21a0bb2da22 + md5: ccc49acbc9df82571383070bc4591c45 + depends: + - python + - python 3.13.* *_cp313 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 132037 + timestamp: 1766159543218 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py314ha14b1ff_1.conda + sha256: ad575cae7f662b2dafca88c4ce05120e322f825c0610e54b0a116550c817bbbe + md5: 5836fbf79e5f279ffbe4ba06066c51a3 + depends: + - python + - python 3.14.* *_cp314 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 133016 + timestamp: 1766159585543 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.19-h80928e0_0.conda + noarch: python + sha256: 7916eb37206fe9726db28f722f14fe2da5e64b68b3747ae5bf92a9df6245c79f + md5: 2639d46decb4c0ef9eca4f8fd2f5803e + depends: + - python + - __osx >=11.0 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 8644257 + timestamp: 1782288982578 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.7.2-py312h79e0ffc_0.conda + sha256: e46279d674d580dfeeb1c10dede94df65dbb25d951e35978893058e59e496bfa + md5: c3b31a2189b2a54272ab6831fe16106d + depends: + - __osx >=11.0 + - joblib >=1.2.0 + - libcxx >=19 + - llvm-openmp >=19.1.7 + - numpy >=1.22.0 - numpy >=1.23,<3 - python >=3.12,<3.13.0a0 - - python-dateutil >=2.8.2 - - python-tzdata >=2022.7 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - - pytz >=2020.1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - blosc >=1.21.3 - - qtpy >=2.3.0 - - pandas-gbq >=0.19.0 - - lxml >=4.9.2 - - fsspec >=2022.11.0 - - xarray >=2022.12.0 - - gcsfs >=2022.11.0 - - tabulate >=0.9.0 - - numba >=0.56.4 - - xlrd >=2.0.1 - - html5lib >=1.1 - - beautifulsoup4 >=4.11.2 - - pyqt5 >=5.15.9 - - openpyxl >=3.1.0 - - zstandard >=0.19.0 - - psycopg2 >=2.9.6 - - bottleneck >=1.3.6 - - pytables >=3.8.0 - - pyreadstat >=1.2.0 - - python-calamine >=0.1.7 - - pyarrow >=10.0.1 - - s3fs >=2022.11.0 - - matplotlib >=3.6.3 - - pyxlsb >=1.0.10 - - tzdata >=2022.7 - - odfpy >=1.4.1 - - sqlalchemy >=2.0.0 - - scipy >=1.10.0 - - xlsxwriter >=3.0.5 - - fastparquet >=2022.12.0 - - numexpr >=2.8.4 + - scipy >=1.8.0 + - threadpoolctl >=3.1.0 license: BSD-3-Clause license_family: BSD - size: 13779090 - timestamp: 1764615170494 -- conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py312h95189c4_0.conda - sha256: f1f67623997699885c7668b039314f5c9a663eb94dcaf284574fdc6dd248b2b8 - md5: 9da394ea5e0ec5cc5edc1ad14f2a4d4d + run_exports: {} + size: 8890616 + timestamp: 1757407517667 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.8.0-np2py314h15f0f0f_1.conda + sha256: 3b30f332fb87598de8c31a3cbec1bc79b926bcc6f535bda10054721a96c256dc + md5: d9bc75bfda103e05a55e4034fded8ddf depends: - python - - numpy >=1.26.0 - - python-dateutil >=2.8.2 - - python-tzdata - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.3.0 + - threadpoolctl >=3.2.0 + - llvm-openmp >=19.1.7 + - python 3.14.* *_cp314 + - __osx >=11.0 + - libcxx >=19 + - python_abi 3.14.* *_cp314 - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - constrains: - - adbc-driver-postgresql >=1.2.0 - - adbc-driver-sqlite >=1.2.0 - - beautifulsoup4 >=4.12.3 - - blosc >=1.21.3 - - bottleneck >=1.4.2 - - fastparquet >=2024.11.0 - - fsspec >=2024.10.0 - - gcsfs >=2024.10.0 - - html5lib >=1.1 - - hypothesis >=6.116.0 - - jinja2 >=3.1.5 - - lxml >=5.3.0 - - matplotlib >=3.9.3 - - numba >=0.60.0 - - numexpr >=2.10.2 - - odfpy >=1.4.1 - - openpyxl >=3.1.5 - - psycopg2 >=2.9.10 - - pyarrow >=13.0.0 - - pyiceberg >=0.8.1 - - pymysql >=1.1.1 - - pyqt5 >=5.15.9 - - pyreadstat >=1.2.8 - - pytables >=3.10.1 - - pytest >=8.3.4 - - pytest-xdist >=3.6.1 - - python-calamine >=0.3.0 - - pytz >=2024.2 - - pyxlsb >=1.0.10 - - qtpy >=2.4.2 - - scipy >=1.14.1 - - s3fs >=2024.10.0 - - sqlalchemy >=2.0.36 - - tabulate >=0.9.0 - - xarray >=2024.10.0 - - xlrd >=2.0.1 - - xlsxwriter >=3.2.0 - - zstandard >=0.23.0 license: BSD-3-Clause license_family: BSD - size: 13644207 - timestamp: 1778602674307 -- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-0.31.1-h27fc3a9_0.conda - sha256: 6f38ed60c3ba34c729708701f5a9798dfa396f62c5db704ce2e16aae78b86ed0 - md5: 33197d0b44a95fa6ea53c04db06a4f94 - depends: - - pandera-base ==0.31.1 pyhcf101f3_0 - - pandas >=2.1.1 - - numpy >=1.24.4 - license: MIT - license_family: MIT - size: 4431 - timestamp: 1777000436203 -- conda: https://conda.anaconda.org/conda-forge/noarch/pandera-base-0.31.1-pyhcf101f3_0.conda - sha256: d197f0ad887b9896f118e6bf9604f4ca955de49561b776e9c69b8e7cd4382cca - md5: 531ff805a1551c6caaf976d577ea233c + run_exports: {} + size: 9383244 + timestamp: 1766550871162 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py313h3b23316_0.conda + sha256: 9a4952f444b1cc4e293fdfc727bfb5169cb2c11e4e42b61fee276d4febb995a4 + md5: 5e343b51e6728cb88da5e2e1bba24cf7 depends: - - python >=3.10 - - packaging >=20.0 - - pydantic - - typeguard - - typing_extensions - - typing_inspect >=0.6.0 - python - license: MIT - license_family: MIT - size: 230747 - timestamp: 1777000436203 -- conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - sha256: 2bb9ba9857f4774b85900c2562f7e711d08dd48e2add9bee4e1612fbee27e16f - md5: 457c2c8c08e54905d6954e79cb5b5db9 + - numpy >=1.24.1 + - scipy >=1.10.0 + - joblib >=1.4.0 + - threadpoolctl >=3.5.0 + - narwhals >=2.0.1 + - libcxx >=19 + - python 3.13.* *_cp313 + - llvm-openmp >=19.1.7 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 + - numpy >=1.23,<3 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 9578596 + timestamp: 1780401265477 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-ha8121a5_1.conda + sha256: d7572966edf522b44a93703b45e214f62376e56865e3c4c07f3fccf646d24235 + md5: a37f252615ce7a1349ea29929d46d816 depends: - - python !=3.0,!=3.1,!=3.2,!=3.3 + - libgfortran + - libgfortran5 >=14.3.0 + - __osx >=11.0 + - libcxx >=19 + - gmp >=6.3.0,<7.0a0 + - libblas >=3.9.0,<4.0a0 + - libboost >=1.90.0,<1.91.0a0 + - libzlib >=1.3.2,<2.0a0 + - mpfr >=4.2.2,<5.0a0 + - tbb >=2023.0.0 + - ipopt >=3.14.19,<3.14.20.0a0 + license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND + run_exports: + weak: + - scip >=10.0.2,<11.0a0 + size: 13589972 + timestamp: 1781770050135 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda + sha256: c0ed2cbfa3485bac8570e52b577475778c603ee92d078a8b164d1ddec992e577 + md5: 173d5eeba324363d9171946e86a81687 + 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_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - size: 11627 - timestamp: 1631603397334 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda - sha256: 3613774ad27e48503a3a6a9d72017087ea70f1426f6e5541dbdb59a3b626eaaf - md5: 79f71230c069a287efe3a8614069ddf1 + run_exports: {} + size: 13936510 + timestamp: 1779874824714 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py313h52f5312_0.conda + sha256: d1bf4f384b822df098eddf66ac71e407c63148b1fb3b5cf4d536f6ae40269cca + md5: 110ff05ffef908af95192bb17c4006a0 depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=13 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 455420 - timestamp: 1751292466873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - sha256: 315b52bfa6d1a820f4806f6490d472581438a28e21df175290477caec18972b0 - md5: d53ffc0edc8eabf4253508008493c5bc + - __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 >=2.0.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14094513 + timestamp: 1781912946907 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.18.0-py314h18e1515_0.conda + sha256: 7ce218a4e1c55775547835d21a7ead0d50e5ac348fd638ce6ba316c48c8547b7 + md5: e55fe08bb5d43e7120672338dd129030 depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.1 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later - size: 458036 - timestamp: 1774281947855 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-h6ef8af8_0.conda - sha256: baab8ebf970fb6006ad26884f75f151316e545c47fb308a1de2dd47ddd0381c5 - md5: 8c6316c058884ffda0af1f1272910f94 + - __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 >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 14122215 + timestamp: 1781912992503 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.0.7-py312hf733f26_1.conda + sha256: dc09fedd0ae7857571c1daf7ee1322f5535d486e4f939a4ce2ac4741ad85736d + md5: 5033b6bb0358d8a756ec2fbf7739ed36 depends: - - __osx >=10.13 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 432832 - timestamp: 1751292511389 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pango-1.56.4-hf280016_1.conda - sha256: c1150e6a405985b25830c18f896d5e89b9777ef7e420bc0b1d88634f9a614769 - md5: 591f9fcbb36fbd50caef590d9b1de614 + - __osx >=11.0 + - geos >=3.13.1,<3.13.2.0a0 + - numpy >=1.19,<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 + run_exports: {} + size: 536480 + timestamp: 1741167452069 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py313h10b2fc2_2.conda + sha256: 6b1132016ba3752867981eacd28045d51c671e7818e3e9bcdf34ef275fb90032 + md5: 7dc5b3a207a5c0af5fb7dacca24587a7 depends: - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.1 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later - size: 431801 - timestamp: 1774282435173 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-h875632e_0.conda - sha256: 705484ad60adee86cab1aad3d2d8def03a699ece438c864e8ac995f6f66401a6 - md5: 7d57f8b4b7acfc75c777bc231f0d31be + - geos >=3.14.1,<3.14.2.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 612190 + timestamp: 1762524161011 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py314h277790e_2.conda + sha256: 3d6f64391563dbe47f2e795ce99b2389c84c695df12170e0a1743b10963ebce7 + md5: 947d1f4e3160c83140a9c8bcb046fdac depends: - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 426931 - timestamp: 1751292636271 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.56.4-hf80efc4_1.conda - sha256: b57c59cf5abb06d407b3a79017b990ca5bfb10c15a10c62fc29e113f2b12d9a9 - md5: 4b433508ebb295c05dd3d03daf27f7bb + - geos >=3.14.1,<3.14.2.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 618928 + timestamp: 1762524178138 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py313h0997733_0.conda + sha256: af30ac19277f231829a8744efe0318afa9d0353442973dce1cd110da8bada531 + md5: 12e334f651705f947aff922ed2fd1e1e depends: - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.1 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later - size: 425743 - timestamp: 1774282709773 -- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda - sha256: dcda7e9bedc1c87f51ceef7632a5901e26081a1f74a89799a3e50dbdc801c0bd - md5: 452d6d3b409edead3bd90fc6317cd6d4 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: MIT + license_family: MIT + run_exports: {} + size: 162345 + timestamp: 1777112447854 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/simplejson-4.1.1-py314h6c2aa35_0.conda + sha256: 972c363d7df721f529e2a353f4acb7b3ed1498886700a3e1378a60fec38ee951 + md5: f96c48a75942b72af1246d789fa8ba29 depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-or-later - size: 454854 - timestamp: 1751292618315 -- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - sha256: 3d4e6e541e633f6fd22fc2c1d79ad5ec39503dea3ba04fc3e01d5be904ec7cea - md5: 1f1cf3772ba7d4eef989e4679ddf97f7 + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 163732 + timestamp: 1777112456003 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda + sha256: cb9305ede19584115f43baecdf09a3866bfcd5bcca0d9e527bd76d9a1dbe2d8d + md5: fca4a2222994acd7f691e57f94b750c5 depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.1 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-or-later - size: 454919 - timestamp: 1774282149607 -- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - sha256: 611882f7944b467281c46644ffde6c5145d1a7730388bcde26e7e86819b0998e - md5: 39894c952938276405a1bd30e4ce2caf + - libcxx >=19 + - __osx >=11.0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - snappy >=1.2.2,<1.3.0a0 + size: 38883 + timestamp: 1762948066818 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.51-py313h6688731_0.conda + sha256: 625a746a278b1dc766e0d723ef6ad79a21f1465ccc6870aad0d36436100a9ccd + md5: d723d395bce920f0a80600fa0eed7110 depends: - - python >=3.10 - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - __osx >=11.0 + - python 3.13.* *_cp313 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 82472 - timestamp: 1777722955579 -- conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - sha256: 472fc587c63ec4f6eba0cc0b06008a6371e0a08a5986de3cf4e8024a47b4fe6c - md5: 0badf9c54e24cecfb0ad2f99d680c163 + run_exports: {} + size: 3845689 + timestamp: 1781548000929 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.51-py314ha14b1ff_0.conda + sha256: c355708c29086c3ce0916f5d5367cfea733f73d9c194b4fa5d21a40317374d32 + md5: 540fe3cb235eb16dcf0ff5e13eb96411 depends: - - locket - - python >=3.9 - - toolz + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - __osx >=11.0 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 4036851 + timestamp: 1781547978515 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_0.conda + sha256: da9629eb03900b532fe21092a7f813ffb9d83c0b21ffa86475195f5596b7fec4 + md5: a1036a11bb370ff199cac47cc6255b7f + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libsqlite 3.53.2 h1ae2325_0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 182162 + timestamp: 1780575254663 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h85ec8f2_0.conda + sha256: 5d0a6544dcbbec6322c06a8ee994d6823916af35bbd5a0f8c35387869f1b5d76 + md5: 1966e1b7f598b30cd746309ba483e541 + depends: + - __osx >=11.0 + - libsqlite 3.53.2 h1b79a29_0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - readline >=8.3,<9.0a0 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 182161 + timestamp: 1780574896374 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda + sha256: 18f8711f235e32d793938e1738057e7be1d0bfe98f7d27e3e4b98aa757deae92 + md5: 31f49265d8de9776cd15b421f24b23e0 + depends: + - __osx >=11.0 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - scipy !=1.9.2,>=1.8 license: BSD-3-Clause license_family: BSD - size: 20884 - timestamp: 1715026639309 -- conda: https://conda.anaconda.org/conda-forge/noarch/patsy-1.0.2-pyhcf101f3_0.conda - sha256: 9678f4745e6b82b36fab9657a19665081862268cb079cf9acf878ab2c4fadee9 - md5: 8678577a52161cc4e1c93fcc18e8a646 - depends: - - numpy >=1.4.0 - - python >=3.10 - - python - license: BSD-2-Clause AND PSF-2.0 - size: 193450 - timestamp: 1760998269054 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.45-hc749103_0.conda - sha256: 27c4014f616326240dcce17b5f3baca3953b6bc5f245ceb49c3fa1e6320571eb - md5: b90bece58b4c2bf25969b70f3be42d25 + run_exports: {} + size: 11537488 + timestamp: 1764984166760 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py313hc577518_0.conda + sha256: b55f42a663d30564a65b300b5cf1108efd5539837e966d277758d75a80b724fd + md5: b547594a22e18442099ffa9fb76521b9 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=13 - - libzlib >=1.3.1,<2.0a0 + - __osx >=11.0 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + - scipy !=1.9.2,>=1.8 license: BSD-3-Clause license_family: BSD - size: 1197308 - timestamp: 1745955064657 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff - md5: 7a3bff861a6583f1889021facefc08b1 + run_exports: {} + size: 11706032 + timestamp: 1764983810324 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py314hdcf55e8_0.conda + sha256: dde50c6b6c2e85f3ef82efb47d1485be66e6b4ca2db8970513340d64a5c63e91 + md5: 2f8503de3570507c06be9fd9cdf53e32 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 + - __osx >=11.0 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - scipy !=1.9.2,>=1.8 license: BSD-3-Clause license_family: BSD - size: 1222481 - timestamp: 1763655398280 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.45-hf733adb_0.conda - sha256: 5b2c93ee8714c17682cd926127f1e712efef00441a79732635a80b24f5adc212 - md5: d9f1976154f2f45588251dcfc48bcdda + run_exports: {} + size: 12048808 + timestamp: 1764986782929 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tabula-py-2.7.0-py312h81bd7bf_2.conda + sha256: 12c17360a0632dea1626e93fb400ac08dd56107c526ef6e25353af31d5564b23 + md5: f3a474311607732cf82938fd74362b22 + depends: + - numpy + - openjdk + - pandas + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - requests + - setuptools + - setuptools_scm + license: MIT + license_family: MIT + run_exports: {} + size: 11858941 + timestamp: 1762186124901 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda + sha256: 6f72a2984052444b9381020fa329b83dace95f335573dc21199f1b1d1a5f5473 + md5: 440c0a36cc20db1f28877a69afbb5e88 + depends: + - __osx >=11.0 + - libcxx >=19 + - libhwloc >=2.13.0,<2.13.1.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 122303 + timestamp: 1778675142610 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + sha256: 799cab4b6cde62f91f750149995d149bc9db525ec12595e8a1d91b9317f038b3 + md5: a9d86bc62f39b94c4661716624eb21b0 depends: - - __osx >=10.13 - - bzip2 >=1.0.8,<2.0a0 + - __osx >=11.0 - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause + license: TCL license_family: BSD - size: 1086588 - timestamp: 1745955211398 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pcre2-10.47-h13923f0_0.conda - sha256: 8d64a9d36073346542e5ea042ef8207a45a0069a2e65ce3323ee3146db78134c - md5: 08f970fb2b75f5be27678e077ebedd46 + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3127137 + timestamp: 1769460817696 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py312h2bbb03f_0.conda + sha256: 483350b0e4a3ebec90f6418e454d22b453f54d1bac803c2aaa7a9035cfcd7493 + md5: d037e9adb0365ab53445f357bd9a035f depends: - - __osx >=10.13 - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1106584 - timestamp: 1763655837207 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.45-ha881caa_0.conda - sha256: e9ecb706b58b5a2047c077b3a1470e8554f3aad02e9c3c00cfa35d537420fea3 - md5: a52385b93558d8e6bbaeec5d61a21cd7 + - __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 + run_exports: {} + size: 863360 + timestamp: 1781007464047 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py313h0997733_0.conda + sha256: 02c7b05be4d74da0d7329f92445646e3489634f0c3e59b26efefd846662ac20a + md5: dbc95e65c936251c3d32111c867d84e1 depends: - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 837826 - timestamp: 1745955207242 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-h30297fc_0.conda - sha256: 5e2e443f796f2fd92adf7978286a525fb768c34e12b1ee9ded4000a41b2894ba - md5: 9b4190c4055435ca3502070186eba53a + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 889689 + timestamp: 1781007967544 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py314h6c2aa35_0.conda + sha256: 1a4f3d940cf239acde2fc61674b7cf80219a7f22a369e92b95b245be2d47caf1 + md5: cc1d84777343f00f01c08a2d9550f639 depends: - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 850231 - timestamp: 1763655726735 -- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.45-h99c9b8b_0.conda - sha256: 165d6f76e7849615cfa5fe5f0209b90103102db17a7b4632f933fa9c0e8d8bfe - md5: f4c483274001678e129f5cbaf3a8d765 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 915857 + timestamp: 1781007345425 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py313h1188861_0.conda + sha256: 86ba878ad3c272a395b286cd1f7008a42c56ed2229344fd82e54761e0a5d59d0 + md5: c217ffb1cf756aee6fca137a4734ad8a depends: - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - python + - python 3.13.* *_cp313 + - libcxx >=19 + - __osx >=11.0 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 1040584 - timestamp: 1745955875845 -- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - sha256: 3e9e02174edf02cb4bcdd75668ad7b74b8061791a3bc8bdb8a52ae336761ba3e - md5: 77eaf2336f3ae749e712f63e36b0f0a1 + run_exports: {} + size: 67627 + timestamp: 1781561793839 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.13.0-py314he609de1_0.conda + sha256: b9f9352364ccb74d3628c8597c12f9952a74cdf6f8e737b32e9c137a17680804 + md5: d2ff8652d2bfe6de26a280b37e2dc5e6 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 + - python + - libcxx >=19 + - __osx >=11.0 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - size: 995992 - timestamp: 1763655708300 -- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a - md5: d0d408b1f18883a944376da5cf8101ea + run_exports: {} + size: 67728 + timestamp: 1781561797729 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py314h6cfcd04_0.conda + sha256: 033dbf9859fe58fb85350cf6395be6b1346792e1766d2d5acab538a6eb3659fb + md5: e229f444fbdb28d8c4f40e247154d993 depends: - - ptyprocess >=0.5 - - python >=3.9 - license: ISC - size: 53561 - timestamp: 1733302019362 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py312h50c33e8_0.conda - sha256: fa291f8915114733dc1df9f1627b8c63c517217c1eee1a6ede2ceb5e368cf27a - md5: 9e5609720e31213d4f39afe377f6217e + - __osx >=11.0 + - cffi + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 14884 + timestamp: 1769439056290 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda + sha256: e935d0c11581e31e89ce4899a28b16f924d1a3c1af89f18f8a2c5f5728b3107f + md5: 45b836f333fd3e282c16fff7dc82994e 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 + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython - 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 - size: 1039561 - timestamp: 1775060059882 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pillow-12.2.0-py312he84af14_0.conda - sha256: 720a4bb7aa1cb6a1d4fa026350f69785f5f11fe4899730d575e32292399f470a - md5: 2062ffb1b958b050e65ddd8556bcb4d8 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 415828 + timestamp: 1770909782683 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py314h6c2aa35_0.conda + sha256: 09bfbee5a2bcf4df06f21a2aa9eb40a7af97864a569beb5ea85fd6baf6e03ce7 + md5: 4fffb3ba871bb05f34ffb705534dfef5 depends: - - python - __osx >=11.0 - - openjpeg >=2.5.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - libxcb >=1.17.0,<2.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - zlib-ng >=2.3.3,<2.4.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - tk >=8.6.13,<8.7.0a0 - - lcms2 >=2.18,<3.0a0 - - python_abi 3.12.* *_cp312 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - license: HPND - size: 973346 - timestamp: 1775060319565 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-12.2.0-py312h4e908a4_0.conda - sha256: f7ee5d45bf16184d2b53f0d35c98c06e4e82e21688ce93e52b55c02ec7153bf3 - md5: 0634560e556adb3e7924668e49ad53fc + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 416130 + timestamp: 1770909728445 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + sha256: fa0bcbfb20a508ca9bf482236fe799581cbd0eab016e47a865e9fa44dbe3c512 + md5: e8ff9e11babbc8cd77af5a4258dc2802 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 - size: 965082 - timestamp: 1775060469004 -- conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py312h31f0997_0.conda - sha256: ab7c254e49d0999bbfc3d3b2c76e7d5f9f831692c864c641cf10c557b727ad7e - md5: ba3bcb72a269e7751cadbdd784f84dec + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - uriparser >=0.9.8,<1.0a0 + size: 40625 + timestamp: 1715010029254 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py312hb3ab3e3_3.conda + sha256: 67b64f00d88f954f40ec530d589ea6967354ffac841db9f9f169a2ccb9870632 + md5: 2039281440a04616a27b9298f9aa6ca0 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 + - pyyaml >=3.10 + - python 3.12.* *_cpython + - __osx >=11.0 - 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 - size: 944998 - timestamp: 1775060119774 -- conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-unix_hf108a03_0.conda - sha256: 6e4480fa4126cac047b21b079c843264b14ceb3724acf7d3a5a7bcceff7ea5d2 - md5: 6d02081f2ea16d3c4e0dc0d578508c1e + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 164910 + timestamp: 1772608083776 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.conda + sha256: b2be8bbfc1d7d63cd82f23c6aab0845b5dbbd835378b3c4e61b80b7d81ae9656 + md5: 5658c0733acef1e0e2701aa1ebaa1f14 depends: - - __unix - - python >=3.8 - license: BSD-3-Clause + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause license_family: BSD - size: 6986 - timestamp: 1774948616259 -- conda: https://conda.anaconda.org/conda-forge/noarch/pixi-pycharm-0.0.11-win_hba80fca_0.conda - sha256: 7c6fc8c53ca75d46c86f677207f2de151d2951910231bb78c413feffb63c605e - md5: fc2d3bfcc805d7b2b9da464d2ccea343 + run_exports: {} + size: 61948 + timestamp: 1756851912789 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py313hcdf3177_1.conda + sha256: 5919f7142db9344116760b797e4a5d28ca3961f927a2ba1c4a61d3f0f3282dd2 + md5: cd6b5084444b0b4ed22dde20355d4c4b depends: - - __win - - python >=3.8 - license: BSD-3-Clause + - __osx >=11.0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: BSD-2-Clause license_family: BSD - size: 7005 - timestamp: 1774948623414 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda - sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a - md5: c01af13bdc553d1a8fbfff6e8db075f0 + run_exports: {} + size: 62577 + timestamp: 1756851972334 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py314hb84d1df_1.conda + sha256: 0f35a19fd99724e8620dc89a6fb9eb100d300f117292adde2c7e8cf12d566e10 + md5: 104bf69250e32a42ca144d7f7abd5d5c depends: - - libgcc >=14 - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - size: 450960 - timestamp: 1754665235234 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pixman-0.46.4-ha059160_1.conda - sha256: ff8b679079df25aa3ed5daf3f4e3a9c7ee79e7d4b2bd8a21de0f8e7ec7207806 - md5: 742a8552e51029585a32b6024e9f57b4 + - __osx >=11.0 + - python >=3.14.0rc2,<3.15.0a0 + - python >=3.14.0rc2,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 61800 + timestamp: 1756851815321 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + sha256: 863a7c2a991a4399d362d42c285ebc20748a4ea417647ebd3a171e2220c7457d + md5: 50b7325437ef0901fe25dc5c9e743b88 depends: - - __osx >=10.13 - - libcxx >=19 - license: MIT - license_family: MIT - size: 390942 - timestamp: 1754665233989 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h81086ad_1.conda - sha256: 29c9b08a9b8b7810f9d4f159aecfd205fce051633169040005c0b7efad4bc718 - md5: 17c3d745db6ea72ae2fce17e7338547f + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - xerces-c >=3.2.5,<3.3.0a0 + size: 1277884 + timestamp: 1727733870250 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda + sha256: 89152175f45b5e84e0f1575848f607e305ffc122ab59d9704ea77ce699b1bd2b + md5: 0b886d06130b774f086d3b2ce0b7277a depends: - __osx >=11.0 + - icu >=78.1,<79.0a0 - libcxx >=19 - license: MIT - license_family: MIT - size: 248045 - timestamp: 1754665282033 -- conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - sha256: 246fce4706b3f8b247a7d6142ba8d732c95263d3c96e212b9d63d6a4ab4aff35 - md5: 08c8fa3b419df480d985e304f7884d35 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - xerces-c >=3.3.0,<3.4.0a0 + size: 1283088 + timestamp: 1766327630028 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxau-1.0.12-hc919400_1.conda + sha256: adae11db0f66f86156569415ed79cda75b2dbf4bea48d1577831db701438164f + md5: 78b548eed8227a689f93775d5d23ae09 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 + - __osx >=11.0 license: MIT license_family: MIT - size: 542795 - timestamp: 1754665193489 -- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.10.0-pyhcf101f3_0.conda - sha256: 9e5e1fd3506ccfc4d444fc4d2d39b0ed097d5d0e3bd3d4bdf6bcc81aaf66860d - md5: 2c5ef45db85d34799771629bd5860fd7 + run_exports: + weak: + - xorg-libxau >=1.0.12,<2.0a0 + size: 14105 + timestamp: 1762976976084 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxdmcp-1.1.5-hc919400_1.conda + sha256: f7fa0de519d8da589995a1fe78ef74556bb8bc4172079ae3a8d20c3c81354906 + md5: 9d1299ace1924aa8f4e0bc8e71dd0cf7 depends: - - python >=3.10 - - python + - __osx >=11.0 license: MIT license_family: MIT - size: 26308 - timestamp: 1779972894916 -- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.8.0-pyhd8ed1ab_0.conda - sha256: 4fb6cf23ca322b45f7dafb095bf42192f9ee85b18184fc4a1f82ae6a962dd1b0 - md5: 499b2e5cc7cf18761cfd20d6fb837f48 + run_exports: + weak: + - xorg-libxdmcp >=1.1.5,<2.0a0 + size: 19156 + timestamp: 1762977035194 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + sha256: b03433b13d89f5567e828ea9f1a7d5c5d697bf374c28a4168d71e9464f5dafac + md5: 78a0fe9e9c50d2c381e8ee47e3ea437d depends: - - narwhals >=1.15.1 - - packaging - - python >=3.10 - constrains: - - ipywidgets >=7.6 + - __osx >=11.0 license: MIT license_family: MIT - size: 4119420 - timestamp: 1780554856380 -- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e - md5: d7585b6550ad04c8c5e21097ada2888e + run_exports: + weak: + - yaml >=0.2.5,<0.3.0a0 + size: 83386 + timestamp: 1753484079473 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda + sha256: 0ec43a02962ac2d2853bd0b1edf0ff47a30d06268c6ea5f2fbe87a90d7747217 + md5: 06fdb5dc3e653b8edfd9475feae69bab depends: - - python >=3.9 - - python - license: MIT - license_family: MIT - size: 25877 - timestamp: 1764896838868 -- conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.2-pyh58ad624_0.conda - sha256: 7200a9b1c48fe83efa8f5a5fc35d6066a76c28cbd57cbea2f875aa6ead747ae9 - md5: 120e580ad04dadc09105071cabe732ee + - __osx >=11.0 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - 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 + run_exports: {} + size: 147939 + timestamp: 1779246762355 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.24.2-py313h65a2061_0.conda + sha256: 91b4d82dc6faf4ae17d88f641682a5e708423ee821c05806fcc6aca2f93bf429 + md5: a886816911625ede0bf2fe230787c1ab depends: - - polars-runtime-32 ==1.41.2 - - python >=3.10 - - python - constrains: - - numpy >=1.16.0 - - pyarrow >=7.0.0 - - fastexcel >=0.9 - - openpyxl >=3.0.0 - - xlsx2csv >=0.8.0 - - connectorx >=0.3.2 - - deltalake >=1.0.0 - - pyiceberg >=0.7.1 - - altair >=5.4.0 - - great_tables >=0.8.0 - - polars-runtime-32 ==1.41.2 - - polars-runtime-64 ==1.41.2 - - polars-runtime-compat ==1.41.2 - license: MIT - license_family: MIT - size: 540108 - timestamp: 1780146392384 -- conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.2-py310h49dadd8_0.conda - noarch: python - sha256: b7813bc119ebf26cd3332c91f347880161eee650bb7f2a92291754211fad7a43 - md5: 90b183f5b51fa73ff81a0974b5308fa3 + - __osx >=11.0 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 + - python_abi 3.13.* *_cp313 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 147964 + timestamp: 1779246743925 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.conda + sha256: 01fd50d2801b23b59fafea6bf704a6c5faf0f5969104400eae0e6572cb2e5304 + md5: d31c0e54c4f9c51100ec8c812ee925d1 depends: - - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - _python_abi3_support 1.* - - cpython >=3.10 - constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT - size: 42611524 - timestamp: 1780146392384 -- conda: https://conda.anaconda.org/conda-forge/osx-64/polars-runtime-32-1.41.2-py310h3769acf_0.conda - noarch: python - sha256: fa3727220abd126925c8e590f614186308c373366859adf37edc7892960bc376 - md5: 89d6149985443c1f88a2d3778c1ab2e8 + - libcxx >=19 + - __osx >=11.0 + - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + run_exports: + weak: + - zeromq >=4.3.5,<4.4.0a0 + size: 245404 + timestamp: 1779124076307 +- 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 + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 81123 + timestamp: 1774072974535 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-ng-2.3.3-hed4e4f5_1.conda + sha256: a339606a6b224bb230ff3d711e801934f3b3844271df9720165e0353716580d4 + md5: d99c2a23a31b0172e90f456f580b695e depends: - - python - __osx >=11.0 - libcxx >=19 - - _python_abi3_support 1.* - - cpython >=3.10 - constrains: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 41188306 - timestamp: 1780146275328 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/polars-runtime-32-1.41.2-py310hb2fc7d1_0.conda - noarch: python - sha256: 4715eb15abba0e7b8c41e08145f026cb183a62e3a3efee74f678cf64a8319070 - md5: 6953292a6ca15934f9f003498f61f3c6 + license: Zlib + license_family: Other + run_exports: + weak: + - zlib-ng >=2.3.3,<2.4.0a0 + size: 94375 + timestamp: 1770168363685 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312h37e1c23_1.conda + sha256: af843b0fe62d128a70f91dc954b2cb692f349a237b461788bd25dd928d0d1ef8 + md5: 9300889791d4decceea3728ad3b423ec depends: - python - - libcxx >=19 - - __osx >=11.0 - - _python_abi3_support 1.* - - cpython >=3.10 - constrains: + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - python 3.12.* *_cpython - __osx >=11.0 - license: MIT - license_family: MIT - size: 36292549 - timestamp: 1780146248330 -- conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.41.2-py310hd2b7e2a_0.conda - noarch: python - sha256: de9bd428d7d2197ccfa35e698e9cd13dedaf8968538fba40fc95d88a5427742d - md5: f90a53c5133c960812d49ba131ae2c05 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 390920 + timestamp: 1762512713481 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py313h9734d34_1.conda + sha256: c8525ae1a739db3c9b4f901d08fd7811402cf46b61ddf5d63419a3c533e02071 + md5: 7ac13a947d4d9f57859993c06faf887b depends: - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - _python_abi3_support 1.* - - cpython >=3.10 - license: MIT - license_family: MIT - size: 42740369 - timestamp: 1780146195695 -- conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.7.1-pyhd8ed1ab_0.conda - sha256: a20c139c372c911b9252f99297a07f2a4cdf336884754a006a09498593556ce0 - md5: 153f1b172beb7f5df84a78b2bde02f24 - depends: - - country_converter - - deprecation - - entsoe-py >=0.3.1 - - geopy - - matplotlib-base - - networkx >=1.10 - - numpy - - openpyxl - - pandas >=0.24.0 - - pycountry - - python >=3.9 - - pyyaml >=5.1.0 - - requests - - scipy - - seaborn - - tqdm - - unidecode - - xlrd - license: GPL-3.0 - license_family: GPL - size: 676989 - timestamp: 1738446720491 -- conda: https://conda.anaconda.org/conda-forge/noarch/powerplantmatching-0.8.1-pyhd8ed1ab_0.conda - sha256: f833d2a36115aa6fd3815394c876bee0bdd0ea850b843a0caeb2b153c37080e4 - md5: 3770774486c8b9e822c6bf996da18a25 - depends: - - country_converter - - deprecation - - entsoe-py >=0.3.1 - - geopy - - matplotlib-base - - networkx >=1.10 - - numpy - - openpyxl - - pandas >=0.24.0,<3 - - pycountry - - python >=3.10 - - pyyaml >=5.1.0 - - requests - - scipy - - seaborn - - tqdm - - unidecode - - xlrd - license: MIT - license_family: MIT - size: 670655 - timestamp: 1770848138584 -- conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.0-pyha770c72_0.conda - sha256: 716960bf0a9eb334458a26b3bdcb17b8d0786062138a4f48c7f335c8418c5d0b - md5: 7859736b4f8ebe6c8481bf48d91c9a1e + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - __osx >=11.0 + - python 3.13.* *_cp313 + - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 396449 + timestamp: 1762512722894 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py314h9d33bd4_1.conda + sha256: cdeb350914094e15ec6310f4699fa81120700ca7ab7162a6b3421f9ea9c690b4 + md5: 8a92a736ab23b4633ac49dcbfcc81e14 depends: - - cfgv >=2.0.0 - - identify >=1.0.0 - - nodeenv >=0.11.1 - - python >=3.10 - - pyyaml >=5.1 - - virtualenv >=20.10.0 - license: MIT - license_family: MIT - size: 201606 - timestamp: 1776858157327 -- conda: https://conda.anaconda.org/conda-forge/noarch/progressbar2-4.5.0-pyhd8ed1ab_1.conda - sha256: 9c9f851688f1463c0c6a667dc34a8bce9a7ee2f630b0346ece448e77938f7d5b - md5: e557abf678a0bf100fe7cf9d2b4f4a72 + - python + - cffi >=1.11 + - zstd >=1.5.7,<1.5.8.0a0 + - python 3.14.* *_cp314 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 397786 + timestamp: 1762512730914 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + sha256: 9485ba49e8f47d2b597dd399e88f4802e100851b27c21d7525625b0b4025a5d9 + md5: ab136e4c34e97f34fb621d2592a393d8 depends: - - python >=3.9 - - python-utils >=3.8.1 + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 54711 - timestamp: 1734172966353 -- conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.6.2-h18fbb6c_2.conda - sha256: c1c9e38646a2d07007844625c8dea82404c8785320f8a6326b9338f8870875d0 - md5: 1aeede769ec2fa0f474f8b73a7ac057f + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 433413 + timestamp: 1764777166076 +- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: 8a1cee28bd0ee7451ada1cd50b64720e57e17ff994fc62dd8329bef570d382e4 + md5: 1626967b574d1784b578b52eaeb071e7 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 + - libgomp >=7.5.0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca constrains: - - proj4 ==999999999999 - license: MIT - license_family: MIT - size: 3240415 - timestamp: 1754927975218 -- conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.7.1-he0df7b0_3.conda - sha256: c94d3d8ef40d1ea018860d66c416003bc03adede7d212efc9218bb64041fe2f7 - md5: 031e33ae075b336c0ce92b14efa886c5 + - openmp_impl <0.0a0 + - msys2-conda-epoch <0.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - _openmp_mutex >=4.5 + size: 52252 + timestamp: 1770943776666 +- conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py312h6b91d65_0.conda + sha256: 8b22d894d8642a42f5c0c9a70293dfed7efcc431552d3746e148897e5e6880c2 + md5: 19164d6ac3875e2dfcb278a9d126af8c depends: - - sqlite - - libtiff - - libcurl - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libtiff >=4.7.1,<4.8.0a0 - - libcurl >=8.18.0,<9.0a0 - - libsqlite >=3.51.2,<4.0a0 - constrains: - - proj4 ==999999999999 - license: MIT - license_family: MIT - size: 3593669 - timestamp: 1770890751115 -- conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.6.2-h8462e38_2.conda - sha256: d3bad35930d6ddaef85881c0bc88a5cd5122a6efa4a8f6b645d4642053f172f7 - md5: 00a64f7f9888ad6a05ff9766058c33cc + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.4 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1026227 + timestamp: 1780913508178 +- conda: https://conda.anaconda.org/conda-forge/win-64/aiohttp-3.14.1-py313h51e1470_0.conda + sha256: d6368a2e48ed310cdc99e5ac0513b84513bbc5148641811a51f2acd7820b84e0 + md5: d899397f22c3651ae1071b64604e1605 depends: - - __osx >=10.13 - - 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 - size: 2914595 - timestamp: 1754928086110 -- conda: https://conda.anaconda.org/conda-forge/osx-64/proj-9.7.1-h4aacef1_3.conda - sha256: 848b0393f363ab49169d9a7d4dccef15cb4b34cbdbc6365240dd7e70bd602173 - md5: 86a72148f2ace31569279a41c903f1be + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - typing_extensions >=4.4 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + run_exports: {} + size: 1033618 + timestamp: 1780913488229 +- conda: https://conda.anaconda.org/conda-forge/win-64/ampl-asl-1.0.0-he0c23c2_2.conda + sha256: 0969867af79bd415322d94845acff44a6cb5d7acb3db02a81b582a57c375de11 + md5: 6cd7240c925d0ba5b9aee6ea1b566d87 depends: - - sqlite - - libtiff - - libcurl - - libcxx >=19 - - __osx >=10.13 - - libcurl >=8.18.0,<9.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - libsqlite >=3.51.2,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 constrains: - - proj4 ==999999999999 - license: MIT - license_family: MIT - size: 3235372 - timestamp: 1770890768263 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.6.2-hdbeaa80_2.conda - sha256: 75e4bfa1a2d2b46b7aa11e2293abfe664f5775f21785fb7e3d41226489687501 - md5: e68d0d91e188ab134cb25675de82b479 + - ampl-mp >=4.0.0 + license: BSD-3-Clause AND SMLNJ + run_exports: + weak: + - ampl-asl >=1.0.0,<1.0.1.0a0 + size: 409018 + timestamp: 1732439566380 +- conda: https://conda.anaconda.org/conda-forge/win-64/argon2-cffi-bindings-25.1.0-py314h5a2d7ad_2.conda + sha256: a742e7cd0d5534bfff3fd550a0c1e430411fad60a24f88930d261056ab08096f + md5: ffa247e46f47e157851dc547f4c513e4 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 + - cffi >=2.0.0b1 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 2787374 - timestamp: 1754927844772 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.7.1-hfb14a63_3.conda - sha256: 14484430a32a13cb9c03ebf3084a4ffb1feb417aa4c23907844fba219924058f - md5: 8f33a4a2b856de0e8f006c489beca62a + run_exports: {} + size: 38653 + timestamp: 1762509771011 +- conda: https://conda.anaconda.org/conda-forge/win-64/astroid-4.0.4-py314h86ab7b2_0.conda + sha256: 18d45f2251b15637c73f3d9a5818601797a9ee89b0bb0203bf810dac27d1294a + md5: d104588051bc8b8c592cfd1ccdbf0a6b depends: - - sqlite - - libtiff - - libcurl - - __osx >=11.0 - - libcxx >=19 - - libsqlite >=3.51.2,<4.0a0 - - libcurl >=8.18.0,<9.0a0 - - libtiff >=4.7.1,<4.8.0a0 - constrains: - - proj4 ==999999999999 - license: MIT - license_family: MIT - size: 3098262 - timestamp: 1770890778843 -- conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.6.2-h7990399_2.conda - sha256: e798e9bd658f6c00cfac0d8573c7fe97d9ebad5966c96c23e0702f44e51905bb - md5: 6e0e8fcc3eb2c1418d663005bf040d8d + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: LGPL-2.1-or-later + license_family: LGPL + run_exports: {} + size: 541771 + timestamp: 1770634544810 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-auth-0.9.3-h2970c50_0.conda + sha256: 1ca3be8873335aff46da2d613c0e9e0c27b9878e402548e3cf31cd378a2f9342 + md5: 6f42aac88a3b880dd3a4e0fe61f418bc + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-http >=0.10.7,<0.10.8.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-io >=0.23.3,<0.23.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-auth >=0.9.3,<0.9.4.0a0 + size: 125616 + timestamp: 1764765271198 +- 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 + run_exports: + weak: + - aws-c-auth >=0.9.6,<0.9.7.0a0 + size: 125813 + timestamp: 1771494179454 +- 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 + run_exports: + weak: + - aws-c-cal >=0.9.13,<0.9.14.0a0 + size: 53613 + timestamp: 1764593604081 +- 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 + run_exports: + weak: + - aws-c-common >=0.12.6,<0.12.7.0a0 + size: 236441 + timestamp: 1763586152571 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-compression-0.3.1-hcb3a2da_9.conda + sha256: ff1046d67709960859adfa5793391a2d233bb432ec7429069fcfab5b643827df + md5: 0888dbe9e883582d138ec6221f5482d6 + 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 + run_exports: + weak: + - aws-c-compression >=0.3.1,<0.3.2.0a0 + size: 23136 + timestamp: 1764593733263 +- 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 + run_exports: + weak: + - aws-c-compression >=0.3.2,<0.3.3.0a0 + size: 23087 + timestamp: 1767790877990 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.7-ha388e84_1.conda + sha256: 5fbbfd835831dace087064d08c38eb279b7db3231fbd0db32fad86fe9273c10c + md5: 34e3b065b76c8a144c92e224cc3f5672 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 + size: 57054 + timestamp: 1764675494741 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-event-stream-0.5.9-h972bbec_2.conda + sha256: a5be74b1fdab94159eedf2c094cf177cbddc921bc775b0daf850e4c0372468f4 + md5: a18eef8a4007656c5408fc8afe9f4442 depends: - - libcurl >=8.14.1,<9.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - sqlite + - 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 + run_exports: + weak: + - aws-c-event-stream >=0.5.9,<0.5.10.0a0 + size: 57333 + timestamp: 1771380438001 +- 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 - constrains: - - proj4 ==999999999999 - license: MIT - license_family: MIT - size: 2788230 - timestamp: 1754928361098 -- conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda - sha256: 8ff06eae963bdc7580ccb246df911614e9a5a23683b26326df76b1b6f3258e94 - md5: f2b0478a02d35bac5b872d4d63b96be3 + - 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 + run_exports: + weak: + - aws-c-http >=0.10.10,<0.10.11.0a0 + size: 207441 + timestamp: 1771421383740 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-http-0.10.7-hc678f4a_5.conda + sha256: 4f41b922ce01c983f98898208d49af5f3d6b0d8f3e8dcb44bd13d8183287b19a + md5: 3427460b0654d317e72a0ba959bb3a23 depends: - - sqlite - - libtiff - - libcurl - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - libsqlite >=3.51.2,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - libcurl >=8.18.0,<9.0a0 - constrains: - - proj4 ==999999999999 - license: MIT - license_family: MIT - size: 3084268 - timestamp: 1770890802564 -- conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - sha256: 013669433eb447548f21c3c6b16b2ed64356f726b5f77c1b39d5ba17a8a4b8bc - md5: a83f6a2fdc079e643237887a37460668 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-compression >=0.3.1,<0.3.2.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-http >=0.10.7,<0.10.8.0a0 + size: 206709 + timestamp: 1764675527860 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.23.3-h0d5b9f9_5.conda + sha256: 2d726ffd67fb387dbebf63c9b9965b476b9d670f683e71c3dca1feb6365ddc7c + md5: 400792109e426730ac9047fd6c9537ef 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-64/prometheus-cpp-1.3.0-h7802330_0.conda - sha256: af754a477ee2681cb7d5d77c621bd590d25fe1caf16741841fc2d176815fc7de - md5: f36107fa2557e63421a46676371c4226 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.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 + run_exports: + weak: + - aws-c-io >=0.23.3,<0.23.4.0a0 + size: 182053 + timestamp: 1765168273517 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-io-0.26.1-h0d5b9f9_2.conda + sha256: 15f28a85ef7b841f75e658392882b9e3ee61f7727cce5ba85a9b5c9fc981ee64 + md5: fbc0da512f0ae855cab743c7ba2d094e depends: - - __osx >=10.13 - - libcurl >=8.10.1,<9.0a0 - - libcxx >=18 - - libzlib >=1.3.1,<2.0a0 - - zlib - license: MIT - license_family: MIT - size: 179103 - timestamp: 1730769223221 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda - sha256: 851a77ae1a8e90db9b9f3c4466abea7afb52713c3d98ceb0d37ba6ff27df2eff - md5: 7172339b49c94275ba42fec3eaeda34f + - 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 + run_exports: + weak: + - aws-c-io >=0.26.1,<0.26.2.0a0 + size: 182264 + timestamp: 1773328915344 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.13.3-hfa314fa_11.conda + sha256: 9b241397ef436dcf67e8e6cde15ff9c0d03ea942ad11e27c77caecce0d51b5be + md5: 6c043365f1d3f89c0b68238c6f5b8cce 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/prometheus_client-0.25.0-pyhd8ed1ab_0.conda - sha256: 4d7ec90d4f9c1f3b4a50623fefe4ebba69f651b102b373f7c0e9dbbfa43d495c - md5: a11ab1f31af799dd93c3a39881528884 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.13.3,<0.13.4.0a0 + size: 206357 + timestamp: 1764681793150 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-mqtt-0.14.0-h833cf40_1.conda + sha256: 6340943c5adfc73a9b9b7e6152a2d8c793fd6d9d85bfaa0b399ca09fcf40ebf8 + md5: 0088f53ad6df2dfb2832d7bde7567dd7 depends: - - python >=3.10 + - 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: 57113 - timestamp: 1775771465170 -- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae - md5: edb16f14d920fb3faf17f5ce582942d6 + license_family: APACHE + run_exports: + weak: + - aws-c-mqtt >=0.14.0,<0.14.1.0a0 + size: 210780 + timestamp: 1771458049739 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.3-ha659bf3_1.conda + sha256: cda138c03683e85f29eafc680b043a40f304ac8759138dc141a42878eb17a90f + md5: dcfc08ccd8e332411c454e38110ea915 depends: - - python >=3.10 - - wcwidth - constrains: - - prompt_toolkit 3.0.52 - license: BSD-3-Clause - license_family: BSD - size: 273927 - timestamp: 1756321848365 -- conda: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.52-hd8ed1ab_0.conda - sha256: e79922a360d7e620df978417dd033e66226e809961c3e659a193f978a75a9b0b - md5: 6d034d3a6093adbba7b24cb69c8c621e + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - aws-checksums >=0.2.7,<0.2.8.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + size: 141805 + timestamp: 1765174184168 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-s3-0.11.5-h3ec5e31_3.conda + sha256: 2bcf3bd41cc3a7e8cac172d2b59da3577e473ca50c274e0cd02da43f943258db + md5: 086743bc5701b6e6d542bcacbfbfdb89 depends: - - prompt-toolkit >=3.0.52,<3.0.53.0a0 - license: BSD-3-Clause - license_family: BSD - size: 7212 - timestamp: 1756321849562 -- conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.5.2-py312h8a5da7c_0.conda - sha256: c9138bbb53d4bac010526a8deace8cf764aac13fad5280d0a71556bad6c04d29 - md5: d681d6ad9fa2ca3c8cacb7f3b23d54f3 + - 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 + run_exports: + weak: + - aws-c-s3 >=0.11.5,<0.11.6.0a0 + size: 141978 + timestamp: 1771586339556 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-c-sdkutils-0.2.4-hcb3a2da_4.conda + sha256: c86c30edba7457e04d905c959328142603b62d7d1888aed893b2e21cca9c302c + md5: 3c97faee5be6fd0069410cf2bca71c85 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - 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: 51586 - timestamp: 1780037816755 -- conda: https://conda.anaconda.org/conda-forge/osx-64/propcache-0.5.2-py312heb39f77_0.conda - sha256: ec41a0405198e471a600091ef26bd39052a5ef88328d421571cdd8a4b64e6380 - md5: 2f121d7f322c261516114043a493193f + run_exports: + weak: + - aws-c-sdkutils >=0.2.4,<0.2.5.0a0 + size: 56509 + timestamp: 1764610148907 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.10-hcb3a2da_0.conda + sha256: 505b2365bbf3c197c9c2e007ba8262bcdaaddc970f84ce67cf73868ca2990989 + md5: 96e950e5007fb691322db578736aba52 depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - 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 + run_exports: + weak: + - aws-checksums >=0.2.10,<0.2.11.0a0 + size: 116853 + timestamp: 1771063509650 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-checksums-0.2.7-hcb3a2da_5.conda + sha256: ca5e0719b7ca257462a4aa7d3b99fde756afaf579ee1472cac91c04c7bf3a725 + md5: 38f1501fc55f833a4567c83581a2d2ed + 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: 49489 - timestamp: 1780038241106 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.5.2-py312h04c11ed_0.conda - sha256: c98b285f5b33098a73fb9e69da6ec46592813ee6b5bcddc77fa7014515fd93ef - md5: 6c4420db8ea9288594164a8b5f8bcf6c + run_exports: + weak: + - aws-checksums >=0.2.7,<0.2.8.0a0 + size: 93142 + timestamp: 1764593765744 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.35.4-hca034e6_0.conda + sha256: 7b4aef9e1823207a5f91e8b5b95853bdfafcfea306cd62b99fd53c38aa5c3da0 + md5: ce1a20b5c406727e32222ac91e5848c4 depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-c-mqtt >=0.13.3,<0.13.4.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.5.7,<0.5.8.0a0 + - aws-c-http >=0.10.7,<0.10.8.0a0 + - aws-c-cal >=0.9.13,<0.9.14.0a0 + - aws-c-auth >=0.9.3,<0.9.4.0a0 + - aws-c-s3 >=0.11.3,<0.11.4.0a0 + - aws-c-io >=0.23.3,<0.23.4.0a0 license: Apache-2.0 license_family: APACHE - size: 50356 - timestamp: 1780038316255 -- conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda - sha256: 5f695a82d3560549f845feaf46eb7129f8c53049a7e1eb5304eb43e06bdbbd2e - md5: cd55f9c5f1b570363365671de7fc6d89 + run_exports: + weak: + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + size: 302247 + timestamp: 1765200336894 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-crt-cpp-0.37.3-h5e571c5_0.conda + sha256: d970dfe1a26c8f78c8f5215aacb96c9105a845a7e6bb00973051c077ef6d26be + md5: b80eaad1305cbdefefb010a5724acad5 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 + - 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: 49101 - timestamp: 1780037831647 -- conda: https://conda.anaconda.org/conda-forge/noarch/proto-plus-1.28.0-pyhcf101f3_0.conda - sha256: 222fb442e58e7422ff3b486b9419f9408111aed35503775815b30c11233ecdae - md5: 83afc1048b879d3c2dd91f48ce78978f + run_exports: + weak: + - aws-crt-cpp >=0.37.3,<0.37.4.0a0 + size: 304139 + timestamp: 1771983373213 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.606-hac16450_10.conda + sha256: 8a12c4f6774ecb3641048b74133ff5e6c2b560469fe5ac1d7515631b84e63059 + md5: d9b942bede589d0ad1e8e360e970efd0 depends: - - python >=3.10 - - protobuf >=4.25.8,<8.0.0 - - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - aws-crt-cpp >=0.35.4,<0.35.5.0a0 + - aws-c-common >=0.12.6,<0.12.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - aws-c-event-stream >=0.5.7,<0.5.8.0a0 license: Apache-2.0 license_family: APACHE - size: 43676 - timestamp: 1778156725331 -- conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-6.31.1-py312hb8af0ac_2.conda - sha256: 9c1dffa6371b5ae5a7659f08fa075a1a9d7b32fd11d5eaa1e7192eba4cae1207 - md5: 2aaf8d6c729beb30d1b41964e7fb2cd6 + run_exports: + weak: + - aws-sdk-cpp >=1.11.606,<1.11.607.0a0 + size: 3438133 + timestamp: 1765257127502 +- conda: https://conda.anaconda.org/conda-forge/win-64/aws-sdk-cpp-1.11.747-h532609e_1.conda + sha256: fca0b8b5c8c5153cbc6e2d33db098218f5df8d9494bdebd18884f98d21cd9a69 + md5: 502016afd445393bf698dfcc005909de depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libstdcxx >=14 + - 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 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - libprotobuf 6.31.1 - license: BSD-3-Clause - license_family: BSD - size: 479025 - timestamp: 1760393393854 -- conda: https://conda.anaconda.org/conda-forge/osx-64/protobuf-6.31.1-py312h457ac99_2.conda - sha256: f943fdccd095beaa7773615dab762ce846aa1f98a9d7ba0dcb90b85de77bdb21 - md5: 4283909633ec7d07839e150f7a52c01b + - 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 + run_exports: + weak: + - aws-sdk-cpp >=1.11.747,<1.11.748.0a0 + size: 23793013 + timestamp: 1772084570337 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-core-cpp-1.16.2-h49e36cd_0.conda + sha256: 3f3bdc95cc398afe1dc23655aa3480fd2c972307987b2451d4723de6228b9427 + md5: b625bbba0b9ae28003bd96342043ea0c depends: - - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcxx >=19 - - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - libprotobuf 6.31.1 - license: BSD-3-Clause - license_family: BSD - size: 463022 - timestamp: 1760393759851 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-6.31.1-py312h2c926ec_2.conda - sha256: b9eeaac17cae9fa0cd546b9eb4a29dd0672e36749b6b1dac15f14232d7fba4fd - md5: a772c3d86f4e74dabcae0817d2af73c5 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + size: 500955 + timestamp: 1768837821295 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-identity-cpp-1.13.3-h5ffce34_1.conda + sha256: 33a0c86a7095d0716f428818157fc1d74b04949f99d2211b3030b9c9f1426c63 + md5: 998e10f568f0db5615ef880673bc3f35 depends: - - __osx >=11.0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libcxx >=19 - - 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: - - libprotobuf 6.31.1 - license: BSD-3-Clause - license_family: BSD - size: 458272 - timestamp: 1760394386502 -- conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py312hcb3287e_2.conda - sha256: 80fa7505b8d586b6913ff614fda7b42f724c6f1b0a46354d11f0b94ad3131243 - md5: 989246a50fed28bc6743d77805f6cc95 + - 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 + run_exports: + weak: + - azure-identity-cpp >=1.13.3,<1.13.4.0a0 + size: 424962 + timestamp: 1770345047909 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-blobs-cpp-12.16.0-h81bf7d1_2.conda + sha256: 303e08ee92f09e98d23bfd8c566f9f46f50dc732792497833425b0f6f2a61fd1 + md5: cff26b4c1811a4cb84a8d3e5ff955650 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 - ucrt >=10.0.20348.0 - - vc >=14.2 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - constrains: - - libprotobuf 6.31.1 - license: BSD-3-Clause - license_family: BSD - size: 480805 - timestamp: 1760394064571 -- conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.33.5-py312hcb3287e_2.conda - sha256: e0b7a45635bd862851bd0d2c032caa68ed6efa3e81f158f2b499bf302215b871 - md5: fb436c574057d701c5ab12e82b2a8941 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-blobs-cpp >=12.16.0,<12.16.1.0a0 + size: 782578 + timestamp: 1778727275165 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-common-cpp-12.13.0-h5ffce34_0.conda + sha256: a6c53ef367cfbee76793ea35160f902bd5d1ebebb579a7a53d6b4de3b2011b32 + md5: 40d5c4a1192882e4f6c4a59631f0d2d4 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - azure-core-cpp >=1.16.2,<1.16.3.0a0 - ucrt >=10.0.20348.0 - - vc >=14.3 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - libprotobuf 6.33.5 - license: BSD-3-Clause - license_family: BSD - size: 487552 - timestamp: 1773266611956 -- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda - sha256: d834fd656133c9e4eaf63ffe9a117c7d0917d86d89f7d64073f4e3a0020bd8a7 - md5: dd94c506b119130aef5a9382aed648e7 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-common-cpp >=12.13.0,<12.13.1.0a0 + size: 256294 + timestamp: 1778662025067 +- conda: https://conda.anaconda.org/conda-forge/win-64/azure-storage-files-datalake-cpp-12.14.0-hab49af2_2.conda + sha256: 4ee09742ae920c02bf84926c63d339b9662785b5aec80963af709b1c139068f4 + md5: 8a63603563a73598ab7d632158be0aa1 + 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.13.0,<12.13.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - azure-storage-files-datalake-cpp >=12.14.0,<12.14.1.0a0 + size: 439535 + timestamp: 1778763967002 +- conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.6.0-py312h06d0912_0.conda + sha256: 9926f274d8b642f5421e4536952cb158912517f40acf1df3a8fbd891c5f600ed + md5: 0d8bcdc0af72309fb998811f5f4db2c5 depends: - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 + - 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 + run_exports: {} + size: 238542 + timestamp: 1781450836106 +- conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.6.0-py313h2a31948_0.conda + sha256: 65eb354dbaba5925f536613c8d645a6254226eb6c6f16cc6e57033eb97cc0159 + md5: 144ae232f6f920307f4aadc088137589 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - zstd >=1.5.7,<1.6.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause AND MIT AND EPL-2.0 + run_exports: {} + size: 241936 + timestamp: 1781450845361 +- 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 - size: 225545 - timestamp: 1769678155334 -- conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-7.2.2-py312hf7082af_0.conda - sha256: 517c17b24349476535db4da7d1cd31538dadf2c77f9f7f7d8be6b7dc5dfbb636 - md5: 1fd947fae149960538fc941b8f122bc1 + run_exports: + weak: + - blosc >=1.21.6,<2.0a0 + size: 49840 + timestamp: 1733513605730 +- conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py312h226b611_3.conda + sha256: def9bf1ebd27a95f4bc9757df34a89a9b5ad24842904105af432d8ff8c75867a + md5: a062b6b39e12d9b4a2fb8c79a0ac4b8f depends: + - numpy - python - - __osx >=10.13 + - 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 + - numpy >=1.23,<3 - python_abi 3.12.* *_cp312 - license: BSD-3-Clause + license: BSD-2-Clause license_family: BSD - size: 236338 - timestamp: 1769678402626 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hb3ab3e3_0.conda - sha256: 6d0e21c76436374635c074208cfeee62a94d3c37d0527ad67fd8a7615e546a05 - md5: fd856899666759403b3c16dcba2f56ff + run_exports: {} + size: 140489 + timestamp: 1762775808683 +- conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py313haacffc7_3.conda + sha256: fea2dfecd1dda78c7e8beecd4afdf60b21b8ab99b90913d134cb4c9106d4dfc9 + md5: 226e4715a3855061822ea89282958ff8 depends: + - numpy - python - - __osx >=11.0 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause + - 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.13.* *_cp313 + - numpy >=1.23,<3 + license: BSD-2-Clause license_family: BSD - size: 239031 - timestamp: 1769678393511 -- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda - sha256: edffc84c001a05b996b5f8607c8164432754e86ec9224e831cd00ebabdec04e7 - md5: a2724c93b745fc7861948eb8b9f6679a + run_exports: {} + size: 140873 + timestamp: 1762775782554 +- conda: https://conda.anaconda.org/conda-forge/win-64/bottleneck-1.6.0-np2py314hea88fa1_3.conda + sha256: 480b5a3f635e6cbefceb29adb448b83e580fede49022894d0939bce0ebd1cfe7 + md5: 9f8dae835389010da7ad59bc673dd06b depends: + - numpy - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 + license: BSD-2-Clause license_family: BSD - size: 242769 - timestamp: 1769678170631 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 - md5: b3c17d95b5a10c6e64a21fa17573e70e + run_exports: {} + size: 141911 + timestamp: 1762775771443 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + sha256: a4fffdf1c9b9d3d0d787e20c724cff3a284dfa3773f9ce609c93b1cfd0ce8933 + md5: bc58fdbced45bb096364de0fba1637af depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - 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 - size: 8252 - timestamp: 1726802366959 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-h00291cd_1002.conda - sha256: 05944ca3445f31614f8c674c560bca02ff05cb51637a96f665cb2bbe496099e5 - md5: 8bcf980d2c6b17094961198284b8e862 + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 20342 + timestamp: 1764017988883 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + sha256: e76966232ef9612de33c2087e3c92c2dc42ea5f300050735a3c646f33bce0429 + md5: 6abd7089eb3f0c790235fe469558d190 depends: - - __osx >=10.13 + - 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 - size: 8364 - timestamp: 1726802331537 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.conda - sha256: 8ed65e17fbb0ca944bfb8093b60086e3f9dd678c3448b5de212017394c247ee3 - md5: 415816daf82e0b23a736a069a75e9da7 + run_exports: {} + size: 22714 + timestamp: 1764017952449 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda + sha256: 2bb6f384a51929ef2d5d6039fcf6c294874f20aaab2f63ca768cbe462ed4b379 + md5: e8e7a6346a9e50d19b4daf41f367366f depends: - - __osx >=11.0 + - 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: + - libbrotlicommon 1.2.0 hfd05255_1 license: MIT license_family: MIT - size: 8381 - timestamp: 1726802424786 -- conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda - sha256: 7e446bafb4d692792310ed022fe284e848c6a868c861655a92435af7368bae7b - md5: 3c8f2573569bb816483e5cf57efbbe29 + run_exports: {} + size: 335482 + timestamp: 1764018063640 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py313h3ebfc14_1.conda + sha256: 3558006cd6e836de8dff53cbe5f0b9959f96ea6a6776b4e14f1c524916dd956c + md5: 916a39a0261621b8c33e9db2366dd427 depends: - - libgcc >=13 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libbrotlicommon 1.2.0 hfd05255_1 license: MIT license_family: MIT - size: 9389 - timestamp: 1726802555076 -- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 - md5: 7d9daffbb8d8e0af0f769dbbcd173a54 - depends: - - python >=3.9 - license: ISC - size: 19457 - timestamp: 1733302371990 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pulp-2.8.0-py312hd0750ca_3.conda - sha256: ebc3fcf01092a6186e574295f808ba272fbf88234991262deef222b039023d73 - md5: 1ade2915cfabbcb8f07e7b4387f4d49b + run_exports: {} + size: 335605 + timestamp: 1764018132514 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda + sha256: 6854ee7675135c57c73a04849c29cbebc2fb6a3a3bfee1f308e64bf23074719b + md5: 1302b74b93c44791403cbeee6a0f62a3 depends: - - amply >=0.1.2 - - coin-or-cbc - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libbrotlicommon 1.2.0 hfd05255_1 license: MIT license_family: MIT - size: 225053 - timestamp: 1757853374018 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pulp-2.8.0-py312hda2ad9a_3.conda - sha256: c702ca6041aaee5bb6517796bfd2412d38f297854cc2b8911896d8f48ca103e4 - md5: b6f6e7a2c6800cc8b57e072824a00ffc + run_exports: {} + size: 335782 + timestamp: 1764018443683 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 + md5: 4cb8e6b48f67de0b018719cdf1136306 depends: - - amply >=0.1.2 - - coin-or-cbc - - 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: bzip2-1.0.6 + license_family: BSD + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 56115 + timestamp: 1771350256444 +- 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: 224939 - timestamp: 1757853409971 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pulp-2.8.0-py312h38bd297_3.conda - sha256: f38f841323428a62961b33454f420ff567c3f0d9c88b1efe329cdeeba6d6fa71 - md5: c04e802b868f8d004e42d4a35f6a30f0 + run_exports: + weak: + - c-ares >=1.34.6,<2.0a0 + size: 193550 + timestamp: 1765215100218 +- conda: https://conda.anaconda.org/conda-forge/win-64/c-blosc2-2.23.1-h2af8807_0.conda + sha256: 9579087e7a40372006ebda6c7aa48b36dd66effa4e4d009e1ab1ad7d8718dd0c + md5: bf3ca174f488c0bfec33d84438c0f008 depends: - - amply >=0.1.2 - - coin-or-cbc + - lz4-c >=1.10.0,<1.11.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - c-blosc2 >=2.23.1,<2.24.0a0 + size: 226837 + timestamp: 1772620607087 +- conda: https://conda.anaconda.org/conda-forge/win-64/c-blosc2-3.1.4-h2af8807_0.conda + sha256: 6e20bfd44d11081ff03409762492f42f0cff3468676ab4a03336133cd3fa0ce1 + md5: c36ed9aa63449039a94d942e63ab4381 + depends: + - lz4-c >=1.10.0,<1.11.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zlib-ng >=2.3.3,<2.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - c-blosc2 >=3.1.4,<3.2.0a0 + size: 254422 + timestamp: 1781706559460 +- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + sha256: 9ee4ad706c5d3e1c6c469785d60e3c2b263eec569be0eac7be33fbaef978bccc + md5: 52ea1beba35b69852d210242dd20f97d + depends: + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 1537783 + timestamp: 1766416059188 +- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda + sha256: b9f577bddb033dba4533e851853924bfe7b7c1623d0697df382eef177308a917 + md5: 20e32ced54300292aff690a69c5e7b97 + depends: + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-only or MPL-1.1 + run_exports: + weak: + - cairo >=1.18.4,<2.0a0 + size: 1524254 + timestamp: 1741555212198 +- conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py312hc128f0a_1.conda + sha256: 4a4c6373e6acdbf14cc84ac9ed1d94edee9a933207a4187b443208dc1e0edfb0 + md5: fea4e4b20624096e12ce531ad029ed31 + depends: + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 225319 - timestamp: 1757853445594 -- conda: https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py312he39998a_3.conda - sha256: 3bb5873de8cc58bf60e98ede81f9badc662df008d4721a11ca67436c42e2ebcd - md5: 24137cbf886d65446010a6db084bfcef + - shapely >=2.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1583967 + timestamp: 1756884001067 +- conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py313hc90dcd4_1.conda + sha256: e2295645446dd19f991717880f3a6b54cdce3bbab785a9101337ab808d7ff17e + md5: a3e17bc9d5a5e82c0c0fbea5ced9a5ff + depends: + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - shapely >=2.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1598853 + timestamp: 1756884228101 +- conda: https://conda.anaconda.org/conda-forge/win-64/cartopy-0.25.0-py314hd8fd7ce_1.conda + sha256: e5d13786c9629c3a83089ee46abd828cabdf2dcfe74ddcd4cfc0f2b1b7f67cbb + md5: f087cf669551d9c98b68869395f311f4 + depends: + - matplotlib-base >=3.6 + - numpy >=1.23,<3 + - packaging >=21 + - pyproj >=3.3.1 + - pyshp >=2.3 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - shapely >=2.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1602977 + timestamp: 1756883888479 +- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py312he06e257_1.conda + sha256: 3e3bdcb85a2e79fe47d9c8ce64903c76f663b39cb63b8e761f6f884e76127f82 + md5: 46f7dccfee37a52a97c0ed6f33fcf0a3 depends: - - amply >=0.1.2 - - coin-or-cbc + - pycparser - 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 - size: 14328976 - timestamp: 1757853424445 -- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 - md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + run_exports: {} + size: 291324 + timestamp: 1761203195397 +- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py313h5ea7bf4_1.conda + sha256: f867a11f42bb64a09b232e3decf10f8a8fe5194d7e3a216c6bac9f40483bd1c6 + md5: 55b44664f66a2caf584d72196aa98af9 depends: - - python >=3.9 + - pycparser + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 16668 - timestamp: 1733569518868 -- conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - sha256: 6d8f03c13d085a569fde931892cded813474acbef2e03381a1a87f420c7da035 - md5: 46830ee16925d5ed250850503b5dc3a8 + run_exports: {} + size: 292681 + timestamp: 1761203203673 +- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda + sha256: 924f2f01fa7a62401145ef35ab6fc95f323b7418b2644a87fea0ea68048880ed + md5: c360170be1c9183654a240aadbedad94 depends: - - python >=3.9 + - pycparser + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 25766 - timestamp: 1733236452235 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-21.0.0-py312h7900ff3_3.conda - sha256: f7874f2b9157def874c0d7c69c64876e698de22c728b3a8b27b143bfe986eaf7 - md5: 17cade9505f6782f9df648844d07f23a - depends: - - libarrow-acero 21.0.0.* - - libarrow-dataset 21.0.0.* - - libarrow-substrait 21.0.0.* - - libparquet 21.0.0.* - - pyarrow-core 21.0.0 *_3_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 33391 - timestamp: 1770649947337 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-23.0.0-py312h7900ff3_0.conda - sha256: a188741519a763aeb2ca3da6cc6ef1ec80915a2f1ea51402369dd4f06279968f - md5: 37143c8f2ee5efeae94e09654d284350 - depends: - - libarrow-acero 23.0.0.* - - libarrow-dataset 23.0.0.* - - libarrow-substrait 23.0.0.* - - libparquet 23.0.0.* - - pyarrow-core 23.0.0 *_0_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 27287 - timestamp: 1769291578069 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-21.0.0-py312hb401068_3.conda - sha256: a765b006165f51833fdf0ae228b085e4c68ae20b492e7b47bd927ecdb370c08c - md5: 663118ba01872e23d71eb17b8e617168 - depends: - - libarrow-acero 21.0.0.* - - libarrow-dataset 21.0.0.* - - libarrow-substrait 21.0.0.* - - libparquet 21.0.0.* - - pyarrow-core 21.0.0 *_3_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 33389 - timestamp: 1770650434937 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-23.0.0-py312hb401068_0.conda - sha256: 5a86def13d0b89b649f3c9bc07f175b88aa44e84c50468e416b8b83681a5d1b1 - md5: 4e75d068299eb2fcd0ecc448d99a6880 - depends: - - libarrow-acero 23.0.0.* - - libarrow-dataset 23.0.0.* - - libarrow-substrait 23.0.0.* - - libparquet 23.0.0.* - - pyarrow-core 23.0.0 *_0_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 27204 - timestamp: 1769291581498 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-21.0.0-py312h1f38498_3.conda - sha256: a357a6646043c7ebc51d233ab7b46a69874f5ce5aa6ee8412ac734f9abe5c0ea - md5: e86d99f7ece7a3c34dad3e3e3c357500 - depends: - - libarrow-acero 21.0.0.* - - libarrow-dataset 21.0.0.* - - libarrow-substrait 21.0.0.* - - libparquet 21.0.0.* - - pyarrow-core 21.0.0 *_3_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 33429 - timestamp: 1770650291141 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-23.0.0-py312h1f38498_0.conda - sha256: 980d0c5e8c5828ec35d9e99bde1301c73e73c0bdd50a65709972496525d58302 - md5: 5a94239761dac0bef912f3fa75e00e53 - depends: - - libarrow-acero 23.0.0.* - - libarrow-dataset 23.0.0.* - - libarrow-substrait 23.0.0.* - - libparquet 23.0.0.* - - pyarrow-core 23.0.0 *_0_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 27315 - timestamp: 1769291405922 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py312h2e8e312_0.conda - sha256: c77b31c6adad7b1919c2e7f4b9e6257a1effc8613b17a540237f9fac0d5c2dfc - md5: e1519e126722ddb9406bb63a9393b59c - depends: - - libarrow-acero 23.0.0.* - - libarrow-dataset 23.0.0.* - - libarrow-substrait 23.0.0.* - - libparquet 23.0.0.* - - pyarrow-core 23.0.0 *_0_* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 27620 - timestamp: 1769291986767 -- 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-21.0.0-py312hc195796_3_cpu.conda - build_number: 3 - sha256: 971bda6454d8a8a0eba51bf5d4ad218706e3be9fd8f1449d60cacf401dbf53b8 - md5: 4093c96a1b3b192e811543e57a1a347d + run_exports: {} + size: 294731 + timestamp: 1761203441365 +- conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py312h196c9fc_1.conda + sha256: 59f52a05804736e08b2f9d623c46b928392a17fea40993c22902f823fae02de2 + md5: 050bf7fb12ce89a057121f790d0fc659 depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 21.0.0.* *cpu - - libarrow-compute 21.0.0.* *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.21.2 - numpy >=1.23,<3 - - apache-arrow-proc * cpu - license: Apache-2.0 - license_family: APACHE - size: 4708748 - timestamp: 1770649937127 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-23.0.0-py312h2054cf2_0_cpu.conda - sha256: b8280cfa171e136952e6e8d64788b552ec69576ddb44d6c3b13e7bcdaa347cca - md5: b1d1c92d8d625d5e969adfd9d19168d8 - depends: - - __glibc >=2.17,<3.0.a0 - - libarrow 23.0.0.* *cpu - - libarrow-compute 23.0.0.* *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 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 371147 + timestamp: 1768511070154 +- conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py313h0591002_1.conda + sha256: d27239fbef289449c7e83f6d43b995348d01df6cff1ae8a53916810efd00c9a0 + md5: 3bbc3f10bad50cdfdb4a8d9bf694982d + depends: + - numpy >=1.21.2 - numpy >=1.23,<3 - license: Apache-2.0 - license_family: APACHE - size: 5310314 - timestamp: 1770672654158 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-21.0.0-py312h46fdf74_3_cpu.conda - build_number: 3 - sha256: a479e8e6c43866e1ac247718ea49423b85fc6953c32895a7ae0d95743c214eee - md5: bc3ec64f406a65e66c49c291a7dd763b + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 371873 + timestamp: 1768511061082 +- conda: https://conda.anaconda.org/conda-forge/win-64/cftime-1.6.5-py314h2dcd201_1.conda + sha256: c3f5b0645a746dc520ceb30171c7e9938f61c57cffb0131085f0b42002d2f62c + md5: ed5f4a7e6c49c680bfe7f2ff0ec583be depends: - - __osx >=10.13 - - libarrow 21.0.0.* *cpu - - libarrow-compute 21.0.0.* *cpu - - libcxx >=18 - - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - apache-arrow-proc * cpu + - numpy >=1.21.2 - numpy >=1.23,<3 - license: Apache-2.0 - license_family: APACHE - size: 4343661 - timestamp: 1770650313474 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyarrow-core-23.0.0-py312hfcd758a_0_cpu.conda - sha256: 3b8c0bf5f134d3b9724fe9710919ecc6335ccd9fcb89ffceaed30348a63d2248 - md5: 56f385be8045a613bae647a4b7e1b666 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 377553 + timestamp: 1768511112844 +- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cbc-2.10.12-hd3ed8bd_3.conda + sha256: 267c5349f017dc0264f2207dc7dbcaa723d95156381f93c70d7f5317a2936006 + md5: 1a4baa2f67377e0c55199c0f6fb243c4 depends: - - __osx >=10.13 - - libarrow 23.0.0.* *cpu - - libarrow-compute 23.0.0.* *cpu - - libcxx >=21 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-cgl >=0.60,<0.61.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - mkl-static + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - apache-arrow-proc * cpu - - numpy >=1.23,<3 - license: Apache-2.0 - license_family: APACHE - size: 4430641 - timestamp: 1770672748743 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-21.0.0-py312hae6ed00_3_cpu.conda - build_number: 3 - sha256: 4cddca7233d23e8898813d897472549436ccab451155fa616f853778511a3525 - md5: e4f490b2024c9f1813d3019bd90e95bd + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cbc >=2.10.12,<2.11.0a0 + - mkl-static + size: 3618368 + timestamp: 1753932634209 +- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-cgl-0.60.9-hacf86d0_5.conda + sha256: 1aaa50213704ac118c6c37ee570bcf0b0d070500bc544e07da4400ea20a81abd + md5: f6c0a31bbd15559ae27c11385ff1c360 depends: - - __osx >=11.0 - - libarrow 21.0.0.* *cpu - - libarrow-compute 21.0.0.* *cpu - - libcxx >=18 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-clp >=1.17,<1.18.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - mkl-static + - 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 - size: 4207799 - timestamp: 1770650247020 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-23.0.0-py312h21b41d0_0_cpu.conda - sha256: c6594cf563823540b771cc7bd83681dd3f7f8068e04be06ed629ae3f918ef631 - md5: 724800000ee5b687c836cc33cdd83b26 + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-cgl >=0.60,<0.61.0a0 + - mkl-static + size: 1004850 + timestamp: 1753923034553 +- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-clp-1.17.10-h626fd10_2.conda + sha256: 82658130feca5915961cd4ea6fdbf2712b6440aedbd7b080bf9a0b8fe4e45e18 + md5: 4fb1c61625995e7d0f14371bc0ba2852 depends: - - __osx >=11.0 - - libarrow 23.0.0.* *cpu - - libarrow-compute 23.0.0.* *cpu - - libcxx >=21 + - bzip2 >=1.0.8,<2.0a0 + - coin-or-osi >=0.108,<0.109.0a0 + - coin-or-utils >=2.11,<2.12.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 - libzlib >=1.3.1,<2.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - mkl-static + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - apache-arrow-proc * cpu - - numpy >=1.23,<3 - license: Apache-2.0 - license_family: APACHE - size: 4237514 - timestamp: 1770673451923 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py312h85419b5_0_cpu.conda - sha256: 2cc38a12d517c57204a3af60ca72ed9cb98250e4b98dec4feb8fe5076ac9fb60 - md5: f72dc289f49117c9bf697dffd7174286 + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-clp >=1.17,<1.18.0a0 + - mkl-static + size: 3095349 + timestamp: 1753922878665 +- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-osi-0.108.11-hd615c49_6.conda + sha256: 4f4b562b308dbfdda92de2d3bb2de7c8a73ffa50254e22284d51951f91f2f016 + md5: cc4d1ff10fcd007cdce8eeeeb5d2a47c depends: - - libarrow 23.0.0.* *cpu - - libarrow-compute 23.0.0.* *cpu + - bzip2 >=1.0.8,<2.0a0 + - coin-or-utils >=2.11,<2.12.0a0 - 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.21,<3 - - apache-arrow-proc * cpu - license: Apache-2.0 - license_family: APACHE - size: 3557733 - timestamp: 1769291505775 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.1-py312h12c7521_0_cpu.conda - sha256: 617bfc043a1994a6b1ad17aa67411c6bd92fc1bc474c5f3c6e6dd8c32f84be24 - md5: 57a03f6ba3866b0fa13bee3d0ae7aed8 + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-osi >=0.108,<0.109.0a0 + size: 737106 + timestamp: 1754085036510 +- conda: https://conda.anaconda.org/conda-forge/win-64/coin-or-utils-2.11.12-h7214e40_4.conda + sha256: 710b47e7f9693145b5edc481e1880b15f0968986317e497d2eee5be647ba7d77 + md5: 3ebcb4d90b869ac257cc40b134ed4b87 depends: - - libarrow 23.0.1.* *cpu - - libarrow-compute 23.0.1.* *cpu + - bzip2 >=1.0.8,<2.0a0 - 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/pyasn1-0.6.3-pyhcf101f3_0.conda - sha256: 6fd53b7a2793404aef62313ff2fcfef0c661d6b71de90ef3d38c0908249eea76 - md5: f5a488544d2eb37f46b3bebf1f378337 + - coincbc * *_metapackage + license: EPL-2.0 + license_family: OTHER + run_exports: + weak: + - coin-or-utils >=2.11,<2.12.0a0 + size: 1098659 + timestamp: 1754074610069 +- conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py312h78d62e6_4.conda + sha256: 5f0dd3a4243e8293acc40abf3b11bcb23401268a1ef2ed3bce4d5a060383c1da + md5: 475bd41a63e613f2f2a2764cd1cd3b25 depends: - - python >=3.10 + - numpy >=1.25 - python - license: BSD-2-Clause - license_family: BSD - size: 66593 - timestamp: 1773729387446 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyasn1-modules-0.4.2-pyhd8ed1ab_0.conda - sha256: 5495061f5d3d6b82b74d400273c586e7c1f1700183de1d2d1688e900071687cb - md5: c689b62552f6b63f32f3322e463f3805 - depends: - - pyasn1 >=0.6.1,<0.7.0 - - python >=3.9 - license: BSD-2-Clause + - 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 - size: 95990 - timestamp: 1743436137965 -- conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.26.1-pyhcf101f3_0.conda - sha256: fd9b0a389b21dc2ccb11925db83a5e9e32652e87971f93c23358d51c3632d96d - md5: b0969b1326b5b9d6094dd1831eb48919 + run_exports: {} + size: 244035 + timestamp: 1769155978578 +- conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py313h1a38498_4.conda + sha256: fb254e7e29535ea0a63b8fba6299f7e4ccd0efcc40750c8cd64e42a0a3b79da7 + md5: 726aa233b5e4613e546ca84cd63cbd45 depends: - - python >=3.10 - - pyyaml >=3.1 - - latexcodec >=1.0.4 - - importlib-metadata + - numpy >=1.25 - python - license: MIT - license_family: MIT - size: 78091 - timestamp: 1775231969598 -- conda: https://conda.anaconda.org/conda-forge/noarch/pybtex-docutils-1.0.3-pyhcf101f3_4.conda - sha256: a0397b8fc65eabd773fe33affb726fe9d16c8f0a8ab7c3493d80c412ef2539a6 - md5: 75f19dd4b0b95ce928286e18c561cb13 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 245288 + timestamp: 1769155992139 +- conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + sha256: f141bcbf8e490b49b2f53f517173d13a64d75e43cfae170e0d931cb0b66f4bce + md5: c26934035616f7d578f9da0491aed3d8 depends: - - python >=3.10 - - setuptools - - docutils >=0.14 - - pybtex >=0.16 + - numpy >=1.25 - python - license: MIT - license_family: MIT - size: 14980 - timestamp: 1765317730499 -- conda: https://conda.anaconda.org/conda-forge/noarch/pycountry-24.6.1-pyhd8ed1ab_0.conda - sha256: de60a268ee916eab46016e8b76b6bbd858710dcedeb7188d5e100b863c24cd1c - md5: 62ed8c560f1b5b8d74ed11e68e9ae223 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 247437 + timestamp: 1769155978556 +- conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py312h232196e_0.conda + sha256: e55976b9c9f94346e4503b75b150b6d3d47d7945374497df86380fd08a5eb078 + md5: 0924772e0c4173dd40c20a2e744dede4 depends: - - python >=3.6,<4.0 - - setuptools - license: LGPL-2.1-or-later - license_family: LGPL - size: 3105570 - timestamp: 1718094617616 -- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda - sha256: e27e0473fc6723311a0bd48b89b616fa1b996a2f7a2b555338cbbcfb9c640568 - md5: 9c5491066224083c41b6d5635ed7107b + - cffi >=2.0 + - openssl >=3.5.7,<4.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 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1644715 + timestamp: 1781385605468 +- conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py313hf5c5e30_0.conda + sha256: 2d255cc17d0a960a49678b0d5b8988b1a47837e91e3e009d4a19527e0ca6c198 + md5: f44f6ceaa7d02fe9736af0f514796f79 depends: - - python >=3.10 - - python - license: BSD-3-Clause + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT license_family: BSD - size: 55886 - timestamp: 1779293633166 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda - sha256: 69700e31165df070e9716315e042196aa92525dae5deb5107785847ab9f4189f - md5: 729843edafc0899b3348bd3f19525b9d + run_exports: {} + size: 1647632 + timestamp: 1781385579985 +- conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-49.0.0-py314he884d78_0.conda + sha256: 7348f37f03538c7755824a39f33f6f30312e3349cd7b0a8b285a0bc377ba159e + md5: d8cfad425d09c7838d724f6c9501a1c4 depends: - - typing-inspection >=0.4.2 - - typing_extensions >=4.14.1 - - python >=3.10 - - annotated-types >=0.6.0 - - pydantic-core ==2.46.4 - - python - license: MIT - license_family: MIT - size: 346511 - timestamp: 1778103405862 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py312h868fb18_0.conda - sha256: b8260660d064fb947f4b573ec4a782696bc8b19042452eaa4e9bb1152b540555 - md5: dfb9a57535eb8c35c6744da7043063f0 + - cffi >=2.0 + - openssl >=3.5.7,<4.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + run_exports: {} + size: 1662747 + timestamp: 1781385594371 +- conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py312he06e257_2.conda + sha256: e817c9154c917f562e378cf2898a1ff82f20c87ef465b75b2bcba94235604814 + md5: 978c009bc3f0add939e44aff97bfaee1 depends: - - python - - typing-extensions >=4.6.0,!=4.7.0 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT - size: 1895409 - timestamp: 1778084226169 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pydantic-core-2.46.4-py312hc1db7ba_0.conda - sha256: 53db428865b6bed2227f404a02220e25ce20d68a890c44362389ebca4a3aa5bd - md5: ad574fdb71b3cb208141d2149fe9015f + - 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 + run_exports: {} + size: 563651 + timestamp: 1771855915942 +- conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py313h5ea7bf4_2.conda + sha256: 4c12f431ef979072781bc4d6363f36ab6d4bcd0797c93a62a4b5a16c9e6c45e0 + md5: 40263096906457fbffe51f7dc2265728 depends: - - python - - typing-extensions >=4.6.0,!=4.7.0 - - __osx >=11.0 - - python_abi 3.12.* *_cp312 - constrains: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 1880004 - timestamp: 1778084386862 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.46.4-py312hb9d4441_0.conda - sha256: 480b10f3197270a98c2b564670ca6e201bc57b5005e9d58fd0d232338fd33ad7 - md5: e38d54c5e4318faa79f71b713b059566 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - 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 + run_exports: {} + size: 563837 + timestamp: 1771855964667 +- conda: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.1.0-py314h5a2d7ad_2.conda + sha256: 04dca71339134390f2d76467070f02356efb7bf21408cdd45a868a94009e93b9 + md5: 8309b55a55dac8050260de935d31724a 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 - size: 1720774 - timestamp: 1778084314791 -- conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py312hdabe01f_0.conda - sha256: 2b251fb56d07efd36815732477d22bcdd2c7a6e7500012eb024d8c59413d2e24 - md5: edd458c91ab9bc198012c73289b0b0bc + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - 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 + run_exports: {} + size: 582082 + timestamp: 1771855937157 +- conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py314hb98de8c_0.conda + sha256: daa9397ffba6722f27c21b2f0a02b197f3ba9baedb484a155539743ec5ea3ac3 + md5: 945786ac874b8e821a675fbdd885f844 depends: - python - - typing-extensions >=4.6.0,!=4.7.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 1888918 - timestamp: 1778084258226 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.4-pyhd8ed1ab_0.conda - sha256: 5ec877142ded763061e114e787a4e201c2fb3f0b1db2f04ace610a1187bb34ae - md5: c7c50dd5192caa58a05e6a4248a27acb + run_exports: {} + size: 4022782 + timestamp: 1780390190830 +- conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.3.1-he0c23c2_0.conda + sha256: b1fee32ef36a98159f0a2a96c4e734dfc9adff73acd444940831b22c1fb6d5c0 + md5: e9a1402439c18a4e3c7a52e4246e9e1c depends: - - accessible-pygments - - babel - - beautifulsoup4 - - docutils !=0.17.0 - - packaging - - pygments >=2.7 - - python >=3.9 - - sphinx >=5.0 - - typing_extensions + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - size: 1393462 - timestamp: 1719344980505 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydeck-0.9.2-pyhd8ed1ab_0.conda - sha256: 25a4fb0acf8a1eb3eb0f1ebc1c5610dd9efe5f29616c625d1ee84a9a76eeb5df - md5: 18301be1ab749bc57ae189377836cc47 + run_exports: + weak: + - double-conversion >=3.3.1,<3.4.0a0 + size: 71355 + timestamp: 1739570178995 +- conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda + sha256: 09e30a170e0da3e9847d449b594b5e55e6ae2852edd3a3680e05753a5e015605 + md5: 3d3caf4ccc6415023640af4b1b33060a depends: - - jinja2 >=2.10.1 - - numpy >=1.16.4 - - python >=3.10 - constrains: - - ipywidgets >=7,<8 - - traitlets >=4.3.2 - - ipykernel >=5.1.2 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - double-conversion >=3.4.0,<3.5.0a0 + size: 70943 + timestamp: 1765193243911 +- conda: https://conda.anaconda.org/conda-forge/win-64/eccodes-2.46.0-h2bffdaa_0.conda + sha256: dfc2b7cc01741eb7575b29e915b760146167fd65ef2f98fad513f60ce6c8cc76 + md5: b67461a22f04b331bffd046bcfa4c7ac + depends: + - hdf5 >=1.14.6,<1.14.7.0a0 + - jasper >=4.2.8,<5.0a0 + - libaec >=1.1.5,<2.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libpng >=1.6.55,<1.7.0a0 + - 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: 8360396 - timestamp: 1776371116205 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydeflate-2.5.0-pyhc364b38_0.conda - sha256: 0f234d72e0d7696bd19f4f5c6a102df3eabf5ab65c1ea1fdf8741a4e32ff7e72 - md5: 328fcdd7991b7494dc780b16b831de62 - depends: - - python >=3.11 - - imf-reader >=1.5.0 - - oda-reader >=1.4.2 - - pandas >=2.0 - - pandera >=0.20.0 - - pyarrow >=14.0 - - requests-cache >=1.2 - - requests >=2.33.0 - - wbgapi >=1.0.12 - - platformdirs >=3.0.0 - - filelock >=3.15.0 - - python - license: MIT - license_family: MIT - size: 62998 - timestamp: 1778768717355 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda - sha256: af7213a8ca077895e7e10c8f33d5de3436b8a26828422e8a113cc59c9277a3e2 - md5: 15f6d0866b0997c5302fc230a566bc72 - depends: - - graphviz >=2.38.0 - - pyparsing >=3.1.0 - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 150656 - timestamp: 1766345630713 -- 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 - size: 893031 - timestamp: 1774796815820 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.13.0-pyhcf101f3_0.conda - sha256: 58cda7489477fecb859ec95bf73cba7e4634db1a517e29e0d3086d7ec71733ae - md5: edb808d7f7396478ab6e457e697b8ec5 + run_exports: {} + size: 2293154 + timestamp: 1772014569543 +- conda: https://conda.anaconda.org/conda-forge/win-64/editdistpy-0.2.0-py313h0bf8f52_1.conda + sha256: 7750fbd524a36d408306141e89e5463790dd7b25510c929258ac1805651ffe63 + md5: 50d9cdc847275627d5588c6116ff4dfe depends: - - python >=3.10 - - typing_extensions >=4.0 - python - constrains: - - cryptography >=3.4.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 33417 - timestamp: 1779400286454 -- conda: https://conda.anaconda.org/conda-forge/noarch/pylint-4.0.5-pyhcf101f3_0.conda - sha256: a8e7736982409a56d2aa329d3052259fd45910f98fb7d3f2816f1a6d59624d60 - md5: 7d9916ed19ecda71f0b00963365252a7 + run_exports: {} + size: 94935 + timestamp: 1781547187043 +- conda: https://conda.anaconda.org/conda-forge/win-64/editdistpy-0.2.0-py314h417cb87_1.conda + sha256: c7af36b9bf6adee60d529c9c4f5e533d2cc84b3e462dcc2ba3253fbdb76b9a58 + md5: 3a029e2e020967c5e5ff9b9ef2c9e281 depends: - - astroid >=4.0.2,<=4.1.dev0 - - colorama >=0.4.5 - - isort >=5,!=5.13,<9 - - mccabe >=0.6,<0.8 - - platformdirs >=2.2 - - python >=3.10 - - tomli >=1.1 - - tomlkit >=0.10.1 - - dill >=0.3.7 - python - license: GPL-2.0-or-later - license_family: GPL - size: 391910 - timestamp: 1771619020969 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-core-12.1-py312h4a480f0_0.conda - sha256: ecf778f886aaf50db22c0971fb0873f0dbe25663f124bd714bc87b4d0925f534 - md5: 18a20cb8c3e19f0b3799a48eba5b44aa - depends: - - __osx >=10.13 - - libffi >=3.5.2,<3.6.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools - license: MIT - license_family: MIT - size: 487397 - timestamp: 1763151480498 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-12.1-py312h19bbe71_0.conda - sha256: b015f430fe9ea2c53e14be13639f1b781f68deaa5ae74cd8c1d07720890cd02a - md5: c65d7abdc9e60fd3af0ed852591adf1b - depends: - - __osx >=11.0 - - libffi >=3.5.2,<3.6.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - setuptools - license: MIT - license_family: MIT - size: 476750 - timestamp: 1763151865523 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyobjc-framework-cocoa-12.1-py312h1993040_0.conda - sha256: 3a29ca3cc2044b408447ff86ae0c57ecc3ff805a8fc838525610921024c8521a - md5: b6881a919e1bfd66349e2260b163dc7c - depends: - - __osx >=10.13 - - libffi >=3.5.2,<3.6.0a0 - - pyobjc-core 12.1.* - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 375580 - timestamp: 1763160526695 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-12.1-py312h1de3e18_0.conda - sha256: 3710f5ae09c2ea77ba4d82cc51e876d9fc009b878b197a40d3c6347c09ae7d7c - md5: f0bae1b67ece138378923e340b940051 - depends: - - __osx >=11.0 - - libffi >=3.5.2,<3.6.0a0 - - pyobjc-core 12.1.* - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 377723 - timestamp: 1763160705325 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.11.0-py312h02b19dd_0.conda - sha256: 28ad34f1e1ddad99bbbd7d2609fe46855e920f6985644f52852adf9ecfddc868 - md5: b4e4e057ab327b7a1270612587a75523 + run_exports: {} + size: 96363 + timestamp: 1781547182983 +- conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py312hbb81ca0_4.conda + sha256: 540cfe6b2be7ced6dd302c5a40f22bf2a0fe2ab41f4d4c8dc882ad493f4f72f0 + md5: de0104b8c5c9ae98ebf045bf17b13344 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 - libgdal-core >=3.10.3,<3.11.0a0 - - libstdcxx >=13 - - numpy - - packaging + - pyparsing - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 665062 - timestamp: 1746734790035 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyogrio-0.12.1-py312h053e1f3_0.conda - sha256: 2b0a366d9066e3d9f495369b95cdb1b9d3dba2f59577e4560b7d1086e1fe3d70 - md5: f8e7e5ddfbdca16b65335b0b6615eb4c + - shapely + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 981719 + timestamp: 1764874932975 +- conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py313h8b19803_6.conda + sha256: afee0affd992057392b74a55d0f625aeca737f71d8ed0fb7dd33d72b014fbfa5 + md5: c048daef67f2a62c12200e6c4f1ad688 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgdal-core >=3.12.0,<3.13.0a0 - - libstdcxx >=14 - - numpy - - packaging - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 661347 - timestamp: 1764402531050 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.11.0-py312h4bcfd6b_0.conda - sha256: 4446fb33d948eae324c378cf3762d64b1d464a4aeff0c6cf55e09869cf2828b4 - md5: 9c4e1cab59f2b45a86e354bc25eeb0ac + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libgdal-core >=3.12.1,<3.13.0a0 + - pyparsing + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - shapely + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 986704 + timestamp: 1767051686947 +- conda: https://conda.anaconda.org/conda-forge/win-64/fiona-1.10.1-py314h1c1cb05_6.conda + sha256: 96a3ce5f2868a47e08d00a8fbcf68e1b8dbf9ca30a018120554ca26db3255c5e + md5: c1bae1515ff287d5bf6e287dddbc6646 depends: - - __osx >=10.13 - - libcxx >=18 - - libgdal-core >=3.10.3,<3.11.0a0 - - numpy - - packaging - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - attrs >=19.2.0 + - click >=8.0,<9.dev0 + - click-plugins >=1.0 + - cligj >=0.5 + - libgdal-core >=3.12.1,<3.13.0a0 + - pyparsing + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - shapely + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 985443 + timestamp: 1767051440390 +- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda + sha256: 9217184c4a8e82101b0e512b059ae3ff67e3913133b9031edad89ab5341284e4 + md5: abd79bad98c99c1a116154d6de74ea89 + depends: + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libiconv >=1.18,<2.0a0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 599006 - timestamp: 1746735008528 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyogrio-0.12.1-py312h17ccd7d_0.conda - sha256: d22ac3e5a554878d739bd06dd412c47adfd5552c2f002eea3fcb6bde2c68bcf9 - md5: e6452e30b697d485a9929bd1eebcd7a2 + run_exports: + weak: + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + size: 202630 + timestamp: 1780450217840 +- conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.63.0-py312h05f76fc_0.conda + sha256: 4e31266b0ddacb2e2f48f00d999aa7d5005c62a5cc51a32f9ce0be5b11e9897e + md5: 2944f5f8ea7e2db9cea01ed951e09194 depends: - - __osx >=10.13 - - libcxx >=19 - - libgdal-core >=3.12.0,<3.13.0a0 - - numpy - - packaging + - 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 - size: 601808 - timestamp: 1764402817339 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.11.0-py312hfd5e53c_0.conda - sha256: 194a0e283634a1640a262e77bb33b3f0c7a4acf2a799f747d5c5f11f03533d79 - md5: e1b8ae9311eadbefed27cb87ff752596 + run_exports: {} + size: 2533681 + timestamp: 1778770493020 +- conda: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.63.0-py313hd650c13_0.conda + sha256: 10cd3c3606219bc8e1a387757b069175b8202c54f02244b1557c283bd6c252d1 + md5: 2b7be2be35fc3b035f1365a015af9706 depends: - - __osx >=11.0 - - libcxx >=18 - - libgdal-core >=3.10.3,<3.11.0a0 - - numpy - - packaging - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - brotli + - munkres + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 597009 - timestamp: 1746734900747 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyogrio-0.12.1-py312h07dd7c3_0.conda - sha256: 4f2fa1d32919b07ad91efefbe5f35ab8ab0f48c9d03351c35321f73b1cab9fa9 - md5: 41000dd333aabfc38a70ff8635cf1d6e + run_exports: {} + size: 2563148 + timestamp: 1778770478353 +- conda: https://conda.anaconda.org/conda-forge/win-64/freeglut-3.2.2-hac47afa_4.conda + sha256: d4d255236a305e0fde4f9b360cca647331fad5348f70333c88fc50b3a6eabccc + md5: dd76cafa8f23c9aaee93aa7e745fdba4 depends: - - __osx >=11.0 - - libcxx >=19 - - libgdal-core >=3.12.0,<3.13.0a0 - - numpy - - packaging - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 589304 - timestamp: 1764402908352 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.11.0-py312h6e88f47_0.conda - sha256: 05bdd65b1eb49161841a6dc22031ac1026874665d4f4b3a87cdf5e34751f86a0 - md5: d2d9db06ba554156ba333c450607043c + run_exports: + weak: + - freeglut >=3.2.2,<4.0a0 + size: 113837 + timestamp: 1776928077923 +- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + sha256: a0e419e96146159f12344c870dca608d11bca36841f228092b986ffc2e1e0f02 + md5: e77293b32225b136a8be300f93d0e89f depends: - - libgdal-core >=3.10.3,<3.11.0a0 - - numpy - - packaging - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libfreetype 2.14.3 h57928b3_1 + - libfreetype6 2.14.3 hdbac1cb_1 + - zlib + license: GPL-2.0-only OR FTL + run_exports: + weak: + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + size: 185584 + timestamp: 1780934817461 +- 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: MIT - license_family: MIT - size: 832234 - timestamp: 1746735147143 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py312h3f2e00f_0.conda - sha256: ce75abd4eecdffac3160c3230119e9fc6f77875ca90deb04b84986832ec91b1f - md5: d63733f2a0893b5d42fc4e005d5dc265 + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - freexl >=2.0.0,<3.0a0 + size: 77528 + timestamp: 1734015193826 +- conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + sha256: 15011071ee56c216ffe276c8d734427f1f893f275ef733f728d13f610ed89e6e + md5: c27bd87e70f970010c1c6db104b88b18 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-or-later + run_exports: + weak: + - fribidi >=1.0.16,<2.0a0 + size: 64394 + timestamp: 1757438741305 +- conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py312hfdf67e6_0.conda + sha256: f51ce4622edd9707ae9bbd342935271892257062dc805dff52233abe15f1d698 + md5: 8633ec6d4b19a1dd7fb4894a6964adf3 depends: - - libgdal-core >=3.12.0,<3.13.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: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 50861 + timestamp: 1779999886062 +- conda: https://conda.anaconda.org/conda-forge/win-64/frozenlist-1.8.0-py313h0c48a3b_0.conda + sha256: 1a8067f8fefe72fb1ef7a07a50ab76e80605cc1da0ad3be481cc7cef169ac247 + md5: 710096696e7cc291f9e0eab0334f4a45 + depends: + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 50237 + timestamp: 1779999895192 +- conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.13.1-h9ea8674_0.conda + sha256: 8b2dd4b831ddac64584d49b50f0547c90f5b352a7ec62f941686bb59c21d6055 + md5: 2ebe8eb886545cdc287324d41186a698 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.13.1,<3.13.2.0a0 + size: 1703268 + timestamp: 1741052039669 +- conda: https://conda.anaconda.org/conda-forge/win-64/geos-3.14.1-hdade9fe_0.conda + sha256: 032a16d78e69a20ffae6216191a66977bc50f6c21cb75f9853b37298b95308c4 + md5: 8c75d7e401a4d799ce8d4bb922320967 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + run_exports: + weak: + - geos >=3.14.1,<3.14.2.0a0 + size: 1772787 + timestamp: 1761593910217 +- conda: https://conda.anaconda.org/conda-forge/win-64/geotiff-1.7.4-h86c3423_2.conda + sha256: d7f94ece67db2e70af5d55a50ee481dfc20bbef7ed03a61ec85101b77ae0013d + md5: 9328cad37c17330530ce1b8ac8b71254 + depends: + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - zlib license: MIT license_family: MIT - size: 880946 - timestamp: 1764402680849 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyomo-6.10.1-py312h1289d80_1.conda - sha256: ebe85d7eeea549dc53d39194258e3e920c9f5264b45cd91331a4d3e8346c65b7 - md5: f920bf26bf3b4e98a121c12d1e9147ab + run_exports: + weak: + - geotiff >=1.7.4,<1.8.0a0 + size: 123660 + timestamp: 1742402704770 +- conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + sha256: d04c4a6c11daa72c4a0242602e1d00c03291ef66ca2d7cd0e171088411d57710 + md5: 49c36fcad2e9af6b91e91f2ce5be8ebd depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools - license: BSD-3-Clause - license_family: BSD - size: 8257164 - timestamp: 1780616878136 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyomo-6.10.1-py312h959a22e_1.conda - sha256: a0b3febaa941acaf3c7b298d80a2e240792fa4acfc408002cb9c274218a10a6c - md5: 434369ae1489f8fdda2135b6090de7b9 + - 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: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - getopt-win32 >=0.1,<0.1.1.0a0 + size: 26238 + timestamp: 1750744808182 +- conda: https://conda.anaconda.org/conda-forge/win-64/git-2.54.0-h57928b3_1.conda + sha256: 939dd3e3172d754307f912b7cafffc2dacaf55df02f20c45c4bfba2193a2a378 + md5: 73c8842de3e31efd71a85735349c3da2 + license: GPL-2.0-or-later and LGPL-2.1-or-later + run_exports: {} + size: 123456704 + timestamp: 1780737175469 +- conda: https://conda.anaconda.org/conda-forge/win-64/glpk-5.0-h8ffe710_0.tar.bz2 + sha256: 56965382a8ab357b44198b642f8f493e7ad8a26a6af1edbb5ae6ac8c4ee5e974 + md5: ff4181250d91940494d3127243a9d858 depends: - - __osx >=11.0 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools - license: BSD-3-Clause - license_family: BSD - size: 8218626 - timestamp: 1780617119134 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyomo-6.10.1-py312h6d95f44_1.conda - sha256: 1651039d33a84ead54504576339e4cc361cbcfdde49d6da8b6ef277c1be9afd9 - md5: f69fd8ff939ae97347354eced18653a9 + - vc >=14.1,<15.0a0 + - vs2015_runtime >=14.16.27012 + license: GPL-3.0-or-later + license_family: GPL + run_exports: + weak: + - glpk >=5.0,<6.0a0 + size: 3510140 + timestamp: 1624569680176 +- conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda + sha256: 664311ea9164898f72d43b7ebf591b1a337d574cbb0d5026b4a8f21000dc8b29 + md5: 74558de25a206a7dff062fd4f5ff2d8b depends: - - __osx >=11.0 - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - setuptools - license: BSD-3-Clause - license_family: BSD - size: 8208028 - timestamp: 1780617272401 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda - sha256: 9c53684a66fa86e833dc573f8da595cf1eaa388ed1440f38c1ec3b0bd00301ae - md5: 59ff39db0d6598ac55d161861ade8fb7 + - libgcc >=13 + - libwinpthread >=12.0.0.r2.ggc561118da + - ucrt >=10.0.20348.0 + constrains: + - mpir <0.0a0 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + run_exports: + weak: + - gmp >=6.3.0,<7.0a0 + size: 567053 + timestamp: 1718982076982 +- conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py312h3d708b0_1.conda + sha256: 58381cbd3f0df0382b4f0981a6c1f34ba6f0be7fb84a9a29de134c5fe86f646c + md5: 91f5fad53070eed2524245d9a7902efa depends: + - libcrc32c >=1.1.2,<1.2.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - setuptools - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 7911384 - timestamp: 1780616912831 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-26.2.0-pyhcf101f3_0.conda - sha256: 9ce0ca5a46b47fe8af5e5fc160484b80979d1d80bddc56761a251ddccc4c4f4c - md5: 063a810c2e0ee1a5e921ecd57b5e4b72 - depends: - - python >=3.10 - - cryptography >=46.0.0,<49 - - typing_extensions >=4.9 - - python - license: Apache-2.0 - license_family: APACHE - size: 130658 - timestamp: 1779003427956 -- 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 - size: 110893 - timestamp: 1769003998136 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312h1c88c49_1.conda - sha256: e0ca1d99228f96ba872d6a4085dfd337513dd24ee3a25f0997d985ae97d7d632 - md5: df6837caa76c161b682c27042a851cfb + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 28231 + timestamp: 1768549335337 +- conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py313h5327936_1.conda + sha256: e0e88233f98ed75a5a0c31a7918f2a340095d1df0d3fb6bbe4f5a56c65766d8b + md5: 4f05c693f8d450b49711610815442761 + depends: + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 28288 + timestamp: 1768549316332 +- conda: https://conda.anaconda.org/conda-forge/win-64/google-crc32c-1.8.0-py314h720154c_1.conda + sha256: 85cd3ddabe68ed21d8cea6d1891e2f8314cedc1a83ed4d0d1becc404b9e196f8 + md5: a0a922d23c89200907da94cf4e2bdbaf + depends: + - libcrc32c >=1.1.2,<1.2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 29230 + timestamp: 1768549336961 +- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + sha256: 88b6601f8edae59834b59b521e293ff3b58361dc1603240f5a8328c24e6936ad + md5: ff9a9bfe791f56b0227597a7651a6af0 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - graphite2 >=1.3.15,<2.0a0 + size: 97308 + timestamp: 1780454389458 +- conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-13.1.2-ha5e8f4b_0.conda + sha256: aef252782fcfd8ebffdcc49c525702db33127535d13d7b00808bbc40919caaed + md5: a1599e42b950661f58f219f3fbe87fde + depends: + - cairo >=1.18.4,<2.0a0 + - getopt-win32 >=0.1,<0.1.1.0a0 + - gts >=0.7.6,<0.8.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.84.3,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=13.1.2,<14.0a0 + size: 1208526 + timestamp: 1754732367050 +- conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda + sha256: 58f83755509a19501a9efe40c484727ffa61fcfaf6a237870678a79638fa6982 + md5: afabed4c46b197b89eb974aa038d12db depends: - - __glibc >=2.17,<3.0.a0 - - certifi - - libgcc >=14 - - proj >=9.6.2,<9.7.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 525395 - timestamp: 1756536636377 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyproj-3.7.2-py312he675c61_3.conda - sha256: ea0299f9699547531e81dd685f7ff0e50f7bc6dad932d8005ef24c3393cc07c1 - md5: c3258c31e507a81f0b52156bcca81e73 + - cairo >=1.18.4,<2.0a0 + - getopt-win32 >=0.1,<0.1.1.0a0 + - gts >=0.7.6,<0.8.0a0 + - libexpat >=2.7.3,<3.0a0 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.86.3,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: EPL-1.0 + license_family: Other + run_exports: + weak: + - graphviz >=14.1.2,<15.0a0 + size: 1223547 + timestamp: 1769427507016 +- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py313h927ade5_0.conda + sha256: 96a45f860d76b08d115a63a43e7bd0213cf3ab241d37e452446ad50963a3e456 + md5: 0a6c89a2c1c5ad6b5efad3610ac5f323 depends: - python - - proj - - certifi - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - proj >=9.7.1,<9.8.0a0 - - python_abi 3.12.* *_cp312 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 551823 - timestamp: 1772623249858 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312h4270620_3.conda - sha256: 12c70cfed3af532199ec7faed8e38f2e903bddc18d8bbe54ab554886b42b0020 - md5: e0483a9d9ec0af0d44f788d8e5b39fbb + run_exports: {} + size: 248211 + timestamp: 1781762174829 +- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.2-py314hb98de8c_0.conda + sha256: 37f7f2be58798f79f6cc9a8951a4617941ef44a3d383e8318f4e71c112a23e78 + md5: bd08b57adf4fa0886867123c7df63e75 depends: - python - - proj - - certifi - - __osx >=11.0 - - proj >=9.7.1,<9.8.0a0 - - python_abi 3.12.* *_cp312 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 518646 - timestamp: 1772623275068 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyproj-3.7.2-py312hb613793_1.conda - sha256: 31e729d0b0f55628d56260f6d79a7010e33732e3a7e32ad5b417b1c23b43fefc - md5: d64162d9eda9f2eb57fa777de83f53d4 + run_exports: {} + size: 248927 + timestamp: 1781762180310 +- conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py313h3c83859_1.conda + sha256: 6e95dfe3422c5c1ef7925ca78108778fc02a853a849b6590cc7490c9007bd79b + md5: 1c1c68305b8e4594f993846576318c46 depends: - - __osx >=10.13 - - certifi - - proj >=9.6.2,<9.7.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 478378 - timestamp: 1756536813423 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hce17ad6_3.conda - sha256: da702e0a098d463c824a85432a47d7ca68d6c41bcb30e0f3327daf953aa92830 - md5: 18dc7145b9e8f7a422ebb698b78b0284 + - libgrpc 1.73.1 h317e13b_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 715357 + timestamp: 1761054125352 +- conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.73.1-py314he35f362_1.conda + sha256: 0d17516a9e32726e8a5fdd2ccd41326c0f6eab2ed7321c425f255e10f71ec3eb + md5: 622a287812ee16a1070e08f818aca438 depends: - - python - - proj - - certifi - - __osx >=11.0 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 - - proj >=9.7.1,<9.8.0a0 - license: MIT - license_family: MIT - size: 513199 - timestamp: 1772623297887 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyproj-3.7.2-py312hf0774e8_1.conda - sha256: 246f7a846ee5dd879d1b17a985fe664babea5926bb8829f8c08fd7f64c1eb7a7 - md5: b9e4527503d3c4982afe0f056857263e + - libgrpc 1.73.1 h317e13b_1 + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 726501 + timestamp: 1761054201964 +- conda: https://conda.anaconda.org/conda-forge/win-64/grpcio-1.78.1-py312h5881051_0.conda + sha256: 0452624b42956ec771f763b3341ea60a33b478deba8b2a18ef23c63e3a5526d1 + md5: 6cc0e610fb177c1407b07a25305026ed depends: - - __osx >=11.0 - - certifi - - proj >=9.6.2,<9.7.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libgrpc 1.78.1 h9ff2b3e_0 + - libzlib >=1.3.1,<2.0a0 - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 478428 - timestamp: 1756537003593 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h235ce7f_1.conda - sha256: d42df50959884f920ee966085679e48b51ffcb84881efc1d905b329def918da5 - md5: b3bf616f4ffd81c8cca38f3a2e972e1c + - typing-extensions >=4.12,<5 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 717708 + timestamp: 1774013898778 +- conda: https://conda.anaconda.org/conda-forge/win-64/gts-0.7.6-h6b5321d_4.conda + sha256: b79755d2f9fc2113b6949bfc170c067902bc776e2c20da26e746e780f4f5a2d4 + md5: a41f14768d5e377426ad60c613f2923b depends: - - certifi - - proj >=9.6.2,<9.7.0a0 + - libglib >=2.76.3,<3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.0-or-later + license_family: LGPL + run_exports: + weak: + - gts >=0.7.6,<0.8.0a0 + size: 188688 + timestamp: 1686545648050 +- conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py312h03cd2ba_102.conda + sha256: aefa6f6882568f800150fe8d83698f4fd1c4ba4b042260d93cf1a503a460141c + md5: e00778685f838e9c7e40c8927b0f2a72 + depends: + - cached-property + - hdf5 >=1.14.6,<1.14.7.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: MIT - license_family: MIT - size: 725829 - timestamp: 1756536774510 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h8b773d8_3.conda - sha256: 5419a0bbe321dc813b2621a76b09129dd11dd61c07a7df2adb20e4f1267d32af - md5: 8cc67b62d41cd3c0562cf18c3598fb6a + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1085071 + timestamp: 1775581446982 +- conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py313hf7f959b_102.conda + sha256: eb1fa288e76f320d5d190d150e6849e3501478de6ac338cf4b5172f6c95c787f + md5: 7175a2e76f26eeff49a60ad16862eecd depends: - - python - - proj - - certifi + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - proj >=9.7.1,<9.8.0a0 - license: MIT - license_family: MIT - size: 868964 - timestamp: 1772623259417 -- conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.0.3-pyhd8ed1ab_0.conda - sha256: 3f46db5d5fb96f8241cef82745acb28ce22b4b5faac9eded2973eb98ee725586 - md5: bbf9a8bce1e55d2c01e16459a066280c + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1089797 + timestamp: 1775581429593 +- conda: https://conda.anaconda.org/conda-forge/win-64/h5py-3.16.0-nompi_py314hc249e69_102.conda + sha256: 34880617136bfe9c3946fe767c1fef470d62b5ecd177410443af7a1e7f0927fb + md5: a97e08636b7aa2bb61b820082e8f5e4c depends: - - deprecation - - geopandas >=0.9 - - highspy - - levenshtein >=0.27.1 - - linopy >=0.5.5,<=0.5.7 - - matplotlib-base - - netcdf4 - - networkx >=2 - - numpy - - pandas >=0.24 - - plotly - - pydeck - - pytables - - python >=3.11 - - scipy - - seaborn - - shapely <2.1 - - validators - - xarray <=2025.9.0 - license: MIT - license_family: MIT - size: 220834 - timestamp: 1762426425913 -- conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-1.2.1-pyhd8ed1ab_0.conda - sha256: a4262b3aaea788d259422721ea1a6aecbbc7d2a13fbacf7784adae9920f2b4d2 - md5: 0eaee053535b142b952b44f48ee24c02 + - cached-property + - hdf5 >=1.14.6,<1.14.7.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 1097161 + timestamp: 1775581481450 +- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-11.4.5-h5f2951f_0.conda + sha256: e1aaf8cf922cb7c7dabc12ddcad16c218b926c5e43d845288a4a8a0910df1b18 + md5: e9f9b4c46f6bc9b51adf57909b4d4652 depends: - - deprecation - - geopandas >=0.9 - - highspy - - levenshtein >=0.27.1 - - linopy >=0.6.1 - - matplotlib-base - - netcdf4 - - networkx >=2 - - numpy - - pandas >=2.0 - - platformdirs - - plotly - - pydeck >=0.6 - - pytables - - python >=3.11 - - scipy - - seaborn - - shapely - - validators - - xarray <2026.4 + - 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.13.3 + - libfreetype6 >=2.13.3 + - libglib >=2.84.3,<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 - size: 248920 - timestamp: 1779193307806 -- conda: https://conda.anaconda.org/conda-forge/noarch/pypsa-explorer-0.1.1-pyhcf101f3_0.conda - sha256: fde35906cd6e79998b923d242df78f142e50c759133a711d505db5404302e129 - md5: e734f12c4fe8793d27059c499552da86 + run_exports: + weak: + - harfbuzz >=11.4.5 + size: 1134542 + timestamp: 1756738659278 +- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda + sha256: 55d6d483e089afe68bdbb38a003d7b76002e65341665b80f38e6ce4b494beef6 + md5: 0bcbb7f911590beec914555c6b82050d depends: - - python >=3.12 - - plotly >=5.0 - - dash >=2.14 - - folium >=0.14 - - mapclassify >=2.5 - - dash-bootstrap-components >=1.5 - - pypsa >=1.0.3 - - pyyaml >=6.0 - - typer >=0.9 - - rich >=13.0 - - python + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=78.3,<79.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - size: 44699 - timestamp: 1770992960710 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda - sha256: 355b5fa16daf16d3bffced756e4333115625f01bb17bf00e0e65fb4a86f3ba81 - md5: 526783c6efcba14ac3efd2cef440254e + run_exports: + weak: + - harfbuzz >=14.2.1 + size: 1304897 + timestamp: 1780450940279 +- conda: https://conda.anaconda.org/conda-forge/win-64/hdf4-4.2.15-h5557f11_7.conda + sha256: 52fa5dde69758c19c69ab68a3d7ebfb2c9042e3a55d405c29a59d3b0584fd790 + md5: 84344a916a73727c1326841007b52ca8 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - size: 171538 - timestamp: 1778848418493 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyscipopt-6.2.1-np2py312h0f77346_0.conda - sha256: 04b608cd039bc4539c797e23366636ff09fd4998e24018482f2d19d5e32f237d - md5: cecc62244bbf204ae948acbced2ffa11 + run_exports: + weak: + - hdf4 >=4.2.15,<4.2.16.0a0 + size: 779637 + timestamp: 1695662145568 +- conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_106.conda + sha256: d9f8f202ee91ae93515b18c498970f178dfd061743f25a65a205f848e197437f + md5: e2fb54650b51dcd92dfcbf42d2222ff8 depends: - - python - - numpy >=1.16.0 - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - numpy >=1.23,<3 - - scip >=10.0.0,<11.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 1085440 - timestamp: 1778947335665 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyscipopt-6.2.1-np2py312hb4c736d_0.conda - sha256: df1d54231a1af4eb64f682e82add66f3cc478fe6401e73aa3ebb2f69bd3d035d - md5: 823b5ace9f6765c5f7223f7a97e6133d + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 + size: 2353172 + timestamp: 1770389952810 +- conda: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.6-nompi_hae35d4c_110.conda + sha256: 54f5211e698a468fd74def162e277d834e956c5b24a9ba4f9cf6298209328475 + md5: 4c94504a694781771108b07bf4a9370f + depends: + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.20.0,<9.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - hdf5 >=1.14.6,<1.14.7.0a0 + size: 2354049 + timestamp: 1780581446500 +- conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.13.1-np2py313h776c0ec_0.conda + sha256: 86483f09b3a13b42bdd772230435ed9e44deb1b59bd53d31cb989754bc130234 + md5: e55bcb68478bbcb2ac075e67c1041b38 depends: - python - - numpy >=1.16.0 - - libcxx >=19 - - __osx >=11.0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - - scip >=10.0.0,<11.0a0 + - numpy + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 948310 - timestamp: 1778947411619 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyscipopt-6.2.1-np2py312h60fbb24_0.conda - sha256: 86804a6d384e3e9e668e72813c077c48c463315afb9a47cad6bb66343dbfc15f - md5: dcfa1b04b87e2c14fdd1501de2961513 + run_exports: {} + size: 2476254 + timestamp: 1770878956164 +- conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py312ha76dc74_0.conda + sha256: 236dde2a4ee42f020695e004831216a5de5002e2a95d733fa968efd13071785d + md5: 8f94276670b0aedbd95acec1e45d950e depends: - python - - numpy >=1.16.0 - - python 3.12.* *_cpython - - libcxx >=19 - - __osx >=11.0 - - scip >=10.0.0,<11.0a0 + - numpy + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 - python_abi 3.12.* *_cp312 - - numpy >=1.23,<3 license: MIT license_family: MIT - size: 887037 - timestamp: 1778947407127 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py312ha76dc74_0.conda - sha256: 5de02c6b065581c47be685dfa991aaa76a07b161a752da19eb03af9baa673132 - md5: b27ff612f8354d4a62bc98531d1bc975 + run_exports: {} + size: 2565469 + timestamp: 1775498320998 +- conda: https://conda.anaconda.org/conda-forge/win-64/highspy-1.14.0-np2py314hb7a55bc_0.conda + sha256: 1256a2148b7e2b30d3049b58f5bfa17d3acfe605437fe1db5fcfc7d1d5668497 + md5: 91c0606f754ba1435b6df872df9747e5 depends: - python - - numpy >=1.16.0 + - numpy - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - scip >=10.0.0,<11.0a0 - - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 853832 - timestamp: 1778947363751 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyshp-3.0.12-pyhcf101f3_0.conda - sha256: 0c1cca878889016639db8aa1e1d2a83f7eb6d737a7963770e4c1f1ce54482b11 - md5: 8e6ba36f4f355b2be42009a13b6e8f29 + run_exports: {} + size: 2568903 + timestamp: 1775498333643 +- conda: https://conda.anaconda.org/conda-forge/win-64/icu-75.1-he0c23c2_0.conda + sha256: 1d04369a1860a1e9e371b9fc82dd0092b616adcf057d6c88371856669280e920 + md5: 8579b6bb8d18be7c0b27fb08adeeeb40 depends: - - python >=3.10 - - python + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - size: 490905 - timestamp: 1780920215410 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py312h50ac2ff_1.conda - sha256: 6f9e4fd9f6aa1d82a524384399c956c0c79c6c5df5ae42e241eb59f42c11ffbf - md5: 90f891bc96f673acbff89f6f405aef10 + run_exports: + weak: + - icu >=75.1,<76.0a0 + size: 14544252 + timestamp: 1720853966338 +- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda + sha256: 1bda728d70a619731b278c859eda364146cb5b4b8c739a64da8128353d81d1c4 + md5: 0097b24800cb696915c3dbd1f5335d3f depends: - - python - - qt6-main 6.11.1.* - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - libopengl >=1.7.0,<2.0a0 - - libclang13 >=22.1.5 - - libxslt >=1.1.43,<2.0a0 - - qt6-main >=6.11.1,<6.12.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libgl >=1.7.0,<2.0a0 - - python_abi 3.12.* *_cp312 - license: LGPL-3.0-only - license_family: LGPL - size: 13797566 - timestamp: 1778933891067 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.2-py312h5654102_1.conda - sha256: 51e77f7701d535d2dbbc4ad8fd878a3e34d5d7acda2aa4c2f9fc45b9759eca02 - md5: f081a3bd12e609dce6ebe7eed98e6783 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 14954024 + timestamp: 1773822508646 +- conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py312he06e257_2.conda + sha256: 09cd81a43ab516c5411a605cc55e4038d7b2c5c591d1ba96deb29ef1c4143253 + md5: b8c34c4306b76f9161f1084bbc3921f2 depends: - - __glibc >=2.17,<3.0.a0 - - libclang13 >=21.1.0 - - libegl >=1.7.0,<2.0a0 - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libopengl >=1.7.0,<2.0a0 - - libstdcxx >=14 - - libxml2 >=2.13.8,<2.14.0a0 - - libxslt >=1.1.43,<2.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - qt6-main 6.9.2.* - - qt6-main >=6.9.2,<6.10.0a0 - license: LGPL-3.0-only - license_family: LGPL - size: 10127456 - timestamp: 1756673992677 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py312ha7d0d2e_1.conda - sha256: 3b74e218df8f1e44599fcec686b50daa13214949087a109beca54db5a2db344e - md5: 08cd4cab6c22ee97776628d6c8292092 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 55176 + timestamp: 1757685569952 +- conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py313h5ea7bf4_2.conda + sha256: 17df5396588d3a5e1242fba8591aeed64721d44bd02db61c8d063ffdfdb1af34 + md5: 58dd1828222c60ce8a98aa5331adf073 depends: - - python - - qt6-main 6.11.1.* + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 55645 + timestamp: 1757685872869 +- conda: https://conda.anaconda.org/conda-forge/win-64/immutables-0.21-py314h5a2d7ad_2.conda + sha256: 0e9f91b6e48a3d2a52b2fbbf21caafe6018ec71838f4f501d0b88e3e9f4e7cb6 + md5: 523af9223804c4eeebef3156d1bfd688 + depends: + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 - ucrt >=10.0.20348.0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - python_abi 3.12.* *_cp312 - - qt6-main >=6.11.1,<6.12.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libxslt >=1.1.43,<2.0a0 - - libclang13 >=22.1.5 - license: LGPL-3.0-only - license_family: LGPL - size: 11575248 - timestamp: 1778933918611 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.9.2-py312h0ba07f7_1.conda - sha256: 3592fa488f9b267818ecd056a1d7cf9960fc34424eaea7ae8d72360f0c2ac364 - md5: 67d1a60b275352d228940a8414cc515a + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 56350 + timestamp: 1757685649329 +- conda: https://conda.anaconda.org/conda-forge/win-64/inflate64-1.0.4-py313h5ea7bf4_0.conda + sha256: 24eeccc5c5e0fc8ac182dd6a94a433307f90f370d54e27e68ac17a22b3195be6 + md5: c67d3a54a489f156744de56058183981 depends: - - libclang13 >=21.1.0 - - libxml2 >=2.13.8,<2.14.0a0 - - libxslt >=1.1.43,<2.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - qt6-main 6.9.2.* - - qt6-main >=6.9.2,<6.10.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LGPL-3.0-only - license_family: LGPL - size: 8893370 - timestamp: 1756674282774 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca - md5: e2fd202833c4a981ce8a65974fe4abd1 + license: LGPL-2.1-or-later + run_exports: {} + size: 41045 + timestamp: 1764330688645 +- conda: https://conda.anaconda.org/conda-forge/win-64/ipopt-3.14.19-he5a0f77_2.conda + sha256: 08147c943ee3573cc4e9763d1f4a614d1584a5cbf777f43cc0adc17a45f05869 + md5: 5133f79da4d0ec982733acfcb3c03e97 depends: - - __win - - python >=3.9 - - win_inet_pton - license: BSD-3-Clause - license_family: BSD - size: 21784 - timestamp: 1733217448189 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 - md5: 461219d1a5bd61342293efa2c0c90eac + - ampl-asl >=1.0.0,<1.0.1.0a0 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - mumps-seq >=5.8.2,<5.8.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: EPL-1.0 + run_exports: + weak: + - ipopt >=3.14.19,<3.14.20.0a0 + size: 942450 + timestamp: 1771292115587 +- conda: https://conda.anaconda.org/conda-forge/win-64/jasper-4.2.9-h8ad263b_1.conda + sha256: aed571899460d314013fff76c6c1bb8e908788667f382f319e0daf920b85d103 + md5: c975e3f46230e47c7cab2d58c46f1f30 depends: - - __unix - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 21085 - timestamp: 1733217331982 -- conda: https://conda.anaconda.org/conda-forge/noarch/pystac-1.14.3-pyhd8ed1ab_0.conda - sha256: 2d39f4eb1c926792229131897fbddde112d7595727c1db824d48574ab10a5a01 - md5: 77ae41598d63b453bb3c9052f4a14c4b + - freeglut >=3.2.2,<4.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: JasPer-2.0 + run_exports: + weak: + - jasper >=4.2.9,<5.0a0 + size: 447034 + timestamp: 1773677819715 +- conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py313hfe59770_0.conda + sha256: e368f2e78afcae10d5f2c9b125095d592f12f8af88459e13e68579c146cbf7ea + md5: 656119e0ea089c012090424f267dab89 depends: - - python >=3.10 - - python-dateutil >=2.7.0 + - packaging + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: APACHE - size: 138711 - timestamp: 1768070185564 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.10.2-py312hefc0c3f_11.conda - sha256: 415eedf88c550bfa6d184e0286803ae3a9af1c6e86106349de7a639a9be5c685 - md5: fb8b98904d2397b1edef0e14370d8fc8 + run_exports: {} + size: 410209 + timestamp: 1778141843526 +- conda: https://conda.anaconda.org/conda-forge/win-64/jpype1-1.7.1-py314h13fbf68_0.conda + sha256: 728632902cdbf595bd7ffb745cbd449465fab1006f9177d048a9147430d07dd0 + md5: bb9e57d80ecf0b901db2d2cdd9cfcf3c depends: - - __glibc >=2.17,<3.0.a0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=2.23.0,<2.24.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 411472 + timestamp: 1778141855430 +- 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 - - typing-extensions >=4.4.0 license: BSD-3-Clause license_family: BSD - size: 1632767 - timestamp: 1770023698503 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pytables-3.11.1-py312hefc0c3f_3.conda - sha256: dc2effe5756d74ae2365caad8d2b8e0185c46a4bf36eb5123f89dfd7e324328a - md5: 5b4f660c813f9a39dd996d073ccfa5df + run_exports: {} + size: 73357 + timestamp: 1773067062006 +- conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py313h1a38498_0.conda + sha256: 58c7b7d85ea3c0fac593fde238b994ee2d4fa8467decfe369dabfb5516b7ded4 + md5: 7e40c4c1af80d907eb2973ab73418095 depends: - - __glibc >=2.17,<3.0.a0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=3.1.2,<3.2.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 1635669 - timestamp: 1780064542622 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.10.2-py312hde43864_11.conda - sha256: fcddc88659abc6416fbc1a4c532d42c0f80a628a790b01ae42645f7fc4cc375e - md5: b4c8331ee7ae2189e22b399ec1a16c48 + run_exports: {} + size: 73548 + timestamp: 1773067061126 +- conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + sha256: 37cbc49fd7255532d09fb3bc9cc699554693e632fa90678a9b3d0ed12557d0d7 + md5: 0508c8dabeab91311e5c59b5e3f6d278 depends: - - __osx >=10.13 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=2.23.0,<2.24.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libcxx >=19 - - libzlib >=1.3.1,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - size: 1523751 - timestamp: 1770024044849 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pytables-3.11.1-py312h7063bee_3.conda - sha256: 9f7b4910e90f729270fb2178b0c8dc0a31ae66d4afdeab3747f638b314fd3466 - md5: 2be42158468ace8e88d01e98db40e4c4 + run_exports: {} + size: 73330 + timestamp: 1773067062280 +- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda + sha256: 18e8b3430d7d232dad132f574268f56b3eb1a19431d6d5de8c53c29e6c18fa81 + md5: 31aec030344e962fbd7dbbbbd68e60a9 + depends: + - openssl >=3.3.1,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.21.3,<1.22.0a0 + size: 712034 + timestamp: 1719463874284 +- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + sha256: c55745796e762ba9e817ab1fc0f21f1a049e202f90fa762df39578f37923f6c2 + md5: 00335c2c4a98656554771aaf6f1a7400 + depends: + - openssl >=3.5.7,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 750320 + timestamp: 1781859644591 +- conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda + sha256: 5ed63a32639a130564a870becb679fd52dfb816666a61ed3c023917389010480 + md5: 1df4012c8a2478699d07bc26af66d41e + depends: + - libjpeg-turbo >=3.1.4.1,<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 + run_exports: + weak: + - lcms2 >=2.19.1,<3.0a0 + size: 523194 + timestamp: 1780211799997 +- 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 + run_exports: + weak: + - lerc >=4.1.0,<5.0a0 + size: 172395 + timestamp: 1773113455582 +- conda: https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py312hbb81ca0_0.conda + sha256: 6fc32acae93f2082687b97010d584a1fb10e2cdca3d53ae8e055961ee7fb301e + md5: 5b921bf403626767874c3f889dc24ce6 depends: - - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=3.1.2,<3.2.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libcxx >=19 - - libzlib >=1.3.2,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 - license: BSD-3-Clause + - rapidfuzz >=3.8.0,<4.0.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 96337 + timestamp: 1762011340193 +- conda: https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py313hfe59770_0.conda + sha256: 1bbf5472501aa3ff85696be1c9f885c678a2af0509f75ab298b317b34e958f39 + md5: d118ef2cd0f387d84faa35e0e0e7f32e + depends: + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - rapidfuzz >=3.8.0,<4.0.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 96928 + timestamp: 1762011323717 +- conda: https://conda.anaconda.org/conda-forge/win-64/levenshtein-0.27.3-py314h13fbf68_0.conda + sha256: dc94d60766468b8eb32066c5c83bed733995ea6d3037b690635af748da3b338b + md5: 3cb24ba2bcdcac2254a51a2b824dc86b + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - rapidfuzz >=3.8.0,<4.0.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 97128 + timestamp: 1762011347340 +- conda: https://conda.anaconda.org/conda-forge/win-64/libabseil-20250512.1-cxx17_habfad5f_0.conda + sha256: 78790771f44e146396d9ae92efbe1022168295afd8d174f653a1fa16f0f0fa32 + md5: d6a4cd236fc1c69a1cfc9698fb5e391f + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.42.34438 + constrains: + - libabseil-static =20250512.1=cxx17* + - abseil-cpp =20250512.1 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libabseil >=20250512.1,<20250513.0a0 + - libabseil =*=cxx17* + size: 1615210 + timestamp: 1750194549591 +- 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 + run_exports: + weak: + - libabseil >=20260107.1,<20260108.0a0 + - libabseil =*=cxx17* + size: 1884784 + timestamp: 1770863303486 +- conda: https://conda.anaconda.org/conda-forge/win-64/libaec-1.1.5-haf901d7_0.conda + sha256: e54c08964262c73671d9e80e400333e59c617e0b454476ad68933c0c458156c8 + md5: 43b6385cfad52a7083f2c41984eb4e91 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause license_family: BSD - size: 1517565 - timestamp: 1780065079279 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.10.2-py312hc3f5fac_10.conda - sha256: 5ae31c65543dede25ed312744935ac16dec54097717e3fd6088f5108a7ad5466 - md5: 744477c442aa4a1cbc442edf440f68cd + run_exports: + weak: + - libaec >=1.1.5,<2.0a0 + size: 34463 + timestamp: 1769221960556 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.1-gpl_h1ca5a36_100.conda + sha256: 7efe65c7ab7056f1a84d5f234584e60ba3cc55b487ba4065a29d23aacb4c5ef6 + md5: d8f4c086758bbf52b30750550cd38b1a depends: - - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=2.22.0,<2.23.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libcxx >=19 + - liblzma >=5.8.1,<6.0a0 + - libxml2 >=2.13.8,<2.14.0a0 - libzlib >=1.3.1,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 - license: BSD-3-Clause + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.0,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause license_family: BSD - size: 1737873 - timestamp: 1761751925893 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pytables-3.11.1-py312h53cfef5_3.conda - sha256: 0eac031db4b9405c9acdef034d39bbac1c06eb74f775bcc04517aa54ccb116db - md5: 0e586245fced5f993bd231fb1b05a71e + run_exports: + weak: + - libarchive >=3.8.1,<3.9.0a0 + size: 1098688 + timestamp: 1749386269743 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarchive-3.8.8-gpl_he24518a_100.conda + sha256: abeec1902a9933f71a70bb54a436897d54ea08b290f084c0ce511e4d7eb24548 + md5: e61cb5e50e73c4563c2427de40435171 depends: - - __osx >=11.0 - - blosc >=1.21.6,<2.0a0 - bzip2 >=1.0.8,<2.0a0 - - c-blosc2 >=3.1.2,<3.2.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libcxx >=19 + - liblzma >=5.8.3,<6.0a0 + - libxml2 + - libxml2-16 >=2.14.6 - libzlib >=1.3.2,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 - license: BSD-3-Clause + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.7,<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 - size: 1738625 - timestamp: 1780065285608 -- conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.10.2-py312h20cef2e_11.conda - sha256: 5ae6adeac1152da4e5a63da3346fbad73390b28060f5cf8f27695b464e4a97b8 - md5: 9e49e5c432df6ad3220794119aa68c6b + run_exports: + weak: + - libarchive >=3.8.8,<3.9.0a0 + size: 1117061 + timestamp: 1782289351052 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-23.0.0-hfcfc620_2_cpu.conda + build_number: 2 + sha256: 616381f1da4bc8b8bd66462cb8c9ccd8ccb311433572e93046f93e302d270cf2 + md5: 0f527bc994fd2fe1e82447e6f2f35d83 depends: - - blosc >=1.21.6,<2.0a0 + - aws-crt-cpp >=0.35.4,<0.35.5.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 - - c-blosc2 >=2.23.0,<2.24.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.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.31.1,<6.31.2.0a0 - libzlib >=1.3.1,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 + - 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 - license: BSD-3-Clause - license_family: BSD - size: 1492106 - timestamp: 1770023883075 -- conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py312h20cef2e_3.conda - sha256: b0c98f5ebaa89461f0aef574bd3809681984c55aeafe7435720b0d366ee83337 - md5: 38d0d8440575b60ed4c174ea0fe7f101 + - 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 + run_exports: + weak: + - libarrow >=23.0.0,<23.1.0a0 + size: 4291175 + timestamp: 1770435649751 +- 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: - - blosc >=1.21.6,<2.0a0 + - 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 - - c-blosc2 >=3.1.2,<3.2.0a0 - - hdf5 >=1.14.6,<1.14.7.0a0 - - libzlib >=1.3.2,<2.0a0 - - numexpr - - numpy >=1.20.0 - - numpy >=1.23,<3 - - packaging - - py-cpuinfo - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - typing-extensions >=4.4.0 + - 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 + run_exports: + weak: + - libarrow >=23.0.1,<23.1.0a0 + size: 4245615 + timestamp: 1772108063322 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-acero-23.0.0-h7d8d6a5_2_cpu.conda + build_number: 2 + sha256: ce411d8cfbe9025e2d5c69f47800805b01c671d3b2ecd9eb93235f36906ca5ec + md5: 88c1bf9589eaa3c7416c1f4706dd9312 + depends: + - libarrow 23.0.0 hfcfc620_2_cpu + - libarrow-compute 23.0.0 h2db994a_2_cpu + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-acero >=23.0.0,<23.1.0a0 + size: 468526 + timestamp: 1770435951152 +- 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 + run_exports: + weak: + - libarrow-acero >=23.0.1,<23.1.0a0 + size: 463521 + timestamp: 1772108374948 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-compute-23.0.0-h2db994a_2_cpu.conda + build_number: 2 + sha256: 10d13a0c4dd7c2bb144ac778b524e177d147d73134c6b7df5ebb9ca2e8d9a7f4 + md5: af83df2f71f7ca552ee5ad0a31c9c9ef + depends: + - libarrow 23.0.0 hfcfc620_2_cpu + - libre2-11 >=2025.8.12 + - 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 + run_exports: + weak: + - libarrow-compute >=23.0.0,<23.1.0a0 + size: 1774227 + timestamp: 1770435760973 +- 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 + run_exports: + weak: + - libarrow-compute >=23.0.1,<23.1.0a0 + size: 1769195 + timestamp: 1772108171084 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-dataset-23.0.0-h7d8d6a5_2_cpu.conda + build_number: 2 + sha256: cd4c24f4cdf3ff19b9c1e81ee348c5db0e6d8dca3b31afd8ed3207b2dfeb8479 + md5: b2031f0c71cbeec465a47fe988f726a6 + depends: + - libarrow 23.0.0 hfcfc620_2_cpu + - libarrow-acero 23.0.0 h7d8d6a5_2_cpu + - libarrow-compute 23.0.0 h2db994a_2_cpu + - libparquet 23.0.0 h7051d1f_2_cpu + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-dataset >=23.0.0,<23.1.0a0 + size: 450625 + timestamp: 1770436078161 +- 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 + run_exports: + weak: + - libarrow-dataset >=23.0.1,<23.1.0a0 + size: 445584 + timestamp: 1772108509299 +- conda: https://conda.anaconda.org/conda-forge/win-64/libarrow-substrait-23.0.0-hf865cc0_2_cpu.conda + build_number: 2 + sha256: 3fc01537d51d6d3f8afafac61967cc46b3038b85e97168c43dc51e9caf2836f0 + md5: 7e4ef91357330c200f640c198cac50dd + depends: + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libarrow 23.0.0 hfcfc620_2_cpu + - libarrow-acero 23.0.0 h7d8d6a5_2_cpu + - libarrow-dataset 23.0.0 h7d8d6a5_2_cpu + - libprotobuf >=6.31.1,<6.31.2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libarrow-substrait >=23.0.0,<23.1.0a0 + size: 379196 + timestamp: 1770436121320 +- 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 + run_exports: + weak: + - libarrow-substrait >=23.0.1,<23.1.0a0 + size: 378879 + timestamp: 1772108554879 +- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h6c93730_netlib.conda + build_number: 8 + sha256: cc0df341dbc9af74abdbe658caeea5b5d5f362e25283f856d0457f4ae7a36f7e + md5: e2591f7c5a702a478532441e83648878 + depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + constrains: + - blas * netlib + track_features: + - blas_netlib + - blas_netlib_2 license: BSD-3-Clause license_family: BSD - size: 1491384 - timestamp: 1780064678445 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.3-pyhc364b38_1.conda - sha256: 960f59442173eee0731906a9077bd5ccf60f4b4226f05a22d1728ab9a21a879c - md5: 6a991452eadf2771952f39d43615bb3e - depends: - - colorama >=0.4 - - pygments >=2.7.2 - - python >=3.10 - - iniconfig >=1.0.1 - - packaging >=22 - - pluggy >=1.5,<2 - - tomli >=1 - - exceptiongroup >=1 - - python - constrains: - - pytest-faulthandler >=2 - license: MIT - license_family: MIT - size: 299984 - timestamp: 1775644472530 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.12-hfe2f287_0_cpython.conda - sha256: 5386d8c8230b6478ae165ff34f57d498891ac160e871629cbb4d4256e69cc542 - md5: ceada987beec823b3c702710ee073fba + run_exports: + weak: + - libblas >=3.11.0,<4.0a0 + size: 152280 + timestamp: 1779861305744 +- conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.90.0-h9dfe17d_1.conda + sha256: 37cbb374215ac3573bcb3aace8a19ab7527e5e366b02f3d28ada441756570903 + md5: bbf7cb9964cef65e88b48388b22979dd depends: - - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.4.6,<3.5.0a0 - - libgcc >=14 + - libiconv >=1.18,<2.0a0 - liblzma >=5.8.1,<6.0a0 - - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libuuid >=2.41.2,<3.0a0 - - libxcrypt >=4.4.36 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<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 - size: 31547362 - timestamp: 1760367376467 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - sha256: a44655c1c3e1d43ed8704890a91e12afd68130414ea2c0872e154e5633a13d7e - md5: 7eccb41177e15cc672e1babe9056018e - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libxcrypt >=4.4.36 - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - size: 31608571 - timestamp: 1772730708989 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.12-h3999593_0_cpython.conda - sha256: dfeee761021f0a84ade2c38d60fe8506771e49f992063377094fba11002d15ef - md5: 50be3ddc448ca63b24d145ebf9954877 + - __win >=10 + - boost-cpp <0.0a0 + license: BSL-1.0 + run_exports: {} + size: 2519001 + timestamp: 1766348188389 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + sha256: 5097303c2fc8ebf9f9ea9731520aa5ce4847d0be41764edd7f6dee2100b82986 + md5: 444b0a45bbd1cb24f82eedb56721b9c4 depends: - - __osx >=10.13 - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.4.6,<3.5.0a0 - - liblzma >=5.8.1,<6.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<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 - size: 13685943 - timestamp: 1760368419157 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.12.13-ha9537fe_0_cpython.conda - sha256: fb592ceb1bc247d19247d5535083da4a79721553e29e1290f5d81c07d4f086b5 - md5: ec05996c0d914a4e98ee3c7d789083f8 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - libbrotlicommon >=1.2.0,<1.3.0a0 + size: 82042 + timestamp: 1764017799966 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + sha256: 3239ce545cf1c32af6fffb7fc7c75cb1ef5b6ea8221c66c85416bb2d46f5cccb + md5: 450e3ae947fc46b60f1d8f8f318b40d4 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - size: 13672169 - timestamp: 1772730464626 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.12-hec0b533_0_cpython.conda - sha256: 63d5362621bbf3b0d90424f5fc36983d7be2434f6d0b2a8e431ac78a69a1c01d - md5: 5a732c06cbf90455a95dc6f6b1dd7061 + - 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 + run_exports: + weak: + - libbrotlidec >=1.2.0,<1.3.0a0 + size: 34449 + timestamp: 1764017851337 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + sha256: 3226df6b7df98734440739f75527d585d42ca2bfe912fbe8d1954c512f75341a + md5: ccd93cfa8e54fd9df4e83dbe55ff6e8c depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.4.6,<3.5.0a0 - - liblzma >=5.8.1,<6.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<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 - size: 12905286 - timestamp: 1760367318303 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.13-h8561d8f_0_cpython.conda - sha256: e658e647a4a15981573d6018928dec2c448b10c77c557c29872043ff23c0eb6a - md5: 8e7608172fa4d1b90de9a745c2fd2b81 + - 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 + run_exports: + weak: + - libbrotlienc >=1.2.0,<1.3.0a0 + size: 252903 + timestamp: 1764017901735 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_hc41557d_netlib.conda + build_number: 8 + sha256: 2132d8b764c1df063778880dc2b0086cb655754b189e43d44a99cf760479a09f + md5: ccbf2d1416567af1b8d098b6f3ba2f32 depends: - - __osx >=11.0 - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - size: 12127424 - timestamp: 1772730755512 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.12-h30ce641_0_cpython.conda - sha256: 9e9d6fa3b4ef231fcabf00364319f4ffacb1fb683e6c61c2438bafe3c61a7e2e - md5: e672c6dc92e6f1fcac0f9fed61b2b922 + - libblas 3.11.0.* + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + track_features: + - blas_netlib + - blas_netlib_2 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libcblas >=3.11.0,<4.0a0 + size: 45490 + timestamp: 1779861325576 +- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_ha2db4b5_2.conda + sha256: 1a2ead8255567347e6f9b2e941e07a1bcf3ce061d94d51f1b7d88089cd1a9552 + md5: 45a2834578a5f167258aa109af48b036 depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.4.6,<3.5.0a0 - - liblzma >=5.8.1,<6.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata + - libzlib >=1.3.2,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - size: 15741664 - timestamp: 1760365715600 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - sha256: a02b446d8b7b167b61733a3de3be5de1342250403e72a63b18dac89e99e6180e - md5: 2956dff38eb9f8332ad4caeba941cfe7 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libclang13 >=22.1.8 + size: 30487117 + timestamp: 1781848941933 +- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.conda + sha256: 34a25466769d1233d8f36a78d5f9f40279bae3fc4b70852acbd04b159ac4d183 + md5: c45c5a60b68368f62415941c1d9f0ab7 depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libsqlite >=3.51.2,<4.0a0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang13 >=22.1.8 + size: 34917944 + timestamp: 1782358781159 +- 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 + run_exports: + weak: + - libcrc32c >=1.1.2,<1.2.0a0 + size: 25694 + timestamp: 1633684287072 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.18.0-h43ecb02_0.conda + sha256: 86258e30845571ea13855e8a0605275905781476f3edf8ae5df90a06fcada93a + md5: 2688214a9bee5d5650cd4f5f6af5c8f2 + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libssh2 >=1.11.1,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - size: 15840187 - timestamp: 1772728877265 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-calamine-0.6.1-py312h0ccc70a_0.conda - sha256: a1c90e9c687d4cb432e8b0030f69de3e7b809da86e990d0824e43500cadb3bc4 - md5: 863e4180d989008688278107dceec434 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.18.0,<9.0a0 + size: 383261 + timestamp: 1767821977053 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.21.0-h8206538_0.conda + sha256: 384082b6f79454a89423f3e42ebba482719dac2221af33715970791d970c79b4 + md5: ed32b5c68abfae7702a700b636c84a91 + depends: + - krb5 >=1.22.2,<1.23.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 403550 + timestamp: 1782296631338 +- conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda + sha256: 834e4881a18b690d5ec36f44852facd38e13afe599e369be62d29bd675f107ee + md5: e77030e67343e28b084fabd7db0ce43e depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 798261 - timestamp: 1764158502905 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-calamine-0.6.1-py312h1f62012_0.conda - sha256: 83c4187090fc4379e722bb74227f3f02b7cf5376f443c32aa8699429b7ab6f4c - md5: cebade697eb1b483a997f6b72a4ffe3c + run_exports: + weak: + - libdeflate >=1.25,<1.26.0a0 + size: 156818 + timestamp: 1761979842440 +- conda: https://conda.anaconda.org/conda-forge/win-64/libevent-2.1.12-h3671451_1.conda + sha256: af03882afb7a7135288becf340c2f0cf8aa8221138a9a7b108aaeb308a486da1 + md5: 25efbd786caceef438be46da78a7b5ef depends: - - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - 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 + run_exports: + weak: + - libevent >=2.1.12,<2.1.13.0a0 + size: 410555 + timestamp: 1685726568668 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 + md5: ccc490c81ffe14181861beac0e8f3169 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - __osx >=10.13 + - expat 2.8.1.* license: MIT license_family: MIT - size: 750182 - timestamp: 1764159024154 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-calamine-0.6.1-py312h7a0e18e_0.conda - sha256: 54ee58830f960002a1449f379037c464648c377b4b3a3e491f76813a0dad67eb - md5: 13536a78e94c7c8e801a5abadbdb2037 + run_exports: {} + size: 71631 + timestamp: 1781203724164 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.6-h537db12_1.conda + sha256: d3b0b8812eab553d3464bbd68204f007f1ebadf96ce30eb0cbc5159f72e353f5 + md5: 85d8fa5e55ed8f93f874b3b23ed54ec6 depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - constrains: - - __osx >=11.0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: MIT license_family: MIT - size: 722564 - timestamp: 1764158863598 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-calamine-0.6.1-py312hb0142fd_0.conda - sha256: 7ffd392d0522d925c896769ac91f92566180163319c4033cc0917701ede7672e - md5: 78cc344a00cd6db0a39ab742d0c36fbd + run_exports: + weak: + - libffi >=3.4.6,<3.5.0a0 + 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: - - 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 - size: 642173 - timestamp: 1764158991606 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 - md5: 5b8d21249ff20967101ffa321cab24e8 - depends: - - python >=3.9 - - six >=1.5 - - python - license: Apache-2.0 - license_family: APACHE - size: 233310 - timestamp: 1751104122689 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.4.2-pyhcf101f3_0.conda - sha256: 6914da740f6e3ec44ffb2f687dbc9c33abf084e42f34e3a8bb8235e475850619 - md5: 7a9095c9300d1b50b1785ca9bc4cadae - depends: - - python >=3.10 - - filelock >=3.15.4 - - platformdirs <5,>=4.3.6 - - python - license: MIT - size: 35514 - timestamp: 1781257630962 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda - sha256: 74e417a768f59f02a242c25e7db0aa796627b5bc8c818863b57786072aeb85e5 - md5: 130584ad9f3a513cdd71b1fdc1244e9c - depends: - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 27848 - timestamp: 1772388605021 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-eccodes-2.46.0-np2py312hfb8c2c5_0.conda - sha256: 11e3fdbd01acf7a255126ac0f98c56cdb47515d83d3be6548baa757e8e67b232 - md5: fe3e310aa4a84610012a3889e23d76eb - depends: - - python - - attrs - - cffi - - findlibs - - eccodes >=2.46.0 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 230465 - timestamp: 1772376218988 -- conda: https://conda.anaconda.org/conda-forge/osx-64/python-eccodes-2.46.0-np2py312h421c061_0.conda - sha256: b55d89dfb227097c895ed828723780e00cc8d50588da9819e41c3bf1d7d88414 - md5: e5b68c24463c0ee692ab0fbc18b0eda3 - depends: - - python - - attrs - - cffi - - findlibs - - eccodes >=2.46.0 - - __osx >=11.0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 235465 - timestamp: 1772376319181 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-eccodes-2.46.0-np2py312h877c910_0.conda - sha256: 9d2da6728779000bd57a285775dec70ee42a4a75c5b5b1cc6614b6b726c8e963 - md5: 0b8875fe8636ddbcbd39506faa1adc2a + run_exports: + weak: + - libffi >=3.5.2,<3.6.0a0 + size: 45831 + timestamp: 1769456418774 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + sha256: 035d0c67bf9f7a16f4a1764f420c120f1a995d071bb265fcc66ef688ef709d7b + md5: e45b52fb9a81c9e2708465a706e05952 depends: - - python - - attrs - - cffi - - findlibs - - eccodes >=2.46.0 - - python 3.12.* *_cpython - - __osx >=11.0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - size: 239634 - timestamp: 1772376265641 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda - sha256: f9a22543d78d355aa8faa8049de4d7cafbe33e07cf4a7aa7ebe6facb7c7b64bd - md5: dac45a197e14d635ec763553cc8ac6d2 + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + run_exports: {} + size: 8711 + timestamp: 1780934891782 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + sha256: 0bbd19c9f7c4d0232b31892e6a4d1f82b8d19d1b84d89725f1f491b336447758 + md5: 4e4d54f9f98383d977ba56ef39ebf46d depends: - - python - - attrs - - cffi - - findlibs - - eccodes >=2.46.0 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.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: Apache-2.0 - license_family: APACHE - size: 200483 - timestamp: 1772376258734 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - sha256: df9aa74e9e28e8d1309274648aac08ec447a92512c33f61a8de0afa9ce32ebe8 - md5: 23029aae904a2ba587daba708208012f - depends: - - python >=3.9 - - python - license: BSD-3-Clause - license_family: BSD - size: 244628 - timestamp: 1755304154927 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - sha256: 97327b9509ae3aae28d27217a5d7bd31aff0ab61a02041e9c6f98c11d8a53b29 - md5: 32780d6794b8056b78602103a04e90ef - depends: - - cpython 3.12.13.* - - python_abi * *_cp312 - license: Python-2.0 - size: 46449 - timestamp: 1772728979370 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-4.1.0-pyhd8ed1ab_0.conda - sha256: a0dfe07d0bc1d8c47a38b79ad4a8eb1bc7b86fb33ee5293ebb45dfdc46191f4e - md5: 982ed0cbfc0fe09f25861e3d111e9717 - depends: - - python >=3.10 - - typing_extensions - license: BSD-2-Clause - license_family: BSD - size: 19249 - timestamp: 1781036004580 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.2-pyhd8ed1ab_0.conda - sha256: e943f9c15a6bdba2e1b9f423ab913b3f6b02197b0ef9f8e6b7464d78b59965b9 - md5: f6ad7450fc21e00ecc23812baed6d2e4 - depends: - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - size: 146639 - timestamp: 1777068997932 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-utils-3.9.1-pyhff2d567_1.conda - sha256: c367af466c169ee825e9a2422439076190424af0bf1d2074bb9b96757f812c86 - md5: 24ed1dc544b101075fa7462be5c3a5c5 - depends: - - python >=3.9 - - typing_extensions >3.10.0.2 - license: BSD-3-Clause - license_family: BSD - size: 32423 - timestamp: 1734115316868 -- 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 - size: 6958 - timestamp: 1752805918820 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2026.2-pyhcf101f3_0.conda - sha256: 5020863d629f584b5c057333a67a7aed43e3ed013ba15dd70f353501ccb5aff6 - md5: 03cb60f505ad3ada0a95277af5faeb1a - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 201747 - timestamp: 1777892201250 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyu2f-0.1.5-pyhd8ed1ab_1.conda - sha256: 991caa5408aea018488a2c94e915c11792b9321b0ef64401f4829ebd0abfb3c0 - md5: 644bd4ca9f68ef536b902685d773d697 + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + run_exports: {} + size: 340411 + timestamp: 1780934813224 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + sha256: 80e80ef5e31b00b12539db3c5aaecde60dab91381abfc1060e323d5c3b016dce + md5: cc5d690fc1c629038f13c68e88e65f44 depends: - - python >=3.9 - - six - license: Apache-2.0 - license_family: APACHE - size: 36786 - timestamp: 1733738704089 -- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_2.conda - sha256: 1d33c24d5590e1061e6320fbc90f395f2d14a6b3b6a4d4b3035c7c99238f6de2 - md5: 30b76957c7960ba1610ea759691b531c + - _openmp_mutex >=4.5 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 h8ee18e1_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 821854 + timestamp: 1778273037795 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda + sha256: 9ab562c718bd3fcef5f6189c8e2730c3d9321e05f13749a611630475d41207fc + md5: 3a5b40267fcd31f1ba3a24014fe92044 depends: - - python + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - 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: PSF-2.0 - license_family: PSF - size: 6686746 - timestamp: 1779222945272 -- conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py312h275cf98_1.conda - sha256: 61cc6c2c712ab4d2b8e7a73d884ef8d3262cb80cc93a4aa074e8b08aa7ddd648 - md5: 66255d136bd0daa41713a334db41d9f0 + - xorg-libxpm >=3.5.17,<4.0a0 + license: GD + license_family: BSD + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 166711 + timestamp: 1766331770351 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h7208af6_11.conda + sha256: 485a30af9e710feeda8d5b537b2db1e32e41f29ef24683bbe7deb6f7fd915825 + md5: 2070a706123b2d5e060b226a00e96488 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.45,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - - winpty + - xorg-libxpm >=3.5.17,<4.0a0 + license: GD + license_family: BSD + run_exports: + weak: + - libgd >=2.3.3,<2.4.0a0 + size: 165838 + timestamp: 1737548342665 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.10.3-h228a343_13.conda + sha256: f37f125e192de1a2a08bf74efeec68194b7fcd18f6fe5a86000c46ea27ed0778 + md5: 9da0330748ecb59ebb337952930a60af + depends: + - blosc >=1.21.6,<2.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - geotiff >=1.7.4,<1.8.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.1,<3.9.0a0 + - libcurl >=8.14.1,<9.0a0 + - libdeflate >=1.24,<1.26.0a0 + - libexpat >=2.7.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.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 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.45,<10.46.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.10.3.* license: MIT license_family: MIT - size: 215371 - timestamp: 1759557609855 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyxlsb-1.0.10-pyhd8ed1ab_0.tar.bz2 - sha256: 7e6e7064ad976ba6d38e7cf5a893c93a47025d4074b888e8db31386a914935fb - md5: 0c14e44bc93a99cdc11398311c3c0dcf + run_exports: + weak: + - libgdal-core >=3.10.3,<3.11.0a0 + size: 8439600 + timestamp: 1755815497434 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-core-3.12.2-h9774fe2_1.conda + sha256: a84fe9c5c4ffe360bde5ede10d388570851ba6fcd4f84e99816a6c2f20e809cb + md5: 9f22154b122af399b220678d35edcc9d depends: - - python >=3.6 - license: LGPL-3.0-or-later - license_family: LGPL - size: 28258 - timestamp: 1665784480952 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - sha256: cb142bfd92f6e55749365ddc244294fa7b64db6d08c45b018ff1c658907bfcbf - md5: 15878599a87992e44c059731771591cb + - blosc >=1.21.6,<2.0a0 + - geos >=3.14.1,<3.14.2.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.8.5,<3.9.0a0 + - libcurl >=8.18.0,<9.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libexpat >=2.7.4,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libjxl >=0.11,<1.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.8.2,<6.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.51.2,<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.5,<4.0a0 + - pcre2 >=10.47,<10.48.0a0 + - proj >=9.7.1,<9.8.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - xerces-c >=3.3.0,<3.4.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - libgdal 3.12.2.* + license: MIT + license_family: MIT + run_exports: + weak: + - libgdal-core >=3.12.2,<3.13.0a0 + size: 9816282 + timestamp: 1771395249315 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf4-3.12.2-h5bd48a5_1.conda + sha256: 2dc401a74cbda6432633ab3cd86e9bdbf30dc834b90534475f75921afae9895a + md5: 861e471b9d7df1eed52ea9a25f227951 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - yaml >=0.2.5,<0.3.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - libaec >=1.1.5,<2.0a0 + - libgdal-core 3.12.2 h9774fe2_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 198293 - timestamp: 1770223620706 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0.3-py312h51361c1_1.conda - sha256: d85e3be523b7173a194a66ae05a585ac1e14ccfbe81a9201b8047d6e45f2f7d9 - md5: 9029301bf8a667cf57d6e88f03a6726b + run_exports: {} + size: 566768 + timestamp: 1771398131827 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-hdf5-3.12.2-h5260803_1.conda + sha256: c9211ed92d9862fc6e2ffc9a8db86ef18aaa759ca9a1ec250eb11d97f3ecfb18 + md5: 150230ce593ad139e1ab1437954b81e2 depends: - - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - yaml >=0.2.5,<0.3.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgdal-core 3.12.2 h9774fe2_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 190417 - timestamp: 1770223755226 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - sha256: 737959262d03c9c305618f2d48c7f1691fb996f14ae420bfd05932635c99f873 - md5: 95a5f0831b5e0b1075bbd80fcffc52ac + run_exports: {} + size: 643803 + timestamp: 1771398296860 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgdal-netcdf-3.12.2-h1c765f5_1.conda + sha256: 080eb227d80120b4c93d71efc881bfdbd11bed90c3707cb536893ba15fa52c01 + md5: 300ec561b23a4018262b90995350061a depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - yaml >=0.2.5,<0.3.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgdal-core 3.12.2 h9774fe2_1 + - libgdal-hdf4 3.12.2.* + - libgdal-hdf5 3.12.2.* + - libnetcdf >=4.9.3,<4.9.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 187278 - timestamp: 1770223990452 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - sha256: 1cab6cbd6042b2a1d8ee4d6b4ec7f36637a41f57d2f5c5cf0c12b7c4ce6a62f6 - md5: 9f6ebef672522cb9d9a6257215ca5743 + run_exports: {} + size: 690068 + timestamp: 1771399686055 +- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.84.3-h1c1036b_0.conda + sha256: bd322efaebc369e188a1dd93030325a40753a4c009e92c1f82ec481a20f0d232 + md5: 2bcc00752c158d4a70e1eaccbf6fe8ae + depends: + - libffi >=3.4.6,<3.5.0a0 + - libiconv >=1.18,<2.0a0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.45,<10.46.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - glib 2.84.3 *_0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.84.3,<3.0a0 + size: 3826069 + timestamp: 1754315362939 +- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda + sha256: f61277e224e9889c221bb2eac0f57d5aeeb82fc45d3dc326957d251c97444f7c + md5: 5fb838786a8317ebb38056bbe236d3ff + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libintl >=0.22.5,<1.0a0 + - libffi >=3.5.2,<3.6.0a0 + constrains: + - glib >2.66 + license: LGPL-2.1-or-later + run_exports: + weak: + - libglib >=2.88.1,<3.0a0 + size: 4522891 + timestamp: 1778508851933 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + sha256: 4dc958ced2fc7f42bc675b07e2c9abe3e150875ffdf62ca551d94fc6facf1fd7 + md5: f1147651e3fdd585e2f442c0c2fc8f2d + 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 + run_exports: + strong: + - _openmp_mutex >=4.5 + - libgomp >=15.2.0 + size: 664640 + timestamp: 1778272979661 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h01c467a_1.conda + sha256: 098ac4abc51752a1c56c1c05ed4220e88daa7d0e18922b0d355056d5b305f167 + md5: 453d3a0347fe049b922a2a851c1c0110 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - 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 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - size: 179738 - timestamp: 1770223468771 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda - noarch: python - sha256: 970b2a1d12983d8d1cc05d914ad88a0b6ef1fa14038c9649aa834dd6ebee65d7 - md5: acd216255e1370e9aeab5351b831f07c - depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - _python_abi3_support 1.* - - cpython >=3.12 - - zeromq >=4.3.5,<4.4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 210896 - timestamp: 1779483879367 -- conda: https://conda.anaconda.org/conda-forge/osx-64/pyzmq-27.1.0-py312h2ac7433_3.conda - noarch: python - sha256: 341551703ca138175ef37867c954dc5f72e3bec005b0d35e35db08db4d3fd26d - md5: 8380cc6b19de487e907529361f00f2ba - depends: - - python - - libcxx >=19 - - __osx >=11.0 - - _python_abi3_support 1.* - - cpython >=3.12 - - zeromq >=4.3.5,<4.4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 192531 - timestamp: 1779484028794 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.1.0-py312h022ad19_3.conda - noarch: python - sha256: 086cc67ec57afb7c9c09b5e09e7356b536b5b1af6c2e97117dc022cd22f0d472 - md5: 73f22bde4991f30ae2bfac3811577c15 - depends: - - python - - libcxx >=19 - - __osx >=11.0 - - zeromq >=4.3.5,<4.4.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 - license: BSD-3-Clause - license_family: BSD - size: 191432 - timestamp: 1779484184540 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda - noarch: python - sha256: d7e65c44ea8a92f80cc0e424b4b7dbe63b8a9ec04ea774b7d4f7aed4c34cce4c - md5: ebbda9a4e5161d6e1f98146ad057dc10 + constrains: + - libgoogle-cloud 2.39.0 *_1 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud >=2.39.0,<2.40.0a0 + size: 15218 + timestamp: 1770462467767 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-2.39.0-h19ee442_0.conda + sha256: 8f5b26e9ea985c819a67e41664da82219534f9b9c8ba190f7d3c440361e5accb + md5: c2c512f98c5c666782779439356a1713 depends: - - python + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgrpc >=1.73.1,<1.74.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - _python_abi3_support 1.* - - cpython >=3.12 - - zeromq >=4.3.5,<4.3.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 182831 - timestamp: 1779483925948 -- 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 - size: 552937 - timestamp: 1720813982144 -- conda: https://conda.anaconda.org/conda-forge/osx-64/qhull-2020.2-h3c5361c_5.conda - sha256: 79d804fa6af9c750e8b09482559814ae18cd8df549ecb80a4873537a5a31e06e - md5: dd1ea9ff27c93db7c01a7b7656bd4ad4 + constrains: + - libgoogle-cloud 2.39.0 *_0 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - libgoogle-cloud >=2.39.0,<2.40.0a0 + size: 14952 + timestamp: 1752049549178 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_0.conda + sha256: 51c29942d9bb856081605352ac74c45cad4fedbaac89de07c74efb69a3be9ab3 + md5: 26198e3dc20bbcbea8dd6fa5ab7ea1e0 depends: - - __osx >=10.13 - - libcxx >=16 - license: LicenseRef-Qhull - size: 528122 - timestamp: 1720814002588 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/qhull-2020.2-h420ef59_5.conda - sha256: 873ac689484262a51fd79bc6103c1a1bedbf524924d7f0088fb80703042805e4 - md5: 6483b1f59526e05d7d894e466b5b6924 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgoogle-cloud 2.39.0 h19ee442_0 + - 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 + run_exports: + weak: + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + size: 14904 + timestamp: 1752049852815 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgoogle-cloud-storage-2.39.0-he04ea4c_1.conda + sha256: 127bd4becdd1abace1f99520b53440450ff3974468c90afa5aad68c25e7707b0 + md5: 88ebaa9b98c04cd5ad7b042b7e4f49c9 depends: - - __osx >=11.0 - - libcxx >=16 - license: LicenseRef-Qhull - size: 516376 - timestamp: 1720814307311 -- conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda - sha256: 887d53486a37bd870da62b8fa2ebe3993f912ad04bd755e7ed7c47ced97cbaa8 - md5: 854fbdff64b572b5c0b470f334d34c11 + - 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 + run_exports: + weak: + - libgoogle-cloud-storage >=2.39.0,<2.40.0a0 + size: 15235 + timestamp: 1770462799291 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.73.1-h317e13b_1.conda + sha256: 95a83e98c35b8ec03d84f0714eefb2630078d9224360a93dbef6f2403414f76f + md5: 855b10d858d6c078a28d670cf32baa67 depends: + - c-ares >=1.34.5,<2.0a0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libprotobuf >=6.31.1,<6.31.2.0a0 + - libre2-11 >=2025.8.12 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - re2 - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-Qhull - size: 1377020 - timestamp: 1720814433486 -- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda - sha256: aefbc43bde188ff4027d480da99c7fa9e8e6341e9762e065190239cb9b99bb1c - md5: 331d660aef48fec733a878dd1f8f4206 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - grpc-cpp =1.73.1 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libgrpc >=1.73.1,<1.74.0a0 + size: 14433486 + timestamp: 1761053760632 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgrpc-1.78.1-h9ff2b3e_0.conda + sha256: e5667a557c6211db4e1de0bf3146b880977cd7447dce5e5f5cb7d9e3dc9afa70 + md5: 26dbb65607f8fe485df5ee98fa6eb79f depends: - - libxcb - - xcb-util - - xcb-util-wm - - xcb-util-keysyms - - xcb-util-image - - xcb-util-renderutil - - xcb-util-cursor - - libgl-devel - - libegl-devel - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - xcb-util >=0.4.1,<0.5.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libbrotlicommon >=1.2.0,<1.3.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - xorg-libxxf86vm >=1.1.7,<2.0a0 - - xorg-libxrandr >=1.5.5,<2.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libpq >=18.4,<19.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - wayland >=1.25.0,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xcb-util-keysyms >=0.4.1,<0.5.0a0 - - libpng >=1.6.58,<1.7.0a0 - - harfbuzz >=14.2.1 - - xcb-util-cursor >=0.1.6,<0.2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libcups >=2.3.3,<2.4.0a0 - - libxcb >=1.17.0,<2.0a0 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libdrm >=2.4.127,<2.5.0a0 - - xorg-libxcomposite >=0.4.7,<1.0a0 - - xcb-util-image >=0.4.0,<0.5.0a0 - - xcb-util-wm >=0.4.2,<0.5.0a0 - - zstd >=1.5.7,<1.6.0a0 - - krb5 >=1.22.2,<1.23.0a0 - - xcb-util-renderutil >=0.3.10,<0.4.0a0 - - icu >=78.3,<79.0a0 - - xorg-libxdamage >=1.1.6,<2.0a0 - - xorg-libsm >=1.2.6,<2.0a0 - - alsa-lib >=1.2.16,<1.3.0a0 - - openssl >=3.5.6,<4.0a0 - - libglib >=2.88.1,<3.0a0 - - libgl >=1.7.0,<2.0a0 - - libxkbcommon >=1.13.2,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - double-conversion >=3.4.0,<3.5.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 + - 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: - - qt ==6.11.1 - license: LGPL-3.0-only - license_family: LGPL - size: 60185421 - timestamp: 1780593127053 -- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h3fc9a0a_0.conda - sha256: 70ca22551a307b7b23108dae31fc51dadac0742d44fc485bb7d3a865b4d47599 - md5: 70b5132b6e8a65198c2f9d5552c41126 + - grpc-cpp =1.78.1 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libgrpc >=1.78.1,<1.79.0a0 + size: 11546515 + timestamp: 1774013326223 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.1-default_h88281d1_1000.conda + sha256: 2fb437b82912c74b4869b66c601d52c77bb3ee8cb4812eab346d379f1c823225 + md5: e6298294e7612eccf57376a0683ddc80 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 >=11.4.3 - - icu >=75.1,<76.0a0 - - krb5 >=1.21.3,<1.22.0a0 - - libclang-cpp20.1 >=20.1.8,<20.2.0a0 - - libclang13 >=20.1.8 - - libcups >=2.3.3,<2.4.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - libegl >=1.7.0,<2.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libglib >=2.84.3,<3.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - libllvm20 >=20.1.8,<20.2.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libpq >=17.6,<18.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libstdcxx >=14 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxkbcommon >=1.11.0,<2.0a0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca - libxml2 >=2.13.8,<2.14.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.2,<4.0a0 - - pcre2 >=10.45,<10.46.0a0 - - wayland >=1.24.0,<2.0a0 - - xcb-util >=0.4.1,<0.5.0a0 - - xcb-util-cursor >=0.1.5,<0.2.0a0 - - xcb-util-image >=0.4.0,<0.5.0a0 - - xcb-util-keysyms >=0.4.1,<0.5.0a0 - - xcb-util-renderutil >=0.3.10,<0.4.0a0 - - xcb-util-wm >=0.4.2,<0.5.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.6,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxcomposite >=0.4.6,<1.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - xorg-libxdamage >=1.1.6,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrandr >=1.5.4,<2.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - xorg-libxxf86vm >=1.1.6,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libhwloc >=2.12.1,<2.12.2.0a0 + size: 2412139 + timestamp: 1752762145331 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + sha256: 2ee12e37223dfcd0acd050c80a91150c482b6e2899198521e1800dce66662467 + md5: 6a01c986e30292c715038d2788aa1385 + 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 + run_exports: + weak: + - libhwloc >=2.13.0,<2.13.1.0a0 + size: 2396128 + timestamp: 1770954127918 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.conda + sha256: 4b45bf59ee46d3c746272c27651da9ce709fda4eee8536c7424acea60d0e2ad0 + md5: aeca1cb6665f19e560c1fbd20b5bcf34 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 OR BSD-3-Clause + run_exports: + weak: + - libhwy >=1.4.0,<1.5.0a0 + size: 562583 + timestamp: 1776989522919 +- 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 + run_exports: + weak: + - libiconv >=1.18,<2.0a0 + size: 696926 + timestamp: 1754909290005 +- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + sha256: c7e4600f28bcada8ea81456a6530c2329312519efcf0c886030ada38976b0511 + md5: 2cf0cf76cc15d360dfa2f17fd6cf9772 + depends: + - libiconv >=1.17,<2.0a0 + license: LGPL-2.1-or-later + run_exports: + weak: + - libintl >=0.22.5,<1.0a0 + size: 95568 + timestamp: 1723629479451 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.4.1-hfd05255_0.conda + sha256: 698d57b5b90120270eaa401298319fcb25ea186ae95b340c2f4813ed9171083d + md5: 25a127bad5470852b30b239f030ec95b + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - qt 6.9.2 - license: LGPL-3.0-only - license_family: LGPL - size: 52566799 - timestamp: 1756296889250 -- conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda - sha256: c0f0552a879e18282799431c7d2769b269839ac3b3735082e754df3c6fa0728d - md5: a8d735f3faf356a24acf9eea0a940a0f + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + run_exports: + weak: + - libjpeg-turbo >=3.1.4.1,<4.0a0 + size: 842806 + timestamp: 1775962811457 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda + sha256: 4715e22c602526c85da09f73865676add67e0995a944b821fbff84547a9db533 + md5: 327bce3eb1ef1875c7145e915d25bcd3 depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - krb5 >=1.22.2,<1.23.0a0 - - libglib >=2.88.1,<3.0a0 - - libpng >=1.6.58,<1.7.0a0 - - double-conversion >=3.4.0,<3.5.0a0 - - libbrotlicommon >=1.2.0,<1.3.0a0 + - libhwy >=1.4.0,<1.5.0a0 - libbrotlienc >=1.2.0,<1.3.0a0 - libbrotlidec >=1.2.0,<1.3.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - openssl >=3.5.6,<4.0a0 - - icu >=78.3,<79.0a0 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - pcre2 >=10.47,<10.48.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libjxl >=0.11,<1.0a0 + size: 1194926 + timestamp: 1777065171989 +- conda: https://conda.anaconda.org/conda-forge/win-64/libkml-1.3.0-h68a222c_1023.conda + sha256: 6b2c6506dc7d7bb3bc4128d575e4ae6c2cf18d3f9828a4be331e0b5e49edf108 + md5: b44e0d9eb84c6c086d809787aab0a1da + depends: + - libexpat >=2.7.5,<3.0a0 - libzlib >=1.3.2,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - libsqlite >=3.53.1,<4.0a0 - - harfbuzz >=14.2.0 + - 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 + run_exports: {} + size: 1668156 + timestamp: 1777026660593 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_h018ca30_netlib.conda + build_number: 8 + sha256: 2c1c411a1196f1d09ac1a7265f2b976deedb3791d0930dedcdc58b991d613c26 + md5: cae9364b4d1f1af0c9b9595b01fcd6be + depends: + - libblas 3.11.0.* + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + track_features: + - blas_netlib + - blas_netlib_2 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - liblapack >=3.11.0,<4.0a0 + size: 2131555 + timestamp: 1779861344704 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 + md5: 8f83619ab1588b98dd99c90b0bfc5c6d + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - qt ==6.11.1 - license: LGPL-3.0-only - license_family: LGPL - size: 89576886 - timestamp: 1780400596481 -- conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.9.2-h236c7cd_0.conda - sha256: 5088ed0c6c769925a6df7d5a1a55fb7fc52278f327b986f45664453622fc98e2 - md5: 774ff6166c5f29c0c16e6c2bc43b485f + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 106486 + timestamp: 1775825663227 +- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 + md5: e4a9fc2bba3b022dad998c78856afe47 depends: - - double-conversion >=3.3.1,<3.4.0a0 - - harfbuzz >=11.4.3 - - icu >=75.1,<76.0a0 - - krb5 >=1.21.3,<1.22.0a0 - - libclang13 >=20.1.8 - - libglib >=2.84.3,<3.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libsqlite >=3.50.4,<4.0a0 - - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.6.0,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 89411 + timestamp: 1769482314283 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_h3948bcf_104.conda + sha256: 70bc463082e8c861a2cd22b419fffd74aec98e43052be254c4fd0d51305742b3 + md5: 3747feaeeb94d1f7654bd10596360d21 + depends: + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.5,<2.0a0 + - libcurl >=8.18.0,<9.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzip >=1.11.2,<2.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: MIT + license_family: MIT + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 679613 + timestamp: 1770718488654 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnetcdf-4.9.3-nompi_ha45073a_102.conda + sha256: c5312fe1026960a931e0f0be046a44acc43ab46d059a1f82c0b7881a3af8ff49 + md5: e70b5fae7a9b638d65fe226c0639b14a + depends: + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzip >=1.11.2,<2.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.2,<4.0a0 - - pcre2 >=10.45,<10.46.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + - zlib - zstd >=1.5.7,<1.6.0a0 - constrains: - - qt 6.9.2 - license: LGPL-3.0-only - license_family: LGPL - size: 94567291 - timestamp: 1756296858553 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rapidfuzz-3.14.5-py312h1289d80_0.conda - sha256: 4bb69b2f68fd23e34592e4f9bf5842179debf77a59c19eeac2ec26708b7e2a62 - md5: e27bccb2b700b55a6d8967b14f08cb59 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - numpy - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 2141428 - timestamp: 1775565638201 -- conda: https://conda.anaconda.org/conda-forge/osx-64/rapidfuzz-3.14.5-py312h959a22e_0.conda - sha256: 6d192c03de157d531958389ecf9af848a703b13d93648cc4942bca09ece92d4f - md5: 833e6a264caaaa43d265fc5ebaf30aa1 - depends: - - __osx >=11.0 - - libcxx >=19 - - numpy - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 945166 - timestamp: 1775565917572 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rapidfuzz-3.14.5-py312h6d95f44_0.conda - sha256: fde8d263faaa2fcb8e420afdd3a11175c86162b304faf0cc2131dc096b37a2f3 - md5: e5b512c0aeaf91b5fc493008b6c9b4e5 - depends: - - __osx >=11.0 - - libcxx >=19 - - numpy - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 708243 - timestamp: 1775566329519 -- conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda - sha256: a204fa6ef22f6b455c9468f635dfe12fcf4099a2a2ce5cbabef3b1fb0481a385 - md5: 08d485def71d89e5a42151f2bb82246e + run_exports: + weak: + - libnetcdf >=4.9.3,<4.9.4.0a0 + size: 677496 + timestamp: 1757402219395 +- conda: https://conda.anaconda.org/conda-forge/win-64/libparquet-23.0.0-h7051d1f_2_cpu.conda + build_number: 2 + sha256: 10b1562bc1d7195c46134b2f53a7091b979c45e4117a60e1c4be0a0ce05c6171 + md5: 15dbe221357e3854b02ecc34f047cf40 depends: - - numpy - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libarrow 23.0.0 hfcfc620_2_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: MIT - license_family: MIT - size: 1019922 - timestamp: 1775566058387 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.4.3-py312h1df8778_2.conda - sha256: 59d5a8797f48a06b2ebbc71002093843b652dea5ad35c8ebc6ab7383ea8a9b70 - md5: a130de9fec7b062ce793dca872fcb622 - depends: - - __glibc >=2.17,<3.0.a0 - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libgcc >=14 - - libgdal-core <3.11 - - libgdal-core >=3.10.3,<3.11.0a0 - - libstdcxx >=14 - - numpy >=1.23,<3 - - proj >=9.6.2,<9.7.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 - license: BSD-3-Clause - license_family: BSD - size: 8069040 - timestamp: 1758129682893 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rasterio-1.5.0-py312hcedc861_0.conda - sha256: c7a9a69149a15262e14c32232459d45e3ef58aee65e46ed60b270a6ded54a573 - md5: f0d110978a87b200a06412b56b26407c - depends: - - __glibc >=2.17,<3.0.a0 - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libgcc >=14 - - libgdal-core >=3.12.1,<3.13.0a0 - - libstdcxx >=14 - - numpy >=1.23,<3 - - proj >=9.7.1,<9.8.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 - license: BSD-3-Clause - license_family: BSD - size: 8133020 - timestamp: 1767632791843 -- conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.4.3-py312h2efda69_2.conda - sha256: cd5fbb78481cbbf2311c4cb2282bea0b3f644e5e9338ff8c3941f655a6a26bb0 - md5: 795c8ef855dd871ab3b445fddf8863ba - depends: - - __osx >=10.13 - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libcxx >=19 - - libgdal-core <3.11 - - libgdal-core >=3.10.3,<3.11.0a0 - - numpy >=1.23,<3 - - proj >=9.6.2,<9.7.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 - license: BSD-3-Clause - license_family: BSD - size: 7726315 - timestamp: 1758130130600 -- conda: https://conda.anaconda.org/conda-forge/osx-64/rasterio-1.5.0-py312h6f80297_0.conda - sha256: 4ae3a6f392786e7bf89e36e5eb4ec41495c1a9325ebac2e959c2bbbf5e06b536 - md5: 9954d4dba5eb83661bc1cbc2b5c245ea + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libparquet >=23.0.0,<23.1.0a0 + size: 949664 + timestamp: 1770435907454 +- 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: - - __osx >=10.13 - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libcxx >=19 - - libgdal-core >=3.12.1,<3.13.0a0 - - numpy >=1.23,<3 - - proj >=9.7.0,<9.8.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 - license: BSD-3-Clause - license_family: BSD - size: 7943183 - timestamp: 1767632853525 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.4.3-py312h460a678_2.conda - sha256: 9d0db170b7081ac47b448f4f927362eb3789ee2cea4e56dd02fc4d348db3b52a - md5: f7acc1f2764e75eb7b58fcd353c8c7f0 + - 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 + run_exports: + weak: + - libparquet >=23.0.1,<23.1.0a0 + size: 946568 + timestamp: 1772108328374 +- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + sha256: 218913aeee391460bd0e341b834dbd9c6fa6ae0a4276c0c300266cc99a816a28 + md5: 52f1280563f3b48b5f75414cd2d15dd1 depends: - - __osx >=11.0 - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libcxx >=19 - - libgdal-core <3.11 - - libgdal-core >=3.10.3,<3.11.0a0 - - numpy >=1.23,<3 - - proj >=9.6.2,<9.7.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 - license: BSD-3-Clause - license_family: BSD - size: 7702855 - timestamp: 1758130147609 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rasterio-1.5.0-py312h8fc80b0_0.conda - sha256: 6f27e6bb995a3ae36f946788470c520b320bd2b7f328ba1ab496a748615e0af4 - md5: bfdb10beb992ce47e89062dcedcb22b9 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + run_exports: + weak: + - libpng >=1.6.58,<1.7.0a0 + size: 385227 + timestamp: 1776315248638 +- conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.31.1-h2ec36af_5.conda + sha256: f7a0fa886ac988dc78d34898c6b5b92f0e612002837f2f3f61e1a54e30754a06 + md5: 14ebe738986c601b677b060fbe1df575 depends: - - __osx >=11.0 - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libcxx >=19 - - libgdal-core >=3.12.1,<3.13.0a0 - - numpy >=1.23,<3 - - proj >=9.7.1,<9.8.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 8067586 - timestamp: 1767633117046 -- conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.4.3-py312h9aeec68_2.conda - sha256: 1c0cd6f1d7deb42cfb672dd9ab911e28b5c3598ea215fc5f30c0b9fd1909cfc2 - md5: 12c2a20993f3aa36f18382aa5d91e614 - depends: - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libgdal-core <3.11 - - libgdal-core >=3.10.3,<3.11.0a0 - - numpy >=1.23,<3 - - proj >=9.6.2,<9.7.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 + run_exports: + weak: + - libprotobuf >=6.31.1,<6.31.2.0a0 + size: 7799743 + timestamp: 1780005667741 +- conda: https://conda.anaconda.org/conda-forge/win-64/libprotobuf-6.33.5-h6cf2d3c_1.conda + sha256: dce2820ebc4059b4919158814aa6ea2ccd31be699d9e3d74824de8d31ec66864 + md5: 712686431de276d81eb02d87483f6f10 + depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libzlib >=1.3.2,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 7097517 - timestamp: 1758132119961 -- conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py312h064b072_0.conda - sha256: 634c8463f17a8f1bebd4e755962aae1db520c254c54d9f43e29d9f9234c758e6 - md5: 16b23ed5a34d9358725d862be3f387f5 + run_exports: + weak: + - libprotobuf >=6.33.5,<6.33.6.0a0 + size: 7162612 + timestamp: 1780005438640 +- conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h781ae3c_0.conda + sha256: 7fc56b16f0379dfa73fef5741264565de621005e2f8d529523f5c33f0cec9daf + md5: df06465614f67f7e41233d356aa7a927 depends: - - affine - - attrs - - certifi - - click >=4,!=8.2.* - - click-plugins - - cligj >=0.5 - - libgdal-core >=3.12.1,<3.13.0a0 - - numpy >=1.23,<3 - - proj >=9.7.1,<9.8.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - setuptools >=0.9.8 - - snuggs >=1.4.1 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - harfbuzz >=14.2.1 + - fribidi >=1.0.16,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libraqm >=0.10.5,<0.11.0a0 + size: 29178 + timestamp: 1780835195143 +- 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: 8508908 - timestamp: 1767633001059 -- conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.11.05-h5301d42_0.conda - sha256: 2f225ddf4a274743045aded48053af65c31721e797a45beed6774fdc783febfb - md5: 0227d04521bc3d28c7995c7e1f99a721 + run_exports: + weak: + - libre2-11 >=2025.11.5 + size: 266062 + timestamp: 1768190189553 +- conda: https://conda.anaconda.org/conda-forge/win-64/libre2-11-2025.11.05-h0eb2380_0.conda + sha256: 8eb2c205588e6d751fe387e90f1321ac8bbaef0a12d125a1dd898e925327f8ae + md5: 960713477ad3d7f82e5199fa1b940495 depends: - - libre2-11 2025.11.05 h7b12aa8_0 + - libabseil * cxx17* + - libabseil >=20250512.1,<20250513.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: 27316 - timestamp: 1762397780316 -- conda: https://conda.anaconda.org/conda-forge/osx-64/re2-2025.11.05-h7df6414_0.conda - sha256: cd892b6b571fc6aaf9132a859e5ef0fae9e9ff980337ce7284798fa1d24bee5d - md5: 13dc8eedbaa30b753546e3d716f51816 + run_exports: + weak: + - libre2-11 >=2025.11.5 + size: 263996 + timestamp: 1762397947932 +- conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-haa95264_20.conda + sha256: d8d091afa0e5009b71e9a931da862a60104b75ca13c3021edf036620eebaf2d0 + md5: 7eeb5aed49853f8b3e1ca0463ef55a8e depends: - - libre2-11 2025.11.05 h554ac88_0 - license: BSD-3-Clause - license_family: BSD - size: 27381 - timestamp: 1762398153069 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.11.05-h64b956e_0.conda - sha256: 29c4bceb6b4530bac6820c30ba5a2f53fd26ed3e7003831ecf394e915b975fbc - md5: 1b35e663ed321840af65e7c5cde419f2 + - geos >=3.14.1,<3.14.2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 403088 + timestamp: 1761671197546 +- conda: https://conda.anaconda.org/conda-forge/win-64/librttopo-1.1.0-hbfc9ebc_18.conda + sha256: 10aa38ae0b2e590368db0cadd8457890f62e23aa10d7f34c0d60f9cc4251ad53 + md5: 42a234d3a722c3fb3a332a3f67d6916b depends: - - libre2-11 2025.11.05 h91c62da_0 - license: BSD-3-Clause - license_family: BSD - size: 27422 - timestamp: 1762398340843 -- conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda - sha256: 9d1bb3d15cdd3257baee5fc063221514482f91154cd1457af126e1ec460bbeac - md5: 50746f61f199c4c00d42e33f5d6cfd0b + - geos >=3.13.1,<3.13.2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - librttopo >=1.1.0,<1.2.0a0 + size: 404655 + timestamp: 1741167186009 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda + sha256: de45b71224da77a1c3a7dd48d8885eb957c9f05455d4f0828463293e7144330f + md5: 7d5abf7ca1bd00b43d273f44d93d05dc depends: - - libre2-11 2025.11.05 h0eb2380_0 - license: BSD-3-Clause - license_family: BSD - size: 216623 - timestamp: 1762397986736 -- conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda - sha256: 345b1ed8288d81510101f886aaf547e3294370e5dab340c4c3fcb0b25e5d99e0 - md5: 6807f05dcf3f1736ad6cc9525b8b8725 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: ISC + run_exports: + weak: + - libsodium >=1.0.22,<1.0.23.0a0 + size: 280234 + timestamp: 1779164124739 +- conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-gpl_h0cd62ae_119.conda + sha256: c34dd6238ac4723b83b2155b18e7a91ce70dc80b422a50b19c4c713c7c6a8d80 + md5: c0eeff876d19f52efddccbd4887bb66f depends: - - libre2-11 2025.11.05 h04e5de1_1 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.14.1,<3.14.2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libxml2-devel + - libzlib >=1.3.1,<2.0a0 + - proj >=9.7.0,<9.8.0a0 + - sqlite + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 8671657 + timestamp: 1761681604524 +- conda: https://conda.anaconda.org/conda-forge/win-64/libspatialite-5.1.0-h378fb81_14.conda + sha256: 2a32368acce3c70a26e5600be369d78223e75db21907adf0454cfa30b63029e3 + md5: 58904bcd0b61948946e4efff5e4e3bbd + depends: + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.13.1,<3.13.2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.49.1,<4.0a0 + - libxml2 >=2.13.6,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.6.0,<9.7.0a0 + - sqlite + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - zlib + license: MPL-1.1 + license_family: MOZILLA + run_exports: + weak: + - libspatialite >=5.1.0,<5.2.0a0 + size: 8277831 + timestamp: 1742308854436 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-hf5d6505_0.conda + sha256: 4cd81319dcc58fb758da20a6d5595950c021adc2c18d7cffeadcfb590529629f + md5: df294e7f9f24a6063f0e226f4d028fda + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 1313306 + timestamp: 1780574491977 +- conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h9aa295b_0.conda + sha256: cbdf93898f2e27cefca5f3fe46519335d1fab25c4ea2a11b11502ff63e602c09 + md5: 9dce2f112bfd3400f4f432b3d0ac07b2 + depends: + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - size: 220305 - timestamp: 1768190225351 -- 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 - size: 345073 - timestamp: 1765813471974 -- conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.3-h68b038d_0.conda - sha256: 4614af680aa0920e82b953fece85a03007e0719c3399f13d7de64176874b80d5 - md5: eefd65452dfe7cce476a519bece46704 + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 292785 + timestamp: 1745608759342 +- conda: https://conda.anaconda.org/conda-forge/win-64/libthrift-0.22.0-h2e43b2f_2.conda + sha256: 7ffb48755c4fc4a7cca454e4afea286e4fb47e50e153df1b006b14691f0f43d0 + md5: 42856184560e5cf901551fd414ad25c1 depends: - - __osx >=10.13 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - size: 317819 - timestamp: 1765813692798 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - sha256: a77010528efb4b548ac2a4484eaf7e1c3907f2aec86123ed9c5212ae44502477 - md5: f8381319127120ce51e081dce4865cf4 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: + weak: + - libthrift >=0.22.0,<0.22.1.0a0 + size: 634136 + timestamp: 1777019194906 +- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + sha256: f1b8cccaaeea38a28b9cd496694b2e3d372bb5be0e9377c9e3d14b330d1cba8a + md5: 549845d5133100142452812feb9ba2e8 depends: - - __osx >=11.0 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - size: 313930 - timestamp: 1765813902568 -- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 - md5: 870293df500ca7e18bedefa5838a22ab + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.25,<1.26.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 + run_exports: + weak: + - libtiff >=4.7.1,<4.8.0a0 + size: 993166 + timestamp: 1762022118895 +- conda: https://conda.anaconda.org/conda-forge/win-64/libutf8proc-2.11.3-hb980946_0.conda + sha256: 5d82af0779eab283416240da792a0d2fe4f8213c447e9f04aeaab1801468a90c + md5: 5f34fcb6578ea9bdbfd53cc2cfb88200 depends: - - attrs >=22.2.0 - - python >=3.10 - - rpds-py >=0.7.0 - - typing_extensions >=4.4.0 - - python + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 51788 - timestamp: 1760379115194 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda - sha256: 7813c38b79ae549504b2c57b3f33394cea4f2ad083f0994d2045c2e24cb538c5 - md5: c65df89a0b2e321045a9e01d1337b182 + run_exports: + weak: + - libutf8proc >=2.11.3,<2.12.0a0 + size: 89061 + timestamp: 1768735187639 +- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + sha256: 0f0965edca8b255187604fc7712c53fe9064b31a1845a7dfb2b63bf660de84a7 + md5: 804880b2674119b84277d6c16b01677d depends: - - python >=3.10 - - certifi >=2017.4.17 - - charset-normalizer >=2,<4 - - idna >=2.5,<4 - - urllib3 >=1.21.1,<3 - - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 constrains: - - chardet >=3.0.2,<6 + - libvulkan-headers 1.4.341.0.* license: Apache-2.0 license_family: APACHE - size: 63602 - timestamp: 1766926974520 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda - sha256: 1715246b19c9f85ee022933b4845f2fc14ac9184981b7b7d9b728bec8e9588da - md5: 4a85203c1d80c1059086ae860836ffb9 + run_exports: + weak: + - libvulkan-loader >=1.4.341.0,<2.0a0 + size: 282251 + timestamp: 1770077165680 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda + sha256: 7b6316abfea1007e100922760e9b8c820d6fc19df3f42fb5aca684cfacb31843 + md5: f9bbae5e2537e3b06e0f7310ba76c893 depends: - - python >=3.10 - - certifi >=2023.5.7 - - charset-normalizer >=2,<4 - - idna >=2.5,<4 - - urllib3 >=1.26,<3 - - python + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - chardet >=3.0.2,<8 - license: Apache-2.0 - license_family: APACHE - size: 68709 - timestamp: 1778851103479 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-cache-1.3.2-pyhd8ed1ab_0.conda - sha256: 38d756255053c286a857545ea1343e3b370f04972a170073ee67b52b627e1517 - md5: 2b25a90124b8bbc7d01474dafecc815e - depends: - - attrs >=21.2 - - cattrs >=22.2 - - itsdangerous >=2.0 - - platformdirs >=2.5 - - python >=3.10 - - pyyaml >=6.0.1 - - requests >=2.22 - - ujson >=5.4 - - url-normalize >=1.4 - - urllib3 >=1.25.5 - license: BSD-2-Clause + - libwebp 1.6.0 + license: BSD-3-Clause license_family: BSD - size: 56374 - timestamp: 1778484376846 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.4.0-pyhd8ed1ab_0.conda - sha256: 909ec1510bbb6fad9276534352025f428050a4deeea86e68d61c8c580938ac82 - md5: a55b220de8970208f583e38639cfbecc + run_exports: + weak: + - libwebp-base >=1.6.0,<2.0a0 + 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: - - oauthlib >=3.0.0 - - python >=3.4 - - requests >=2.0.0 - license: ISC - size: 25757 - timestamp: 1710149693493 -- conda: https://conda.anaconda.org/conda-forge/noarch/reretry-0.11.8-pyhd8ed1ab_1.conda - sha256: f010d25e0ab452c0339a42807c84316bf30c5b8602b9d74d566abf1956d23269 - md5: b965b0dfdb3c89966a6a25060f73aa67 + - ucrt + constrains: + - pthreads-win32 <0.0a0 + - msys2-conda-epoch <0.0a0 + license: MIT AND BSD-3-Clause-Clear + run_exports: {} + size: 36621 + timestamp: 1759768399557 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda + sha256: 08dec73df0e161c96765468847298a420933a36bc4f09b50e062df8793290737 + md5: a69bbf778a462da324489976c84cfc8c depends: - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - size: 12563 - timestamp: 1735477549872 -- conda: https://conda.anaconda.org/conda-forge/noarch/retrying-1.4.2-pyhe01879c_0.conda - sha256: 7a10527962d2ca2cf936872ef58d4b622b1d1d1703e1d6396d0673fd9f883c7f - md5: 128b46a47ea164f9a8659cb6da2f3555 + - libgcc >=13 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - pthread-stubs + - ucrt >=10.0.20348.0 + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + run_exports: + weak: + - libxcb >=1.17.0,<2.0a0 + size: 1208687 + timestamp: 1727279378819 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + sha256: 3b61ee3caba702d2ff432fa3920835db963026e5c99c4e6fdca0c6114f59e7ce + md5: 9e8dd0d90ed830107b2c36801035b7db depends: - - python >=3.9 - - python - license: Apache-2.0 - license_family: APACHE - size: 20907 - timestamp: 1754219562310 -- conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda - sha256: 2e4372f600490a6e0b3bac60717278448e323cab1c0fecd5f43f7c56535a99c5 - md5: 36de09a8d3e5d5e6f4ee63af49e59706 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libxml2 2.15.3 + license: MIT + license_family: MIT + run_exports: {} + size: 519871 + timestamp: 1776376969852 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.9-h741aa76_0.conda + sha256: 28ac5bbed11644b9e06241ba1dfdac7e3a99e74b69915d45f646717ad9645ca5 + md5: 333d21ab129d5fa5742225bf1d7557a5 depends: - - python >=3.9 - - six + - 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 - size: 10209 - timestamp: 1733600040800 -- conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - sha256: 2a5b495a1de0f60f24d8a74578ebc23b24aa53279b1ad583755f223097c41c37 - md5: 912a71cc01012ee38e6b90ddd561e36f + run_exports: + weak: + - libxml2 >=2.13.9,<2.14.0a0 + size: 1521446 + timestamp: 1761766307746 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + sha256: a4599c6bbbbdd7db570896e520c557eec8e66d94e839a59d17dc1f24a3d5f82b + md5: 95591ca5671d2213f5b2d5aa7818420d depends: - - python + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h3cfd58e_0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 7818 - timestamp: 1598024297745 -- conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - sha256: 70001ac24ee62058557783d9c5a7bbcfd97bd4911ef5440e3f7a576f9e43bc92 - md5: 7234f99325263a5af6d4cd195035e8f2 + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 43684 + timestamp: 1776376992865 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-devel-2.15.3-h8ef44ab_0.conda + sha256: 1991b4e5e19b877b4cf01d9980957df1cc00dec94d7b93354a919ddaf8469582 + md5: 97b52e0d228b549e289445ab1238af7e depends: - - python >=3.9 - - lark >=1.2.2 - - python + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2 2.15.3 h8ef44ab_0 + - libxml2-16 2.15.3 h3cfd58e_0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 22913 - timestamp: 1752876729969 -- conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda - sha256: 3d6ba2c0fcdac3196ba2f0615b4104e532525ffa1335b50a2878be5ff488814a - md5: 0242025a3c804966bf71aa04eee82f66 + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.3 + size: 123614 + timestamp: 1776377012113 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + sha256: 13da38939c2c20e7112d683ab6c9f304bfaf06230a2c6a7cf00359da1a003ec7 + md5: 46034d9d983edc21e84c0b36f1b4ba61 depends: - - markdown-it-py >=2.2.0 - - pygments >=2.13.0,<3.0.0 - - python >=3.10 - - typing_extensions >=4.0.0,<5.0.0 - - python + - 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 - size: 208577 - timestamp: 1775991661559 -- conda: https://conda.anaconda.org/conda-forge/noarch/rioxarray-0.20.0-pyhd8ed1ab_0.conda - sha256: fa2fa8745ff8dce18d3243370b31726435b7f9448cdd214896f730291dc6aa55 - md5: 27583d44e139c520d9fdc1fd7aedd58d + run_exports: + weak: + - libxslt >=1.1.43,<2.0a0 + size: 420223 + timestamp: 1757963935611 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h25c3957_0.conda + sha256: 20857f1adb91cc59826e146ee6cb1157c6abf2901a93d359b1106ba87c8e770b + md5: e84f36aa02735c140099d992d491968d depends: - - numpy >=1.23 - - packaging - - pyproj >=3.3 - - python >=3.12 - - rasterio >=1.3.7 - - scipy - - xarray >=2024.7.0 - license: Apache-2.0 - license_family: Apache - size: 53405 - timestamp: 1761337252983 -- conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-4.1.0-pyhd8ed1ab_0.conda - sha256: 30f3c04fcfb64c44d821d392a4a0b8915650dbd900c8befc20ade8fde8ec6aa2 - md5: 0dc48b4b570931adc8641e55c6c17fe4 + - libxml2 >=2.13.8,<2.14.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MIT + license_family: MIT + run_exports: + weak: + - libxslt >=1.1.43,<2.0a0 + size: 416974 + timestamp: 1753273998632 +- conda: https://conda.anaconda.org/conda-forge/win-64/libzip-1.11.2-h3135430_0.conda + sha256: 8ed49d8aa0ff908e16c82f92154174027c8906429e8b63d71f0b27ecc987b43e + md5: 09066edc7810e4bd1b41ad01a6cc4706 + depends: + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libzip >=1.11.2,<2.0a0 + size: 146856 + timestamp: 1730442305774 +- 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 + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 58347 + timestamp: 1774072851498 +- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + sha256: 50c02902bb516eeb56680358f052be38b5bf74b40e78ea4b2a675e84957e7307 + md5: de3551bf6508d45ca46b714639e52823 depends: - - python >=3.10 - license: 0BSD OR CC0-1.0 - size: 13814 - timestamp: 1766003022813 -- conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-4.1.0-pyhd8ed1ab_0.conda - sha256: ce21b50a412b87b388db9e8dfbf8eb16fc436c23750b29bf612ee1a74dd0beb2 - md5: 28687768633154993d521aecfa4a56ac + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - openmp 22.1.8|22.1.8.* + - intel-openmp <0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + strong: + - llvm-openmp >=22.1.8 + size: 348002 + timestamp: 1781737042070 +- conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py313h1af1686_0.conda + sha256: 3c8323c5ecf4c66292e155653235f1fd502d973b3f7808481e9125dfecc5c0c6 + md5: a048ec07f78ba07267f53029e109ba31 depends: - - python >=3.10 - - roman-numerals 4.1.0 - license: 0BSD OR CC0-1.0 - size: 11074 - timestamp: 1766025162370 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.5.1-py312h192e038_0.conda - sha256: bc4a5045fd79e68392fb0661c698303c16e88b83d50626c2bc49c403555e900d - md5: a9e6fe6228340517c3b6a98bf5a76e2e + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1239933 + timestamp: 1779194936897 +- conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.1-py314hcdb55d9_0.conda + sha256: 0592cfa3f24bf8fa1980bcdec0aba6f532118374ec859b7429f2458aad6ae0a9 + md5: 8aafd5987b9bcfe357c44787fe2ed8c2 depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT - size: 312248 - timestamp: 1779976992617 -- conda: https://conda.anaconda.org/conda-forge/osx-64/rpds-py-2026.5.1-py312hb77ea7e_0.conda - sha256: 7a5993490a0ef070205da04b21c57ecdc2e3b06cc6b1ae9deb247678439da2aa - md5: 739f9a12783e1a32576509d0ea3cc0db + - libxml2 + - libxml2-16 >=2.14.6 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause and MIT-CMU + run_exports: {} + size: 1236191 + timestamp: 1779194955487 +- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_1.conda + sha256: d9139738fe6b7a4c8490f333435d3855ce4a2b15895cfd28fd976d62bb5ce0da + md5: 835dcb698b526cfeab01e1f5f908ca5c depends: - python - - __osx >=11.0 + - 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 - constrains: - - __osx >=11.0 - license: MIT - license_family: MIT - size: 311987 - timestamp: 1779977288688 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-2026.5.1-py312h8b1d842_0.conda - sha256: 10b1a12941d3f905dbd139b809d94d569e9be48d146c31f5cad71bfe6ae25412 - md5: 196427409c7a36c934df2c261edb164f + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 45673 + timestamp: 1765026421038 +- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py313h4bbca4b_1.conda + sha256: c00d35e5228ac375658495e86d33e1daa819ed11161034a5799dcb07bfa328c9 + md5: e8df314d3f3fa27e935b6cb449d754f3 depends: - python - - __osx >=11.0 - - python_abi 3.12.* *_cp312 - constrains: - - __osx >=11.0 - license: MIT - license_family: MIT - size: 294437 - timestamp: 1779977098659 -- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda - sha256: 3b927f1c875769dc647c61e0c9e21d1047441d64fc512b75aea916be746556da - md5: da8231829c8f3ea456f761ab09eca78a + - 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.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 46606 + timestamp: 1765026422655 +- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_1.conda + sha256: 764da65f49c2520ff5e2fdc8aaa57e94ca884dac58da2bdc294cb56950c63cec + md5: 8e9b2740fe44700706e8e4ca7e4fb8b6 depends: - python + - lz4-c - 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: 231128 - timestamp: 1779977048735 -- conda: https://conda.anaconda.org/conda-forge/noarch/rsa-4.9.1-pyhd8ed1ab_0.conda - sha256: e32e94e7693d4bc9305b36b8a4ef61034e0428f58850ebee4675978e3c2e5acf - md5: 58958bb50f986ac0c46f73b6e290d5fe + - python_abi 3.14.* *_cp314 + - lz4-c >=1.10.0,<1.11.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 47054 + timestamp: 1765026429237 +- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h2466b09_1.conda + sha256: 632cf3bdaf7a7aeb846de310b6044d90917728c73c77f138f08aa9438fc4d6b5 + md5: 0b69331897a92fac3d8923549d48d092 depends: - - pyasn1 >=0.1.3 - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - size: 31709 - timestamp: 1744825527634 -- conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - sha256: b48bebe297a63ae60f52e50be328262e880702db4d9b4e86731473ada459c2a1 - md5: 06ad944772941d5dae1e0d09848d8e49 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - lz4-c >=1.10.0,<1.11.0a0 + size: 139891 + timestamp: 1733741168264 +- conda: https://conda.anaconda.org/conda-forge/win-64/lzo-2.10-h6a83c73_1002.conda + sha256: 344f4f225c6dfb523fb477995545542224c37a5c86161f053a1a18fe547aa979 + md5: c5cb4159f0eea65663b31dd1e49bbb71 depends: - - python >=3.10 - - ruamel.yaml.clib >=0.2.15 - - python - license: MIT - license_family: MIT - size: 98448 - timestamp: 1767538149184 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda - sha256: dc520329bdfd356e2f464393f8ad9b8450fd5a269699907b2b8d629300c2c068 - md5: 84aa470567e2211a2f8e5c8491cdd78c + - 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 + run_exports: + weak: + - lzo >=2.10,<3.0a0 + size: 165589 + timestamp: 1753889311940 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda + sha256: b744287a780211ac4595126ef96a44309c791f155d4724021ef99092bae4aace + md5: a73298d225c7852f97403ca105d10a13 depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 148221 - timestamp: 1766159515069 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ruamel.yaml.clib-0.2.15-py312hf7082af_1.conda - sha256: ccb99c8888c647e6baf102a610fad5beae7e2f0709c6aa0f756fcb525c290a5b - md5: 1febc2f58c009405f5111fba9b97ba69 + - 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 + run_exports: {} + size: 28510 + timestamp: 1772445175216 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py313hd650c13_1.conda + sha256: 9dc626b6c00bc2dbd2494df689876ff675b93d92636ba5df8e37b99040a1f6bc + md5: 5cc690ddf943700e0ef50a265df31f03 depends: - - python - - __osx >=10.13 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - 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 + run_exports: {} + size: 28992 + timestamp: 1772445161959 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda + sha256: 02805a0f3cd168dbf13afc5e4aed75cc00fe538ce143527a6471485b36f5887c + md5: 8de7b40f8b30a8fcaa423c2537fe4199 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - 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 + run_exports: {} + size: 30022 + timestamp: 1772445159549 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.10.7-py312h2e8e312_0.conda + sha256: 9b850c7aeaeae8c836b19e79497c2cf357cd9e0bb617df16c2c6b003936e6cce + md5: 7e0fd7fd2a87921eb3b2088b52c9abfe + depends: + - matplotlib-base >=3.10.7,<3.10.8.0a0 + - pyside6 >=6.7.2 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 136284 - timestamp: 1766159530760 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruamel.yaml.clib-0.2.15-py312hb3ab3e3_1.conda - sha256: ee60a8409096aec04e713c7d98b744689eabb0a98a6cd7b122e896636ec28696 - md5: b3f01912f92602e178c7106d5191f06e + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 17869 + timestamp: 1760561135857 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py313hfa70ccb_0.conda + sha256: 7a68d368228d6e4a5bee564ef397b53d5b2fafe6ef7b749e0d9e2cc5568933ad + md5: 33063a92729902929889bad886970520 depends: - - python - - python 3.12.* *_cpython - - __osx >=11.0 + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - pyside6 >=6.7.2 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 15365 + timestamp: 1781627102409 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.0-py314h86ab7b2_0.conda + sha256: f892ffd353beb1f5c53660e07a423d0067813ae5640e602e909bfc8684a47744 + md5: b605003a2c599a089968b446071e47d4 + depends: + - matplotlib-base >=3.11.0,<3.11.1.0a0 + - pyside6 >=6.7.2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 15398 + timestamp: 1781627131197 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.10.7-py312h0ebf65c_0.conda + sha256: 7a48d0f7acf2c6f659d4110c51fd6349eea59cf094736c0487d146b279ffc8a5 + md5: 79230f2289ae81063289d3e726150912 + depends: + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.7 - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 131636 - timestamp: 1766159558170 -- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda - sha256: a28bd33ef3380c44632d6ead75a6ec170e135f18941f4b1d77f1cc1b24c1dc02 - md5: cc0977464335ea5c2e5ee3d00458e0c2 + - qhull >=2020.2,<2020.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8046406 + timestamp: 1760561093532 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py313hd54256a_0.conda + sha256: a1c5dffda37dbd09b4edbcb4428adf06a462f6a7368f44903d6fb9b803b32509 + md5: 587cdbe7543f1de96051925e089854ae depends: - - python + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.13,<3.14.0a0 + - python-dateutil >=2.7 + - python_abi 3.13.* *_cp313 + - qhull >=2020.2,<2020.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8580609 + timestamp: 1781627082156 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.0-py314h6cfc8ec_0.conda + sha256: 8369ba3f2d4f8d6546d5eb18594f410ac67f465c541bfa60c29ab0b1e2fe5e24 + md5: 9a095cd224b2c19c73a2dbbb0cd9fed2 + depends: + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 8652168 + timestamp: 1781627111884 +- conda: https://conda.anaconda.org/conda-forge/win-64/minizip-4.2.1-h0ffbb96_0.conda + sha256: 208b235b20232891d1dc9f468d08b00c53e7ca65a18b9bc0ff4c4867680b9a75 + md5: 5d55038c4d640e5df06de1cfb4e8d741 + depends: + - bzip2 >=1.0.8,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 105961 - timestamp: 1766159551536 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.15.17-h6a952e8_0.conda - noarch: python - sha256: 71fa0408cedb61dac0e94603d01faf42304297ff0d8788c265d853c7712fb644 - md5: 53a10deada836b3a1309b2179f677a6f + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Zlib + license_family: Other + run_exports: + weak: + - minizip >=4.2.1,<5.0a0 + size: 106290 + timestamp: 1778002682910 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2025.3.1-h57928b3_13.conda + sha256: 21251649fc0d67afa7c197aa2a284f05ec53432d0b241a6807a8718eb448b698 + md5: ee23c6c994c6778fad9b459a6ce8be45 depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - __glibc >=2.17 - license: MIT - size: 9333604 - timestamp: 1781208921649 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.15.17-h1ddadc8_0.conda - noarch: python - sha256: a858932daf2b83db7bab909e576a53bb48eeeffc987858f7de732e921bb4b80b - md5: c068964d3ca0b96c6628d3944e54e133 + - onemkl-license 2025.3.1 h57928b3_13 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + run_exports: {} + size: 685034 + timestamp: 1778105677931 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-include-2026.0.0-h57928b3_908.conda + sha256: d41a87a46c31b74368aabb7a7f47037524459ecb8062a470ae58469c9cb13027 + md5: 7522ecf673b186d76f87b1990abdbf04 depends: - - python - - __osx >=11.0 - constrains: - - __osx >=10.13 - license: MIT - size: 9390418 - timestamp: 1781212315640 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.15.17-h80928e0_0.conda - noarch: python - sha256: 56035432a678aec0aaa2195b282fd3a6649e4c9909641cad3962c387c3bf17f9 - md5: c39fd9e9b62acbfe880a8f07f4ff9b77 + - onemkl-license 2026.0.0 h57928b3_908 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + run_exports: {} + size: 790641 + timestamp: 1779293292195 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2025.3.1-hfdbc840_13.conda + sha256: e2683cb645e4d168687a472869e78473d087d353ca3bd8e966eefaa44944033f + md5: 2637d6295488266ca3965d2ea596d40d depends: - - python - - __osx >=11.0 - constrains: - - __osx >=11.0 - license: MIT - size: 8596345 - timestamp: 1781212277141 -- conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.17-h45713df_0.conda - noarch: python - sha256: 978f2d7f7276f2c690d78893f76421b0f356e245927d7b5da73b86d2e194cf64 - md5: e78561a61fc6aeac5d2b5419ffc0eadf + - mkl-include 2025.3.1 h57928b3_13 + - tbb 2022.* + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + run_exports: {} + size: 110152735 + timestamp: 1778105706408 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-static-2026.0.0-hfdbc840_908.conda + sha256: f7828dabad0915d43dd088511d8c0cec646c319bad2004a3f30497cf06ef7cc4 + md5: 236465654fb21f7377c50262b12290d9 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: MIT - size: 9950757 - timestamp: 1781212099152 -- conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.26-h5ac9029_0.conda - sha256: 14acdf5685f457988dba0053b9d29f1861b1c8fff6da13ec863d6a2b6ac75bff - md5: 0cfd80e699ae130623c0f42c6c6cf798 + - mkl-include 2026.0.0 h57928b3_908 + - tbb 2023.* + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + run_exports: {} + size: 125059581 + timestamp: 1779293349895 +- conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.2-h883a981_0.conda + sha256: 59d10b8dcfa2b899726556835b4546a2e1054f104c938b951ed9821fff81fad2 + md5: 7bcb237f435cb77e5a68d6e528ec65ae depends: - - __glibc >=2.17,<3.0.a0 + - gmp >=6.3.0,<7.0a0 - libgcc >=14 - - openssl >=3.5.2,<4.0a0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - mpfr >=4.2.2,<5.0a0 + size: 734113 + timestamp: 1773415369651 +- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py312hf90b1b7_0.conda + sha256: 706651825726865f4b93f8437507da94b5d7060476a3be09d33d8d4176aef886 + md5: 7be9af13377c126be5c6a2fd28af9b6c + 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 - size: 390887 - timestamp: 1758013933691 -- conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.6.2-he8a4886_1.conda - sha256: dec76e9faa3173579d34d226dbc91892417a80784911daf8e3f0eb9bad19d7a6 - md5: bade189a194e66b93c03021bd36c337b + run_exports: {} + size: 89264 + timestamp: 1782070483584 +- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py313hf069bd2_0.conda + sha256: 08cfc45c7160779556abc25ea2ac1352fc68c05a7db5c8f7eaa051c928ce93b8 + md5: 83ede6d6d5227244621c126264ccaea9 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - openssl >=3.5.4,<4.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache - size: 394197 - timestamp: 1765160261434 -- conda: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.18.0-pyhd8ed1ab_0.conda - sha256: 0f8106314ab25781cd58fdc90f8145c115eed00d9d6af4588238399bdffcc8e5 - md5: ebdb9fd5092c50620a226c7e23daab3b + run_exports: {} + size: 89970 + timestamp: 1782070487087 +- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314h909e829_0.conda + sha256: 5dc2c51a980e406faf3f06c3674792fb987f20fbcb5620c6860b6982f93f995f + md5: a2bf7491b2d71489532f20db59f470c3 depends: - - botocore >=1.37.4,<2.0a.0 - - python >=3.10 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache - size: 68798 - timestamp: 1780050416569 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.7.2-py312h4f0b9e3_0.conda - sha256: 27e2f65075556804a7524dc6bcc34829602f986621728100c0ef07b404168aa8 - md5: ee36c7b06c5d7c0ae750147ed9faee8a + run_exports: {} + size: 90559 + timestamp: 1782070458677 +- conda: https://conda.anaconda.org/conda-forge/win-64/multidict-6.7.1-py312h05f76fc_0.conda + sha256: 3a33346421defe3bd5dfdd10bed8a7055a2ce3b696aafa47f9ec5b1749d38c54 + md5: 3b54ef7993acc98becf31e0016e0404d depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - - joblib >=1.2.0 - - libgcc >=14 - - libstdcxx >=14 - - numpy >=1.22.0 - - numpy >=1.23,<3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - scipy >=1.8.0 - - threadpoolctl >=3.1.0 - license: BSD-3-Clause - license_family: BSD - size: 9694630 - timestamp: 1757406448831 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.9.0-np2py312h3226591_0.conda - sha256: 8c0cd0326b5a17ddcf189fc4f119bf6871b7853595c088075847c484a3ed567e - md5: e6e9b5795bb495325c3b4ebd451519aa - depends: - - python - - numpy >=1.24.1 - - scipy >=1.10.0 - - joblib >=1.4.0 - - threadpoolctl >=3.5.0 - - narwhals >=2.0.1 - - libgcc >=14 - - _openmp_mutex >=4.5 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 10038167 - timestamp: 1780401052981 -- conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.7.2-py312hfee4f84_0.conda - sha256: 6c492d58e51107b7f3944526bb7f8b4af4cb6ebcba648c4a08277fa7a4854762 - md5: 9cecc4b9d6cca528546f53a6c0120a04 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 91620 + timestamp: 1771610831076 +- conda: https://conda.anaconda.org/conda-forge/win-64/multidict-6.7.1-py313hd650c13_0.conda + sha256: 3d842544d6a27914116e70677d0f73459c97c585f6daccebb447941104b72948 + md5: 6abba47ca64961ca5e8eac08f02a7142 depends: - - __osx >=10.13 - - joblib >=1.2.0 - - libcxx >=19 - - llvm-openmp >=19.1.7 - - numpy >=1.22.0 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - scipy >=1.8.0 - - threadpoolctl >=3.1.0 - license: BSD-3-Clause - license_family: BSD - size: 9042087 - timestamp: 1757407115271 -- conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.9.0-np2py312h691318a_0.conda - sha256: 10f41e90b84e1f998d2d752ecf8e6223f11fa56e86f8104692229f961f24240c - md5: 1c8b1c621007743653c544b9ec69d8bd + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 91672 + timestamp: 1771610834790 +- conda: https://conda.anaconda.org/conda-forge/win-64/mumps-seq-5.8.2-h607cc0b_2.conda + sha256: cbb4eb8fdd61ce372f036ea2b45608929bcbdc38ec9abc8102d64ba297bfc862 + md5: 4f9dd2756fd47f390197cdc0a984e08e depends: - - python - - numpy >=1.24.1 - - scipy >=1.10.0 - - joblib >=1.4.0 - - threadpoolctl >=3.5.0 - - narwhals >=2.0.1 - - llvm-openmp >=19.1.7 - - libcxx >=19 - - __osx >=11.0 - - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 9558861 - timestamp: 1780401307679 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.7.2-py312h79e0ffc_0.conda - sha256: e46279d674d580dfeeb1c10dede94df65dbb25d951e35978893058e59e496bfa - md5: c3b31a2189b2a54272ab6831fe16106d + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - llvm-openmp >=21.1.8 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - libopenblas * *openmp* + license: CECILL-C + run_exports: + weak: + - mumps-seq >=5.8.2,<5.8.3.0a0 + size: 6225640 + timestamp: 1771833767934 +- conda: https://conda.anaconda.org/conda-forge/win-64/muparser-2.3.5-he0c23c2_0.conda + sha256: 57f78d8cd9a282d03cd7a7ffb1f42d570e1bbfb42d606e99de5c16e089067185 + md5: 013aabb169d59009bdf7d70319360e9b depends: - - __osx >=11.0 - - joblib >=1.2.0 - - libcxx >=19 - - llvm-openmp >=19.1.7 - - numpy >=1.22.0 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - scipy >=1.8.0 - - threadpoolctl >=3.1.0 - license: BSD-3-Clause - license_family: BSD - size: 8890616 - timestamp: 1757407517667 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.9.0-np2py312he5ca3e3_0.conda - sha256: e140dce2c42d0a121a113e29fbde4fd95a69cdf528ea195558ba25b809b439b7 - md5: b2b777cdad320a08da92bb1f58040bfd + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MIT + license_family: MIT + run_exports: + weak: + - muparser >=2.3.5,<2.4.0a0 + size: 148557 + timestamp: 1747117340968 +- conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py313hbe59507_100.conda + sha256: 5cdf0c4a40e047fe5cb64fea7e99fe906f957e2a3eba463ab1b03a009c197d48 + md5: 7da95b9fe456db6b2ef0db2424cd3b59 depends: - - python - - numpy >=1.24.1 - - scipy >=1.10.0 - - joblib >=1.4.0 - - threadpoolctl >=3.5.0 - - narwhals >=2.0.1 - - python 3.12.* *_cpython - - llvm-openmp >=19.1.7 - - libcxx >=19 - - __osx >=11.0 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 - numpy >=1.23,<3 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 9400478 - timestamp: 1780401354221 -- conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.7.2-py312h91ac024_0.conda - sha256: 22666360c1026cb5d197ca3f5b6e6e7902414cde266b0bb7e8b50f894254348e - md5: 640f74b19cfe413de754391df630a15a + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 979921 + timestamp: 1760541607235 +- conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.3-nompi_py314h640c526_100.conda + sha256: 557ccdaeb3b1d6e7494640cd9385af9c68be49872509b10eee7ee8d10ccc1343 + md5: 023232d6ee54492d56834004423912a6 depends: - - joblib >=1.2.0 - - numpy >=1.22.0 + - certifi + - cftime + - hdf5 >=1.14.6,<1.14.7.0a0 + - libnetcdf >=4.9.3,<4.9.4.0a0 + - libzlib >=1.3.1,<2.0a0 - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - scipy >=1.8.0 - - threadpoolctl >=3.1.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 8736451 - timestamp: 1757433576165 -- conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.9.0-np2py312hea30aaf_0.conda - sha256: c89cfc61bd6c690154ff7a7c9029b9dd83aae1049dc1f84c25c37cafa0b5f69d - md5: 0637562978d4231902754645e4c28640 + license: MIT + license_family: MIT + run_exports: {} + size: 978682 + timestamp: 1760541670772 +- conda: https://conda.anaconda.org/conda-forge/win-64/netcdf4-1.7.4-nompi_py312h8fa77f8_102.conda + sha256: be4aaa3c8e18cbf68ac8214716444aebe86e37370dd1c72da881eed86b6b4755 + md5: ee21ff61b382ba17e980d83bf2e3d20e depends: - python - - numpy >=1.24.1 - - scipy >=1.10.0 - - joblib >=1.4.0 - - threadpoolctl >=3.5.0 - - narwhals >=2.0.1 + - certifi + - cftime + - numpy + - hdf5 + - libnetcdf - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libzlib >=1.3.1,<2.0a0 - numpy >=1.23,<3 - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 9153589 - timestamp: 1780413519467 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scip-10.0.2-hbf6308b_0.conda - sha256: 56bdcaa9a506776cfd04814663ac2332b5f863f7cec72e68fc13f493a1530699 - md5: 4169674254e087f3473032f646ed81b0 - depends: - - __glibc >=2.17,<3.0.a0 - - libgfortran5 >=14.3.0 - - libgfortran - - libgcc >=14 - - libstdcxx >=14 - - mpfr >=4.2.2,<5.0a0 - - ipopt >=3.14.19,<3.14.20.0a0 - - gmp >=6.3.0,<7.0a0 - - libblas >=3.9.0,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - - tbb >=2022.3.0 - - libboost >=1.88.0,<1.89.0a0 - license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND - size: 16233924 - timestamp: 1775217740722 -- conda: https://conda.anaconda.org/conda-forge/osx-64/scip-10.0.2-h698be43_0.conda - sha256: 2f4b6a44b7f741f741a4a023bb663a12ac1540f9ea80d84f6e27704a756bcabb - md5: 9091a645544c554316b4112898c79455 - depends: - - libgfortran - - libgfortran5 >=14.3.0 - - libcxx >=19 - - __osx >=10.13 - - tbb >=2022.3.0 - - libboost >=1.88.0,<1.89.0a0 - - libblas >=3.9.0,<4.0a0 - - gmp >=6.3.0,<7.0a0 - - ipopt >=3.14.19,<3.14.20.0a0 - - libzlib >=1.3.2,<2.0a0 - - mpfr >=4.2.2,<5.0a0 - license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND - size: 15859088 - timestamp: 1775217830560 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scip-10.0.2-h2279441_0.conda - sha256: 68a439d80f372c3028c01504e0e1e79d97961f823640bf35cea9e0a227817143 - md5: 5baa432015ef85756cef4a175f648a8f - depends: - - __osx >=11.0 - - libcxx >=19 - - libgfortran - - libgfortran5 >=14.3.0 - - mpfr >=4.2.2,<5.0a0 - - ipopt >=3.14.19,<3.14.20.0a0 - - gmp >=6.3.0,<7.0a0 - - libzlib >=1.3.2,<2.0a0 - - tbb >=2022.3.0 - - libblas >=3.9.0,<4.0a0 - - libboost >=1.88.0,<1.89.0a0 - license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND - size: 13590115 - timestamp: 1775217795338 -- conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h83f2e2e_0.conda - sha256: 6471860756ba02c8e563bfe74276f1552b1bf2b631e2004f917fcc40106084ed - md5: 3e9bb39c08cc273ab2f62cce64c2a88e + - libnetcdf >=4.9.3,<4.9.4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 1032408 + timestamp: 1768552481606 +- conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py313hc90dcd4_0.conda + sha256: 008d11564f2a3bac16ea0e323a02b24ca06fb28f8b74c01cde13098003c35b9b + md5: 4006d795b35200d0d6e28a1de84dfcc5 depends: + - deprecated + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - typing_extensions + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 516677 + timestamp: 1764782612807 +- conda: https://conda.anaconda.org/conda-forge/win-64/numcodecs-0.16.5-py314hd8fd7ce_0.conda + sha256: 5181c402d78704f3d2ae5797262dd3459fd4d4ca9a49d3f48278aea09a932817 + md5: 04b1473b12a9e487fa9c085223095b0d + depends: + - deprecated + - msgpack-python + - numpy >=1.23,<3 + - numpy >=1.24 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing_extensions - ucrt >=10.0.20348.0 - - libzlib >=1.3.2,<2.0a0 - - mpfr >=4.2.2,<5.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libboost >=1.88.0,<1.89.0a0 - - gmp >=6.3.0,<7.0a0 - - tbb >=2022.3.0 - - ipopt >=3.14.19,<3.14.20.0a0 - license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND - size: 12269071 - timestamp: 1775217821023 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_1.conda - sha256: d5ac05ad45c0d48731eb189c2cbb2bb99f0e3cb7e1acaad373cb2f1f2597fc75 - md5: 15995ecb2ef890778ba9a3750190f09d + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 519894 + timestamp: 1764782737019 +- conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py312h0c4f959_102.conda + sha256: e4e95a617c328f688f24a42eeedb27ab7a259fcde9cab95651235e27daa24118 + md5: ec5fb486545f4f928a86b2d2862418fd 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 + - nomkl - numpy >=1.23,<3 - - numpy >=1.25.2 + - numpy >=1.23.0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 16828243 - timestamp: 1779874781187 -- conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.17.1-py312h6309490_1.conda - sha256: 4b3663a4f1a92c881ba0fc4d317eee04831adc44400d85bac5b27c503445f6ad - md5: 284f71322e48e8ae8ce23d48356df042 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 205330 + timestamp: 1778498800383 +- conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py313h7034ea3_102.conda + sha256: 3d9c6ad098dc9582beac87f689121ca5978fdc8ce9e07046b86bf6d5d13347d3 + md5: c7c0530b8c193391a013782259c3a1a0 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 + - nomkl - 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 - size: 15137152 - timestamp: 1779876260804 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.17.1-py312h4519d97_1.conda - sha256: c0ed2cbfa3485bac8570e52b577475778c603ee92d078a8b164d1ddec992e577 - md5: 173d5eeba324363d9171946e86a81687 + - numpy >=1.23.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 205086 + timestamp: 1778498807509 +- conda: https://conda.anaconda.org/conda-forge/win-64/numexpr-2.14.1-py314h5a6676c_102.conda + sha256: 36990087b48bb71fc95c163c21c095805d647db0d79e95033881edfd0e333cf2 + md5: aa79f6c954c7f20b654383010a2a2df6 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 + - nomkl - 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 - size: 13936510 - timestamp: 1779874824714 -- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda - sha256: b8a13caeb04f2b943e7c617a4b76805450618716b38688ee8d3f79b60d529e84 - md5: 0b8c96ed1c04732ff8eb5d481b44c43c + - numpy >=1.23.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 207711 + timestamp: 1778498780107 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-1.26.4-py312h8753938_0.conda + sha256: 73570817a5109d396b4ebbe5124a89525959269fd33fa33fd413700289fbe0ef + md5: f9ac74c3b07c396014434aca1e58d362 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 - size: 15078490 - timestamp: 1779876221509 -- conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-0.13.2-hd8ed1ab_3.conda - noarch: python - sha256: ea29a69b14dd6be5cdeeaa551bf50d78cafeaf0351e271e358f9b820fcab4cb0 - md5: 62afb877ca2c2b4b6f9ecb37320085b6 - depends: - - seaborn-base 0.13.2 pyhd8ed1ab_3 - - statsmodels >=0.12 - license: BSD-3-Clause - license_family: BSD - size: 6876 - timestamp: 1733730113224 -- conda: https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.13.2-pyhd8ed1ab_3.conda - sha256: f209c9c18187570b85ec06283c72d64b8738f825b1b82178f194f4866877f8aa - md5: fd96da444e81f9e6fcaac38590f3dd42 - depends: - - matplotlib-base >=3.4,!=3.6.1 - - numpy >=1.20,!=1.24.0 - - pandas >=1.2 - - python >=3.9 - - scipy >=1.7 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 constrains: - - seaborn =0.13.2=*_3 - license: BSD-3-Clause - license_family: BSD - size: 227843 - timestamp: 1733730112409 -- conda: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.4-pyhcf101f3_1.conda - sha256: bea67173ed67c73cf16691ef72e58059492ac1ed1c880cfbeb6f1295c5add7d6 - md5: 8e7be844ccb9706a999a337e056606ab - depends: - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 22532 - timestamp: 1767294175877 -- conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh5552912_1.conda - sha256: 8fc024bf1a7b99fc833b131ceef4bef8c235ad61ecb95a71a6108be2ccda63e8 - md5: b70e2d44e6aa2beb69ba64206a16e4c6 - depends: - - __osx - - pyobjc-framework-cocoa - - python >=3.10 - - python + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - size: 22519 - timestamp: 1770937603551 -- conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyh6dadd2b_1.conda - sha256: 305446a0b018f285351300463653d3d3457687270e20eda37417b12ee386ef76 - md5: 6ac53f3fff2c416d63511843a04646fa + run_exports: + weak: + - numpy >=1.26.4,<2.0a0 + size: 6495445 + timestamp: 1707226412944 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py313hce7ae62_1.conda + sha256: a926b0f781c44fdd10e11ec7e7a86ac588ec40b339ac2b4a8459def6d99b613b + md5: 7db4fcf0a8a985d3f15270ddc7ac0aac depends: - - __win - - pywin32 - - python >=3.10 - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.13.* *_cp313 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - size: 22864 - timestamp: 1770937641143 -- conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_1.conda - sha256: 59656f6b2db07229351dfb3a859c35e57cc8e8bcbc86d4e501bff881a6f771f1 - md5: 28eb91468df04f655a57bcfbb35fc5c5 + run_exports: + weak: + - numpy >=1.23,<3 + size: 7251046 + timestamp: 1770098409520 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda + sha256: de0eee21d902fb45a58454e3739e04ede7d02bf7575ca0ae9f959f20fa15c76b + md5: df95e6c7325bbae2571e5cef5f9c8096 depends: - - __linux - - python >=3.10 - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - size: 24108 - timestamp: 1770937597662 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 - md5: 8e194e7b992f99a5015edbd4ebd38efd + run_exports: + weak: + - numpy >=1.23,<3 + size: 7318163 + timestamp: 1779169232086 +- conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2025.3.1-h57928b3_13.conda + sha256: 4ca711784724992014a2ba1bfc2e4798182f374d1f11a05f33d636e9f10ca6ca + md5: eded4ef8a94852a2e3e4c779b3b6fdda + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + run_exports: {} + size: 41377 + timestamp: 1778104928629 +- conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.conda + sha256: 42ad15cbb3bf31830efa04d4b86dd2d5c0dd590c86f98adcd3c8c1f75acf5dd5 + md5: 9c9303e08b50e09f5c23e1dac99d0936 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + run_exports: {} + size: 41580 + timestamp: 1779292867015 +- conda: https://conda.anaconda.org/conda-forge/win-64/openjdk-25.0.2-he453025_1.conda + sha256: ebf65d5dd7c6a16e1ea44edfeb501900524ff1780db0902997326c56755986dd + md5: 9151f91b148e6d892041da89c63ebb46 depends: - - python >=3.10 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - symlink-exe-runtime >=1.0,<2.0a0 + license: GPL-2.0-or-later WITH Classpath-exception-2.0 + license_family: GPL + run_exports: {} + size: 199761803 + timestamp: 1771445473325 +- 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 + run_exports: + weak: + - openjpeg >=2.5.4,<3.0a0 + size: 245594 + timestamp: 1772624841727 +- 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 - size: 639697 - timestamp: 1773074868565 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.0.5-pyhcf101f3_0.conda - sha256: bb7b0deb24dfb6c47d8208adb35cb7a9e6fbb34981f2ae24b3f9e639c98553b6 - md5: 730021037e2ce4c65f8eca077e35a821 + run_exports: {} + size: 475979 + timestamp: 1769122144585 +- conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py313hc624790_3.conda + sha256: e5e86bc7ac493fcee526434a79f51c6a24e7c71cf4e50044d0c410079bf44af8 + md5: 57d8fccec9481a008b363bfbbef86d1f depends: - - python >=3.10 - - vcs_versioning >=1.0.0.dev0 - - packaging >=20 - - setuptools - - tomli >=1 - - typing_extensions - - python + - et_xmlfile + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 24728 - timestamp: 1779446434662 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-10.0.5-h8c3c6de_0.conda - sha256: 275bf1fd14e4bc0102e8475da694addc7bc2d9a7624213ca0a4309761f14d8cb - md5: 3c8ff4c1bc8528d16d151582cba9e3a9 + run_exports: {} + size: 484886 + timestamp: 1769122183416 +- conda: https://conda.anaconda.org/conda-forge/win-64/openpyxl-3.1.5-py314hccc76fc_3.conda + sha256: 82ad3a066acc770f0945c1ffa9b1ad1878ad9b6c3625bab940804909ce94d484 + md5: 864cdb786a1bb977ed1f96eab705a6d1 depends: - - setuptools-scm ==10.0.5 pyhcf101f3_0 + - et_xmlfile + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 3832 - timestamp: 1779446434662 -- conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.0.7-py312h21f5128_1.conda - sha256: 3132247fea369826a6ab0857693be7cb35ef690bb1f7f28ccaf20351432e4b2a - md5: 98d83a309c3f330793a7cc8d48c67f81 + run_exports: {} + size: 487955 + timestamp: 1769122150643 +- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 + md5: e99f95734a326c0fd4d02bbd995150d4 depends: - - __glibc >=2.17,<3.0.a0 - - geos >=3.13.1,<3.13.2.0a0 - - libgcc >=13 - - numpy >=1.19,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 572785 - timestamp: 1741167094882 -- conda: https://conda.anaconda.org/conda-forge/linux-64/shapely-2.1.2-py312h383787d_2.conda - sha256: da100ac0210f52399faf814f701165058fa2e2f65f5c036cdf2bf99a40223373 - md5: 69e400d3deca12ee7afd4b73a5596905 + - ca-certificates + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 9414790 + timestamp: 1781071745579 +- conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-h0a1ad0e_1.conda + sha256: dcfca3c3c117e9102fcfca116ec9e4f0bbcd0f13b3fce06ff111ae9f107d04b7 + md5: aa6701a960f0e94478229af1e061c237 depends: - - __glibc >=2.17,<3.0.a0 - - geos >=3.14.1,<3.14.2.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 - size: 631649 - timestamp: 1762523699384 -- conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.0.7-py312hbf10b29_1.conda - sha256: 6640b08d896186c5ef9998f24be188253646e1821c9959b9ec2362219f78571b - md5: 0fa791edab019354c27babf206aa22b7 + - 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 + run_exports: + weak: + - orc >=2.2.2,<2.2.3.0a0 + size: 1073185 + timestamp: 1770452512023 +- conda: https://conda.anaconda.org/conda-forge/win-64/orc-2.2.2-hbd3206f_0.conda + sha256: 86549f63b4b30764e70fd3edc2df4d69e17880b317afa9fa93318a83f9213807 + md5: e20393ad8ebe534f3937e0a5da44e287 depends: - - __osx >=10.13 - - geos >=3.13.1,<3.13.2.0a0 - - numpy >=1.19,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 541745 - timestamp: 1741167264444 -- conda: https://conda.anaconda.org/conda-forge/osx-64/shapely-2.1.2-py312hd8edc82_2.conda - sha256: 0ad376aee3a2fe149443af9345aadeb8ad82a95953bee74b59ca17997da03012 - md5: eae9cbc6418de8f26e08f4fb255759e9 + - libprotobuf >=6.31.1,<6.31.2.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 + run_exports: + weak: + - orc >=2.2.2,<2.2.3.0a0 + size: 1164012 + timestamp: 1768247969345 +- conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.1-py313h26f5e95_0.conda + sha256: 8f27705b1c152f2710e387c58e7c042c855ef3effd2d10e044dbaa63b3a6af65 + md5: af3049574f7e183a5aed311ecfa2c394 depends: - - __osx >=10.13 - - geos >=3.14.1,<3.14.2.0a0 + - python + - numpy >=1.26.0 + - python-dateutil >=2.8.2 + - python-tzdata + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + constrains: + - adbc-driver-postgresql >=1.2.0 + - adbc-driver-sqlite >=1.2.0 + - beautifulsoup4 >=4.12.3 + - blosc >=1.21.3 + - bottleneck >=1.4.2 + - fastparquet >=2024.11.0 + - fsspec >=2024.10.0 + - gcsfs >=2024.10.0 + - html5lib >=1.1 + - hypothesis >=6.116.0 + - jinja2 >=3.1.5 + - lxml >=5.3.0 + - matplotlib >=3.9.3 + - numba >=0.60.0 + - numexpr >=2.10.2 + - odfpy >=1.4.1 + - openpyxl >=3.1.5 + - psycopg2 >=2.9.10 + - pyarrow >=13.0.0 + - pyiceberg >=0.8.1 + - pymysql >=1.1.1 + - pyqt5 >=5.15.9 + - pyreadstat >=1.2.8 + - pytables >=3.10.1 + - pytest >=8.3.4 + - pytest-xdist >=3.6.1 + - python-calamine >=0.3.0 + - pytz >=2024.2 + - pyxlsb >=1.0.10 + - qtpy >=2.4.2 + - scipy >=1.14.1 + - s3fs >=2024.10.0 + - sqlalchemy >=2.0.36 + - tabulate >=0.9.0 + - xarray >=2024.10.0 + - xlrd >=2.0.1 + - xlsxwriter >=3.2.0 + - zstandard >=0.23.0 license: BSD-3-Clause license_family: BSD - size: 603294 - timestamp: 1762523892524 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.0.7-py312hf733f26_1.conda - sha256: dc09fedd0ae7857571c1daf7ee1322f5535d486e4f939a4ce2ac4741ad85736d - md5: 5033b6bb0358d8a756ec2fbf7739ed36 + run_exports: {} + size: 13764758 + timestamp: 1771409003035 +- conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py312h95189c4_0.conda + sha256: f1f67623997699885c7668b039314f5c9a663eb94dcaf284574fdc6dd248b2b8 + md5: 9da394ea5e0ec5cc5edc1ad14f2a4d4d depends: - - __osx >=11.0 - - geos >=3.13.1,<3.13.2.0a0 - - numpy >=1.19,<3 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython + - python + - numpy >=1.26.0 + - python-dateutil >=2.8.2 + - python-tzdata + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - numpy >=1.23,<3 - python_abi 3.12.* *_cp312 + constrains: + - adbc-driver-postgresql >=1.2.0 + - adbc-driver-sqlite >=1.2.0 + - beautifulsoup4 >=4.12.3 + - blosc >=1.21.3 + - bottleneck >=1.4.2 + - fastparquet >=2024.11.0 + - fsspec >=2024.10.0 + - gcsfs >=2024.10.0 + - html5lib >=1.1 + - hypothesis >=6.116.0 + - jinja2 >=3.1.5 + - lxml >=5.3.0 + - matplotlib >=3.9.3 + - numba >=0.60.0 + - numexpr >=2.10.2 + - odfpy >=1.4.1 + - openpyxl >=3.1.5 + - psycopg2 >=2.9.10 + - pyarrow >=13.0.0 + - pyiceberg >=0.8.1 + - pymysql >=1.1.1 + - pyqt5 >=5.15.9 + - pyreadstat >=1.2.8 + - pytables >=3.10.1 + - pytest >=8.3.4 + - pytest-xdist >=3.6.1 + - python-calamine >=0.3.0 + - pytz >=2024.2 + - pyxlsb >=1.0.10 + - qtpy >=2.4.2 + - scipy >=1.14.1 + - s3fs >=2024.10.0 + - sqlalchemy >=2.0.36 + - tabulate >=0.9.0 + - xarray >=2024.10.0 + - xlrd >=2.0.1 + - xlsxwriter >=3.2.0 + - zstandard >=0.23.0 license: BSD-3-Clause license_family: BSD - size: 536480 - timestamp: 1741167452069 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/shapely-2.1.2-py312h35cd81b_2.conda - sha256: 81d4780a8a7d2f6b696fc8cd43f791ef058a420e35366fd4cd68bef9f139f3d5 - md5: 624173184d65db80f267b6191c1ad26d + run_exports: {} + size: 13644207 + timestamp: 1778602674307 +- conda: https://conda.anaconda.org/conda-forge/win-64/pandas-3.0.3-py314hf700ef7_0.conda + sha256: 7f9912ba70e53805432f8e3a980fec5d13fe851989f68a70889394a2b4438ac2 + md5: 33451badee17d4162840339efdab40ad depends: - - __osx >=11.0 - - geos >=3.14.1,<3.14.2.0a0 + - python + - numpy >=1.26.0 + - python-dateutil >=2.8.2 + - python-tzdata + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + constrains: + - adbc-driver-postgresql >=1.2.0 + - adbc-driver-sqlite >=1.2.0 + - beautifulsoup4 >=4.12.3 + - blosc >=1.21.3 + - bottleneck >=1.4.2 + - fastparquet >=2024.11.0 + - fsspec >=2024.10.0 + - gcsfs >=2024.10.0 + - html5lib >=1.1 + - hypothesis >=6.116.0 + - jinja2 >=3.1.5 + - lxml >=5.3.0 + - matplotlib >=3.9.3 + - numba >=0.60.0 + - numexpr >=2.10.2 + - odfpy >=1.4.1 + - openpyxl >=3.1.5 + - psycopg2 >=2.9.10 + - pyarrow >=13.0.0 + - pyiceberg >=0.8.1 + - pymysql >=1.1.1 + - pyqt5 >=5.15.9 + - pyreadstat >=1.2.8 + - pytables >=3.10.1 + - pytest >=8.3.4 + - pytest-xdist >=3.6.1 + - python-calamine >=0.3.0 + - pytz >=2024.2 + - pyxlsb >=1.0.10 + - qtpy >=2.4.2 + - scipy >=1.14.1 + - s3fs >=2024.10.0 + - sqlalchemy >=2.0.36 + - tabulate >=0.9.0 + - xarray >=2024.10.0 + - xlrd >=2.0.1 + - xlsxwriter >=3.2.0 + - zstandard >=0.23.0 license: BSD-3-Clause license_family: BSD - size: 596152 - timestamp: 1762524099944 -- conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.0.7-py312h3f81574_1.conda - sha256: f0b17b16c33e73e3ca499e743fe0661bc99e8f2e1c06d1f248d9f0f43095f9ef - md5: 5d4fdea14e643636725d68ac3c2306bf + run_exports: {} + size: 14062915 + timestamp: 1778602665890 +- conda: https://conda.anaconda.org/conda-forge/win-64/pandoc-3.10-h57928b3_0.conda + sha256: 113b65a0994f0858b60273ed4ccd2b34c71623af7263c1e79a9db7503b70598e + md5: 279aed27b9dd4747cca81f18ab226034 + license: GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 26777174 + timestamp: 1780595558374 +- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + sha256: dcda7e9bedc1c87f51ceef7632a5901e26081a1f74a89799a3e50dbdc801c0bd + md5: 452d6d3b409edead3bd90fc6317cd6d4 depends: - - geos >=3.13.1,<3.13.2.0a0 - - numpy >=1.19,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.10,<2.0a0 + - harfbuzz >=11.0.1 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libglib >=2.84.2,<3.0a0 + - libpng >=1.6.49,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 454854 + timestamp: 1751292618315 +- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + sha256: 3d4e6e541e633f6fd22fc2c1d79ad5ec39503dea3ba04fc3e01d5be904ec7cea + md5: 1f1cf3772ba7d4eef989e4679ddf97f7 + depends: + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-or-later + run_exports: + weak: + - pango >=1.56.4,<2.0a0 + size: 454919 + timestamp: 1774282149607 +- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.45-h99c9b8b_0.conda + sha256: 165d6f76e7849615cfa5fe5f0209b90103102db17a7b4632f933fa9c0e8d8bfe + md5: f4c483274001678e129f5cbaf3a8d765 + depends: + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: BSD-3-Clause license_family: BSD - size: 537509 - timestamp: 1741167468116 -- conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py312h37f46ab_2.conda - sha256: 06f2e00ea487689ad23de7a9f791378ad00d69d464cd809ccce1ad39486263a9 - md5: 674ce7b99e43ac450b79d6c9c8a11705 + run_exports: + weak: + - pcre2 >=10.45,<10.46.0a0 + size: 1040584 + timestamp: 1745955875845 +- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + sha256: 3e9e02174edf02cb4bcdd75668ad7b74b8061791a3bc8bdb8a52ae336761ba3e + md5: 77eaf2336f3ae749e712f63e36b0f0a1 depends: - - geos >=3.14.1,<3.14.2.0a0 - - numpy >=1.23,<3 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - 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 - size: 596670 - timestamp: 1762523748692 -- conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_2.conda - sha256: 1d6534df8e7924d9087bd388fbac5bd868c5bf8971c36885f9f016da0657d22b - md5: 83ea3a2ddb7a75c1b09cea582aa4f106 - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 15018 - timestamp: 1762858315311 -- 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 - size: 18455 - timestamp: 1753199211006 -- conda: https://conda.anaconda.org/conda-forge/noarch/smart_open-7.6.1-pyhcf101f3_0.conda - sha256: 58185ed2290aa6ef0a5de7012c2a581d75a3577b7e93de455c19fa10d344570a - md5: 8e4971d25d53f168dfb64d6f5ee1316d - depends: - - python >=3.10 - - wrapt - - python - license: MIT - license_family: MIT - size: 57112 - timestamp: 1778331246761 -- conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.3-pyhcf101f3_1.conda - sha256: bc86861086db65c9b56dd6a1605755f41a9875b94fc3b69e137f686700d91aa1 - md5: b899f1195be56d8215ed1973a8f409c3 - depends: - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 27262 - timestamp: 1781021238494 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-cluster-generic-1.0.9-pyhdfd78af_0.tar.bz2 - sha256: 38a9a779f242843e94fed34b0fbc0f9be0001f6bd322681c83146186fdd48da6 - md5: 9b1db7127119f513696d620eefe7bf67 - depends: - - python >=3.11.0,<4.0.0 - - snakemake-interface-common >=1.13.0,<2.0.0 - - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 - license: MIT - license_family: MIT - size: 13919 - timestamp: 1710194099964 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-2.7.1-pyhdfd78af_0.conda - sha256: 68962051fc8f68c8fb3e6a57635c92226ff95841e4649e5acdd3fca770dff16f - md5: d11d20e557970783b9dbc68d36d3c37a - depends: - - numpy >=1.26.4,<3.0 - - pandas >=2.2.3,<3.0 - - python >=3.11.0,<4.0.0 - - pyyaml - - snakemake-executor-plugin-slurm-jobstep >=0.4.0,<0.5.0 - - snakemake-interface-common >=1.21.0,<2.0.0 - - snakemake-interface-executor-plugins >=9.3.9,<10.0.0 - - throttler >=1.2.2,<2.0.0 - license: MIT - license_family: MIT - size: 47320 - timestamp: 1780309106075 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-executor-plugin-slurm-jobstep-0.4.0-pyhdfd78af_0.conda - sha256: 82ad84bf106e0fbab62f6c001311aff53faefe323254c8b2b3540f310bb48dfe - md5: 7d4f2bf739967798eb4d8c02d59cf36c - depends: - - python >=3.11.0,<4.0.0 - - snakemake-interface-common >=1.13.0,<2.0.0 - - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 - license: MIT - size: 14678 - timestamp: 1765807808315 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-common-1.23.0-pyhdfd78af_1.conda - sha256: 1e8393a8ef060c62ef963fa9e0b3cc8f69b1dec4bdb51599c0dfcdeb9b8c7d12 - md5: a5ec344abd4b0cdda5a52e870e4d25a3 - depends: - - argparse-dataclass >=2.0.0 - - configargparse >=1.7 - - packaging >=24.0 - - python >=3.8 - license: MIT - license_family: MIT - size: 22751 - timestamp: 1780096495612 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-executor-plugins-9.4.0-pyh84498cf_0.conda - sha256: 16c8e1ba64837b10460459e710e2578e8b0be5d1ed9501cfcf27b2ba316e5ad2 - md5: 0d8bbf1699b16ac225031ae0c73729f8 - depends: - - argparse-dataclass >=2.0.0,<3.0.0 - - python >=3.11.0,<4.0.0 - - snakemake-interface-common >=1.19.0 - - throttler >=1.2.2,<2.0.0 - license: MIT - license_family: MIT - size: 25394 - timestamp: 1772990565157 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-logger-plugins-2.1.0-pyhdfd78af_0.conda - sha256: 1fc3115ce77aee110a7cf7bc6ffb3a4ab82af3173109b0bad6ac9adb00296de7 - md5: 78f0a9e3ec845ef8e35e319bc36dee9b - depends: - - python >=3.11.0,<4.0.0 - - snakemake-interface-common >=1.17.4,<2.0.0 - license: MIT - size: 21021 - timestamp: 1779291141116 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-interface-report-plugins-1.3.0-pyhd4c3c12_0.conda - sha256: 7b7be41b59f2d904acb014ee182561610c930bef5f607742011ee23befe73831 - md5: e6fd8cfb23b294da699e395dbc968d11 + run_exports: + weak: + - pcre2 >=10.47,<10.48.0a0 + size: 995992 + timestamp: 1763655708300 +- conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py312h31f0997_0.conda + sha256: ab7c254e49d0999bbfc3d3b2c76e7d5f9f831692c864c641cf10c557b727ad7e + md5: ba3bcb72a269e7751cadbdd784f84dec depends: - - python >=3.11.0,<4.0.0 - - snakemake-interface-common >=1.16.0,<2.0.0 - license: MIT - 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 + - 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 + run_exports: {} + size: 944998 + timestamp: 1775060119774 +- conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py313h38f99e1_0.conda + sha256: 54df76a56eff31deab5e72350ca906c79dfb71f0ac9d84bf2f7420ab2ee00151 + md5: 72666a34e563494859af5c5fc10364a0 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 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libwebp-base >=1.6.0,<2.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - tk >=8.6.13,<8.7.0a0 + - lcms2 >=2.18,<3.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - python_abi 3.13.* *_cp313 + - libxcb >=1.17.0,<2.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + license: HPND + run_exports: {} + size: 957015 + timestamp: 1775060119774 +- conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.2.0-py314h61b30b5_0.conda + sha256: d122b2a91402d72cf7f9d256e805e3533b2cf307c067e0072d9cc83ae789da48 + md5: 23ce08e46c625eb523ffef8939cb3ca9 depends: - - humanfriendly >=10.0,<11 - - python >=3.11.0,<4.0.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 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - openjpeg >=2.5.4,<3.0a0 + - python_abi 3.14.* *_cp314 + - lcms2 >=2.18,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - zlib-ng >=2.3.3,<2.4.0a0 + - libjpeg-turbo >=3.1.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libxcb >=1.17.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - tk >=8.6.13,<8.7.0a0 + license: HPND + run_exports: {} + size: 983791 + timestamp: 1775060119774 +- 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 - size: 22783 - timestamp: 1773699846635 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-logger-plugin-pypsa-0.2.0-pyhdfd78af_0.conda - sha256: 966d9d97e4595e8a6428a5d0527aeda7757b797b3640e74a30601aaad3955621 - md5: 99b9953692a58a31aa94c0d127e71c32 + run_exports: + weak: + - pixman >=0.46.4,<1.0a0 + size: 542795 + timestamp: 1754665193489 +- conda: https://conda.anaconda.org/conda-forge/win-64/polars-runtime-32-1.42.0-py310hd2b7e2a_0.conda + noarch: python + sha256: b356938e373095b0fd3a05b5bd75d268cd50f2d88a8cc109bc6138a0d52a6e58 + md5: 021394afe14c10a60ade1318ae8122e5 depends: - - python >=3.11 - - snakemake-interface-logger-plugins >=2,<3 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - _python_abi3_support 1.* + - cpython >=3.10 license: MIT - size: 21702 - timestamp: 1773888550966 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-minimal-9.23.0-pyhdfd78af_0.conda - sha256: 4cade343f2010e84f4d472d308e435c5458e78467dcfa6e8ae46a21c4ca7f253 - md5: 63362e0f2c4a00fa79a1f2c0a58587a7 + license_family: MIT + run_exports: {} + size: 43569994 + timestamp: 1782310038327 +- conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.6.2-h7990399_2.conda + sha256: e798e9bd658f6c00cfac0d8573c7fe97d9ebad5966c96c23e0702f44e51905bb + md5: 6e0e8fcc3eb2c1418d663005bf040d8d depends: - - conda-inject >=1.3.1,<2.0 - - configargparse - - connection_pool >=0.0.3 - - docutils >=0.20,<0.23 - - dpath >=2.1.6,<3.0.0 - - gitpython - - humanfriendly - - immutables - - jinja2 >=3.0,<4.0 - - jsonschema - - nbformat - - packaging >=24.0,<26 - - platformdirs - - psutil - - pulp >=2.3.1,<3.4 - - python >=3.11,<3.14 - - pyyaml - - referencing - - requests >=2.8.1,<3.0 - - 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,<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 + - 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 - size: 888570 - timestamp: 1781261698241 -- conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda - sha256: 4eb4b4ef561e211bfc6732d2c08c59dd2901adc182daa982517d23d74d53b44c + run_exports: + weak: + - proj >=9.6.2,<9.7.0a0 + size: 2788230 + timestamp: 1754928361098 +- conda: https://conda.anaconda.org/conda-forge/win-64/proj-9.7.1-hd30e2cd_3.conda + sha256: 8ff06eae963bdc7580ccb246df911614e9a5a23683b26326df76b1b6f3258e94 + md5: f2b0478a02d35bac5b872d4d63b96be3 depends: - - appdirs - - conda-inject >=1.3.1,<2.0 - - configargparse - - connection_pool >=0.0.3 - - docutils - - dpath >=2.1.6,<3.0.0 - - gitpython - - humanfriendly - - immutables - - jinja2 >=3.0,<4.0 - - jsonschema - - nbformat - - packaging >=24.0 - - psutil - - 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,<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.1.0,<5.0 - - tabulate - - throttler - - wrapt - - yte >=1.5.5,<2.0 + - sqlite + - libtiff + - libcurl + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libsqlite >=3.51.2,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libcurl >=8.18.0,<9.0a0 + constrains: + - proj4 ==999999999999 license: MIT license_family: MIT - size: 866832 - timestamp: 1769805915463 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-cached-http-0.3-pyhdfd78af_0.conda - sha256: bfeb67de43a70a563567d4a5f200e24481e1b72eefc0ccc43e445f4f8c177b5a - md5: 15fe83cb157467c0c85c375f56abf199 + run_exports: + weak: + - proj >=9.7.1,<9.8.0a0 + size: 3084268 + timestamp: 1770890802564 +- conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py312h05f76fc_0.conda + sha256: 5f695a82d3560549f845feaf46eb7129f8c53049a7e1eb5304eb43e06bdbbd2e + md5: cd55f9c5f1b570363365671de7fc6d89 depends: - - httpx >=0.27,<1.dev0 - - platformdirs >=4.0,<5.dev0 - - python >=3.11,<4.0.0 - - reretry >=0.11,<1.dev0 - - snakemake-interface-common >=1.14,<2.dev0 - - snakemake-interface-storage-plugins >=4.2,<5.0 - - snakemake-storage-plugin-http >=0.3,<1.dev0 - - tqdm-loggable >=0.2,<1.dev0 - - typing_extensions >=4.15,<5.dev0 - - zstandard >=0.25.0,<0.26.0 - license: MIT - size: 21008 - timestamp: 1770697322502 -- conda: https://conda.anaconda.org/bioconda/noarch/snakemake-storage-plugin-http-0.3.1-pyhdfd78af_0.conda - sha256: b9ba0397aeefed5ffc61f6de9af249c133f68bc90692b367c7b99cb596babfe0 - md5: 1c9fb83c45139a074c0fd4bd4d829a80 + - 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 + run_exports: {} + size: 49101 + timestamp: 1780037831647 +- conda: https://conda.anaconda.org/conda-forge/win-64/propcache-0.5.2-py313hd650c13_0.conda + sha256: 1990323bce20bcfc3b23cf88850ff4bec5ecaae7624c2b83abe43d1f193c1ebc + md5: ec0abb7838da95de35c1ab1a6e3d892a depends: - - humanfriendly - - python >=3.11.0,<4.0.0 - - requests >=2.31.0,<3.0.0 - - requests-oauthlib >=1.3.1,<2.0.0 - - snakemake-interface-common >=1.14.0,<2.0.0 - - snakemake-interface-storage-plugins >=4.1.0,<5.0.0 - license: MIT - license_family: MIT - size: 15256 - timestamp: 1774034096454 -- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 - md5: 98b6c9dc80eb87b2519b97bcf7e578dd + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 48598 + timestamp: 1780037809033 +- conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py313h16c7a9f_2.conda + sha256: 79def1fb4d06dd87b4b0e87ce3ddc94b6c409c47c8b6ca857759ee914bdb5e4f + md5: 953e1ca4332163060b47d16c5a660419 depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.2 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - libprotobuf 6.31.1 license: BSD-3-Clause license_family: BSD - size: 45829 - timestamp: 1762948049098 -- conda: https://conda.anaconda.org/conda-forge/osx-64/snappy-1.2.2-h01f5ddf_1.conda - sha256: 1525e6d8e2edf32dabfe2a8e2fc8bf2df81c5ef9f0b5374a3d4ccfa672bfd949 - md5: 2e993292ec18af5cd480932d448598cf + run_exports: {} + size: 488925 + timestamp: 1760393699916 +- conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.31.1-py314h6a447be_2.conda + sha256: 732b5b567f2e35edc6875f5161477a6ed36b4de1e807926f3f0fe39837ef21fa + md5: 90df57164d1e49b0a5500d9fb00d3c8e depends: - - libcxx >=19 - - __osx >=10.13 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.2 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - libprotobuf 6.31.1 license: BSD-3-Clause license_family: BSD - size: 40023 - timestamp: 1762948053450 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hada39a4_1.conda - sha256: cb9305ede19584115f43baecdf09a3866bfcd5bcca0d9e527bd76d9a1dbe2d8d - md5: fca4a2222994acd7f691e57f94b750c5 + run_exports: {} + size: 489287 + timestamp: 1760394247332 +- conda: https://conda.anaconda.org/conda-forge/win-64/protobuf-6.33.5-py312hcb3287e_2.conda + sha256: e0b7a45635bd862851bd0d2c032caa68ed6efa3e81f158f2b499bf302215b871 + md5: fb436c574057d701c5ab12e82b2a8941 depends: - - libcxx >=19 - - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libprotobuf 6.33.5 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 + run_exports: {} + size: 487552 + timestamp: 1773266611956 +- 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 + run_exports: {} + size: 242769 + timestamp: 1769678170631 +- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py313h5fd188c_0.conda + sha256: 3ec3373748f83069bef93b540de416e637ee30231b222d5df8f712e93f2f9195 + md5: 761b299a6289c77459defea3563f8fc0 + depends: + - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 67417 - timestamp: 1762948090450 -- conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda - sha256: dce518f45e24cd03f401cb0616917773159a210c19d601c5f2d4e0e5879d30ad - md5: 03fe290994c5e4ec17293cfb6bdce520 + run_exports: {} + size: 246062 + timestamp: 1769678176886 +- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda + sha256: 17c8274ce5a32c9793f73a5a0094bd6188f3a13026a93147655143d4df034214 + md5: fd539ac231820f64066839251aa9fa48 depends: - - python >=3.10 - license: Apache-2.0 - license_family: Apache - size: 15698 - timestamp: 1762941572482 -- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - sha256: ad89284ea94821c20ff87e64b948e4afc690cf5202d14c009355b0594cf23aea - md5: 46b6abe31482f6bca064b965696ae807 - depends: - - python >=3.10 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - size: 74456 - timestamp: 1780468201547 -- conda: https://conda.anaconda.org/conda-forge/noarch/snuggs-1.4.7-pyhd8ed1ab_2.conda - sha256: 61f9373709e7d9009e3a062b135dbe44b16e684a4fcfe2dd624143bc0f80d402 - md5: 9aa358575bbd4be126eaa5e0039f835c + run_exports: {} + size: 249950 + timestamp: 1769678167309 +- conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda + sha256: 7e446bafb4d692792310ed022fe284e848c6a868c861655a92435af7368bae7b + md5: 3c8f2573569bb816483e5cf57efbbe29 depends: - - numpy - - pyparsing >=2.1.6 - - python >=3.9 + - libgcc >=13 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 license: MIT license_family: MIT - size: 11313 - timestamp: 1733818738919 -- conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - sha256: d1e3e06b5cf26093047e63c8cc77b70d970411c5cbc0cb1fad461a8a8df599f7 - md5: 0401a17ae845fa72c7210e206ec5647d + run_exports: {} + size: 9389 + timestamp: 1726802555076 +- conda: https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py312he39998a_3.conda + sha256: 3bb5873de8cc58bf60e98ede81f9badc662df008d4721a11ca67436c42e2ebcd + md5: 24137cbf886d65446010a6db084bfcef depends: - - python >=3.9 + - amply >=0.1.2 + - coin-or-cbc + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + run_exports: {} + size: 14328976 + timestamp: 1757853424445 +- conda: https://conda.anaconda.org/conda-forge/win-64/pulp-2.8.0-py314ha1463a0_3.conda + sha256: b74d98c204593715d08863833a37317a108d2ef6f5464f93e5b6c7f013a85104 + md5: 98d68f979d9c387b5147ce4a8e51fc10 + depends: + - amply >=0.1.2 + - coin-or-cbc + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 14442928 + timestamp: 1757853584977 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py313hfa70ccb_0.conda + sha256: 81c6b479098eca295fa3dec6a55e4bc3a25ea2851a3a73b78d9ed2eabe10bdd2 + md5: 8b80b54f9b732e3165cedad435dc70ab + depends: + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: APACHE - size: 28657 - timestamp: 1738440459037 -- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.4-pyhd8ed1ab_0.conda - sha256: 2afa5fe9331c09b4c4689ddf6ace8fc16c837eae547c57dab325b844072fdd77 - md5: 9e21f087f087f805debe877d88e00a14 + run_exports: {} + size: 27654 + timestamp: 1769292053888 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-23.0.0-py314h86ab7b2_0.conda + sha256: d15709a3e949ab669b550b5b4d0adb7454d785bb12580801a870d660bcb1f5f8 + md5: 8086e3b458a2d55ea739861000992c53 depends: - - python >=3.10 + - libarrow-acero 23.0.0.* + - libarrow-dataset 23.0.0.* + - libarrow-substrait 23.0.0.* + - libparquet 23.0.0.* + - pyarrow-core 23.0.0 *_0_* + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 27664 + timestamp: 1769292405811 +- 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 + run_exports: {} + size: 28986 + timestamp: 1771307398563 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py313h5921983_0_cpu.conda + sha256: d73caf8cf1f46d455402bfc2cf0fd2df6a6708f8c5ba801adee7d3b48a05d88c + md5: 21e4e6043a16516491070395dcb716e1 + depends: + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libzlib >=1.3.1,<2.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - apache-arrow-proc * cpu + - numpy >=1.21,<3 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 3571913 + timestamp: 1769291508255 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyarrow-core-23.0.0-py314hb5be3fa_0_cpu.conda + sha256: e3914e7b671551950a2376336387996b10f46f676e9f869684b2333ec2da8888 + md5: 476af45747656a164c775b37c165349e + depends: + - libarrow 23.0.0.* *cpu + - libarrow-compute 23.0.0.* *cpu + - libzlib >=1.3.1,<2.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - apache-arrow-proc * cpu + - numpy >=1.21,<3 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 3577386 + timestamp: 1769291580809 +- 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 + run_exports: {} + size: 3573854 + timestamp: 1771307365258 +- conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py313hfbe8231_0.conda + sha256: 6466b7e441adb71e29308de2a87c9787d5d0100601ede2d02ed4f85c251699d6 + md5: 9981bc46be6341306a5473b290b2f366 + depends: + - python + - typing-extensions >=4.6.0,!=4.7.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 38802 - timestamp: 1779635534390 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda - sha256: 995f58c662db0197d681fa345522fd9e7ac5f05330d3dff095ab2f102e260ab0 - md5: f7af826063ed569bb13f7207d6f949b0 - depends: - - alabaster >=0.7.14 - - babel >=2.13 - - colorama >=0.4.6 - - docutils >=0.20,<0.22 - - imagesize >=1.3 - - jinja2 >=3.1 - - packaging >=23.0 - - pygments >=2.17 - - python >=3.11 - - requests >=2.30.0 - - roman-numerals-py >=1.0.0 - - snowballstemmer >=2.2 - - sphinxcontrib-applehelp >=1.0.7 - - sphinxcontrib-devhelp >=1.0.6 - - sphinxcontrib-htmlhelp >=2.0.6 - - sphinxcontrib-jsmath >=1.0.1 - - sphinxcontrib-qthelp >=1.0.6 - - sphinxcontrib-serializinghtml >=1.1.9 - license: BSD-2-Clause - license_family: BSD - size: 1424416 - timestamp: 1740956642838 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.4-pyh29332c3_0.conda - sha256: 78581f1ba538186fc4129191a8db4ee7798382b6b4a1a0c55dedb437da1a9fd8 - md5: f3d3f4e7e2c9198e88cd524633665081 + run_exports: {} + size: 1888029 + timestamp: 1778084253466 +- conda: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.46.4-py314h9f07db2_0.conda + sha256: 53621d25961c97ef77d7d03b8e0d479ee0bb8135b51d71e99a5ed7713a229f5f + md5: a5a21f85bcee70d505798d56750d69cf depends: - - pydata-sphinx-theme ==0.15.4 - - python >=3.9 - - sphinx >=6.1 - python - license: BSD-3-Clause - license_family: BSD - size: 255445 - timestamp: 1740145414720 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-design-0.6.1-pyhd8ed1ab_2.conda - sha256: eb335aef48e49107b55299cedc197f86d05651f1eeff83ed8acf89df7cdc9765 - md5: 3e6c15d914b03f83fc96344f917e0838 - depends: - - python >=3.9 - - sphinx >=6,<9 + - typing-extensions >=4.6.0,!=4.7.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 911336 - timestamp: 1734614675610 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jsonschema-1.19.2-pyhd8ed1ab_0.conda - sha256: 5f97f417c8434bc6ee9d6d9cd08cce352fc138a0ebb64c46442b7795755c978a - md5: be4647f771ba738721ce7175fb61ef37 - depends: - - docutils - - jsonpointer - - python >=3.10 - - pyyaml - - requests - - sphinx - license: GPL-3.0-only - license_family: GPL - size: 43579 - timestamp: 1764592626926 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba - md5: 16e3f039c0aa6446513e94ab18a8784b - depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - size: 29752 - timestamp: 1733754216334 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-bibtex-2.6.5-pyhd8ed1ab_0.conda - sha256: b128f051391c67c5ee77bf5aa2e6e4073adfc22631829491db112fcafe58f196 - md5: 6267ad9b8e6c02ea6280a9d6eabe1026 - depends: - - docutils >=0.8,!=0.18.*,!=0.19.* - - importlib-metadata >=3.6 - - pybtex >=0.25 - - pybtex-docutils >=1.0.0 - - python >=3.9 - - setuptools - - sphinx >=3.5 - license: BSD-2-Clause - license_family: BSD - size: 33137 - timestamp: 1751029066274 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d - md5: 910f28a05c178feba832f842155cbfff + run_exports: {} + size: 1885001 + timestamp: 1778084256232 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.11.0-py312h6e88f47_0.conda + sha256: 05bdd65b1eb49161841a6dc22031ac1026874665d4f4b3a87cdf5e34751f86a0 + md5: d2d9db06ba554156ba333c450607043c depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - size: 24536 - timestamp: 1733754232002 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 - md5: e9fb3fe8a5b758b4aff187d434f94f03 + - libgdal-core >=3.10.3,<3.11.0a0 + - numpy + - packaging + - 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 + run_exports: {} + size: 832234 + timestamp: 1746735147143 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py313h8b19803_0.conda + sha256: 48fd958bdc15a280c4fbf764aea0767f8bb6ac61951567a39bed9d86290e51b9 + md5: 6cfe8b00a3bd2a29e46c062063d3c575 depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - size: 32895 - timestamp: 1733754385092 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 - md5: fa839b5ff59e192f411ccc7dae6588bb + - libgdal-core >=3.12.0,<3.13.0a0 + - numpy + - packaging + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 886220 + timestamp: 1764402582887 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyogrio-0.12.1-py314h1c1cb05_0.conda + sha256: 3ed86ebf3d68f9ae52b5a74f9db919d367af33acf26d481fcdb00fff7079e350 + md5: da6ef5e9a5931e73a7638b60fd82fc63 depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - size: 10462 - timestamp: 1733753857224 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca - md5: 00534ebcc0375929b45c3039b5ba7636 + - libgdal-core >=3.12.0,<3.13.0a0 + - numpy + - packaging + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: {} + size: 899343 + timestamp: 1764402737921 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py313hfe59770_0.conda + sha256: 6f484d73c78b811c4abebc394505a4544d185e6876e583db03523f999bfe5017 + md5: 97c2055de3dede0162733fe56084299d depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - setuptools + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause license_family: BSD - size: 26959 - timestamp: 1733753505008 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda - sha256: 20b49741065fd7d3fabf98caf6d19b6436badb06b6d41f66b58f1fc2b52f37a1 - md5: f77df1fcf9af03b7287342638befca77 + run_exports: {} + size: 7734871 + timestamp: 1771630949512 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.0-py314h13fbf68_0.conda + sha256: 6b6260ab432a8882da017efe875431e33fa69627c8c5fd4b42470e07144cdc3d + md5: b3d7a65529b0a99dc612b4ef3ede8f51 depends: - - python >=3.10 - - sphinx >=5 - license: BSD-2-Clause + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause license_family: BSD - size: 30640 - timestamp: 1781260357443 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.50-py312h5253ce2_0.conda - sha256: c8b3dae98f74d314655b4a6920112bdd2c33c0000b099c4314f3c6a219c22295 - md5: 312796c3e1d17cfc5e720267efbdcf58 + run_exports: {} + size: 7810182 + timestamp: 1771630946307 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyomo-6.10.1-py312hbb81ca0_1.conda + sha256: 9c53684a66fa86e833dc573f8da595cf1eaa388ed1440f38c1ec3b0bd00301ae + md5: 59ff39db0d6598ac55d161861ade8fb7 depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - size: 3709206 - timestamp: 1779661488554 -- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlalchemy-2.0.50-py312hba6025d_0.conda - sha256: 4e1f9e0b2213332df099f8979c45221c0ae3e182d199b23a03e144f8065cc913 - md5: 39eb1c70b85086c6aa889c5454142b03 + - setuptools + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7911384 + timestamp: 1780616912831 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py312h235ce7f_1.conda + sha256: d42df50959884f920ee966085679e48b51ffcb84881efc1d905b329def918da5 + md5: b3bf616f4ffd81c8cca38f3a2e972e1c depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - __osx >=11.0 + - certifi + - proj >=9.6.2,<9.7.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 license: MIT license_family: MIT - size: 3695986 - timestamp: 1779661539438 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlalchemy-2.0.50-py312hb3ab3e3_0.conda - sha256: bf5bca7e2be24f9bad40f9c22ffdc1ac1484330d76cc9a52cd0ce4ecfe8ba1db - md5: f1457bb33425ec79066147419d66762d + run_exports: {} + size: 725829 + timestamp: 1756536774510 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py313hbf73894_3.conda + sha256: fa38aae6747307dd46747052988b54e2cd340c98b3b969065f52460d9e66b50c + md5: 779b40a8eb5e2aa5ffc5eddd3b136fb7 depends: - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - __osx >=11.0 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 + - proj + - certifi + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 + - proj >=9.7.1,<9.8.0a0 license: MIT license_family: MIT - size: 3699970 - timestamp: 1779661574906 -- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.50-py312he5662c2_0.conda - sha256: aa499c386c745f8cd1f8b2c25c2744124053e99f90853408a69397fc8a6e5619 - md5: be034f9788937feaf8febe29479fda6b + run_exports: {} + size: 869494 + timestamp: 1772623271163 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyproj-3.7.2-py314h839d035_3.conda + sha256: 7b16c84b574604d9b9b9ae24055f81447bf560a1431c93dd02d6f20d9d2f8c72 + md5: 1a5451c54dbd3676f85e297e82d13d07 depends: - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 + - proj + - certifi - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - proj >=9.7.1,<9.8.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 3668257 - timestamp: 1779661537318 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.2-hbc0de68_0.conda - sha256: b7c3217b437f8aa531b4a18c89dc137b6066757f1e93146dc0d8d999ef55da09 - md5: 38d9bf35a4cc83094a327811e548b660 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libsqlite 3.53.2 h0c1763c_0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - size: 205545 - timestamp: 1780574435288 -- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-h6775aab_0.conda - sha256: 5d1a016e4219f2acb4d9f9e8c4068d9207f8fd38ae459273694363acaf68c58c - md5: b57460eab663465f43ab65a73f2e4c1c - depends: - - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libsqlite 3.53.2 h8f8c405_0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - size: 191786 - timestamp: 1780575040872 -- conda: https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.53.2-hd4d344e_0.conda - sha256: abeba58509c31e8c132c38f15bd4544ba8430b9b58365d411fd5ccf3721bdfcd - md5: 86fbde90494b0235a3080bc34f8fa9ae + run_exports: {} + size: 901573 + timestamp: 1772623279160 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_0.conda + sha256: 355b5fa16daf16d3bffced756e4333115625f01bb17bf00e0e65fb4a86f3ba81 + md5: 526783c6efcba14ac3efd2cef440254e depends: - - __osx >=11.0 - - libsqlite 3.53.2 h77d7759_0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - size: 191714 - timestamp: 1780574924193 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h77b7338_0.conda - sha256: da9629eb03900b532fe21092a7f813ffb9d83c0b21ffa86475195f5596b7fec4 - md5: a1036a11bb370ff199cac47cc6255b7f + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 171538 + timestamp: 1778848418493 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py313hfa70ccb_0.conda + sha256: 730190b701df6efdac8033b7877ced3dac229ed384e4915085604c14dce37f33 + md5: 91c7c6d08f3c31975d018f9e10ff5239 depends: - - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libsqlite 3.53.2 h1ae2325_0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - size: 182162 - timestamp: 1780575254663 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.53.2-h85ec8f2_0.conda - sha256: 5d0a6544dcbbec6322c06a8ee994d6823916af35bbd5a0f8c35387869f1b5d76 - md5: 1966e1b7f598b30cd746309ba483e541 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 172877 + timestamp: 1778848414990 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py314h86ab7b2_0.conda + sha256: 692abac5636f9a1fb10639ccef0f66cbfb38c20d88cdf33132fd8458c82793f3 + md5: 518a7112a2457d2e3ab13b749306490d depends: - - __osx >=11.0 - - libsqlite 3.53.2 h1b79a29_0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - size: 182161 - timestamp: 1780574896374 -- conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_0.conda - sha256: 0640ffa3360669c8826f05a8295f38c3bc57dc9cac0c9732940897ff5256f996 - md5: 58e6f936ab416fddc633d4105f43aea2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 175241 + timestamp: 1778848456926 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py313h776c0ec_0.conda + sha256: 5f16e3141a46107a3b8c04d1bb02a492e47c40a97cf04c35c6072a08c921cdf2 + md5: 98a92388eb116bf8eec03dee1e6d4137 depends: - - libsqlite 3.53.2 hf5d6505_0 - - ucrt >=10.0.20348.0 + - python + - numpy >=1.16.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: blessing - size: 425926 - timestamp: 1780574498030 -- 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 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 + - scip >=10.0.0,<11.0a0 + - numpy >=1.23,<3 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 + run_exports: {} + size: 853040 + timestamp: 1778947363427 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyscipopt-6.2.1-np2py314hb7a55bc_0.conda + sha256: 812a8f26d7f011a8d7d6f09aac39584c17300789a5af17d8894b4021be03f90f + md5: a3ad95c096b8dde1302e087f25a82492 depends: - - asttokens - - executing - - pure_eval - - python >=3.9 + - python + - numpy >=1.16.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - numpy >=1.23,<3 + - scip >=10.0.0,<11.0a0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 26988 - timestamp: 1733569565672 -- conda: https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.14.6-py312h4f23490_0.conda - sha256: 0c61eccf3f71b9812da8ced747b1f22bafd6f66f9a64abe06bbe147a03b7322e - md5: 423b8676bd6eed60e97097b33f13ea3f + run_exports: {} + size: 853888 + timestamp: 1778947364642 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py313h0c3c3c1_1.conda + sha256: a0f9b8195d26631696ca22d6a22352217ded2fbf6f1b84c291fe359fa48cf86e + md5: 5da85f0f616457820671aec1048838eb depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - numpy <3,>=1.22.3 - - numpy >=1.23,<3 - - packaging >=21.3 - - pandas !=2.1.0,>=1.4 - - patsy >=0.5.6 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - scipy !=1.9.2,>=1.8 - license: BSD-3-Clause - license_family: BSD - size: 11903737 - timestamp: 1764983555676 -- conda: https://conda.anaconda.org/conda-forge/osx-64/statsmodels-0.14.6-py312h391ab28_0.conda - sha256: 3d35c37ec7fd764e04b67e5f395a5f936285925836e4a5192ccc503392260065 - md5: 114bf0de85f665ce5586e9a0f0f077a8 + - python + - qt6-main 6.11.1.* + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libxml2 + - libxml2-16 >=2.14.6 + - python_abi 3.13.* *_cp313 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libxslt >=1.1.43,<2.0a0 + - qt6-main >=6.11.1,<6.12.0a0 + - libclang13 >=22.1.5 + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 11581030 + timestamp: 1778933920159 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + sha256: 070802d5e1e1c1feb24d481efbd90b300fb0ecc1ce4312a3bbcbaae4393c05f9 + md5: 638be6b8674e7acf7a84132903cf4c8e depends: - - __osx >=10.13 - - numpy <3,>=1.22.3 - - numpy >=1.23,<3 - - packaging >=21.3 - - pandas !=2.1.0,>=1.4 - - patsy >=0.5.6 + - python + - qt6-main 6.11.1.* + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libxslt >=1.1.43,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - qt6-main >=6.11.1,<6.12.0a0 + - python_abi 3.14.* *_cp314 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libclang13 >=22.1.5 + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 11579652 + timestamp: 1778933912020 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.9.2-py312h0ba07f7_1.conda + sha256: 3592fa488f9b267818ecd056a1d7cf9960fc34424eaea7ae8d72360f0c2ac364 + md5: 67d1a60b275352d228940a8414cc515a + depends: + - libclang13 >=21.1.0 + - libxml2 >=2.13.8,<2.14.0a0 + - libxslt >=1.1.43,<2.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - - scipy !=1.9.2,>=1.8 - license: BSD-3-Clause - license_family: BSD - size: 11516375 - timestamp: 1764983568072 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/statsmodels-0.14.6-py312ha11c99a_0.conda - sha256: 18f8711f235e32d793938e1738057e7be1d0bfe98f7d27e3e4b98aa757deae92 - md5: 31f49265d8de9776cd15b421f24b23e0 + - qt6-main 6.9.2.* + - qt6-main >=6.9.2,<6.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-3.0-only + license_family: LGPL + run_exports: {} + size: 8893370 + timestamp: 1756674282774 +- conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.10.2-py312h20cef2e_11.conda + sha256: 5ae6adeac1152da4e5a63da3346fbad73390b28060f5cf8f27695b464e4a97b8 + md5: 9e49e5c432df6ad3220794119aa68c6b depends: - - __osx >=11.0 - - numpy <3,>=1.22.3 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=2.23.0,<2.24.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - numexpr + - numpy >=1.20.0 - numpy >=1.23,<3 - - packaging >=21.3 - - pandas !=2.1.0,>=1.4 - - patsy >=0.5.6 + - packaging + - py-cpuinfo - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - - scipy !=1.9.2,>=1.8 + - typing-extensions >=4.4.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 11537488 - timestamp: 1764984166760 -- conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda - sha256: 93daa6ead03ff50b6366c6389d268f46d490ad50724a312c2ba59dbd6b6e2415 - md5: 180f6ee9579c0c6111af5a5638686a64 + run_exports: {} + size: 1492106 + timestamp: 1770023883075 +- conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py313h98afe49_3.conda + sha256: 30f25d6046e91eb6de93998ed0ade5ffb2d485cd2554aad7776630ac0d4ae255 + md5: 7d9dafc396c1e97e8f89cbf0d191bef3 depends: - - numpy <3,>=1.22.3 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 - numpy >=1.23,<3 - - packaging >=21.3 - - pandas !=2.1.0,>=1.4 - - patsy >=0.5.6 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - scipy !=1.9.2,>=1.8 + - packaging + - py-cpuinfo + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - typing-extensions >=4.4.0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 11419682 - timestamp: 1764983650145 -- conda: https://conda.anaconda.org/conda-forge/win-64/symlink-exe-runtime-1.0-hfd05255_2.conda - sha256: 25a7eaad98aabe1f4f137ecac53cb45de881cc88d399738f95278f0449f97c28 - md5: 2f96340000d8b3957ecb0978cfed0486 + run_exports: {} + size: 1510679 + timestamp: 1780064682557 +- conda: https://conda.anaconda.org/conda-forge/win-64/pytables-3.11.1-py314h2bd12ea_3.conda + sha256: 37eb7740b08a141e421d22c22868337d7322e6cd9cfe33a1f5da5bf845f99d96 + md5: f38579b3e9d491611395bf7165bf195b depends: + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - c-blosc2 >=3.1.2,<3.2.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - numexpr + - numpy >=1.20.0 + - numpy >=1.23,<3 + - packaging + - py-cpuinfo + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing-extensions >=4.4.0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 13317 - timestamp: 1771438096132 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tabula-py-2.7.0-py312h7900ff3_2.conda - sha256: 9c7b2433d6cf73ae23ff964c2de681d093558826035b13bc8e30f528d332f46b - md5: 1a47f3828efdbb8c947b71c23642209a - depends: - - distro - - numpy - - openjdk - - pandas - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - requests - - setuptools - - setuptools_scm - license: MIT - license_family: MIT - size: 11851722 - timestamp: 1762185634966 -- conda: https://conda.anaconda.org/conda-forge/osx-64/tabula-py-2.7.0-py312hb401068_2.conda - sha256: 3ce12c68d0470fcb5d99b9bc15f218da4cec2eeca80cbddc5bb43510972bf7ad - md5: 8a2e4f2ea6aabbcef99132f53c9a15f2 + run_exports: {} + size: 1541971 + timestamp: 1780064686904 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.12-h30ce641_0_cpython.conda + sha256: 9e9d6fa3b4ef231fcabf00364319f4ffacb1fb683e6c61c2438bafe3c61a7e2e + md5: e672c6dc92e6f1fcac0f9fed61b2b922 depends: - - numpy - - openjdk - - pandas - - python >=3.12,<3.13.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.1,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - liblzma >=5.8.1,<6.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: - python_abi 3.12.* *_cp312 - - requests - - setuptools - - setuptools_scm - license: MIT - license_family: MIT - size: 11853737 - timestamp: 1762186059946 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tabula-py-2.7.0-py312h81bd7bf_2.conda - sha256: 12c17360a0632dea1626e93fb400ac08dd56107c526ef6e25353af31d5564b23 - md5: f3a474311607732cf82938fd74362b22 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.12.* *_cp312 + noarch: + - python + size: 15741664 + timestamp: 1760365715600 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.13.14-h09917c8_100_cp313.conda + build_number: 100 + sha256: 26442b2878df89f27cc9efd54c1322d111653683abf256b657dbefe089857b40 + md5: 12e0de38e6bb7f7745ec0d19a20b8270 depends: - - numpy - - openjdk - - pandas - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - requests - - setuptools - - setuptools_scm - license: MIT - license_family: MIT - size: 11858941 - timestamp: 1762186124901 -- conda: https://conda.anaconda.org/conda-forge/win-64/tabula-py-2.7.0-py312h2e8e312_2.conda - sha256: 95b168a43cfde2d776f01667825790a59c4ecef3370832cbf8485f4714a34138 - md5: 09f5a6fb8912216266ddc6ca13a2611a + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.13.* *_cp313 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.13.* *_cp313 + noarch: + - python + size: 16792315 + timestamp: 1781257712940 + python_site_packages_path: Lib/site-packages +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.5-h4b44e0e_100_cp314.conda + build_number: 100 + sha256: c561d171e5d1f1bb1a83ca6fa6aa49577a2956a245c5040dfaf8ca20c10a096e + md5: 3f76bc298eebc1ec1497852f4d7f09d9 depends: - - numpy - - openjdk - - pandas - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - requests - - setuptools - - setuptools_scm + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.0,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.1,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - python_abi 3.14.* *_cp314 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + run_exports: + weak: + - python_abi 3.14.* *_cp314 + noarch: + - python + size: 18375338 + timestamp: 1779237800732 + python_site_packages_path: Lib/site-packages +- conda: https://conda.anaconda.org/conda-forge/win-64/python-calamine-0.6.1-py313hf61f64f_0.conda + sha256: ca577b27972ba4ea82b4f92763621a61e6682b54fe4c2567c807b7e13500856b + md5: 87c6e4a8b133bb10c5e3fcd3b0aeccff + depends: + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 11858249 - timestamp: 1762185745141 -- conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - sha256: 3f661e98a09f976775a494488beb3d35ebb00f535b169c6bd891f2e280d55783 - md5: 3b887b7b3468b0f494b4fad40178b043 + run_exports: {} + size: 641618 + timestamp: 1764158940610 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py312h226b611_0.conda + sha256: f9a22543d78d355aa8faa8049de4d7cafbe33e07cf4a7aa7ebe6facb7c7b64bd + md5: dac45a197e14d635ec763553cc8ac6d2 depends: - - python >=3.10 - python - license: MIT - license_family: MIT - size: 43964 - timestamp: 1772732795746 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_1.conda - sha256: 2e3238234ae094d5a5f7c559410ea8875351b6bac0d9d0e576bf64b732b8029e - md5: e3259be3341da4bc06c5b7a78c8bf1bd - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libhwloc >=2.12.1,<2.12.2.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 181262 - timestamp: 1762509955687 -- conda: https://conda.anaconda.org/conda-forge/osx-64/tbb-2023.0.0-he3dc2fa_2.conda - sha256: f57b374fa5bbb1823a9e1b7e4a9db044c42964313c59d4c652b948f20b55d1a0 - md5: 2867ad6f19cadc54675abd00a19d0268 - depends: - - __osx >=11.0 - - libcxx >=19 - - libhwloc >=2.13.0,<2.13.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 161879 - timestamp: 1778674626809 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tbb-2023.0.0-he0260a5_2.conda - sha256: 6f72a2984052444b9381020fa329b83dace95f335573dc21199f1b1d1a5f5473 - md5: 440c0a36cc20db1f28877a69afbb5e88 - depends: - - __osx >=11.0 - - libcxx >=19 - - libhwloc >=2.13.0,<2.13.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 122303 - timestamp: 1778675142610 -- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda - sha256: 8a4053839b8e997a5965e2dff7d6cf3c77be62d82c0e48c8a04a5ed2d2e73035 - md5: 8ee01a693aecff5432069eaaf1183c45 - depends: - - libhwloc >=2.13.0,<2.13.1.0a0 - - ucrt >=10.0.20348.0 + - attrs + - cffi + - findlibs + - eccodes >=2.46.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: Apache-2.0 license_family: APACHE - size: 156515 - timestamp: 1778673901757 -- conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.2.2-pyhcf101f3_0.conda - sha256: 6b549360f687ee4d11bf85a6d6a276a30f9333df1857adb0fe785f0f8e9bcd60 - md5: f88bb644823094f436792f80fba3207e + run_exports: {} + size: 200483 + timestamp: 1772376258734 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py313haacffc7_0.conda + sha256: c29c735d22ecdd36b7124f5264af1135467134e2081d68c369f1d80056016008 + md5: 98ea8d4f4f79f3fafdbc48de466561ef depends: - - python >=3.10 - python - license: BSD-2-Clause - license_family: BSD - size: 19397 - timestamp: 1762956379123 -- conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.2-pyhd8ed1ab_0.conda - sha256: fd9ab8829947a6a405d1204904776a3b206323d78b29d99ae8b60532c43d6844 - md5: 5d99943f2ae3cc69e1ada12ce9d4d701 - depends: - - python >=3.9 + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - numpy >=1.23,<3 + - python_abi 3.13.* *_cp313 license: Apache-2.0 license_family: APACHE - size: 25364 - timestamp: 1743640859268 -- conda: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.1.4-pyhcf101f3_0.conda - sha256: 32e75900d6a094ffe4290a8c9f1fa15744d9da8ff617aba4acaa0f057a065c34 - md5: 043f0599dc8aa023369deacdb5ac24eb + run_exports: {} + size: 203168 + timestamp: 1772376256539 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-eccodes-2.46.0-np2py314hea88fa1_0.conda + sha256: 220be4f580019ab8094daa3da897a31189fcb4745ef53dec3f48c5b8773fe357 + md5: 4ea04d57a706258d3f1371ac84059202 depends: - - python >=3.10 - python + - attrs + - cffi + - findlibs + - eccodes >=2.46.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE - size: 31404 - timestamp: 1770510172846 -- conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh6dadd2b_1.conda - sha256: b375e8df0d5710717c31e7c8e93c025c37fa3504aea325c7a55509f64e5d4340 - md5: e43ca10d61e55d0a8ec5d8c62474ec9e + run_exports: {} + size: 209602 + timestamp: 1772376260416 +- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py312h829343e_0.conda + sha256: e4560c30234075bf17c641cb651279ff6c6f2bad581dfc37ed780f159909b2d3 + md5: 47f425e058b0a4b66712784a0d24b45d depends: - - __win - - pywinpty >=1.1.0 - - python >=3.10 - - tornado >=6.1.0 - python - license: BSD-2-Clause - license_family: BSD - size: 23665 - timestamp: 1766513806974 -- conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda - sha256: 6b6727a13d1ca6a23de5e6686500d0669081a117736a87c8abf444d60c1e40eb - md5: 17b43cee5cc84969529d5d0b0309b2cb + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 4459779 + timestamp: 1781362887119 +- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py313h40c08fc_0.conda + sha256: 38caa16a0b9cc55bfaaf84d273ce6d768f8bce8d5949b5c41a8746ec65741b20 + md5: 5c1dea2e266c8f03d16bde15f09169cd depends: - - __unix - - ptyprocess - - python >=3.10 - - tornado >=6.1.0 - python - license: BSD-2-Clause - license_family: BSD - size: 24749 - timestamp: 1766513766867 -- conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.6.0-pyhecae5ae_0.conda - sha256: 6016672e0e72c4cf23c0cf7b1986283bd86a9c17e8d319212d78d8e9ae42fdfd - md5: 9d64911b31d57ca443e9f1e36b04385f + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 4466467 + timestamp: 1781362878201 +- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda + sha256: 71f9617186f5e2273bcefc4f3a258df5784886077ad36fe14f1d16b1c2c506eb + md5: 4d49ac91c23c4b1878daf5ea9e7c767a depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 23869 - timestamp: 1741878358548 -- conda: https://conda.anaconda.org/conda-forge/noarch/throttler-1.2.2-pyhd8ed1ab_0.conda - sha256: cdd2067b03db7ed7a958de74edc1a4f8c4ae6d0aa1a61b5b70b89de5013f0f78 - md5: 6fc48bef3b400c82abaee323a9d4e290 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: PSF-2.0 + license_family: PSF + run_exports: {} + size: 4472831 + timestamp: 1781362876741 +- conda: https://conda.anaconda.org/conda-forge/win-64/pywinpty-2.0.15-py314h51f0985_1.conda + sha256: 048e20641da680aedaab285640a2aca56b7b5baf7a18f8f164f2796e13628c1f + md5: dd84e8748bd3c85a5c751b0576488080 depends: - - python >=3.6 + - python >=3.14.0rc3,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - winpty license: MIT license_family: MIT - size: 12341 - timestamp: 1691135604942 -- conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda - sha256: cad582d6f978276522f84bd209a5ddac824742fe2d452af6acf900f8650a73a2 - md5: f1acf5fdefa8300de697982bcb1761c9 - depends: - - python >=3.5 - - webencodings >=0.4 - license: BSD-3-Clause - license_family: BSD - size: 28285 - timestamp: 1729802975370 -- 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 - size: 3301196 - timestamp: 1769460227866 -- conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h7142dee_3.conda - sha256: 7f0d9c320288532873e2d8486c331ec6d87919c9028208d3f6ac91dc8f99a67b - md5: 6e6efb7463f8cef69dbcb4c2205bf60e - depends: - - __osx >=10.13 - - libzlib >=1.3.1,<2.0a0 - license: TCL - license_family: BSD - size: 3282953 - timestamp: 1769460532442 -- 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 - size: 3127137 - timestamp: 1769460817696 -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda - sha256: 0e79810fae28f3b69fe7391b0d43f5474d6bd91d451d5f2bde02f55ae481d5e3 - md5: 0481bfd9814bf525bd4b3ee4b51494c4 + run_exports: {} + size: 216325 + timestamp: 1759557436167 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda + sha256: 1cab6cbd6042b2a1d8ee4d6b4ec7f36637a41f57d2f5c5cf0c12b7c4ce6a62f6 + md5: 9f6ebef672522cb9d9a6257215ca5743 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: TCL - license_family: BSD - 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 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - size: 24017 - timestamp: 1764486833072 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd - md5: b5325cf06a000c5b14970462ff5e4d58 + run_exports: {} + size: 179738 + timestamp: 1770223468771 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py313hd650c13_1.conda + sha256: dfaed50de8ee72a51096163b87631921688851001e38c78a841eba1ae8b35889 + md5: c1bdb8dd255c79fb9c428ad25cc6ee54 depends: - - python >=3.10 - - python + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - size: 21561 - timestamp: 1774492402955 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.0-pyha770c72_0.conda - sha256: 1cd52f9ccb4854c4d731438afe0e833b6b71edaf5ede661152aa98efb3a7cc70 - md5: 42ef10a8f7f5d55a2e267c0d5daa6387 + run_exports: {} + size: 180992 + timestamp: 1770223457761 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda + sha256: a2aff34027aa810ff36a190b75002d2ff6f9fbef71ec66e567616ac3a679d997 + md5: 0cd9b88826d0f8db142071eb830bce56 depends: - - python >=3.10 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - size: 41169 - timestamp: 1778423744478 -- conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.1.0-pyhd8ed1ab_1.conda - sha256: 4e379e1c18befb134247f56021fdf18e112fb35e64dd1691858b0a0f3bea9a45 - md5: c07a6153f8306e45794774cf9b13bd32 + run_exports: {} + size: 181257 + timestamp: 1770223460931 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda + noarch: python + sha256: d7e65c44ea8a92f80cc0e424b4b7dbe63b8a9ec04ea774b7d4f7aed4c34cce4c + md5: ebbda9a4e5161d6e1f98146ad057dc10 depends: - - python >=3.10 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.3.6.0a0 license: BSD-3-Clause license_family: BSD - size: 53978 - timestamp: 1760707830681 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py312h4c3975b_0.conda - sha256: f54504d6eeef133ddc2b964b6a021f3faf085bb08bd70debc07f56d6b9b726f1 - md5: 55f526c3fb5302a1ce922612348442e1 + run_exports: {} + size: 182831 + timestamp: 1779483925948 +- conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + sha256: 887d53486a37bd870da62b8fa2ebe3993f912ad04bd755e7ed7c47ced97cbaa8 + md5: 854fbdff64b572b5c0b470f334d34c11 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 - size: 864705 - timestamp: 1781006801632 -- conda: https://conda.anaconda.org/conda-forge/osx-64/tornado-6.5.7-py312h933eb07_0.conda - sha256: 8c84161267d98342ba2358c86145f5cece732d9d5d928eaab2526161db56686c - md5: 2ec1c960c5995e181a8d9e07b36f4c5a + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-Qhull + run_exports: + weak: + - qhull >=2020.2,<2020.3.0a0 + size: 1377020 + timestamp: 1720814433486 +- conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda + sha256: c0f0552a879e18282799431c7d2769b269839ac3b3735082e754df3c6fa0728d + md5: a8d735f3faf356a24acf9eea0a940a0f depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 861847 - timestamp: 1781007537046 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.7-py312h2bbb03f_0.conda - sha256: 483350b0e4a3ebec90f6418e454d22b453f54d1bac803c2aaa7a9035cfcd7493 - md5: d037e9adb0365ab53445f357bd9a035f + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - krb5 >=1.22.2,<1.23.0a0 + - libglib >=2.88.1,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 + - double-conversion >=3.4.0,<3.5.0a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - icu >=78.3,<79.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libsqlite >=3.53.1,<4.0a0 + - harfbuzz >=14.2.0 + constrains: + - qt ==6.11.1 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - qt6-main >=6.11.1,<7.0a0 + size: 89576886 + timestamp: 1780400596481 +- conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.9.2-h236c7cd_0.conda + sha256: 5088ed0c6c769925a6df7d5a1a55fb7fc52278f327b986f45664453622fc98e2 + md5: 774ff6166c5f29c0c16e6c2bc43b485f 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 - size: 863360 - timestamp: 1781007464047 -- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.conda - sha256: 110cf0c741e181ed929a2acdb488f2095badad973c50dd696af36c4162e063cf - md5: 1045d29f787812d3fac1fd80a1339710 + - double-conversion >=3.3.1,<3.4.0a0 + - harfbuzz >=11.4.3 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang13 >=20.1.8 + - libglib >=2.84.3,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.45,<10.46.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.9.2 + license: LGPL-3.0-only + license_family: LGPL + run_exports: + weak: + - qt6-main >=6.9.2,<6.10.0a0 + size: 94567291 + timestamp: 1756296858553 +- conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py312hbb81ca0_0.conda + sha256: a204fa6ef22f6b455c9468f635dfe12fcf4099a2a2ce5cbabef3b1fb0481a385 + md5: 08d485def71d89e5a42151f2bb82246e depends: + - numpy - 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 - size: 865801 - timestamp: 1781006895319 -- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyh8f84b5b_1.conda - sha256: f3ac3dcc43f011835efe2718f5d78981935e8aa1e1d9741b63499dfdd8fa802c - md5: 99ee58c51aae7ee9ab947a0c6ce5a4c7 - depends: - - python >=3.10 - - __unix - - python - constrains: - - envwrap >=0.2 - - ipywidgets >=6.0 - license: MPL-2.0 and MIT - size: 94725 - timestamp: 1781094943144 -- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.68.2-pyha7b4d00_1.conda - sha256: f25ec3f44a3a0243c35baba3dceb1dc0e4a127e5f168ca9fa34708cee821f6b7 - md5: f73d419741d981f9a22939d0cb68bd4a - depends: - - python >=3.10 - - colorama - - __win - - python - constrains: - - envwrap >=0.2 - - ipywidgets >=6.0 - license: MPL-2.0 and MIT - size: 94422 - timestamp: 1781095005329 -- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-loggable-0.4.1-pyhd8ed1ab_0.conda - sha256: 8def9a46c51fc4304853fcf65054f3c155ef93a95417f384ee58c7849826ba41 - md5: e38b732ce8d5f44d06386a9f600c7d0d - depends: - - python >=3.10 - - tqdm >4.64 - license: MIT - license_family: MIT - size: 17078 - timestamp: 1773757189785 -- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda - sha256: b89a823edf524956b94a2a4db974866e4501f05c68976eff458c5dcf07f88431 - md5: 37e3be7b6e2977d37b8fa5da229f5dc0 - depends: - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 115158 - timestamp: 1780507822178 -- conda: https://conda.anaconda.org/conda-forge/noarch/tsam-2.3.9-pyhd8ed1ab_0.conda - sha256: 50d0a8492b45e26d6ac373086f1490916fc8a14346c51f617746931e2a1516ed - md5: 2b661fd7a718757b2e91bbcac81deb48 - depends: - - highspy - - networkx - - numpy >=1.20 - - pandas >2.0.3 - - pyomo >=6.4.3 - - python >=3.9,<=3.13 - - scikit-learn >=0.0 - - tqdm license: MIT license_family: MIT - size: 220388 - timestamp: 1750060333624 -- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda - sha256: 59d7851d32fddb5b510272e6557aa982edeb927d349648dac27f5bf01d18bb26 - md5: 4460f039b7dedf15f7df086446ca75ae + run_exports: {} + size: 1019922 + timestamp: 1775566058387 +- conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py313hfe59770_0.conda + sha256: 65b299449cad930b6015d76dd9d865da4a9fcf8f8b61254d6ebc5259564d58bc + md5: 1ee041bc00a0d4aac2f80398f6735f58 depends: - - typing_extensions >=4.14.0 - - python >=3.10 - - importlib-metadata >=3.6 - - python - constrains: - - pytest >=7 + - numpy + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 38297 - timestamp: 1778779291237 -- conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.26.7-pyhcf101f3_0.conda - sha256: 15dce0fa9d2a5077755c0ae98b3b521a9409b9468a0597ce697940fb035e5b67 - md5: 71d2c80673511fab927bd15592994030 - depends: - - annotated-doc >=0.0.2 - - colorama - - python >=3.10 - - rich >=13.8.0 - - shellingham >=1.3.0 - - python - license: MIT AND BSD-3-Clause - size: 185949 - timestamp: 1780494828822 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c - md5: edd329d7d3a4ab45dcf905899a7a6115 + run_exports: {} + size: 1020750 + timestamp: 1775566013761 +- conda: https://conda.anaconda.org/conda-forge/win-64/rapidfuzz-3.14.5-py314h13fbf68_0.conda + sha256: c025bd9d0cc5f06e50f60625760725639d7423c1b6e49430b9a5d195b81ee09f + md5: 6f103c9c003efb62f14976bcee9a9683 depends: - - typing_extensions ==4.15.0 pyhcf101f3_0 - license: PSF-2.0 - license_family: PSF - size: 91383 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda - sha256: 8b90d2f19f9458b8c58a55e1fcdc1d90c1603a847a47654d8a454549413ba60a - md5: 53f5409c5cfd6c5a66417d68e3f0a864 - depends: - - python >=3.10 - - typing_extensions >=4.12.0 - - python + - numpy + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 20935 - timestamp: 1777105465795 -- 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 - size: 51692 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 - md5: fa31df4d4193aabccaf09ce78a187faf + run_exports: {} + size: 1023176 + timestamp: 1775566016879 +- conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.4.3-py312h9aeec68_2.conda + sha256: 1c0cd6f1d7deb42cfb672dd9ab911e28b5c3598ea215fc5f30c0b9fd1909cfc2 + md5: 12c2a20993f3aa36f18382aa5d91e614 depends: - - mypy_extensions >=0.3.0 - - python >=3.9 - - typing_extensions >=3.7.4 - license: MIT - license_family: MIT - size: 14919 - timestamp: 1733845966415 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda - sha256: 3088d5d873411a56bf988eee774559335749aed6f6c28e07bf933256afb9eb6c - md5: f6d7aa696c67756a650e91e15e88223c + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libgdal-core <3.11 + - libgdal-core >=3.10.3,<3.11.0a0 + - numpy >=1.23,<3 + - proj >=9.6.2,<9.7.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7097517 + timestamp: 1758132119961 +- conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py313h1ced589_0.conda + sha256: d751673f1b0b77e7d9547e5101e2c7fe29c1f6acba0fc09ff7eb3651477ab829 + md5: 05a494f768c611dd1ba42ead4556e453 depends: - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - size: 15183 - timestamp: 1733331395943 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c - md5: ad659d0a2b3e47e38d829aa8cad2d610 - license: LicenseRef-Public-Domain - size: 119135 - timestamp: 1767016325805 -- 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 - size: 694692 - timestamp: 1756385147981 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.12.1-py312h8285ef7_1.conda - sha256: aede49b0af449da03629a23648ee969bcdf95eaa05f04bd7632a775bbc712eef - md5: 1a16c1e03a6d960a183086adabd4a52a + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libgdal-core >=3.12.1,<3.13.0a0 + - numpy >=1.23,<3 + - proj >=9.7.1,<9.8.0a0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8328743 + timestamp: 1767632806826 +- conda: https://conda.anaconda.org/conda-forge/win-64/rasterio-1.5.0-py314h807bb43_0.conda + sha256: 79ec1034ea7d85eb5d4c6f7bca4bf13a109ac26bd4936057d2ec419df5ac4d5b + md5: bec04a840694000666e487dbec1e3e03 depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python_abi 3.12.* *_cp312 + - affine + - attrs + - certifi + - click >=4,!=8.2.* + - click-plugins + - cligj >=0.5 + - libgdal-core >=3.12.1,<3.13.0a0 + - numpy >=1.23,<3 + - proj >=9.7.1,<9.8.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools >=0.9.8 + - snuggs >=1.4.1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 60066 - timestamp: 1779460882605 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ujson-5.12.1-py312h4075484_1.conda - sha256: 014c1e689ad3bbeb1e3df9e03058e28a3dc77f27a19b39dd5c1eb48b4fca4043 - md5: 432663a8d3a776dc88535bed90c7957d + run_exports: {} + size: 8198507 + timestamp: 1767633074010 +- conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_0.conda + sha256: 9d1bb3d15cdd3257baee5fc063221514482f91154cd1457af126e1ec460bbeac + md5: 50746f61f199c4c00d42e33f5d6cfd0b depends: - - python - - __osx >=11.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - libre2-11 2025.11.05 h0eb2380_0 license: BSD-3-Clause license_family: BSD - size: 69367 - timestamp: 1779461051927 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ujson-5.12.1-py312h6510ced_1.conda - sha256: bd08af76832e78b14122813c2e9d83d6a181c586846f2fa31175b957428efd7e - md5: 7bd7aa320adfe5deca76487355fc5e0c + run_exports: + weak: + - libre2-11 >=2025.11.5 + - re2 + size: 216623 + timestamp: 1762397986736 +- conda: https://conda.anaconda.org/conda-forge/win-64/re2-2025.11.05-ha104f34_1.conda + sha256: 345b1ed8288d81510101f886aaf547e3294370e5dab340c4c3fcb0b25e5d99e0 + md5: 6807f05dcf3f1736ad6cc9525b8b8725 depends: - - python - - python 3.12.* *_cpython - - __osx >=11.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - libre2-11 2025.11.05 h04e5de1_1 license: BSD-3-Clause license_family: BSD - size: 67242 - timestamp: 1779461190339 -- conda: https://conda.anaconda.org/conda-forge/win-64/ujson-5.12.1-py312ha1a9051_1.conda - sha256: f04e7fef1f7969d905068befd0db94c9e03c0820b5d7f313463c0bc66cc703ff - md5: 5c57a3166b3d73e0cb0424314fec1fd4 + run_exports: + weak: + - libre2-11 >=2025.11.5 + - re2 + size: 220305 + timestamp: 1768190225351 +- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py312hd944d65_0.conda + sha256: 3b927f1c875769dc647c61e0c9e21d1047441d64fc512b75aea916be746556da + md5: da8231829c8f3ea456f761ab09eca78a 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 - size: 51333 - timestamp: 1779460939537 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py312hd9148b4_0.conda - sha256: c975070ac28fe23a5bbb2b8aeca5976b06630eb2de2dc149782f74018bf07ae8 - md5: 55fd03988b1b1bc6faabbfb5b481ecd7 - depends: - - __glibc >=2.17,<3.0.a0 - - cffi - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 14882 - timestamp: 1769438717830 -- conda: https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.1.0-py312h0aa9c5c_0.conda - sha256: 833c7b0947be7ee67e561066e94ea284cdb235d57648e4538b2cf2062e8d919b - md5: a7692ba7ead6f7e3c910339851776c92 + run_exports: {} + size: 231128 + timestamp: 1779977048735 +- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py313ha9ea572_0.conda + sha256: f06f10a951c8ef2b8eecd0e1d2b8df5074725797213ccfaa64564ed048f87d9c + md5: e59ef8e278049bdcb8d8c3f2e55adaf5 depends: - - __osx >=10.13 - - cffi - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 14209 - timestamp: 1769438958547 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py312h766f71e_0.conda - sha256: 4d047b1d6e0f4bdd8c43e1b772665de9a10c0649a7f158df8193a3a6e7df714f - md5: e80504aa921f5ab11456f27bd9ef5d25 + run_exports: {} + size: 230648 + timestamp: 1779977048910 +- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.5.1-py314hc980628_0.conda + sha256: 5ecab2511a0ec8d2ea11ff337d83bf8bad8da1e167ae0b6336ac2e56abae10de + md5: f56d0b6c5af9a03320a5884efa3c5764 depends: - - __osx >=11.0 - - cffi - - libcxx >=19 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 14733 - timestamp: 1769439379176 -- conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py312hf90b1b7_0.conda - sha256: 109cff6bde0af580472e8ece93323c9cf11a53c983867e411d47e212cd8efd1e - md5: 46f58bf68d690efadc0b1eb17e9f763d + run_exports: {} + size: 229575 + timestamp: 1779977051010 +- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py313h5fd188c_1.conda + sha256: aacaf0b6c3902ec080345fbe0c6b5195656e9a0700dd2eb6af48fd56f1c04c02 + md5: de2843db9e03bb36fcfab5ca74d4679b depends: - - cffi - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 + - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 license: MIT license_family: MIT - size: 18354 - timestamp: 1769438970742 -- 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 - size: 410641 - timestamp: 1770909099497 -- conda: https://conda.anaconda.org/conda-forge/osx-64/unicodedata2-17.0.1-py312h1a1c95f_0.conda - sha256: 29bdc3648a4b8011c572003234ebfaa13666aa71760c9f89f798758ccebd7448 - md5: 563dc18b746f873408b76e068e2b4baa + run_exports: {} + size: 105675 + timestamp: 1766159549377 +- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda + sha256: b719637ce71e533193cd2bcacbf6ba5c10deaafa1be90d96040ee2314c6b17d1 + md5: 496de351b0f9afe9e245229528304f25 depends: - - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 406056 - timestamp: 1770909495553 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-17.0.1-py312h2bbb03f_0.conda - sha256: e935d0c11581e31e89ce4899a28b16f924d1a3c1af89f18f8a2c5f5728b3107f - md5: 45b836f333fd3e282c16fff7dc82994e + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + run_exports: {} + size: 105668 + timestamp: 1766159584330 +- conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.15.19-h45713df_0.conda + noarch: python + sha256: bf2eccfa578cff287b9f464b9a312da2df420790783dfd3fd690906731bdf2a5 + md5: 5f1a5e6acee3c4f2a6b3375334b51e81 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 - size: 415828 - timestamp: 1770909782683 -- conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py312he06e257_0.conda - sha256: 577fcd97b5b855d341ee511307a0c05f632d184544e31ff9621690770843c995 - md5: 9c46f390eb4b5c6e502df20378e442dd + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + run_exports: {} + size: 9926237 + timestamp: 1782288657493 +- conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.7.2-py312h91ac024_0.conda + sha256: 22666360c1026cb5d197ca3f5b6e6e7902414cde266b0bb7e8b50f894254348e + md5: 640f74b19cfe413de754391df630a15a depends: + - joblib >=1.2.0 + - numpy >=1.22.0 + - numpy >=1.23,<3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + - scipy >=1.8.0 + - threadpoolctl >=3.1.0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 405896 - timestamp: 1770909182518 -- conda: https://conda.anaconda.org/conda-forge/noarch/unidecode-1.4.0-pyhcf101f3_1.conda - sha256: 184d1377f88251983ef5154aea0d6cb73108afc8510ed66526afb1c44b2e1259 - md5: 53cb4b14ab0841e104e2bd11ee64b840 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 8736451 + timestamp: 1757433576165 +- conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py313h4ce4a18_1.conda + sha256: 8b69613ebb401fd80d00316b729950c0a1b0ee9d27c8848adf5f3e7619c4e50c + md5: 1a636c8e6f5b92fca019972db0ed348e depends: - - python >=3.10 - python - license: GPL-2.0-or-later - license_family: GPL - size: 189632 - timestamp: 1762257681278 -- conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda - sha256: e0eb6c8daf892b3056f08416a96d68b0a358b7c46b99c8a50481b22631a4dfc0 - md5: e7cb0f5745e4c5035a460248334af7eb - depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 23990 - timestamp: 1733323714454 -- 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 + - 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 + - numpy >=1.23,<3 + - python_abi 3.13.* *_cp313 license: BSD-3-Clause license_family: BSD - size: 48270 - timestamp: 1715010035325 -- conda: https://conda.anaconda.org/conda-forge/osx-64/uriparser-0.9.8-h6aefe2f_0.conda - sha256: fec8e52955fc314580a93dee665349bf430ce6df19019cea3fae7ec60f732bdd - md5: 649890a63cc818b24fbbf0572db221a5 + run_exports: {} + size: 9043928 + timestamp: 1765801249980 +- conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.8.0-np2py314h1b5b07a_1.conda + sha256: ce701fcf35e0b65d0822fe916f5536ed326c1b842fe1ba6d08c5fcac4ec8dc75 + md5: ba2216c82d626684433912bfec8a4843 depends: - - __osx >=10.9 - - libcxx >=16 + - 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.14.* *_cp314 + - numpy >=1.23,<3 license: BSD-3-Clause license_family: BSD - size: 43396 - timestamp: 1715010079800 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda - sha256: fa0bcbfb20a508ca9bf482236fe799581cbd0eab016e47a865e9fa44dbe3c512 - md5: e8ff9e11babbc8cd77af5a4258dc2802 + run_exports: {} + size: 9139165 + timestamp: 1765801295593 +- conda: https://conda.anaconda.org/conda-forge/win-64/scip-10.0.2-h10a4840_1.conda + sha256: 02adc2559e12318b5d0e86703b38ee71600a776c71218ceaf24f887e6561929c + md5: 9332f77b32bf797a48c955f55c26815a depends: - - __osx >=11.0 - - libcxx >=16 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - gmp >=6.3.0,<7.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libzlib >=1.3.2,<2.0a0 + - ipopt >=3.14.19,<3.14.20.0a0 + - tbb >=2023.0.0 + - libboost >=1.90.0,<1.91.0a0 + - mpfr >=4.2.2,<5.0a0 + license: Apache-2.0 AND LGPL-3.0-or-later AND EPL-1.0 and MIT and Zlib and BSL-1.0 and HPND + run_exports: + weak: + - scip >=10.0.2,<11.0a0 + size: 12268899 + timestamp: 1781770032870 +- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_1.conda + sha256: b8a13caeb04f2b943e7c617a4b76805450618716b38688ee8d3f79b60d529e84 + md5: 0b8c96ed1c04732ff8eb5d481b44c43c + 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 - size: 40625 - timestamp: 1715010029254 -- conda: https://conda.anaconda.org/conda-forge/win-64/uriparser-0.9.8-h5a68840_0.conda - sha256: ed0eed8ed0343d29cdbfaeb1bfd141f090af696547d69f91c18f46350299f00d - md5: 28b4cf9065681f43cc567410edf8243d + run_exports: {} + size: 15078490 + timestamp: 1779876221509 +- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py313he51e9a2_0.conda + sha256: 8533a4b49bca970a5eaad9d0534bcc4ecb05e606735ffdb1032d95c47fc0673a + md5: ddf3fb8bab2ad4ffefad64803ffdbdfb 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 >=2.0.0 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 49181 - timestamp: 1715010467661 -- conda: https://conda.anaconda.org/conda-forge/noarch/url-normalize-3.0.0-pyhd8ed1ab_0.conda - sha256: b479c71846946cf17225a2a85a0ca8a621b9deda2f88dd16838dc90a4b6d96ee - md5: 49b01263c5348a30838ba148a30126cf - depends: - - idna - - python >=3.10 - - six - license: MIT - license_family: MIT - size: 20754 - timestamp: 1777117020600 -- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - sha256: 4fb9789154bd666ca74e428d973df81087a697dbb987775bc3198d2215f240f8 - md5: 436c165519e140cb08d246a4472a9d6a - depends: - - brotli-python >=1.0.9 - - h2 >=4,<5 - - pysocks >=1.5.6,<2.0,!=1.5.7 - - python >=3.9 - - zstandard >=0.18.0 - license: MIT - license_family: MIT - size: 101735 - timestamp: 1750271478254 -- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 - md5: cbb88288f74dbe6ada1c6c7d0a97223e - 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 - size: 103560 - timestamp: 1778188657149 -- conda: https://conda.anaconda.org/conda-forge/noarch/validators-0.35.0-pyhd8ed1ab_0.conda - sha256: a9cd585b86f41da98e4d67d75623916456d9df9dbd0ee27c4a722d89eb71cf13 - md5: 3449ef730c7d483adde81993994092b9 + run_exports: {} + size: 15248913 + timestamp: 1781914321655 +- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda + sha256: 952db1642d707d2572b511b1207bfd8e8c114fdc99930c400b547eb8ab92ac19 + md5: a925cfb1429da2b1312c86516ae7c418 depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 40032 - timestamp: 1746267229282 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_38.conda - sha256: 61b68e5a4fc71a17f8d64b12e013a2f971ad980bd08e9c389d5e68efe1a67de0 - md5: 774568633f3b26d7a4a6dd4f9ea6d3e1 + - 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 >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 15353018 + timestamp: 1781914001107 +- conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.0.7-py312h3f81574_1.conda + sha256: f0b17b16c33e73e3ca499e743fe0661bc99e8f2e1c06d1f248d9f0f43095f9ef + md5: 5d4fdea14e643636725d68ac3c2306bf depends: - - vc14_runtime >=14.51.36231 - track_features: - - vc14 + - geos >=3.13.1,<3.13.2.0a0 + - numpy >=1.19,<3 + - 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: BSD-3-Clause license_family: BSD - size: 20187 - timestamp: 1780005880049 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_38.conda - sha256: 957c7c65583c7107a5e76f39756c6361fcb7b0dc101ac7c0aea86e7ca09fe49c - md5: 2cdcd8ea1010920911bb2eacb4c61227 + run_exports: {} + size: 537509 + timestamp: 1741167468116 +- conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py313h64ccc5a_2.conda + sha256: 7cc45e575e5bcb0596b57f3821ef0d4cbc437fde06f413fae46a2826f6eb68bf + md5: 89e833ece06dd9d0c0a46d74d1125bf6 depends: + - geos >=3.14.1,<3.14.2.0a0 + - numpy >=1.23,<3 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 - ucrt >=10.0.20348.0 - - vcomp14 14.51.36231 h1b9f54f_38 - constrains: - - vs2015_runtime 14.51.36231.* *_38 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - size: 740997 - timestamp: 1780005875753 -- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_38.conda - sha256: c645fdc1f0f47718431d973386e946754a10200e7ba2c32032560913a970cacd - md5: 63ee70d69d7540e821940dac5d4d9ba2 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 613015 + timestamp: 1762523741425 +- conda: https://conda.anaconda.org/conda-forge/win-64/shapely-2.1.2-py314h76f3c27_2.conda + sha256: ffc9c4b2fae82b4dfb14fe6d4b95382d9e6d88fd01f8eb9fbf6f7d2bef65ea35 + md5: c5a64ac49215efe79837adbd7e42b605 depends: + - geos >=3.14.1,<3.14.2.0a0 + - numpy >=1.23,<3 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 - ucrt >=10.0.20348.0 - constrains: - - vs2015_runtime 14.51.36231.* *_38 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - size: 123561 - timestamp: 1780005858779 -- conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-1.1.1-pyhd8ed1ab_0.conda - sha256: 8dbe1085b6dbc0beaaa45514a983bc91c2c306079a257c936566b727f5e82fb8 - md5: d3874a78e238013db5106c8e31f1ae58 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 614463 + timestamp: 1762523809485 +- conda: https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py313h5ea7bf4_0.conda + sha256: 18c842992ca08307e1b87775c6b4869f38f4a12f9973d60adcdd5f9fae61c4ea + md5: 03943486ffb2e4aaa76ca09520995630 depends: - - packaging >=20 - - python >=3.10 - - tomli >=1 - - typing_extensions + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 63943 - timestamp: 1776865877973 -- conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.4.2-pyhcf101f3_0.conda - sha256: 83d10be1b436fef778e7982f24a1f117b7aa34817135ec8b0ad63ee4455943eb - md5: 52434c636a05a06806d0978128d98c19 + run_exports: {} + size: 160729 + timestamp: 1777112200806 +- conda: https://conda.anaconda.org/conda-forge/win-64/simplejson-4.1.1-py314h5a2d7ad_0.conda + sha256: 3d32bb1a6d773a2f80693ad2079cce24ec63248a997da872f14ad057da47dde8 + md5: 4f9a825716d3e01b6f3089a68b877e4d depends: - - python >=3.10 - - distlib >=0.3.7,<1 - - filelock <4,>=3.24.2 - - importlib-metadata >=6.6 - - platformdirs >=3.9.1,<5 - - python-discovery >=1.4 - - typing_extensions >=4.13.2 - - python + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 5151645 - timestamp: 1780253977667 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_38.conda - sha256: c4f38268563dc6b8322b0191481e5d20002fc6e37b076c15e0b955a553c8b4a0 - md5: 6033851d921b6c33f1c3018205fcba6a + run_exports: {} + size: 161975 + timestamp: 1777112198099 +- conda: https://conda.anaconda.org/conda-forge/win-64/snappy-1.2.2-h7fa0ca8_1.conda + sha256: d2deda1350abf8c05978b73cf7fe9147dd5c7f2f9b312692d1b98e52efad53c3 + md5: 3075846de68f942150069d4289aaad63 depends: - - vc14_runtime >=14.51.36231 + - 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: 20170 - timestamp: 1780005880423 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda - sha256: ba673427dcd480cfa9bbc262fd04a9b1ad2ed59a159bd8f7e750d4c52282f34c - md5: 0f2ca7906bf166247d1d760c3422cb8a - depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.0,<3.0a0 - - libffi >=3.4.6,<3.5.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: MIT - license_family: MIT - size: 330474 - timestamp: 1751817998141 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda - sha256: ea374d57a8fcda281a0a89af0ee49a2c2e99cc4ac97cf2e2db7064e74e764bdb - md5: 996583ea9c796e5b915f7d7580b51ea6 + run_exports: + weak: + - snappy >=1.2.2,<1.3.0a0 + size: 67417 + timestamp: 1762948090450 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py313h5fd188c_0.conda + sha256: db741f0fa67e8357484311968fdb661e780eb150b4bdcc89291c2ef8a018095b + md5: 4010f1dc0c5d2322a58acc0fa0c86790 depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libstdcxx >=14 + - 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.13.* *_cp313 license: MIT license_family: MIT - size: 334139 - timestamp: 1773959575393 -- conda: https://conda.anaconda.org/conda-forge/noarch/wbgapi-1.0.12-pyhd8ed1ab_0.tar.bz2 - sha256: a11792999f4c92b182b7c3c444d2981da3b8e7b6b561d8ad2d342d4e39dfa13b - md5: a2e1ba950c0ec23e3ea0b915743a37e0 + run_exports: {} + size: 3814150 + timestamp: 1781547906277 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py314hc5dbbe4_0.conda + sha256: 55e98a0f4e491151ffad7c274d22dfb2d999d50cafa606ec649eff29f079591b + md5: 920cf560266c77de21a8f55e7d0e0329 depends: - - python >=3.0 - - pyyaml - - requests - - tabulate + - 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.14.* *_cp314 license: MIT license_family: MIT - size: 31563 - timestamp: 1657092070355 -- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.1-pyhd8ed1ab_0.conda - sha256: 5ddde23d65aecde7e8dac0b9d9c7821ead2b87a320d787f9e4288c0ee00fa332 - md5: 19c961dd9cab6c3e13cd195f0176dbfa + run_exports: {} + size: 3986755 + timestamp: 1781547909164 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.53.2-hdb435a2_0.conda + sha256: 0640ffa3360669c8826f05a8295f38c3bc57dc9cac0c9732940897ff5256f996 + md5: 58e6f936ab416fddc633d4105f43aea2 depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 133769 - timestamp: 1780932915297 -- conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda - sha256: 21f6c8a20fe050d09bfda3fb0a9c3493936ce7d6e1b3b5f8b01319ee46d6c6f6 - md5: 6639b6b0d8b5a284f027a2003669aa65 + - libsqlite 3.53.2 hf5d6505_0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing + run_exports: + weak: + - libsqlite >=3.53.2,<4.0a0 + size: 425926 + timestamp: 1780574498030 +- conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py312h196c9fc_0.conda + sha256: 93daa6ead03ff50b6366c6389d268f46d490ad50724a312c2ba59dbd6b6e2415 + md5: 180f6ee9579c0c6111af5a5638686a64 depends: - - python >=3.10 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - scipy !=1.9.2,>=1.8 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 18987 - timestamp: 1761899393153 -- conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 - md5: 2841eb5bfc75ce15e9a0054b98dcd64d + run_exports: {} + size: 11419682 + timestamp: 1764983650145 +- conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py313h0591002_0.conda + sha256: 748019560f11750e6c6843f9762d491cbde3656fab1d7cd48092b3bbdecdef4d + md5: 5523b262bcc2cf8116d32a86db503d53 depends: - - python >=3.9 + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - scipy !=1.9.2,>=1.8 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 15496 - timestamp: 1733236131358 -- conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda - sha256: 42a2b61e393e61cdf75ced1f5f324a64af25f347d16c60b14117393a98656397 - md5: 2f1ed718fcd829c184a6d4f0f2e07409 - depends: - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - size: 61391 - timestamp: 1759928175142 -- conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.8-pyhcf101f3_0.conda - sha256: 5108c1bf2f0512e5c9dc8191e31b144c23b7cf0e73423a246173006002368d79 - md5: 3eeca039e7316268627f4116da9df64c + run_exports: {} + size: 11570614 + timestamp: 1764983430194 +- conda: https://conda.anaconda.org/conda-forge/win-64/statsmodels-0.14.6-py314h2dcd201_0.conda + sha256: 5f82469c0c6574a1afd946583ed208fdb5f6758aec6ce044822ee734c88f4ca4 + md5: b5a8dc5acaaadc579184c0281b351c90 depends: - - markupsafe >=2.1.1 - - python >=3.10 - - python + - numpy <3,>=1.22.3 + - numpy >=1.23,<3 + - packaging >=21.3 + - pandas !=2.1.0,>=1.4 + - patsy >=0.5.6 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - scipy !=1.9.2,>=1.8 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 258232 - timestamp: 1775160081069 -- conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-3.6.10-pyhd8ed1ab_0.conda - sha256: 6aeb16d2aacdae68ba7afd980925264f5d0459dd165e3406f13f23949df346c1 - md5: 4d52bbdb661dc1b5a1c2aeb1afcd9a67 + run_exports: {} + size: 11910748 + timestamp: 1764983438221 +- conda: https://conda.anaconda.org/conda-forge/win-64/symlink-exe-runtime-1.0-hfd05255_2.conda + sha256: 25a7eaad98aabe1f4f137ecac53cb45de881cc88d399738f95278f0449f97c28 + md5: 2f96340000d8b3957ecb0978cfed0486 depends: - - notebook >=4.4.1 - - python >=3.7 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - size: 633673 - timestamp: 1729587712065 -- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f - md5: 46e441ba871f524e2b067929da3051c2 + run_exports: {} + size: 13317 + timestamp: 1771438096132 +- conda: https://conda.anaconda.org/conda-forge/win-64/tabula-py-2.7.0-py312h2e8e312_2.conda + sha256: 95b168a43cfde2d776f01667825790a59c4ecef3370832cbf8485f4714a34138 + md5: 09f5a6fb8912216266ddc6ca13a2611a depends: - - __win - - python >=3.9 - license: LicenseRef-Public-Domain - size: 9555 - timestamp: 1733130678956 -- conda: https://conda.anaconda.org/conda-forge/win-64/winpty-0.4.3-4.tar.bz2 - sha256: 9df10c5b607dd30e05ba08cbd940009305c75db242476f4e845ea06008b0a283 - md5: 1cee351bf20b830d991dbe0bc8cd7dfe + - numpy + - openjdk + - pandas + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - requests + - setuptools + - setuptools_scm license: MIT license_family: MIT - size: 1176306 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda - sha256: 8320d5af37eb8933e5d129884ea013b2687e75b08aff5216193df3378eaea92f - md5: 8af3faf88325836e46c6cb79828e058c + run_exports: {} + size: 11858249 + timestamp: 1762185745141 +- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-hd094cb3_1.conda + sha256: c31cac57913a699745d124cdc016a63e31c5749f16f60b3202414d071fc50573 + md5: 17c38aaf14c640b85c4617ccb59c1146 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-2-Clause - license_family: BSD - size: 64608 - timestamp: 1756851740646 -- conda: https://conda.anaconda.org/conda-forge/osx-64/wrapt-1.17.3-py312h2f459f6_1.conda - sha256: df1430736e2b8ecfb559b7240478517c71d85697dee753628ef9ead84c3d1e52 - md5: a92e23c22f481e7c8bc5d2dc551c101d + - libhwloc >=2.12.1,<2.12.2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 155714 + timestamp: 1762510341121 +- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + sha256: 8a4053839b8e997a5965e2dff7d6cf3c77be62d82c0e48c8a04a5ed2d2e73035 + md5: 8ee01a693aecff5432069eaaf1183c45 depends: - - __osx >=10.13 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-2-Clause - license_family: BSD - size: 60710 - timestamp: 1756851817591 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.17.3-py312h163523d_1.conda - sha256: b2be8bbfc1d7d63cd82f23c6aab0845b5dbbd835378b3c4e61b80b7d81ae9656 - md5: 5658c0733acef1e0e2701aa1ebaa1f14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 156515 + timestamp: 1778673901757 +- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + sha256: 0e79810fae28f3b69fe7391b0d43f5474d6bd91d451d5f2bde02f55ae481d5e3 + md5: 0481bfd9814bf525bd4b3ee4b51494c4 depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: BSD-2-Clause + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: TCL license_family: BSD - size: 61948 - timestamp: 1756851912789 -- conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.conda - sha256: f9e9e28ef3a0564a5588427b9503ed08e5fe3624b8f8132d60383439a47baafc - md5: fc10fd823d05bde83cda9e90dbef34ed + run_exports: + weak: + - tk >=8.6.13,<8.7.0a0 + size: 3526350 + timestamp: 1769460339384 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.conda + sha256: 110cf0c741e181ed929a2acdb488f2095badad973c50dd696af36c4162e063cf + md5: 1045d29f787812d3fac1fd80a1339710 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: BSD-2-Clause - license_family: BSD - size: 63012 - timestamp: 1756852490793 -- conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.6.1-pyhd8ed1ab_1.conda - sha256: e27b45ca791cfbcad37d64b8615d0672d94aafa00b014826fcbca2ce18bd1cc0 - md5: 145c6f2ac90174d9ad1a2a51b9d7c1dd - depends: - - numpy >=1.24 - - packaging >=23.2 - - pandas >=2.1 - - python >=3.10 - constrains: - - scipy >=1.11 - - dask-core >=2023.11 - - bottleneck >=1.3 - - zarr >=2.16 - - flox >=0.7 - - h5py >=3.8 - - iris >=3.7 - - cartopy >=0.22 - - numba >=0.57 - - sparse >=0.14 - - pint >=0.22 - - distributed >=2023.11 - - hdf5 >=1.12 - - seaborn-base >=0.13 - - nc-time-axis >=1.4 - - matplotlib-base >=3.8 - - toolz >=0.12 - - netcdf4 >=1.6.0 - - cftime >=1.6 - - h5netcdf >=1.3 license: Apache-2.0 - license_family: APACHE - size: 879913 - timestamp: 1749743321359 -- conda: https://conda.anaconda.org/conda-forge/noarch/xarray-2025.9.0-pyhd8ed1ab_0.conda - sha256: ae5a7db3b457caacc5da3e47650ea2dc597b769787669b29bd68cb9d1822046c - md5: ebd60e8b77a2fc77a8d86892705ea245 + license_family: Apache + run_exports: {} + size: 865801 + timestamp: 1781006895319 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py313h5ea7bf4_0.conda + sha256: 973322f987fcbcc25bf67cd65a7f17b2cb57606e688ec7bb6e203d7dedf83d4a + md5: e80e3b9589e828c0b0b83f149438c29c depends: - - numpy >=1.26 - - packaging >=24.1 - - pandas >=2.2 - - python >=3.11 - constrains: - - iris >=3.9 - - numba >=0.60 - - nc-time-axis >=1.4 - - hdf5 >=1.14 - - zarr >=2.18 - - seaborn-base >=0.13 - - bottleneck >=1.4 - - cartopy >=0.23 - - cftime >=1.6 - - dask-core >=2024.6 - - toolz >=0.12 - - distributed >=2024.6 - - matplotlib-base >=3.8 - - netcdf4 >=1.6.0 - - flox >=0.9 - - h5netcdf >=1.3 - - pint >=0.24 - - scipy >=1.13 - - sparse >=0.15 - - h5py >=3.11 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 - license_family: APACHE - size: 898587 - timestamp: 1756981236899 -- 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 - 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 - 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 + license_family: Apache + run_exports: {} + size: 888693 + timestamp: 1781006912014 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + sha256: 6b9f5a195ca148f7c6b9a4a0a026631979b3112c43cd7c1064085ff833dfa4f0 + md5: b1b9bf11a82e608c5649d7462de94c5f depends: - - libgcc-ng >=12 - - libxcb >=1.16,<2.0.0a0 - - xcb-util >=0.4.1,<0.5.0a0 - license: MIT - license_family: MIT - 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 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 919275 + timestamp: 1781006902968 +- 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 + run_exports: {} + size: 694692 + timestamp: 1756385147981 +- conda: https://conda.anaconda.org/conda-forge/win-64/ujson-5.13.0-py313h927ade5_0.conda + sha256: 8d3a6090755109dcf278b327fbb404cc781312407d491d729e75c601d51bcef1 + md5: 6a5dd36200948d55c883bbaaef99cb4d depends: - - libgcc-ng >=12 - - libxcb >=1.16,<2.0.0a0 - license: MIT - license_family: MIT - 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 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.13.* *_cp313 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 51416 + timestamp: 1781561640861 +- conda: https://conda.anaconda.org/conda-forge/win-64/ujson-5.13.0-py314hb98de8c_0.conda + sha256: 40d9682b465a20acbffe4e075a8cac4471d6d0ef01089fcea6701c931f61eae5 + md5: 0d41e522e46805227a3f8fd1b243db34 depends: - - libgcc-ng >=12 - - libxcb >=1.16,<2.0.0a0 - license: MIT - license_family: MIT - 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 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 51629 + timestamp: 1781561644996 +- conda: https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.1.0-py314h909e829_0.conda + sha256: 96990a5948e0c30788360836d94bf6145fdac0c187695ed9b3c2d61d9e11d267 + md5: 54e012b629ac5a40c9b3fa32738375dc depends: - - libgcc-ng >=12 - - libxcb >=1.16,<2.0.0a0 + - cffi + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - 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 + run_exports: {} + size: 18504 + timestamp: 1769438844417 +- conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py312he06e257_0.conda + sha256: 577fcd97b5b855d341ee511307a0c05f632d184544e31ff9621690770843c995 + md5: 9c46f390eb4b5c6e502df20378e442dd depends: - - __glibc >=2.17,<3.0.a0 - - icu >=75.1,<76.0a0 - - libgcc >=13 - - libnsl >=2.0.1,<2.1.0a0 - - libstdcxx >=13 + - 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 - size: 1648243 - timestamp: 1727733890754 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.3.0-hd9031aa_1.conda - sha256: 605980121ad3ee9393a9b53fb0996929c9732f8fc6b9f796d25244ca6fa23032 - md5: 66a1db55ecdb7377d2b91f54cd56eafa + run_exports: {} + size: 405896 + timestamp: 1770909182518 +- conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_0.conda + sha256: 9041e463044944460f73f9528f2ec491180f0ffe857e3555aa8160b81050b8d9 + md5: d6b580a13384df5155c6ca19ee66854e depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libnsl >=2.0.1,<2.1.0a0 - - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache - size: 1660075 - timestamp: 1766327494699 -- conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.2.5-h197e74d_2.conda - sha256: 6218762b3ecff8e365f2880bb6a762b195e350159510d3f2dba58fa53f90a1bf - md5: 559e2c3fb2fe4bfc985e8486bad8ecaa + run_exports: {} + size: 406126 + timestamp: 1770909191618 +- 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 + run_exports: + weak: + - uriparser >=0.9.8,<1.0a0 + size: 49181 + timestamp: 1715010467661 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + sha256: 17693b60cb54f80c60275f003f3bfc1b128af56dbfd65c4fae37c64eeb755ce1 + md5: 2eacea63f545b97342da520df6854276 + depends: + - vc14_runtime >=14.51.36231 + track_features: + - vc14 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20362 + timestamp: 1781320968457 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + sha256: 8153ed849c92e891eacac0f2f8d7ecb79f9b5fd7f7917fbb896f252a60a40390 + md5: 06a5bf5a1ca16cce0df6eaa91fc42bc2 + depends: + - ucrt >=10.0.20348.0 + - vcomp14 14.51.36231 h1b9f54f_39 + constrains: + - vs2015_runtime 14.51.36231.* *_39 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + run_exports: {} + size: 737434 + timestamp: 1781320964561 +- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + sha256: 07fb14713c4bc62e2533a2e23a363abfb0e65650681fba0ae4c840e2219350f3 + md5: 8b53a83fda40ec679e4d63fa32fae989 + depends: + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.51.36231.* *_39 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + run_exports: + strong: + - vcomp14 >=14.51.36231 + size: 120684 + timestamp: 1781320948530 +- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + sha256: 6de6c2cf008fc2dce61060b583f2d8494c83883106952b201381b6b0505f03d7 + md5: 2ccc63d7b7d066a814ed9f99072832d7 + depends: + - vc14_runtime >=14.51.36231 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20355 + timestamp: 1781320968804 +- conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py312h209ec74_3.conda + sha256: ce118b4eecd52c2b16664524b9a7a1c283e479ac1754587268df03ba732e15ac + md5: bf3401836efb5fa8fc02fe1d19310fdd depends: - - __osx >=10.13 - - icu >=75.1,<76.0a0 - - libcxx >=17 + - python + - pyyaml >=3.10 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - license_family: Apache - size: 1352475 - timestamp: 1727734320281 -- conda: https://conda.anaconda.org/conda-forge/osx-64/xerces-c-3.3.0-ha8d0d41_1.conda - sha256: 214dc4f27f9160830bb5b82bdc53a943a052071b0f23b8d4771a2f4e469763c6 - md5: 21338f14e1226ca108452b770e770455 + license_family: APACHE + run_exports: {} + size: 191986 + timestamp: 1772608052943 +- conda: https://conda.anaconda.org/conda-forge/win-64/winpty-0.4.3-4.tar.bz2 + sha256: 9df10c5b607dd30e05ba08cbd940009305c75db242476f4e845ea06008b0a283 + md5: 1cee351bf20b830d991dbe0bc8cd7dfe + license: MIT + license_family: MIT + run_exports: {} + size: 1176306 +- conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py312he06e257_1.conda + sha256: f9e9e28ef3a0564a5588427b9503ed08e5fe3624b8f8132d60383439a47baafc + md5: fc10fd823d05bde83cda9e90dbef34ed depends: - - __osx >=10.13 - - icu >=78.1,<79.0a0 - - libcxx >=19 - license: Apache-2.0 - license_family: Apache - size: 1358256 - timestamp: 1766327914262 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda - sha256: 863a7c2a991a4399d362d42c285ebc20748a4ea417647ebd3a171e2220c7457d - md5: 50b7325437ef0901fe25dc5c9e743b88 + - 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-2-Clause + license_family: BSD + run_exports: {} + size: 63012 + timestamp: 1756852490793 +- conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py313h5ea7bf4_1.conda + sha256: 260a3295f39565c28be9232a11ca7ee435af6e9366ffd2569ff29a63e7c144a0 + md5: 3e199c8db04833fe628867462aeaca24 depends: - - __osx >=11.0 - - icu >=75.1,<76.0a0 - - libcxx >=17 - license: Apache-2.0 - license_family: Apache - size: 1277884 - timestamp: 1727733870250 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.3.0-h25f632f_1.conda - sha256: 89152175f45b5e84e0f1575848f607e305ffc122ab59d9704ea77ce699b1bd2b - md5: 0b886d06130b774f086d3b2ce0b7277a + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 63385 + timestamp: 1756851987645 +- conda: https://conda.anaconda.org/conda-forge/win-64/wrapt-1.17.3-py314h5a2d7ad_1.conda + sha256: ecbee7584bc5dfcabed36240059a156dab0d6dd87a0246c71b32b82640558a78 + md5: 0172693b00f64c34667a5bdda0449eb9 depends: - - __osx >=11.0 - - icu >=78.1,<79.0a0 - - libcxx >=19 - license: Apache-2.0 - license_family: Apache - size: 1283088 - timestamp: 1766327630028 + - python >=3.14.0rc2,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 63873 + timestamp: 1756852097390 - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.2.5-he0c23c2_2.conda sha256: 759ae22a0a221dc1c0ba39684b0dcf696aab4132478e17e56a0366ded519e54e md5: 82b6eac3c198271e98b48d52d79726d8 @@ -31944,6 +45644,9 @@ packages: - vc14_runtime >=14.29.30139 license: Apache-2.0 license_family: Apache + run_exports: + weak: + - xerces-c >=3.2.5,<3.3.0a0 size: 3574017 timestamp: 1727734520239 - conda: https://conda.anaconda.org/conda-forge/win-64/xerces-c-3.3.0-hac47afa_1.conda @@ -31955,38 +45658,11 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + run_exports: + weak: + - xerces-c >=3.3.0,<3.4.0a0 size: 3598939 timestamp: 1766327729418 -- 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 - size: 399291 - timestamp: 1772021302485 -- conda: https://conda.anaconda.org/conda-forge/noarch/xlrd-2.0.2-pyhd8ed1ab_0.conda - sha256: 64f09069d8b3a3791643230cedc80d9f9422f667e3e328b40d527375352fe8d4 - md5: 91f5637b706492b9e418da1872fd61ce - depends: - - python >=3.10 - license: BSD-3-Clause AND BSD-4-Clause - license_family: BSD - size: 93671 - timestamp: 1756170155688 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b - md5: fb901ff28063514abb6046c9ec2c4a45 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT - size: 58628 - timestamp: 1734227592886 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-h0e40799_0.conda sha256: bf1d34142b1bf9b5a4eed96bcc77bc4364c0e191405fd30d2f9b48a04d783fd3 md5: 105cb93a47df9c548e88048dc9cbdbc9 @@ -31997,20 +45673,11 @@ packages: - xorg-libx11 >=1.8.10,<2.0a0 license: MIT license_family: MIT + run_exports: + weak: + - xorg-libice >=1.1.2,<2.0a0 size: 236306 timestamp: 1734228116846 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 - md5: 1c74ff8c35dcadf952a16f752ca5aa49 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - xorg-libice >=1.1.2,<2.0a0 - license: MIT - license_family: MIT - size: 27590 - timestamp: 1741896361728 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-h0e40799_0.conda sha256: 065d49b0d1e6873ed1238e962f56cb8204c585cdc5c9bd4ae2bf385cadb5bd65 md5: 570c9a6d9b4909e45d49e9a5daa528de @@ -32021,19 +45688,11 @@ packages: - xorg-libice >=1.1.2,<2.0a0 license: MIT license_family: MIT + run_exports: + weak: + - xorg-libsm >=1.2.6,<2.0a0 size: 97096 timestamp: 1741896840170 -- 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 - size: 839652 - timestamp: 1770819209719 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_0.conda sha256: eadb12d4597b577cf9bde82a8a2a502a331bd5bfdd60ce508cea93912478e255 md5: 5a823e21e090f8bc43dbfba00cd2f0e2 @@ -32044,36 +45703,11 @@ packages: - ucrt >=10.0.20348.0 license: MIT license_family: MIT + run_exports: + weak: + - xorg-libx11 >=1.8.13,<2.0a0 size: 954604 timestamp: 1770819901886 -- 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 - size: 15321 - timestamp: 1762976464266 -- conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.12-h8616949_1.conda - sha256: 928f28bd278c7da674b57d71b2e7f4ac4e7c7ce56b0bf0f60d6a074366a2e76d - md5: 47f1b8b4a76ebd0cd22bd7153e54a4dc - depends: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 13810 - timestamp: 1762977180568 -- 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 - size: 14105 - timestamp: 1762976976084 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda sha256: 156a583fa43609507146de1c4926172286d92458c307bb90871579601f6bc568 md5: 8436cab9a76015dfe7208d3c9f97c156 @@ -32083,145 +45717,40 @@ packages: - ucrt >=10.0.20348.0 license: MIT license_family: MIT + run_exports: + weak: + - xorg-libxau >=1.0.12,<2.0a0 size: 109246 timestamp: 1762977105140 -- 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 - 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 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 - license: MIT - license_family: MIT - size: 32533 - timestamp: 1730908305254 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda - sha256: 43b9772fd6582bf401846642c4635c47a9b0e36ca08116b3ec3df36ab96e0ec0 - md5: b5fcc7172d22516e1f965490e65e33a4 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - license: MIT - license_family: MIT - 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 - size: 20591 - timestamp: 1762976546182 -- conda: https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.5-h8616949_1.conda - sha256: b7b291cc5fd4e1223058542fca46f462221027779920dd433d68b98e858a4afc - md5: 435446d9d7db8e094d2c989766cfb146 - depends: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 19067 - timestamp: 1762977101974 -- 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 - size: 19156 - timestamp: 1762977035194 - 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 - size: 70691 - timestamp: 1762977015220 -- 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 - size: 50326 - timestamp: 1769445253162 -- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.7-hba3369d_0.conda - sha256: 5966dff3ea3f805e11b5fb466107d64704eb94f00d28818f6891a3ecd075d08e - md5: 74bc8e26c2716e9b1542bef908887b82 - depends: - - libgcc >=14 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - ucrt >=10.0.20348.0 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT - size: 286083 - timestamp: 1769445495320 -- 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 - size: 20071 - timestamp: 1759282564045 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - sha256: 495f99c8eacfa4ae2d8fed2a7f2105777af89acdc204df145d2bbbc380ac631b - md5: adba2e334082bb218db806d4c12277c9 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 license: MIT license_family: MIT - size: 47717 - timestamp: 1779111857071 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_0.conda - sha256: 3a9da41aac6dca9d3ff1b53ee18b9d314de88add76bafad9ca2287a494abcd86 - md5: 93f5d4b5c17c8540479ad65f206fea51 + run_exports: + weak: + - xorg-libxdmcp >=1.1.5,<2.0a0 + size: 70691 + timestamp: 1762977015220 +- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.7-hba3369d_0.conda + sha256: 5966dff3ea3f805e11b5fb466107d64704eb94f00d28818f6891a3ecd075d08e + md5: 74bc8e26c2716e9b1542bef908887b82 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libstdcxx >=14 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 license: MIT license_family: MIT - size: 14818 - timestamp: 1769432261050 + run_exports: + weak: + - xorg-libxext >=1.3.7,<2.0a0 + size: 286083 + timestamp: 1769445495320 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda sha256: 1d3907533a6e26bb62f109a33107064e2140503a8076de5b28b384ef3e473d27 md5: 39d8a6b9a87047c817e5881fc0706684 @@ -32234,45 +45763,11 @@ packages: - xorg-libxt >=1.3.1,<2.0a0 license: MIT license_family: MIT + run_exports: + weak: + - xorg-libxpm >=3.5.19,<4.0a0 size: 237565 timestamp: 1776790287445 -- 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 - 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 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - license: MIT - license_family: MIT - size: 33005 - timestamp: 1734229037766 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.1-hb9d3cd8_0.conda - sha256: a8afba4a55b7b530eb5c8ad89737d60d60bc151a03fbef7a2182461256953f0e - md5: 279b0de5f6ba95457190a1c459a64e31 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libice >=1.1.1,<2.0a0 - - xorg-libsm >=1.2.4,<2.0a0 - - xorg-libx11 >=1.8.10,<2.0a0 - license: MIT - license_family: MIT - size: 379686 - timestamp: 1731860547604 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-h0e40799_0.conda sha256: c940a6b71a1e59450b01ebfb3e21f3bbf0a8e611e5fbfc7982145736b0f20133 md5: 31baf0ce8ef19f5617be73aee0527618 @@ -32285,117 +45780,11 @@ packages: - xorg-libx11 >=1.8.10,<2.0a0 license: MIT license_family: MIT + run_exports: + weak: + - xorg-libxt >=1.3.1,<2.0a0 size: 918674 timestamp: 1731861024233 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda - sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a - md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxi >=1.7.10,<2.0a0 - license: MIT - license_family: MIT - 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 - size: 18701 - timestamp: 1769434732453 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda - sha256: 7a8c64938428c2bfd016359f9cb3c44f94acc256c6167dbdade9f2a1f5ca7a36 - md5: aa8d21be4b461ce612d8f5fb791decae - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 570010 - timestamp: 1766154256151 -- 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 - size: 51732 - timestamp: 1774900074457 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.3-ha02ee65_0.conda - sha256: 2553fd3ec0a1020b2ca05ca10b0036a596cb0d4bf3645922fcf69dacce0e6679 - md5: 6a1b6af49a334e4e06b9f103367762bf - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - liblzma 5.8.3 hb03c661_0 - - liblzma-devel 5.8.3 hb03c661_0 - - xz-gpl-tools 5.8.3 ha02ee65_0 - - xz-tools 5.8.3 hb03c661_0 - license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later - size: 24360 - timestamp: 1775825568523 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.3-ha02ee65_0.conda - sha256: 8f139666ea18dc8340a44a54056627dd4e89e242e8cd136ab2467d6dc2c192ba - md5: 8f5e2c6726c1339287a3c76a2c138ac7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - liblzma 5.8.3 hb03c661_0 - constrains: - - xz 5.8.3.* - license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later - size: 34213 - timestamp: 1775825548743 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.3-hb03c661_0.conda - sha256: 162ebd76803464b8c8ebc7d45df32edf0ec717b3bf369a437ae3b0254f22dc2e - md5: b62b615caa60812640f24db3a8d0fc87 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - liblzma 5.8.3 hb03c661_0 - constrains: - - xz 5.8.3.* - license: 0BSD AND LGPL-2.1-or-later - size: 95955 - timestamp: 1775825530484 -- 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 - size: 85189 - timestamp: 1753484064210 -- conda: https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h4132b18_3.conda - sha256: a335161bfa57b64e6794c3c354e7d49449b28b8d8a7c4ed02bf04c3f009953f9 - md5: a645bb90997d3fc2aea0adf6517059bd - depends: - - __osx >=10.13 - license: MIT - license_family: MIT - size: 79419 - timestamp: 1753484072608 -- 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 - size: 83386 - timestamp: 1753484079473 - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 md5: 433699cba6602098ae8957a323da2664 @@ -32403,141 +45792,50 @@ packages: - 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 - size: 63944 - timestamp: 1753484092156 -- conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.24.2-py312h8a5da7c_0.conda - sha256: 9906e3e09ea7b734325cce2ebe7ac9a1d645d49e71823bffa54d9bf157c6b3ed - md5: 348307a7ed6137b1022f3809e2762f39 - depends: - - __glibc >=2.17,<3.0.a0 - - idna >=2.0 - - libgcc >=14 - - multidict >=4.0 - - propcache >=0.2.1 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 155061 - timestamp: 1779246264888 -- conda: https://conda.anaconda.org/conda-forge/osx-64/yarl-1.24.2-py312heb39f77_0.conda - sha256: 7ff665fd46a280495baaf054c39f915fa255c5ac2313b170e7e47a114c1659f5 - md5: 5c3a3b98dd9ac69d3a73a27519bde732 - depends: - - __osx >=11.0 - - idna >=2.0 - - multidict >=4.0 - - propcache >=0.2.1 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - size: 147968 - timestamp: 1779246634448 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.24.2-py312h04c11ed_0.conda - sha256: 0ec43a02962ac2d2853bd0b1edf0ff47a30d06268c6ea5f2fbe87a90d7747217 - md5: 06fdb5dc3e653b8edfd9475feae69bab - depends: - - __osx >=11.0 - - idna >=2.0 - - multidict >=4.0 - - propcache >=0.2.1 - - 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 - size: 147939 - timestamp: 1779246762355 -- conda: https://conda.anaconda.org/conda-forge/win-64/yarl-1.24.2-py312h05f76fc_0.conda - sha256: cd91174742137ccc24566596e516a6505e99adf7fd93d45b61dea51cb82f8805 - md5: 0871bb7bdf76fe114373f2e8012ebd83 - depends: - - idna >=2.0 - - multidict >=4.0 - - propcache >=0.2.1 - - 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 - size: 151702 - timestamp: 1779246206775 -- conda: https://conda.anaconda.org/conda-forge/noarch/yte-1.9.4-pyhd8ed1ab_0.conda - sha256: 1ad021f32290e72b70a84dfe0c9b278c61aaa1254f1e1c287d68c32ee4f1093f - md5: 89d5edf5d52d3bc1ed4d7d3feef508ba - depends: - - argparse-dataclass >=2.0.0,<3 - - dpath >=2.1,<3.0 - - python >=3.10 - - pyyaml >=6.0,<7.0 - license: MIT - license_family: MIT - size: 16215 - timestamp: 1764250734338 -- conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.1.5-pyhcf101f3_0.conda - sha256: c36bec7d02d2f227409fcc4cf586cf3a658af068b58374de7f8f2d0b5c1c84f9 - md5: c1844a94b2be61bb03bbb71574a0abfc - depends: - - python >=3.11 - - packaging >=22.0 - - numpy >=1.26 - - numcodecs >=0.14 - - typing_extensions >=4.9 - - donfig >=0.8 - - google-crc32c >=1.5 - - python - constrains: - - fsspec >=2023.10.0 - - obstore >=0.5.1 - license: MIT - license_family: MIT - size: 305998 - timestamp: 1763742695201 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda - sha256: dc9f28dedcb5f35a127fad2d847674d2833369dd616d294e423b8997df31d8a8 - md5: 96b08867e21d4694fa5c2c226e6581b0 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - krb5 >=1.22.2,<1.23.0a0 - - libsodium >=1.0.22,<1.0.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - size: 311184 - timestamp: 1779123989774 -- conda: https://conda.anaconda.org/conda-forge/osx-64/zeromq-4.3.5-h84953be_11.conda - sha256: 2ba9b6a3131b5a97641068559d38c044f37fd29b54c10dd6d073f1cf81fc4e4c - md5: 8a622d1db89d80a94477b1c03824d611 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + run_exports: + weak: + - yaml >=0.2.5,<0.3.0a0 + size: 63944 + timestamp: 1753484092156 +- conda: https://conda.anaconda.org/conda-forge/win-64/yarl-1.24.2-py312h05f76fc_0.conda + sha256: cd91174742137ccc24566596e516a6505e99adf7fd93d45b61dea51cb82f8805 + md5: 0871bb7bdf76fe114373f2e8012ebd83 depends: - - libcxx >=19 - - __osx >=11.0 - - krb5 >=1.22.2,<1.23.0a0 - - libsodium >=1.0.22,<1.0.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - size: 260817 - timestamp: 1779124180318 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h10816f8_11.conda - sha256: 01fd50d2801b23b59fafea6bf704a6c5faf0f5969104400eae0e6572cb2e5304 - md5: d31c0e54c4f9c51100ec8c812ee925d1 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - 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 + run_exports: {} + size: 151702 + timestamp: 1779246206775 +- conda: https://conda.anaconda.org/conda-forge/win-64/yarl-1.24.2-py313hd650c13_0.conda + sha256: e3cd6601474e9a808233df49193f339f1484fd4b0259e29863301a38f33596af + md5: 66967bcbc121922df483e718df9f5825 depends: - - libcxx >=19 - - __osx >=11.0 - - krb5 >=1.22.2,<1.23.0a0 - - libsodium >=1.0.22,<1.0.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - size: 245404 - timestamp: 1779124076307 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 151505 + timestamp: 1779246206706 - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda sha256: c3e279cb309b153152fcdd6ee6d039ad996d563c849f06be39d85b8e3351df25 md5: f016c0c5f9c01549b259146614786192 @@ -32549,57 +45847,11 @@ packages: - krb5 >=1.22.2,<1.23.0a0 license: MPL-2.0 license_family: MOZILLA + run_exports: + weak: + - zeromq >=4.3.5,<4.3.6.0a0 size: 265717 timestamp: 1779124031378 -- 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 - size: 36341 - timestamp: 1733261642963 -- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 - md5: ba3dcdc8584155c97c648ae9c044b7a3 - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 24190 - timestamp: 1779159948016 -- 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-64/zlib-1.3.2-hbb4bfdb_2.conda - sha256: 5dd728cebca2e96fa48d41661f1a35ed0ee3cb722669eee4e2d854c6745655eb - md5: 6276aa61ffc361cbf130d78cfb88a237 - depends: - - __osx >=11.0 - - libzlib 1.3.2 hbb4bfdb_2 - license: Zlib - license_family: Other - size: 92411 - timestamp: 1774073075482 -- 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/win-64/zlib-1.3.2-hfd05255_2.conda sha256: ef408f85f664a4b9c9dac3cb2e36154d9baa15a88984ea800e11060e0f2394a1 md5: 5187ecf958be3c39110fe691cbd6873e @@ -32610,39 +45862,11 @@ packages: - vc14_runtime >=14.44.35208 license: Zlib license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 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 - size: 122618 - timestamp: 1770167931827 -- conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-ng-2.3.3-h8bce59a_1.conda - sha256: 4a1beb656761c7d8c9a53474bfd3932c30d82af5d93a32b8ef626c01c059d981 - md5: b3ecb6480fd46194e3f7dd0ff4445dff - depends: - - __osx >=10.13 - - libcxx >=19 - license: Zlib - license_family: Other - size: 120464 - timestamp: 1770168263684 -- 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 - 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 @@ -32652,55 +45876,34 @@ packages: - vc14_runtime >=14.44.35208 license: Zlib license_family: Other + run_exports: + weak: + - zlib-ng >=2.3.3,<2.4.0a0 size: 124542 timestamp: 1770167984883 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h5253ce2_1.conda - sha256: c2bcb8aa930d6ea3c9c7a64fc4fab58ad7bcac483a9a45de294f67d2f447f413 - md5: 02738ff9855946075cbd1b5274399a41 - depends: - - python - - cffi >=1.11 - - zstd >=1.5.7,<1.5.8.0a0 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 467133 - timestamp: 1762512686069 -- conda: https://conda.anaconda.org/conda-forge/osx-64/zstandard-0.25.0-py312h01f6755_1.conda - sha256: 5360439241921c612a5df77e28ce0ae4912eef7de65dc42adba5499878a67e87 - md5: d9209ec6445f95fba0c3c64fa4a46216 - depends: - - python - - cffi >=1.11 - - zstd >=1.5.7,<1.5.8.0a0 - - __osx >=10.13 - - python_abi 3.12.* *_cp312 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause - license_family: BSD - size: 462661 - timestamp: 1762512711429 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312h37e1c23_1.conda - sha256: af843b0fe62d128a70f91dc954b2cb692f349a237b461788bd25dd928d0d1ef8 - md5: 9300889791d4decceea3728ad3b423ec +- conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py313h5fd188c_1.conda + sha256: 5f751687a64cf5a6d69ad79aa437f45d6cc388d9e887dcdecff9d3b08cf7fd87 + md5: 46f6f9bb324a58a9b081bbc56ade37f2 depends: - python - cffi >=1.11 - zstd >=1.5.7,<1.5.8.0a0 - - python 3.12.* *_cpython - - __osx >=11.0 - - python_abi 3.12.* *_cp312 + - 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.13.* *_cp313 - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD - size: 390920 - timestamp: 1762512713481 -- conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_1.conda - sha256: 49241574c373331ae63d9cb4978836db3b2571176a7db81fe48436c84ce38ff4 - md5: e9e25949b682e95535068bae33153ba6 + run_exports: {} + size: 380854 + timestamp: 1762512720226 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py314hc5dbbe4_1.conda + sha256: 87bf6ba2dcc59dfbb8d977b9c29d19b6845ad54e092ea8204dcec62d7b461a30 + md5: c1ef46c3666be935fbb7460c24950cff depends: - python - cffi >=1.11 @@ -32712,41 +45915,12 @@ packages: - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - size: 374949 - timestamp: 1762512770373 -- 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 - size: 601375 - timestamp: 1764777111296 -- conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-h3eecb57_6.conda - sha256: 47101a4055a70a4876ffc87b750ab2287b67eca793f21c8224be5e1ee6394d3f - md5: 727109b184d680772e3122f40136d5ca - depends: - - __osx >=10.13 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 528148 - timestamp: 1764777156963 -- 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 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - size: 433413 - timestamp: 1764777166076 + run_exports: {} + size: 381179 + timestamp: 1762512709971 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 md5: 053b84beec00b71ea8ff7a4f84b55207 @@ -32757,5 +45931,119 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 size: 388453 timestamp: 1764777142545 +- conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py312_0.conda + sha256: 77be05ce932373efe674d0bb31690d4a03d15d19f7880218bfe9d1030e6da486 + md5: 732df74126bc3cc24b6564899df74f23 + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: PROPRIETARY + size: 48125269 + timestamp: 1777597181837 +- conda: https://conda.anaconda.org/gurobi/linux-64/gurobi-13.0.2-py314_0.conda + sha256: db29f555e2f0f670a0ace6cdfa1b5cdfb46842c8f2f3e9c1b2650a97c90281c3 + md5: 2ab17c05b5d4801e35d8482b87fe0b3a + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: PROPRIETARY + size: 48046270 + timestamp: 1777597878964 +- conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py313_0.conda + sha256: b3b378465c090ed666576da4de3dc02cdb66c1bb8ecd3f17bdfd92ef39bcb2b9 + md5: 648a03b9ed4568deaf050b65cb8f2d49 + depends: + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: PROPRIETARY + size: 48565775 + timestamp: 1777593698732 +- conda: https://conda.anaconda.org/gurobi/osx-64/gurobi-13.0.2-py314_0.conda + sha256: c460685054cb4f07a7f5625d12496809ab088989c0c95002a2ac5e1176dcb901 + md5: 6c109a8093ff090d0f2f5e246eb1d964 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: PROPRIETARY + size: 48551569 + timestamp: 1777594131676 +- conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py313_0.conda + sha256: fe40517985fabae359f5c227b97fe2d1433d24828a116fb96dc6017478087356 + md5: 4d70454a9fbc7e6859e998dc40271fde + depends: + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: PROPRIETARY + size: 44303765 + timestamp: 1777595570777 +- conda: https://conda.anaconda.org/gurobi/osx-arm64/gurobi-13.0.2-py314_0.conda + sha256: 73f55187669399e187a34bdda1e32288cf932d51eb062d0255b1782811a0b883 + md5: 14e339ba82d7afb1f1ac8c840ef764b5 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: PROPRIETARY + size: 44153074 + timestamp: 1777595753757 +- conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py313_0.conda + sha256: 44b3e914f351e1778a64ced7ec8efbd9ef85474f6393d3cfe14a19df37c7f3b8 + md5: c3c73feb63dc1411a37f5e4a7e3daab3 + depends: + - python >=3.13,<3.14.0a0 + - python_abi 3.13.* *_cp313 + license: PROPRIETARY + size: 44171021 + timestamp: 1777594088427 +- conda: https://conda.anaconda.org/gurobi/win-64/gurobi-13.0.2-py314_0.conda + sha256: 742e657f1b885240718b8446ab89bdb696bb1b0eb3400cc7f492bb94210fde93 + md5: 7fdff7b55326f22c88c59b31911e68a1 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: PROPRIETARY + size: 44115662 + timestamp: 1777594590775 +- conda: https://repo.prefix.dev/open-tyndp/noarch/snakemake-minimal-9.16.2+opentyndp-py_0.conda + sha256: 4eb4b4ef561e211bfc6732d2c08c59dd2901adc182daa982517d23d74d53b44c + depends: + - appdirs + - conda-inject >=1.3.1,<2.0 + - configargparse + - connection_pool >=0.0.3 + - docutils + - dpath >=2.1.6,<3.0.0 + - gitpython + - humanfriendly + - immutables + - jinja2 >=3.0,<4.0 + - jsonschema + - nbformat + - packaging >=24.0 + - psutil + - 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,<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.1.0,<5.0 + - tabulate + - throttler + - wrapt + - yte >=1.5.5,<2.0 + license: MIT + license_family: MIT + run_exports: + weak: + - snakemake-minimal >=9.16.2+opentyndp,<10.0a0 + size: 866832 + timestamp: 1769805915463 diff --git a/pixi.toml b/pixi.toml index 8bb2276cd0..3080c56d2e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -9,6 +9,7 @@ channels = ["conda-forge", "bioconda", "gurobi", "https://repo.prefix.dev/open-t name = "pypsa-eur" platforms = ["win-64", "linux-64", "osx-64", "osx-arm64"] version = "v0.7.1" +exclude-newer = "7d" [target.win-64.activation.env] @@ -37,15 +38,24 @@ logs, resources, benchmarks, results, and .snakemake directories except \ """ update-dags = """ - dot -c && \ - snakemake results/networks/base_s_128_elec_.nc -F --dag | sed -n "/digraph/,/}/p" | dot -Tpng -o doc/img/intro-workflow.png && \ - snakemake --rulegraph -F | sed -n "/digraph/,/}/p" | dot -Tpng -o doc/img/workflow.png + snakemake results/networks/base_s_128_elec_.nc -F --dag | sed -n "/digraph/,/}/p" | dot -Tsvg -o doc/img/intro-workflow.svg && \ + snakemake --rulegraph -F | sed -n "/digraph/,/}/p" | dot -Tsvg -o doc/img/workflow.svg && \ + snakemake --dag --configfile config/test/config.electricity.yaml | sed -n '/^digraph/,$ p' | dot -Tsvg -o doc/img/dag_electricity.svg && \ + snakemake --dag --configfile config/test/config.overnight.yaml | sed -n '/^digraph/,$ p' | dot -Tsvg -o doc/img/dag_overnight.svg && \ + snakemake --dag --configfile config/test/config.myopic.yaml | sed -n '/^digraph/,$ p' | dot -Tsvg -o doc/img/dag_myopic.svg """ generate-config = "python -c 'from scripts.lib.validation.config import generate_config_defaults, generate_config_schema; generate_config_defaults(); generate_config_schema()'" +sync-locks = """ + pixi install -e default && \ + pixi workspace export conda-explicit-spec -e default envs && \ + bash -c 'for f in envs/*_conda_spec*; do mv "$f" "${f/_conda_spec/.pin}"; done' && \ + pixi workspace export conda-environment -e default envs/environment.yaml -n pypsa-eur +""" + [dependencies] -atlite = ">=0.3, <0.5" # remove <0.5 when fixed upstream +atlite = ">=0.3,!=0.5.0" bokeh = ">=3.8.0" cartopy = ">=0.25.0" copernicusmarine = ">=2.2.4" @@ -64,34 +74,31 @@ gurobi = ">=12.0.3" highspy = ">=1.12.0" ipython = ">=9.7.0" jpype1 = ">=1.6.0" -jupyter = ">=1.1.1" libgdal-netcdf = ">=3.10.3" -linopy = ">=0.6.1,<0.7.0" +linopy = ">=0.6.1,<0.7.0" # remove <0.7.0 with pypsa >= 1.2.2 lxml = ">=6.0.2" matplotlib = ">=3.10.7" memory_profiler = ">=0.61.0" netcdf4 = ">=1.7.2,!=1.7.4" networkx = ">=3.5" -numpy = ">=1.26.4,<2" +numpy = ">=1.26.4" openpyxl = ">=3.1.5" pandas = ">=2.1" plotly = ">=6.4.0" powerplantmatching = ">=0.5.15" pydantic = ">=2" python-dotenv = ">=1.0" -pre-commit = ">=4.3.0" proj = ">=9.6.2" -pylint = ">=4.0.2" pydeck = ">0.6" # pypsa fails to import with pydeck <0.6, lower bound was only added from pypsa 1.0.6 -pypsa = ">=0.35.2" +pypsa = "<1.2" pyscipopt = ">=5.6.0" pytables = ">=3.10.2" python = ">=3.10" pytz = ">=2025.2" pyxlsb = ">=1.0.10" rasterio = ">=1.4.3" +rasterstats = ">=0.10.3" rioxarray = ">=0.20.0" -ruff = ">=0.14.3" "ruamel.yaml" = ">=0.18.0" scipy = ">=1.16.3" seaborn = ">=0.13.2" @@ -109,15 +116,22 @@ snakemake-storage-plugin-cached-http = ">=0.2.1" pandera = ">=0.28.1" natsort = ">=8.4.0" snakemake-logger-plugin-pypsa = ">=0.1.0" -grpcio = "<1.78" # remove after resolution of https://github.com/conda-forge/grpc-cpp-feedstock/issues/422 pydeflate = ">=2.3.4" +grpcio = "<1.78" +snakemake-logger-plugin-snkmt = "==0.1.6" # For better pypsa-app integration [target.unix.dependencies] snakemake-executor-plugin-slurm = ">=1.9.2" +[feature.dev.dependencies] +pre-commit = ">=4.3.0" +pylint = ">=4.0.2" +ruff = ">=0.14.3" +jupyter = ">=1.1.1" + [feature.doc.tasks.build-docs] -args = ["dir", {"arg" = "output", "default" = "html"}] -cmd = "dot -c && sphinx-build -T -b {{ output }} doc {{ dir }}/{{ output }} " +cmd = "mkdocs build -d {{ dir }}/html" +args = ["dir"] [feature.doc.dependencies] atlite = "==0.4.1" @@ -128,7 +142,15 @@ fiona = "==1.10.1" graphviz = "==13.1.2" matplotlib = "==3.10.7" memory_profiler = "==0.61.0" -myst-parser = "==4.0.1" +mkdocs = ">=1.6" +mkdocs-material = ">=9.5" +mkdocstrings = ">=0.29" +mkdocstrings-python = ">=1.16" +mkdocs-bibtex = ">=2.16" +pymdown-extensions = ">=10.0" +mkdocs-macros-plugin = ">=1.0" +mkdocs-table-reader-plugin = ">=3.1" +snakemake-minimal = ">=9" powerplantmatching = "==0.7.1" pydot = "==4.0.1" pypsa = "==1.0.3" @@ -138,11 +160,6 @@ pyyaml = "==6.0.3" requests = "==2.32.5" scikit-learn = "==1.7.2" seaborn = "==0.13.2" -sphinx = "==8.2.3" -sphinx-book-theme = "==1.1.4" -sphinx-design = "==0.6.1" -sphinx-jsonschema = "==1.19.2" -sphinxcontrib-bibtex = "==2.6.5" tabula-py = "==2.7.0" tenacity = "==9.1.2" tsam = "==2.3.9" @@ -191,7 +208,7 @@ tyndp-cyears-test = """bash -c ' """ create-tyndp-graphs = """ snakemake -call rulegraphs filegraphs --configfile config/config.tyndp.yaml - """ +""" tyndp-sb = """ snakemake -call --configfile config/config.tyndp.yaml """ @@ -203,15 +220,18 @@ tyndp-cba = """ """ launch-presolved-explorer = """ snakemake -call launch_presolved_explorer --configfile config/config.tyndp.yaml - """ +""" close-explorers = """ snakemake -call close_explorers --configfile config/config.tyndp.yaml - """ +""" clean-tyndp = """ snakemake -call --configfile config/test/config.tyndp.yaml --delete-all-output ; + snakemake -call cba --configfile config/test/config.tyndp.yaml --delete-all-output ; + snakemake -call --configfile config/test/config.cyears.yaml --delete-all-output ; snakemake -call --configfile config/config.tyndp.yaml --delete-all-output ; + snakemake -call cba --configfile config/config.tyndp.yaml --delete-all-output ; echo "All tyndp outputs have been cleaned up." - """ +""" all-tests = {depends-on = ["tyndp-sb-test", "tyndp-cba-test", "clean-tyndp", "integration-tests", "clean-tests", "unit-tests"]} [feature.open-tyndp.dependencies] @@ -227,5 +247,6 @@ git = ">=2.52.0" [environments] doc = { features = ["doc"], no-default-feature = true } -test = ["test"] +test = ["test", "dev"] +dev = ["dev"] open-tyndp = ["open-tyndp", "test"] # for ease, we include test deps in our working environment diff --git a/results/.gitkeep b/results/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/rules/build_electricity.smk b/rules/build_electricity.smk index b6f3ff86f9..93d1ea3a56 100755 --- a/rules/build_electricity.smk +++ b/rules/build_electricity.smk @@ -15,13 +15,6 @@ def input_elec_demand(w): rule build_electricity_demand: - message: - "Building electricity demand time series" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - countries=config_provider("countries"), - load=config_provider("load"), input: unpack(input_elec_demand), opsd=rules.retrieve_electricity_demand_opsd.output["csv"], @@ -35,18 +28,18 @@ rule build_electricity_demand: benchmarks("performances/build_electricity_demand") resources: mem_mb=5000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + countries=config_provider("countries"), + load=config_provider("load"), + message: + "Building electricity demand time series" script: scripts("build_electricity_demand.py") rule build_powerplants: - message: - "Building powerplant list for {wildcards.clusters} clusters" - params: - powerplants_filter=config_provider("electricity", "powerplants_filter"), - custom_powerplants=config_provider("electricity", "custom_powerplants"), - everywhere_powerplants=config_provider("electricity", "everywhere_powerplants"), - countries=config_provider("countries"), input: network=resources("networks/base_s_{clusters}.nc"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), @@ -62,6 +55,13 @@ rule build_powerplants: threads: 1 resources: mem_mb=7000, + params: + powerplants_filter=config_provider("electricity", "powerplants_filter"), + custom_powerplants=config_provider("electricity", "custom_powerplants"), + everywhere_powerplants=config_provider("electricity", "everywhere_powerplants"), + countries=config_provider("countries"), + message: + "Building powerplant list for {wildcards.clusters} clusters" script: scripts("build_powerplants.py") @@ -85,17 +85,6 @@ def input_base_network(w): rule base_network: - message: - "Building base network" - params: - countries=config_provider("countries"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - lines=config_provider("lines"), - links=config_provider("links"), - transformers=config_provider("transformers"), - clustering=config_provider("clustering", "mode"), - admin_levels=config_provider("clustering", "administrative"), input: unpack(input_base_network), nuts3_shapes=resources("nuts3_shapes.geojson"), @@ -114,13 +103,22 @@ rule base_network: threads: 4 resources: mem_mb=2000, + params: + countries=config_provider("countries"), + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + lines=config_provider("lines"), + links=config_provider("links"), + transformers=config_provider("transformers"), + clustering=config_provider("clustering", "mode"), + admin_levels=config_provider("clustering", "administrative"), + message: + "Building base network" script: scripts("base_network.py") rule build_osm_boundaries: - message: - "Building OSM boundaries for {wildcards.country}" input: json=f"{OSM_BOUNDARIES_DATASET['folder']}/{{country}}_adm1.json", eez=ancient(rules.retrieve_eez.output["gpkg"]), @@ -131,21 +129,13 @@ rule build_osm_boundaries: threads: 1 resources: mem_mb=1500, + message: + "Building OSM boundaries for {wildcards.country}" script: scripts("build_osm_boundaries.py") rule build_bidding_zones: - message: - "Building bidding zones" - params: - countries=config_provider("countries"), - remove_islands=config_provider( - "clustering", "build_bidding_zones", "remove_islands" - ), - aggregate_to_tyndp=config_provider( - "clustering", "build_bidding_zones", "aggregate_to_tyndp" - ), input: bidding_zones_entsoepy=f"{BIDDING_ZONES_ENTSOEPY_DATASET['folder']}/bidding_zones_entsoepy.geojson", bidding_zones_electricitymaps=f"{BIDDING_ZONES_ELECTRICITYMAPS_DATASET['folder']}/bidding_zones_electricitymaps.geojson", @@ -156,16 +146,21 @@ rule build_bidding_zones: threads: 1 resources: mem_mb=1500, + params: + countries=config_provider("countries"), + remove_islands=config_provider( + "clustering", "build_bidding_zones", "remove_islands" + ), + aggregate_to_tyndp=config_provider( + "clustering", "build_bidding_zones", "aggregate_to_tyndp" + ), + message: + "Building bidding zones" script: scripts("build_bidding_zones.py") rule build_shapes: - message: - "Building geographical shapes" - params: - config_provider("clustering", "mode"), - countries=config_provider("countries"), input: eez=ancient(rules.retrieve_eez.output["gpkg"]), nuts3_2021=rules.retrieve_eu_nuts_2021.output["shapes_level_3"], @@ -194,6 +189,11 @@ rule build_shapes: threads: 1 resources: mem_mb=1500, + params: + config_provider("clustering", "mode"), + countries=config_provider("countries"), + message: + "Building geographical shapes" script: scripts("build_shapes.py") @@ -201,10 +201,6 @@ rule build_shapes: if CUTOUT_DATASET["source"] in ["build"]: rule build_cutout: - message: - "Building cutout data for {wildcards.cutout}" - params: - cutouts=config_provider("atlite", "cutouts"), output: cutout=CUTOUT_DATASET["folder"] / "{cutout}.nc", log: @@ -214,13 +210,15 @@ if CUTOUT_DATASET["source"] in ["build"]: threads: config["atlite"].get("nprocesses", 4) resources: mem_mb=config["atlite"].get("nprocesses", 4) * 1000, + params: + cutouts=config_provider("atlite", "cutouts"), + message: + "Building cutout data for {wildcards.cutout}" script: scripts("build_cutout.py") rule build_ship_raster: - message: - "Building ship density raster" input: ship_density=rules.retrieve_ship_raster.output["zip_file"], cutout=lambda w: input_cutout(w), @@ -228,19 +226,17 @@ rule build_ship_raster: resources("shipdensity_raster.tif"), log: logs("build_ship_raster.log"), - resources: - mem_mb=5000, benchmark: benchmarks("performances/build_ship_raster") + resources: + mem_mb=5000, + message: + "Building ship density raster" script: scripts("build_ship_raster.py") rule determine_availability_matrix_MD_UA: - message: - "Determining availability matrix for {wildcards.clusters} clusters and {wildcards.technology} technology" - params: - renewable=config_provider("renewable"), input: copernicus=rules.download_copernicus_land_cover.output["tif"], wdpa=lambda w: ( @@ -274,8 +270,10 @@ rule determine_availability_matrix_MD_UA: w, config_provider("renewable", w.technology, "cutout")(w) ), output: - availability_matrix=resources( - "availability_matrix_MD-UA_{clusters}_{technology}.nc" + nc=resources("availability_matrix_MD-UA_{clusters}_{technology}.nc"), + plot=branch( + config["atlite"]["plot_availability_matrix"], + then=resources("availability_matrix_MD-UA_{clusters}_{technology}.png"), ), log: logs("determine_availability_matrix_MD_UA_{clusters}_{technology}.log"), @@ -286,6 +284,11 @@ rule determine_availability_matrix_MD_UA: threads: config["atlite"].get("nprocesses", 4) resources: mem_mb=config["atlite"].get("nprocesses", 4) * 5000, + params: + renewable=config_provider("renewable"), + plot_availability_matrix=config_provider("atlite", "plot_availability_matrix"), + message: + "Determining availability matrix for {wildcards.clusters} clusters and {wildcards.technology} technology" script: scripts("determine_availability_matrix_MD_UA.py") @@ -303,10 +306,6 @@ def input_ua_md_availability_matrix(w): rule determine_availability_matrix: - message: - "Determining availability matrix for {wildcards.clusters} clusters and {wildcards.technology} technology" - params: - renewable=config_provider("renewable"), input: unpack(input_ua_md_availability_matrix), corine=ancient(rules.retrieve_corine.output["tif_file"]), @@ -346,7 +345,11 @@ rule determine_availability_matrix: w, config_provider("renewable", w.technology, "cutout")(w) ), output: - resources("availability_matrix_{clusters}_{technology}.nc"), + nc=resources("availability_matrix_{clusters}_{technology}.nc"), + plot=branch( + config["atlite"]["plot_availability_matrix"], + then=resources("availability_matrix_{clusters}_{technology}.png"), + ), log: logs("determine_availability_matrix_{clusters}_{technology}.log"), benchmark: @@ -354,17 +357,16 @@ rule determine_availability_matrix: threads: config["atlite"].get("nprocesses", 4) resources: mem_mb=config["atlite"].get("nprocesses", 4) * 5000, + params: + renewable=config_provider("renewable"), + plot_availability_matrix=config_provider("atlite", "plot_availability_matrix"), + message: + "Determining availability matrix for {wildcards.clusters} clusters and {wildcards.technology} technology" script: scripts("determine_availability_matrix.py") rule build_renewable_profiles: - message: - "Building renewable profiles for {wildcards.clusters} clusters and {wildcards.technology} technology" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - renewable=config_provider("renewable"), input: availability_matrix=resources("availability_matrix_{clusters}_{technology}.nc"), offshore_shapes=resources("offshore_shapes.geojson"), @@ -384,20 +386,22 @@ rule build_renewable_profiles: logs("build_renewable_profile_{clusters}_{technology}.log"), benchmark: benchmarks("performances/build_renewable_profile_{clusters}_{technology}") + wildcard_constraints: + technology="(?!hydro).*", # Any technology other than hydro threads: config["atlite"].get("nprocesses", 4) resources: mem_mb=config["atlite"].get("nprocesses", 4) * 5000, - wildcard_constraints: - technology="(?!hydro).*", # Any technology other than hydro + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + renewable=config_provider("renewable"), + message: + "Building renewable profiles for {wildcards.clusters} clusters and {wildcards.technology} technology" script: scripts("build_renewable_profiles.py") rule build_co2_prices: - message: - "Building CO2 price time series" - params: - rolling_window=config_provider("costs", "emission_prices", "rolling_window"), input: csv=rules.retrieve_co2_prices.output["csv"], output: @@ -409,15 +413,15 @@ rule build_co2_prices: threads: 1 resources: mem_mb=5000, + params: + rolling_window=config_provider("costs", "emission_prices", "rolling_window"), + message: + "Building CO2 price time series" script: - "../scripts/build_co2_prices.py" + scripts("build_co2_prices.py") rule build_fossil_fuel_prices: - message: - "Building fossil fuel price time series" - params: - rolling_window=config_provider("conventional", "fuel_price_rolling_window"), input: fuel_price_raw=rules.retrieve_worldbank_commodity_prices.output["xlsx"], output: @@ -429,6 +433,10 @@ rule build_fossil_fuel_prices: threads: 1 resources: mem_mb=5000, + params: + rolling_window=config_provider("conventional", "fuel_price_rolling_window"), + message: + "Building fossil fuel price time series" script: scripts("build_monthly_prices.py") @@ -454,13 +462,6 @@ if COUNTRY_RUNOFF_DATASET["source"] == "build": rule build_hydro_profile: - message: - "Building hydropower profile" - params: - hydro=config_provider("renewable", "hydro"), - countries=config_provider("countries"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: country_shapes=resources("country_shapes.geojson"), eia_hydro_generation="data/eia_hydro_annual_generation.csv", @@ -477,16 +478,18 @@ rule build_hydro_profile: benchmarks("performances/build_hydro_profile") resources: mem_mb=5000, + params: + hydro=config_provider("renewable", "hydro"), + countries=config_provider("countries"), + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Building hydropower profile" script: scripts("build_hydro_profile.py") rule build_line_rating: - message: - "Building dynamic line ratings" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: base_network=resources("networks/base.nc"), cutout=lambda w: input_cutout( @@ -501,17 +504,16 @@ rule build_line_rating: threads: config["atlite"].get("nprocesses", 4) resources: mem_mb=config["atlite"].get("nprocesses", 4) * 1000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Building dynamic line ratings" script: scripts("build_line_rating.py") rule build_transmission_projects: - message: - "Building transmission projects" - params: - transmission_projects=config_provider("transmission_projects"), - line_factor=config_provider("lines", "length_factor"), - s_max_pu=config_provider("lines", "s_max_pu"), input: base_network=resources("networks/base.nc"), offshore_shapes=resources("offshore_shapes.geojson"), @@ -533,20 +535,20 @@ rule build_transmission_projects: logs("build_transmission_projects.log"), benchmark: benchmarks("performances/build_transmission_projects") + threads: 1 resources: mem_mb=4000, - threads: 1 + params: + transmission_projects=config_provider("transmission_projects"), + line_factor=config_provider("lines", "length_factor"), + s_max_pu=config_provider("lines", "s_max_pu"), + message: + "Building transmission projects" script: scripts("build_transmission_projects.py") rule add_transmission_projects_and_dlr: - message: - "Adding transmission projects and dynamic line ratings" - params: - transmission_projects=config_provider("transmission_projects"), - dlr=config_provider("lines", "dynamic_line_rating"), - s_max_pu=config_provider("lines", "s_max_pu"), input: network=resources("networks/base.nc"), dlr=lambda w: ( @@ -574,6 +576,12 @@ rule add_transmission_projects_and_dlr: threads: 1 resources: mem_mb=4000, + params: + transmission_projects=config_provider("transmission_projects"), + dlr=config_provider("lines", "dynamic_line_rating"), + s_max_pu=config_provider("lines", "s_max_pu"), + message: + "Adding transmission projects and dynamic line ratings" script: scripts("add_transmission_projects_and_dlr.py") @@ -592,18 +600,16 @@ def input_elec_demand_base(w): return { "base_network": resources("networks/base_s.nc"), "regions": resources("regions_onshore_base_s.geojson"), - "nuts3": resources("nuts3_shapes.geojson"), } rule build_electricity_demand_base: - message: - "Building electricity demand time series for base network" - params: - distribution_key=config_provider("load", "distribution_key"), - load_source=config_provider("load", "source"), input: unpack(input_elec_demand_base), + raster=rules.retrieve_electricity_demand_energy_atlas.output["tif"], + gb_excel=rules.retrieve_desnz_electricity_consumption.output["xlsx"], + gb_geojson=rules.retrieve_ons_lad.output["geojson"], + nuts3=resources("nuts3_shapes.geojson"), load=resources("electricity_demand.csv"), output: resources("electricity_demand_base_s.nc"), @@ -613,17 +619,17 @@ rule build_electricity_demand_base: benchmarks("performances/build_electricity_demand_base_s") resources: mem_mb=5000, + params: + distribution_key=config_provider("load", "distribution_key"), + substation_only=config_provider("load", "substation_only"), + load_source=config_provider("load", "source"), + message: + "Building electricity demand time series for base network" script: scripts("build_electricity_demand_base.py") rule build_hac_features: - message: - "Aggregate all rastered cutout data to base regions Voronoi cells." - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - features=config_provider("clustering", "cluster_network", "hac_features"), input: cutout=lambda w: input_cutout(w), regions=resources("regions_onshore_base_s.geojson"), @@ -636,18 +642,17 @@ rule build_hac_features: threads: config["atlite"].get("nprocesses", 4) resources: mem_mb=10000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + features=config_provider("clustering", "cluster_network", "hac_features"), + message: + "Aggregate all rastered cutout data to base regions Voronoi cells." script: scripts("build_hac_features.py") rule process_cost_data: - params: - costs=config_provider("costs"), - max_hours=config_provider("electricity", "max_hours"), - group_tyndp_conventionals=config_provider( - "electricity", "group_tyndp_conventionals" - ), - custom_cost_scn=config_provider("costs", "custom_cost_scn"), input: network=resources("networks/base_s.nc"), costs=rules.retrieve_cost_data.output["costs"], @@ -662,24 +667,18 @@ rule process_cost_data: threads: 1 resources: mem_mb=4000, + params: + costs=config_provider("costs"), + max_hours=config_provider("electricity", "max_hours"), + group_tyndp_conventionals=config_provider( + "electricity", "group_tyndp_conventionals" + ), + custom_cost_scn=config_provider("costs", "custom_cost_scn"), script: scripts("process_cost_data.py") rule simplify_network: - message: - "Simplifying network" - params: - countries=config_provider("countries"), - mode=config_provider("clustering", "mode"), - administrative=config_provider("clustering", "administrative"), - simplify_network=config_provider("clustering", "simplify_network"), - cluster_network=config_provider("clustering", "cluster_network"), - aggregation_strategies=config_provider( - "clustering", "aggregation_strategies", default={} - ), - p_max_pu=config_provider("links", "p_max_pu", default=1.0), - p_min_pu=config_provider("links", "p_min_pu", default=-1.0), input: network=resources("networks/base_extended.nc"), regions_onshore=resources("regions_onshore.geojson"), @@ -697,6 +696,19 @@ rule simplify_network: threads: 1 resources: mem_mb=12000, + params: + countries=config_provider("countries"), + mode=config_provider("clustering", "mode"), + administrative=config_provider("clustering", "administrative"), + simplify_network=config_provider("clustering", "simplify_network"), + cluster_network=config_provider("clustering", "cluster_network"), + aggregation_strategies=config_provider( + "clustering", "aggregation_strategies", default={} + ), + p_max_pu=config_provider("links", "p_max_pu", default=1.0), + p_min_pu=config_provider("links", "p_min_pu", default=-1.0), + message: + "Simplifying network" script: scripts("simplify_network.py") @@ -724,26 +736,6 @@ def input_custom_busmap(w): rule cluster_network: - message: - "Clustering network to {wildcards.clusters} clusters" - params: - countries=config_provider("countries"), - mode=config_provider("clustering", "mode"), - administrative=config_provider("clustering", "administrative"), - cluster_network=config_provider("clustering", "cluster_network"), - aggregation_strategies=config_provider( - "clustering", "aggregation_strategies", default={} - ), - focus_weights=config_provider("clustering", "focus_weights", default=None), - renewable_carriers=config_provider("electricity", "renewable_carriers"), - conventional_carriers=config_provider( - "electricity", "conventional_carriers", default=[] - ), - max_hours=config_provider("electricity", "max_hours"), - length_factor=config_provider("lines", "length_factor"), - cluster_mode=config_provider("clustering", "mode"), - copperplate_regions=config_provider("clustering", "copperplate_regions"), - load_source=config_provider("load", "source"), input: unpack(input_custom_busmap), network=resources("networks/base_s.nc"), @@ -779,6 +771,26 @@ rule cluster_network: threads: 1 resources: mem_mb=10000, + params: + countries=config_provider("countries"), + mode=config_provider("clustering", "mode"), + administrative=config_provider("clustering", "administrative"), + cluster_network=config_provider("clustering", "cluster_network"), + aggregation_strategies=config_provider( + "clustering", "aggregation_strategies", default={} + ), + focus_weights=config_provider("clustering", "focus_weights", default=None), + renewable_carriers=config_provider("electricity", "renewable_carriers"), + conventional_carriers=config_provider( + "electricity", "conventional_carriers", default=[] + ), + max_hours=config_provider("electricity", "max_hours"), + length_factor=config_provider("lines", "length_factor"), + cluster_mode=config_provider("clustering", "mode"), + copperplate_regions=config_provider("clustering", "copperplate_regions"), + load_source=config_provider("load", "source"), + message: + "Clustering network to {wildcards.clusters} clusters" script: scripts("cluster_network.py") @@ -795,25 +807,6 @@ def input_profile_tech(w): rule add_electricity: - message: - "Adding electricity to network with {wildcards.clusters} clusters" - params: - line_length_factor=config_provider("lines", "length_factor"), - link_length_factor=config_provider("links", "length_factor"), - scaling_factor=config_provider("load", "scaling_factor"), - countries=config_provider("countries"), - snapshots=config_provider("snapshots"), - renewable=config_provider("renewable"), - electricity=config_provider("electricity"), - conventional=config_provider("conventional"), - foresight=config_provider("foresight"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - consider_efficiency_classes=config_provider( - "clustering", "consider_efficiency_classes" - ), - aggregation_strategies=config_provider("clustering", "aggregation_strategies"), - exclude_carriers=config_provider("clustering", "exclude_carriers"), - load_source=config_provider("load", "source"), input: unpack(input_profile_tech), unpack(input_class_regions), @@ -846,27 +839,30 @@ rule add_electricity: threads: 1 resources: mem_mb=10000, + params: + line_length_factor=config_provider("lines", "length_factor"), + link_length_factor=config_provider("links", "length_factor"), + scaling_factor=config_provider("load", "scaling_factor"), + countries=config_provider("countries"), + snapshots=config_provider("snapshots"), + renewable=config_provider("renewable"), + electricity=config_provider("electricity"), + conventional=config_provider("conventional"), + foresight=config_provider("foresight"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + consider_efficiency_classes=config_provider( + "clustering", "consider_efficiency_classes" + ), + aggregation_strategies=config_provider("clustering", "aggregation_strategies"), + exclude_carriers=config_provider("clustering", "exclude_carriers"), + load_source=config_provider("load", "source"), + message: + "Adding electricity to network with {wildcards.clusters} clusters" script: scripts("add_electricity.py") rule prepare_network: - message: - "Preparing network for model with {wildcards.clusters} clusters and options {wildcards.opts}" - params: - time_resolution=config_provider("clustering", "temporal", "resolution_elec"), - links=config_provider("links"), - lines=config_provider("lines"), - co2base=config_provider("electricity", "co2base"), - co2limit_enable=config_provider("electricity", "co2limit_enable", default=False), - co2limit=config_provider("electricity", "co2limit"), - gaslimit_enable=config_provider("electricity", "gaslimit_enable", default=False), - gaslimit=config_provider("electricity", "gaslimit"), - emission_prices=config_provider("costs", "emission_prices"), - adjustments=config_provider("adjustments", "electricity"), - autarky=config_provider("electricity", "autarky", default={}), - drop_leap_day=config_provider("enable", "drop_leap_day"), - transmission_limit=config_provider("electricity", "transmission_limit"), input: resources("networks/base_s_{clusters}_elec.nc"), costs=lambda w: resources( @@ -886,15 +882,27 @@ rule prepare_network: threads: 1 resources: mem_mb=4000, + params: + time_resolution=config_provider("clustering", "temporal", "resolution_elec"), + links=config_provider("links"), + lines=config_provider("lines"), + co2base=config_provider("electricity", "co2base"), + co2limit_enable=config_provider("electricity", "co2limit_enable", default=False), + co2limit=config_provider("electricity", "co2limit"), + gaslimit_enable=config_provider("electricity", "gaslimit_enable", default=False), + gaslimit=config_provider("electricity", "gaslimit"), + emission_prices=config_provider("costs", "emission_prices"), + adjustments=config_provider("adjustments", "electricity"), + autarky=config_provider("electricity", "autarky", default={}), + drop_leap_day=config_provider("enable", "drop_leap_day"), + transmission_limit=config_provider("electricity", "transmission_limit"), + message: + "Preparing network for model with {wildcards.clusters} clusters and options {wildcards.opts}" script: scripts("prepare_network.py") rule clean_osm_data: - message: - "Cleaning raw OSM data for countries: " + ", ".join(config["countries"]) - params: - voltages=config_provider("electricity", "voltages"), input: cables_way=expand( f"{OSM_DATASET['folder']}/{{country}}/cables_way.json", @@ -933,19 +941,15 @@ rule clean_osm_data: threads: 1 resources: mem_mb=4000, + params: + voltages=config_provider("electricity", "voltages"), + message: + "Cleaning raw OSM data for countries: " + ", ".join(config["countries"]) script: - "../scripts/clean_osm_data.py" + scripts("clean_osm_data.py") rule build_osm_network: - message: - "Building OSM network" - params: - countries=config_provider("countries"), - voltages=config_provider("electricity", "voltages"), - line_types=config_provider("lines", "types"), - under_construction=config_provider("osm_network_release", "under_construction"), - remove_after=config_provider("osm_network_release", "remove_after"), input: substations=resources(f"osm/clean/substations.geojson"), substations_polygon=resources(f"osm/clean/substations_polygon.geojson"), @@ -975,15 +979,19 @@ rule build_osm_network: threads: 1 resources: mem_mb=4000, + params: + countries=config_provider("countries"), + voltages=config_provider("electricity", "voltages"), + line_types=config_provider("lines", "types"), + under_construction=config_provider("osm_network_release", "under_construction"), + remove_after=config_provider("osm_network_release", "remove_after"), + message: + "Building OSM network" script: - "../scripts/build_osm_network.py" + scripts("build_osm_network.py") rule build_tyndp_network: - message: - "Building TYNDP network" - params: - countries=config_provider("countries"), input: elec_reference_grid=rules.retrieve_tyndp.output.elec_reference_grid, buses=rules.retrieve_tyndp.output.nodes, @@ -1008,5 +1016,9 @@ rule build_tyndp_network: threads: 1 resources: mem_mb=4000, + params: + countries=config_provider("countries"), + message: + "Building TYNDP network" script: scripts("build_tyndp_network.py") diff --git a/rules/build_sector.smk b/rules/build_sector.smk index 5a3734cc9f..d6458675a8 100755 --- a/rules/build_sector.smk +++ b/rules/build_sector.smk @@ -7,8 +7,6 @@ from scripts._helpers import safe_pyear rule build_population_layouts: - message: - "Building population layout data (total, urban, rural) from NUTS3 shapes and World Bank statistics" input: nuts3_shapes=resources("nuts3_shapes.geojson"), urban_percent=rules.retrieve_worldbank_urban_population.output["csv"], @@ -19,18 +17,18 @@ rule build_population_layouts: pop_layout_rural=resources("pop_layout_rural.nc"), log: logs("build_population_layouts.log"), - resources: - mem_mb=20000, benchmark: benchmarks("performances/build_population_layouts") threads: 8 + resources: + mem_mb=20000, + message: + "Building population layout data (total, urban, rural) from NUTS3 shapes and World Bank statistics" script: scripts("build_population_layouts.py") rule build_clustered_population_layouts: - message: - "Clustering population layouts for {wildcards.clusters} clusters" input: pop_layout_total=resources("pop_layout_total.nc"), pop_layout_urban=resources("pop_layout_urban.nc"), @@ -45,17 +43,17 @@ rule build_clustered_population_layouts: clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"), log: logs("build_clustered_population_layouts_s_{clusters}.log"), - resources: - mem_mb=10000, benchmark: benchmarks("performances/build_clustered_population_layouts/s_{clusters}") + resources: + mem_mb=10000, + message: + "Clustering population layouts for {wildcards.clusters} clusters" script: scripts("build_clustered_population_layouts.py") rule build_clustered_solar_rooftop_potentials: - message: - "Building solar rooftop potentials for {wildcards.clusters} clusters" input: pop_layout=resources("pop_layout_total.nc"), class_regions=resources("regions_by_class_{clusters}_solar.geojson"), @@ -64,17 +62,17 @@ rule build_clustered_solar_rooftop_potentials: potentials=resources("solar_rooftop_potentials_s_{clusters}.csv"), log: logs("build_clustered_solar_rooftop_potentials_s_{clusters}.log"), - resources: - mem_mb=10000, benchmark: benchmarks("performances/build_clustered_solar_rooftop_potentials/s_{clusters}") + resources: + mem_mb=10000, + message: + "Building solar rooftop potentials for {wildcards.clusters} clusters" script: scripts("build_clustered_solar_rooftop_potentials.py") rule build_simplified_population_layouts: - message: - "Building simplified population layouts for base scenario" input: pop_layout_total=resources("pop_layout_total.nc"), pop_layout_urban=resources("pop_layout_urban.nc"), @@ -83,36 +81,36 @@ rule build_simplified_population_layouts: cutout=lambda w: input_cutout(w), output: clustered_pop_layout=resources("pop_layout_base_s.csv"), - resources: - mem_mb=10000, log: logs("build_simplified_population_layouts_s"), benchmark: benchmarks("performances/build_simplified_population_layouts/s") + resources: + mem_mb=10000, + message: + "Building simplified population layouts for base scenario" script: scripts("build_clustered_population_layouts.py") rule build_gas_network: - message: - "Building cleaned gas network from SciGRID-Gas data" input: gas_network=rules.retrieve_gas_infrastructure_data.output["gas_network"], output: cleaned_gas_network=resources("gas_network.csv"), - resources: - mem_mb=4000, log: logs("build_gas_network.log"), benchmark: benchmarks("performances/build_gas_network") + resources: + mem_mb=4000, + message: + "Building cleaned gas network from SciGRID-Gas data" script: scripts("build_gas_network.py") rule build_gas_input_locations: - message: - "Building gas input locations for {wildcards.clusters} clusters" input: gem="data/gem/Europe-Gas-Tracker-2024-05.xlsx", entry=rules.retrieve_gas_infrastructure_data.output["entry"], @@ -124,41 +122,38 @@ rule build_gas_input_locations: gas_input_nodes_simplified=resources( "gas_input_locations_s_{clusters}_simplified.csv" ), - resources: - mem_mb=2000, log: logs("build_gas_input_locations_s_{clusters}.log"), benchmark: benchmarks("performances/build_gas_input_locations/s_{clusters}") + resources: + mem_mb=2000, + message: + "Building gas input locations for {wildcards.clusters} clusters" script: scripts("build_gas_input_locations.py") rule cluster_gas_network: - message: - "Clustering gas network for {wildcards.clusters} clusters" input: cleaned_gas_network=resources("gas_network.csv"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), regions_offshore=resources("regions_offshore_base_s_{clusters}.geojson"), output: clustered_gas_network=resources("gas_network_base_s_{clusters}.csv"), - resources: - mem_mb=4000, log: logs("cluster_gas_network_{clusters}.log"), benchmark: benchmarks("performances/cluster_gas_network/s_{clusters}") + resources: + mem_mb=4000, + message: + "Clustering gas network for {wildcards.clusters} clusters" script: scripts("cluster_gas_network.py") rule build_daily_heat_demand: - message: - "Building daily heat demand profiles for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: pop_layout=resources("pop_layout_total.nc"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), @@ -167,24 +162,23 @@ rule build_daily_heat_demand: ), output: heat_demand=resources("daily_heat_demand_total_base_s_{clusters}.nc"), - resources: - mem_mb=20000, - threads: 8 log: logs("build_daily_heat_demand_total_s_{clusters}.loc"), benchmark: benchmarks("performances/build_daily_heat_demand/total_s_{clusters}") + threads: 8 + resources: + mem_mb=20000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Building daily heat demand profiles for {wildcards.clusters} clusters" script: scripts("build_daily_heat_demand.py") rule build_hourly_heat_demand: - message: - "Building hourly heat demand profiles from daily demand for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - sector=config_provider("sector"), input: heat_profile="data/heat_load_profile_BDEW.csv", heat_demand=resources("daily_heat_demand_total_base_s_{clusters}.nc"), @@ -193,23 +187,24 @@ rule build_hourly_heat_demand: heat_dsm_profile=resources( "residential_heat_dsm_profile_total_base_s_{clusters}.csv" ), - resources: - mem_mb=2000, - threads: 8 log: logs("build_hourly_heat_demand_total_s_{clusters}.loc"), benchmark: benchmarks("performances/build_hourly_heat_demand/total_s_{clusters}") + threads: 8 + resources: + mem_mb=2000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + sector=config_provider("sector"), + message: + "Building hourly heat demand profiles from daily demand for {wildcards.clusters} clusters" script: scripts("build_hourly_heat_demand.py") rule build_temperature_profiles: - message: - "Building temperature profiles for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: pop_layout=resources("pop_layout_total.nc"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), @@ -219,20 +214,43 @@ rule build_temperature_profiles: output: temp_soil=resources("temp_soil_total_base_s_{clusters}.nc"), temp_air=resources("temp_air_total_base_s_{clusters}.nc"), - resources: - mem_mb=20000, - threads: 8 log: logs("build_temperature_profiles_total_s_{clusters}.log"), benchmark: benchmarks("performances/build_temperature_profiles/total_{clusters}") + threads: 8 + resources: + mem_mb=20000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Building temperature profiles for {wildcards.clusters} clusters" script: scripts("build_temperature_profiles.py") rule build_central_heating_temperature_profiles: - message: - "Building central heating temperature profiles for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" + input: + temp_air_total=resources("temp_air_total_base_s_{clusters}.nc"), + regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), + output: + central_heating_forward_temperature_profiles=resources( + "central_heating_forward_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" + ), + central_heating_return_temperature_profiles=resources( + "central_heating_return_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" + ), + log: + logs( + "build_central_heating_temperature_profiles_s_{clusters}_{planning_horizons}.log" + ), + benchmark: + benchmarks( + "performances/build_central_heating_temperature_profiles/s_{clusters}_{planning_horizons}" + ) + resources: + mem_mb=20000, params: max_forward_temperature_central_heating_baseyear=config_provider( "sector", @@ -279,54 +297,50 @@ rule build_central_heating_temperature_profiles: "relative_annual_temperature_reduction", ), energy_totals_year=config_provider("energy", "energy_totals_year"), - input: - temp_air_total=resources("temp_air_total_base_s_{clusters}.nc"), - regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), - output: - central_heating_forward_temperature_profiles=resources( - "central_heating_forward_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" - ), - central_heating_return_temperature_profiles=resources( - "central_heating_return_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" - ), - resources: - mem_mb=20000, - log: - logs( - "build_central_heating_temperature_profiles_s_{clusters}_{planning_horizons}.log" - ), - benchmark: - benchmarks( - "performances/build_central_heating_temperature_profiles/s_{clusters}_{planning_horizons}" - ) + message: + "Building central heating temperature profiles for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_central_heating_temperature_profiles/run.py") rule build_dh_areas: - params: - handle_missing_countries=config_provider( - "sector", "district_heating", "dh_areas", "handle_missing_countries" - ), - countries=config_provider("countries"), input: dh_areas=rules.retrieve_dh_areas.output["dh_areas"], regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), output: dh_areas=resources("dh_areas_base_s_{clusters}.geojson"), - resources: - mem_mb=2000, log: logs("build_dh_areas_s_{clusters}.log"), benchmark: benchmarks("performances/build_dh_areas_s/s_{clusters}") + resources: + mem_mb=2000, + params: + handle_missing_countries=config_provider( + "sector", "district_heating", "dh_areas", "handle_missing_countries" + ), + countries=config_provider("countries"), script: scripts("build_dh_areas.py") rule build_geothermal_heat_potential: - message: - "Building geothermal heat potential estimates for {wildcards.clusters} clusters" + input: + isi_heat_potentials=rules.retrieve_geothermal_heat_utilisation_potentials.output[ + "isi_heat_potentials" + ], + regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), + lau_regions=rules.retrieve_lau_regions.output["zip"], + output: + heat_source_power=resources( + "heat_source_power_geothermal_base_s_{clusters}.csv" + ), + log: + logs("build_heat_source_potentials_geothermal_s_{clusters}.log"), + benchmark: + benchmarks("performances/build_heat_source_potentials/geothermal_s_{clusters}") + resources: + mem_mb=2000, params: drop_leap_day=config_provider("enable", "drop_leap_day"), countries=config_provider("countries"), @@ -344,29 +358,35 @@ rule build_geothermal_heat_potential: "geothermal", "ignore_missing_regions", ), + message: + "Building geothermal heat potential estimates for {wildcards.clusters} clusters" + script: + scripts("build_geothermal_heat_potential.py") + + +rule build_ates_potentials: input: - isi_heat_potentials=rules.retrieve_geothermal_heat_utilisation_potentials.output[ - "isi_heat_potentials" - ], + aquifer_shapes_shp=rules.retrieve_aquifer_data_bgr.output["aquifer_shapes"][0], + dh_areas=resources("dh_areas_base_s_{clusters}.geojson"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), - lau_regions=rules.retrieve_lau_regions.output["zip"], + central_heating_forward_temperature_profiles=resources( + "central_heating_forward_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" + ), + central_heating_return_temperature_profiles=resources( + "central_heating_return_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" + ), output: - heat_source_power=resources( - "heat_source_power_geothermal_base_s_{clusters}.csv" + ates_potentials=resources( + "ates_potentials_base_s_{clusters}_{planning_horizons}.csv" ), - resources: - mem_mb=2000, log: - logs("build_heat_source_potentials_geothermal_s_{clusters}.log"), + logs("build_ates_potentials_s_{clusters}_{planning_horizons}.log"), benchmark: - benchmarks("performances/build_heat_source_potentials/geothermal_s_{clusters}") - script: - scripts("build_geothermal_heat_potential.py") - - -rule build_ates_potentials: - message: - "Building aquifer thermal energy storage (ATES) potentials for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" + benchmarks( + "performances/build_ates_potentials_geothermal_s_{clusters}_{planning_horizons}" + ) + resources: + mem_mb=2000, params: max_top_temperature=config_provider( "sector", @@ -417,28 +437,8 @@ rule build_ates_potentials: "ignore_missing_regions", ), countries=config_provider("countries"), - input: - aquifer_shapes_shp=rules.retrieve_aquifer_data_bgr.output["aquifer_shapes"][0], - dh_areas=resources("dh_areas_base_s_{clusters}.geojson"), - regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), - central_heating_forward_temperature_profiles=resources( - "central_heating_forward_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" - ), - central_heating_return_temperature_profiles=resources( - "central_heating_return_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" - ), - output: - ates_potentials=resources( - "ates_potentials_base_s_{clusters}_{planning_horizons}.csv" - ), - resources: - mem_mb=2000, - log: - logs("build_ates_potentials_s_{clusters}_{planning_horizons}.log"), - benchmark: - benchmarks( - "performances/build_ates_potentials_geothermal_s_{clusters}_{planning_horizons}" - ) + message: + "Building aquifer thermal energy storage (ATES) potentials for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_ates_potentials.py") @@ -486,13 +486,6 @@ def input_hera_data(w) -> dict[str, str]: rule build_river_heat_potential: - params: - drop_leap_day=config_provider("enable", "drop_leap_day"), - snapshots=config_provider("snapshots"), - dh_area_buffer=config_provider( - "sector", "district_heating", "dh_areas", "buffer" - ), - enable_heat_source_maps=config_provider("plotting", "enable_heat_source_maps"), input: unpack(input_hera_data), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), @@ -508,13 +501,20 @@ rule build_river_heat_potential: heat_source_energy_temporal_aggregate=resources( "heat_source_energy_river_water_base_s_{clusters}_temporal_aggregate.nc" ), - resources: - mem_mb=20000, log: logs("build_river_water_heat_potential_base_s_{clusters}.log"), benchmark: benchmarks("performances/build_river_water_heat_potential_base_s_{clusters}") threads: 1 + resources: + mem_mb=20000, + params: + drop_leap_day=config_provider("enable", "drop_leap_day"), + snapshots=config_provider("snapshots"), + dh_area_buffer=config_provider( + "sector", "district_heating", "dh_areas", "buffer" + ), + enable_heat_source_maps=config_provider("plotting", "enable_heat_source_maps"), script: scripts( "build_surface_water_heat_potentials/build_river_water_heat_potential.py" @@ -621,12 +621,6 @@ def input_seawater_temperature(w) -> dict[str, str]: rule build_sea_heat_potential: - params: - drop_leap_day=config_provider("enable", "drop_leap_day"), - snapshots=config_provider("snapshots"), - dh_area_buffer=config_provider( - "sector", "district_heating", "dh_areas", "buffer" - ), input: # seawater_temperature=lambda w: input_seawater_temperature(w), unpack(input_seawater_temperature), @@ -637,35 +631,24 @@ rule build_sea_heat_potential: heat_source_temperature_temporal_aggregate=resources( "temp_sea_water_base_s_{clusters}_temporal_aggregate.nc" ), - resources: - mem_mb=10000, log: logs("build_sea_water_heat_potential_base_s_{clusters}.log"), benchmark: benchmarks("performances/build_sea_water_heat_potential_base_s_{clusters}") threads: config["atlite"].get("nprocesses", 4) + resources: + mem_mb=10000, + params: + drop_leap_day=config_provider("enable", "drop_leap_day"), + snapshots=config_provider("snapshots"), + dh_area_buffer=config_provider( + "sector", "district_heating", "dh_areas", "buffer" + ), script: scripts("build_surface_water_heat_potentials/build_sea_water_heat_potential.py") rule build_cop_profiles: - message: - "Building coefficient of performance (COP) profiles for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" - params: - heat_pump_sink_T_decentral_heating=config_provider( - "sector", "heat_pump_sink_T_individual_heating" - ), - heat_source_cooling_central_heating=config_provider( - "sector", "district_heating", "heat_source_cooling" - ), - heat_pump_cop_approximation_central_heating=config_provider( - "sector", "district_heating", "heat_pump_cop_approximation" - ), - heat_pump_sources=config_provider("sector", "heat_pump_sources"), - limited_heat_sources=config_provider( - "sector", "district_heating", "limited_heat_sources" - ), - snapshots=config_provider("snapshots"), input: unpack(input_heat_source_temperature), central_heating_forward_temperature_profiles=resources( @@ -677,33 +660,34 @@ rule build_cop_profiles: regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), output: cop_profiles=resources("cop_profiles_base_s_{clusters}_{planning_horizons}.nc"), - resources: - mem_mb=20000, log: logs("build_cop_profiles_s_{clusters}_{planning_horizons}.log"), benchmark: benchmarks("performances/build_cop_profiles/s_{clusters}_{planning_horizons}") + resources: + mem_mb=20000, + params: + heat_pump_sink_T_decentral_heating=config_provider( + "sector", "heat_pump_sink_T_individual_heating" + ), + heat_source_cooling_central_heating=config_provider( + "sector", "district_heating", "heat_source_cooling" + ), + heat_pump_cop_approximation_central_heating=config_provider( + "sector", "district_heating", "heat_pump_cop_approximation" + ), + heat_pump_sources=config_provider("sector", "heat_pump_sources"), + limited_heat_sources=config_provider( + "sector", "district_heating", "limited_heat_sources" + ), + snapshots=config_provider("snapshots"), + message: + "Building coefficient of performance (COP) profiles for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_cop_profiles/run.py") rule build_ptes_operations: - message: - "Building thermal energy storage operations profiles for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" - params: - max_ptes_top_temperature=config_provider( - "sector", - "district_heating", - "ptes", - "max_top_temperature", - ), - min_ptes_bottom_temperature=config_provider( - "sector", - "district_heating", - "ptes", - "min_bottom_temperature", - ), - snapshots=config_provider("snapshots"), input: central_heating_forward_temperature_profiles=resources( "central_heating_forward_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" @@ -722,29 +706,35 @@ rule build_ptes_operations: ptes_e_max_pu_profiles=resources( "ptes_e_max_pu_profiles_base_s_{clusters}_{planning_horizons}.nc" ), - resources: - mem_mb=2000, log: logs("build_ptes_operations_s_{clusters}_{planning_horizons}.log"), benchmark: benchmarks( "performances/build_ptes_operations_s_{clusters}_{planning_horizons}" ) + resources: + mem_mb=2000, + params: + max_ptes_top_temperature=config_provider( + "sector", + "district_heating", + "ptes", + "max_top_temperature", + ), + min_ptes_bottom_temperature=config_provider( + "sector", + "district_heating", + "ptes", + "min_bottom_temperature", + ), + snapshots=config_provider("snapshots"), + message: + "Building thermal energy storage operations profiles for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_ptes_operations/run.py") rule build_direct_heat_source_utilisation_profiles: - message: - "Building direct heat source utilization profiles for industrial applications for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" - params: - direct_utilisation_heat_sources=config_provider( - "sector", "district_heating", "direct_utilisation_heat_sources" - ), - limited_heat_sources=config_provider( - "sector", "district_heating", "limited_heat_sources" - ), - snapshots=config_provider("snapshots"), input: central_heating_forward_temperature_profiles=resources( "central_heating_forward_temperature_profiles_base_s_{clusters}_{planning_horizons}.nc" @@ -753,8 +743,6 @@ rule build_direct_heat_source_utilisation_profiles: direct_heat_source_utilisation_profiles=resources( "direct_heat_source_utilisation_profiles_base_s_{clusters}_{planning_horizons}.nc" ), - resources: - mem_mb=20000, log: logs( "build_direct_heat_source_utilisation_profiles_s_{clusters}_{planning_horizons}.log" @@ -763,76 +751,83 @@ rule build_direct_heat_source_utilisation_profiles: benchmarks( "performances/build_direct_heat_source_utilisation_profiles/s_{clusters}_{planning_horizons}" ) + resources: + mem_mb=20000, + params: + direct_utilisation_heat_sources=config_provider( + "sector", "district_heating", "direct_utilisation_heat_sources" + ), + limited_heat_sources=config_provider( + "sector", "district_heating", "limited_heat_sources" + ), + snapshots=config_provider("snapshots"), + message: + "Building direct heat source utilization profiles for industrial applications for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_direct_heat_source_utilisation_profiles.py") - -rule build_solar_thermal_profiles: - message: - "Building solar thermal generation profiles for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - solar_thermal=config_provider("solar_thermal"), + +rule build_solar_thermal_profiles: input: pop_layout=resources("pop_layout_total.nc"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), cutout=lambda w: input_cutout(w, config_provider("solar_thermal", "cutout")(w)), output: solar_thermal=resources("solar_thermal_total_base_s_{clusters}.nc"), - resources: - mem_mb=20000, - threads: 16 log: logs("build_solar_thermal_profiles_total_s_{clusters}.log"), benchmark: benchmarks("performances/build_solar_thermal_profiles/total_{clusters}") + threads: 16 + resources: + mem_mb=20000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + solar_thermal=config_provider("solar_thermal"), + message: + "Building solar thermal generation profiles for {wildcards.clusters} clusters" script: scripts("build_solar_thermal_profiles.py") rule build_eurostat_balances: - message: - "Building Eurostat energy balances" input: tsv_gz=rules.retrieve_eurostat_balances.output["tsv_gz"], output: csv=resources("eurostat_energy_balances.csv"), - threads: 1 - resources: - mem_mb=4000, log: logs("build_eurostat_balances.log"), benchmark: benchmarks("performances/build_eurostat_balances") + threads: 1 + resources: + mem_mb=4000, + message: + "Building Eurostat energy balances" script: - "../scripts/build_eurostat_balances.py" + scripts("build_eurostat_balances.py") rule build_swiss_energy_balances: - message: - "Building BFE Swiss energy balances" input: xlsx=rules.retrieve_swiss_energy_balances.output["xlsx"], output: csv=resources("switzerland_energy_balances.csv"), - threads: 1 - resources: - mem_mb=4000, log: logs("build_swiss_energy_balances.log"), benchmark: benchmarks("performances/build_swiss_energy_balances") + threads: 1 + resources: + mem_mb=4000, + message: + "Building BFE Swiss energy balances" script: scripts("build_swiss_energy_balances.py") rule build_energy_totals: - message: - "Building energy totals" - params: - countries=config_provider("countries"), - energy=config_provider("energy"), input: nuts3_shapes=resources("nuts3_shapes.geojson"), co2=rules.retrieve_ghg_emissions.output["csv"], @@ -849,13 +844,18 @@ rule build_energy_totals: transport_name=resources("transport_data.csv"), district_heat_share=resources("district_heat_share.csv"), heating_efficiencies=resources("heating_efficiencies.csv"), - threads: 16 - resources: - mem_mb=10000, log: logs("build_energy_totals.log"), benchmark: benchmarks("performances/build_energy_totals") + threads: 16 + resources: + mem_mb=10000, + params: + countries=config_provider("countries"), + energy=config_provider("energy"), + message: + "Building energy totals" script: scripts("build_energy_totals.py") @@ -881,29 +881,25 @@ if (COUNTRY_HDD_DATASET := dataset_version("country_hdd"))["source"] in ["build" rule build_heat_totals: - message: - "Building heat totals" input: hdd=f"{COUNTRY_HDD_DATASET['folder']}/era5-HDD-per-country.csv", energy_totals=resources("energy_totals.csv"), output: heat_totals=resources("heat_totals.csv"), - threads: 1 - resources: - mem_mb=2000, log: logs("build_heat_totals.log"), benchmark: benchmarks("performances/build_heat_totals") + threads: 1 + resources: + mem_mb=2000, + message: + "Building heat totals" script: scripts("build_heat_totals.py") rule build_biomass_potentials: - message: - "Building biomass potential estimates for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" - params: - biomass=config_provider("biomass"), input: enspreso_biomass=rules.retrieve_enspreso_biomass.output["xlsx"], eurostat=resources("eurostat_energy_balances.csv"), @@ -920,41 +916,43 @@ rule build_biomass_potentials: biomass_potentials=resources( "biomass_potentials_s_{clusters}_{planning_horizons}.csv" ), - threads: 8 - resources: - mem_mb=2000, log: logs("build_biomass_potentials_s_{clusters}_{planning_horizons}.log"), benchmark: benchmarks( "performances/build_biomass_potentials_s_{clusters}_{planning_horizons}" ) + threads: 8 + resources: + mem_mb=2000, + params: + biomass=config_provider("biomass"), + message: + "Building biomass potential estimates for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_biomass_potentials.py") rule build_biomass_transport_costs: - message: - "Building biomass transport cost" input: sc1="data/biomass_transport_costs_supplychain1.csv", sc2="data/biomass_transport_costs_supplychain2.csv", output: biomass_transport_costs=resources("biomass_transport_costs.csv"), - threads: 1 - resources: - mem_mb=1000, log: logs("build_biomass_transport_costs.log"), benchmark: benchmarks("performances/build_biomass_transport_costs") + threads: 1 + resources: + mem_mb=1000, + message: + "Building biomass transport cost" script: scripts("build_biomass_transport_costs.py") rule build_co2_sequestration_potentials: - message: - "Building CO2 sequestration potentials" input: storage_table=rules.retrieve_co2stop.output["storage_table"], storage_map=rules.retrieve_co2stop.output["storage_map"], @@ -964,24 +962,20 @@ rule build_co2_sequestration_potentials: traps_map=rules.retrieve_co2stop.output["traps_map"], output: resources("co2_sequestration_potentials.geojson"), - threads: 1 - resources: - mem_mb=4000, log: logs("build_co2_sequestration_potentials.log"), benchmark: benchmarks("performances/build_co2_sequestration_potentials") + threads: 1 + resources: + mem_mb=4000, + message: + "Building CO2 sequestration potentials" script: scripts("build_co2_sequestration_potentials.py") rule build_clustered_co2_sequestration_potentials: - message: - "Clustering CO2 sequestration potentials for {wildcards.clusters} clusters" - params: - sequestration_potential=config_provider( - "sector", "regional_co2_sequestration_potential" - ), input: sequestration_potential=resources("co2_sequestration_potentials.geojson"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), @@ -990,84 +984,86 @@ rule build_clustered_co2_sequestration_potentials: sequestration_potential=resources( "co2_sequestration_potential_base_s_{clusters}.csv" ), - threads: 1 - resources: - mem_mb=4000, log: logs("build_clustered_co2_sequestration_potentials_{clusters}.log"), benchmark: benchmarks( "performances/build_clustered_co2_sequestration_potentials_{clusters}" ) + threads: 1 + resources: + mem_mb=4000, + params: + sequestration_potential=config_provider( + "sector", "regional_co2_sequestration_potential" + ), + message: + "Clustering CO2 sequestration potentials for {wildcards.clusters} clusters" script: scripts("build_clustered_co2_sequestration_potentials.py") rule build_salt_cavern_potentials: - message: - "Building salt cavern potential for hydrogen storage for {wildcards.clusters} clusters" input: salt_caverns=rules.retrieve_h2_salt_caverns.output["geojson"], regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), regions_offshore=resources("regions_offshore_base_s_{clusters}.geojson"), output: h2_cavern_potential=resources("salt_cavern_potentials_s_{clusters}.csv"), - threads: 1 - resources: - mem_mb=2000, log: logs("build_salt_cavern_potentials_s_{clusters}.log"), benchmark: benchmarks("performances/build_salt_cavern_potentials_s_{clusters}") + threads: 1 + resources: + mem_mb=2000, + message: + "Building salt cavern potential for hydrogen storage for {wildcards.clusters} clusters" script: scripts("build_salt_cavern_potentials.py") rule build_ammonia_production: - message: - "Building ammonia production capacity and location data" input: usgs=rules.retrieve_nitrogen_statistics.output["xlsx"], output: ammonia_production=resources("ammonia_production.csv"), - threads: 1 - resources: - mem_mb=1000, log: logs("build_ammonia_production.log"), benchmark: benchmarks("performances/build_ammonia_production") + threads: 1 + resources: + mem_mb=1000, + message: + "Building ammonia production capacity and location data" script: scripts("build_ammonia_production.py") rule build_industry_sector_ratios: - message: - "Building industry sector energy demand ratios" - params: - industry=config_provider("industry"), - ammonia=config_provider("sector", "ammonia", default=False), input: ammonia_production=resources("ammonia_production.csv"), idees=rules.retrieve_jrc_idees.output["directory"], output: industry_sector_ratios=resources("industry_sector_ratios.csv"), - threads: 1 - resources: - mem_mb=1000, log: logs("build_industry_sector_ratios.log"), benchmark: benchmarks("performances/build_industry_sector_ratios") + threads: 1 + resources: + mem_mb=1000, + params: + industry=config_provider("industry"), + ammonia=config_provider("sector", "ammonia", default=False), + message: + "Building industry sector energy demand ratios" script: scripts("build_industry_sector_ratios.py") rule build_industry_sector_ratios_intermediate: - message: - "Building intermediate industry sector ratios for {wildcards.planning_horizons} planning horizon" - params: - industry=config_provider("industry"), input: industry_sector_ratios=resources("industry_sector_ratios.csv"), industrial_energy_demand_per_country_today=resources( @@ -1080,23 +1076,22 @@ rule build_industry_sector_ratios_intermediate: industry_sector_ratios=resources( "industry_sector_ratios_{planning_horizons}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs("build_industry_sector_ratios_{planning_horizons}.log"), benchmark: benchmarks("performances/build_industry_sector_ratios_{planning_horizons}") + threads: 1 + resources: + mem_mb=1000, + params: + industry=config_provider("industry"), + message: + "Building intermediate industry sector ratios for {wildcards.planning_horizons} planning horizon" script: scripts("build_industry_sector_ratios_intermediate.py") rule build_industrial_production_per_country: - message: - "Building industrial production statistics per country" - params: - industry=config_provider("industry"), - countries=config_provider("countries"), input: ch_industrial_production="data/ch_industrial_production_per_subsector.csv", ammonia_production=resources("ammonia_production.csv"), @@ -1106,22 +1101,23 @@ rule build_industrial_production_per_country: industrial_production_per_country=resources( "industrial_production_per_country.csv" ), - threads: 8 - resources: - mem_mb=2000, log: logs("build_industrial_production_per_country.log"), benchmark: benchmarks("performances/build_industrial_production_per_country") + threads: 8 + resources: + mem_mb=2000, + params: + industry=config_provider("industry"), + countries=config_provider("countries"), + message: + "Building industrial production statistics per country" script: scripts("build_industrial_production_per_country.py") rule build_industrial_production_per_country_tomorrow: - message: - "Building future industrial production projections for {wildcards.planning_horizons} planning horizon" - params: - industry=config_provider("industry"), input: industrial_production_per_country=resources( "industrial_production_per_country.csv" @@ -1130,9 +1126,6 @@ rule build_industrial_production_per_country_tomorrow: industrial_production_per_country_tomorrow=resources( "industrial_production_per_country_tomorrow_{planning_horizons}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs("build_industrial_production_per_country_tomorrow_{planning_horizons}.log"), benchmark: @@ -1141,18 +1134,18 @@ rule build_industrial_production_per_country_tomorrow: "performances/build_industrial_production_per_country_tomorrow_{planning_horizons}" ) ) + threads: 1 + resources: + mem_mb=1000, + params: + industry=config_provider("industry"), + message: + "Building future industrial production projections for {wildcards.planning_horizons} planning horizon" script: scripts("build_industrial_production_per_country_tomorrow.py") rule build_industrial_distribution_key: - message: - "Building industrial activity distribution mapping key for {wildcards.clusters} clusters" - params: - hotmaps_locate_missing=config_provider( - "industry", "hotmaps_locate_missing", default=False - ), - countries=config_provider("countries"), input: regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"), @@ -1165,20 +1158,25 @@ rule build_industrial_distribution_key: industrial_distribution_key=resources( "industrial_distribution_key_base_s_{clusters}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs("build_industrial_distribution_key_{clusters}.log"), benchmark: benchmarks("performances/build_industrial_distribution_key/s_{clusters}") + threads: 1 + resources: + mem_mb=1000, + params: + hotmaps_locate_missing=config_provider( + "industry", "hotmaps_locate_missing", default=False + ), + countries=config_provider("countries"), + message: + "Building industrial activity distribution mapping key for {wildcards.clusters} clusters" script: scripts("build_industrial_distribution_key.py") rule build_industrial_production_per_node: - message: - "Distributing industrial production to network nodes for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" input: industrial_distribution_key=resources( "industrial_distribution_key_base_s_{clusters}.csv" @@ -1190,9 +1188,6 @@ rule build_industrial_production_per_node: industrial_production_per_node=resources( "industrial_production_base_s_{clusters}_{planning_horizons}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs("build_industrial_production_per_node_{clusters}_{planning_horizons}.log"), benchmark: @@ -1201,13 +1196,16 @@ rule build_industrial_production_per_node: "performances/build_industrial_production_per_node/s_{clusters}_{planning_horizons}" ) ) + threads: 1 + resources: + mem_mb=1000, + message: + "Distributing industrial production to network nodes for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_industrial_production_per_node.py") rule build_industrial_energy_demand_per_node: - message: - "Building industrial energy demand per network node for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" input: industry_sector_ratios=resources( "industry_sector_ratios_{planning_horizons}.csv" @@ -1222,9 +1220,6 @@ rule build_industrial_energy_demand_per_node: industrial_energy_demand_per_node=resources( "industrial_energy_demand_base_s_{clusters}_{planning_horizons}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs( "build_industrial_energy_demand_per_node_{clusters}_{planning_horizons}.log" @@ -1235,17 +1230,16 @@ rule build_industrial_energy_demand_per_node: "performances/build_industrial_energy_demand_per_node/s_{clusters}_{planning_horizons}" ) ) + threads: 1 + resources: + mem_mb=1000, + message: + "Building industrial energy demand per network node for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_industrial_energy_demand_per_node.py") rule build_industrial_energy_demand_per_country_today: - message: - "Building current industrial energy demand by country" - params: - countries=config_provider("countries"), - industry=config_provider("industry"), - ammonia=config_provider("sector", "ammonia", default=False), input: transformation_output_coke=resources("transformation_output_coke.csv"), jrc=rules.retrieve_jrc_idees.output["directory"], @@ -1256,20 +1250,24 @@ rule build_industrial_energy_demand_per_country_today: industrial_energy_demand_per_country_today=resources( "industrial_energy_demand_per_country_today.csv" ), - threads: 8 - resources: - mem_mb=2000, log: logs("build_industrial_energy_demand_per_country_today.log"), benchmark: benchmarks("performances/build_industrial_energy_demand_per_country_today") + threads: 8 + resources: + mem_mb=2000, + params: + countries=config_provider("countries"), + industry=config_provider("industry"), + ammonia=config_provider("sector", "ammonia", default=False), + message: + "Building current industrial energy demand by country" script: scripts("build_industrial_energy_demand_per_country_today.py") rule build_industrial_energy_demand_per_node_today: - message: - "Building current industrial energy demand per network node for {wildcards.clusters} clusters" input: industrial_distribution_key=resources( "industrial_distribution_key_base_s_{clusters}.csv" @@ -1281,25 +1279,22 @@ rule build_industrial_energy_demand_per_node_today: industrial_energy_demand_per_node_today=resources( "industrial_energy_demand_today_base_s_{clusters}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs("build_industrial_energy_demand_per_node_today_{clusters}.log"), benchmark: benchmarks( "performances/build_industrial_energy_demand_per_node_today/s_{clusters}" ) + threads: 1 + resources: + mem_mb=1000, + message: + "Building current industrial energy demand per network node for {wildcards.clusters} clusters" script: scripts("build_industrial_energy_demand_per_node_today.py") rule build_retro_cost: - message: - "Building retrofitting cost estimates for building efficiency improvements for {wildcards.clusters} clusters" - params: - retrofitting=config_provider("sector", "retrofitting"), - countries=config_provider("countries"), input: building_stock="data/retro/data_building_stock.csv", data_tabula="data/bundle/retro/tabula-calculator-calcsetbuilding.csv", @@ -1314,57 +1309,62 @@ rule build_retro_cost: output: retro_cost=resources("retro_cost_base_s_{clusters}.csv"), floor_area=resources("floor_area_base_s_{clusters}.csv"), - resources: - mem_mb=1000, log: logs("build_retro_cost_{clusters}.log"), benchmark: benchmarks("performances/build_retro_cost/s_{clusters}") + resources: + mem_mb=1000, + params: + retrofitting=config_provider("sector", "retrofitting"), + countries=config_provider("countries"), + message: + "Building retrofitting cost estimates for building efficiency improvements for {wildcards.clusters} clusters" script: scripts("build_retro_cost.py") rule build_population_weighted_energy_totals: - message: - "Building population-weighted energy demand totals for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: energy_totals=resources("{kind}_totals.csv"), clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"), output: resources("pop_weighted_{kind}_totals_s_{clusters}.csv"), - threads: 1 - resources: - mem_mb=2000, log: logs("build_population_weighted_{kind}_totals_{clusters}.log"), benchmark: benchmarks("performances/build_population_weighted_{kind}_totals_{clusters}") + threads: 1 + resources: + mem_mb=2000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Building population-weighted energy demand totals for {wildcards.clusters} clusters" script: scripts("build_population_weighted_energy_totals.py") rule build_shipping_demand: - message: - "Building shipping fuel demand projections for {wildcards.clusters} clusters" input: ports=rules.retrieve_attributed_ports.output["json"], scope=resources("europe_shape.geojson"), regions=resources("regions_onshore_base_s_{clusters}.geojson"), demand=resources("energy_totals.csv"), - params: - energy_totals_year=config_provider("energy", "energy_totals_year"), output: resources("shipping_demand_s_{clusters}.csv"), - threads: 1 - resources: - mem_mb=2000, log: logs("build_shipping_demand_s_{clusters}.log"), benchmark: benchmarks("performances/build_shipping_demand/s_{clusters}") + threads: 1 + resources: + mem_mb=2000, + params: + energy_totals_year=config_provider("energy", "energy_totals_year"), + message: + "Building shipping fuel demand projections for {wildcards.clusters} clusters" script: scripts("build_shipping_demand.py") @@ -1372,8 +1372,6 @@ rule build_shipping_demand: if MOBILITY_PROFILES_DATASET["source"] in ["build"]: rule build_mobility_profiles: - params: - sector=config_provider("sector"), input: zip_files=storage( expand( @@ -1386,25 +1384,20 @@ if MOBILITY_PROFILES_DATASET["source"] in ["build"]: raw_files=directory(MOBILITY_PROFILES_DATASET["folder"] / "raw"), kfz=MOBILITY_PROFILES_DATASET["folder"] / "kfz.csv", pkw=MOBILITY_PROFILES_DATASET["folder"] / "pkw.csv", - threads: 1 - resources: - mem_mb=5000, log: logs("build_mobility_profiles.log"), benchmark: benchmarks("performances/build_mobility_profiles") + threads: 1 + resources: + mem_mb=5000, + params: + sector=config_provider("sector"), script: scripts("build_mobility_profiles.py") rule build_transport_demand: - message: - "Building transport energy demand profiles for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - sector=config_provider("sector"), - energy_totals_year=config_provider("energy", "energy_totals_year"), input: network=resources("networks/base_s.nc"), clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"), @@ -1420,23 +1413,25 @@ rule build_transport_demand: transport_data=resources("transport_data_s_{clusters}.csv"), avail_profile=resources("avail_profile_s_{clusters}.csv"), dsm_profile=resources("dsm_profile_s_{clusters}.csv"), - threads: 1 - resources: - mem_mb=2000, log: logs("build_transport_demand_s_{clusters}.log"), benchmark: benchmarks("performances/build_transport_demand/s_{clusters}") + threads: 1 + resources: + mem_mb=2000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + sector=config_provider("sector"), + energy_totals_year=config_provider("energy", "energy_totals_year"), + message: + "Building transport energy demand profiles for {wildcards.clusters} clusters" script: scripts("build_transport_demand.py") rule build_district_heat_share: - message: - "Building district heating penetration share data for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" - params: - sector=config_provider("sector"), - energy_totals_year=config_provider("energy", "energy_totals_year"), input: district_heat_share=resources("district_heat_share.csv"), clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"), @@ -1444,26 +1439,25 @@ rule build_district_heat_share: district_heat_share=resources( "district_heat_share_base_s_{clusters}_{planning_horizons}.csv" ), - threads: 1 - resources: - mem_mb=1000, log: logs("build_district_heat_share_{clusters}_{planning_horizons}.log"), benchmark: benchmarks( "performances/build_district_heat_share_{clusters}_{planning_horizons}" ) + threads: 1 + resources: + mem_mb=1000, + params: + sector=config_provider("sector"), + energy_totals_year=config_provider("energy", "energy_totals_year"), + message: + "Building district heating penetration share data for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_district_heat_share.py") rule build_existing_heating_distribution: - message: - "Building existing heating technology distribution data for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" - params: - baseyear=config_provider("scenario", "planning_horizons", 0), - sector=config_provider("sector"), - existing_capacities=config_provider("existing_capacities"), input: existing_heating="data/existing_infrastructure/existing_heating_raw.csv", clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"), @@ -1477,9 +1471,6 @@ rule build_existing_heating_distribution: existing_heating_distribution=resources( "existing_heating_distribution_base_s_{clusters}_{planning_horizons}.csv" ), - threads: 1 - resources: - mem_mb=2000, log: logs( "build_existing_heating_distribution_base_s_{clusters}_{planning_horizons}.log" @@ -1488,17 +1479,20 @@ rule build_existing_heating_distribution: benchmarks( "performances/build_existing_heating_distribution/base_s_{clusters}_{planning_horizons}" ) + threads: 1 + resources: + mem_mb=2000, + params: + baseyear=config_provider("scenario", "planning_horizons", 0), + sector=config_provider("sector"), + existing_capacities=config_provider("existing_capacities"), + message: + "Building existing heating technology distribution data for {wildcards.clusters} clusters and {wildcards.planning_horizons} planning horizon" script: scripts("build_existing_heating_distribution.py") rule build_snapshot_weightings: - message: - "Defining time series aggregation for temporal resolution reduction for {wildcards.clusters} clusters and {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - time_resolution=config_provider("clustering", "temporal"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - solver_name=config_provider("solving", "solver", "name"), input: network=resources("networks/base_s_{clusters}_elec_{opts}.nc"), hourly_heat_demand_total=lambda w: ( @@ -1515,9 +1509,6 @@ rule build_snapshot_weightings: snapshot_weightings=resources( "snapshot_weightings_base_s_{clusters}_elec_{opts}_{sector_opts}.csv" ), - threads: 1 - resources: - mem_mb=5000, log: logs( "build_snapshot_weightings_base_s_{clusters}_elec_{opts}_{sector_opts}.log" @@ -1526,6 +1517,15 @@ rule build_snapshot_weightings: benchmarks( "performances/build_snapshot_weightings_base_s_{clusters}_elec_{opts}_{sector_opts}" ) + threads: 1 + resources: + mem_mb=5000, + params: + time_resolution=config_provider("clustering", "temporal"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + solver_name=config_provider("solving", "solver", "name"), + message: + "Defining time series aggregation for temporal resolution reduction for {wildcards.clusters} clusters and {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("build_snapshot_weightings.py") @@ -1539,13 +1539,6 @@ def input_profile_offwind(w): rule build_egs_potentials: - message: - "Building enhanced geothermal system (EGS) potential estimates for {wildcards.clusters} clusters" - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - sector=config_provider("sector"), - costs=config_provider("costs"), input: egs_cost="data/egs_costs.json", regions=resources("regions_onshore_base_s_{clusters}.geojson"), @@ -1558,13 +1551,20 @@ rule build_egs_potentials: egs_potentials=resources("egs_potentials_{clusters}.csv"), egs_overlap=resources("egs_overlap_{clusters}.csv"), egs_capacity_factors=resources("egs_capacity_factors_{clusters}.csv"), - threads: 1 - resources: - mem_mb=2000, log: logs("build_egs_potentials_{clusters}.log"), benchmark: benchmarks("performances/build_egs_potentials_{clusters}") + threads: 1 + resources: + mem_mb=2000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + sector=config_provider("sector"), + costs=config_provider("costs"), + message: + "Building enhanced geothermal system (EGS) potential estimates for {wildcards.clusters} clusters" script: scripts("build_egs_potentials.py") @@ -1661,49 +1661,6 @@ def include_tyndp_trajectories(w): rule prepare_sector_network: - message: - "Preparing integrated sector-coupled energy network for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizon, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - co2_budget=config_provider("co2_budget"), - conventional_carriers=config_provider( - "existing_capacities", "conventional_carriers" - ), - tyndp_conventional_carriers=config_provider( - "electricity", "tyndp_conventional_carriers" - ), - tyndp_stores=config_provider("electricity", "tyndp_stores"), - foresight=config_provider("foresight"), - sector=config_provider("sector"), - industry=config_provider("industry"), - renewable=config_provider("renewable"), - lines=config_provider("lines"), - pypsa_eur=config_provider("pypsa_eur"), - length_factor=config_provider("lines", "length_factor"), - planning_horizons=config_provider("scenario", "planning_horizons"), - countries=config_provider("countries"), - adjustments=config_provider("adjustments", "sector"), - emissions_scope=config_provider("energy", "emissions"), - emission_prices=config_provider("costs", "emission_prices"), - electricity=config_provider("electricity"), - biomass=config_provider("biomass"), - RDIR=RDIR, - heat_pump_sources=config_provider("sector", "heat_pump_sources"), - heat_systems=config_provider("sector", "heat_systems"), - energy_totals_year=config_provider("energy", "energy_totals_year"), - direct_utilisation_heat_sources=config_provider( - "sector", "district_heating", "direct_utilisation_heat_sources" - ), - limited_heat_sources=config_provider( - "sector", "district_heating", "limited_heat_sources" - ), - temperature_limited_stores=config_provider( - "sector", "district_heating", "temperature_limited_stores" - ), - load_source=config_provider("load", "source"), - scaling_factor=config_provider("load", "scaling_factor"), - patch_load_mm=config_provider("load", "patch_demand_with_mm"), - offshore_hubs_tyndp=config_provider("sector", "offshore_hubs_tyndp", "enable"), - tyndp_scenario=config_provider("tyndp_scenario"), input: unpack(input_profile_offwind), unpack(input_profile_pecd), @@ -1941,9 +1898,6 @@ rule prepare_sector_network: resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_h.nc" ), - threads: 1 - resources: - mem_mb=2000, log: logs( "prepare_sector_network_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log" @@ -1952,15 +1906,57 @@ rule prepare_sector_network: benchmarks( "performances/prepare_sector_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + threads: 1 + resources: + mem_mb=2000, + params: + co2_budget=config_provider("co2_budget"), + conventional_carriers=config_provider( + "existing_capacities", "conventional_carriers" + ), + tyndp_conventional_carriers=config_provider( + "electricity", "tyndp_conventional_carriers" + ), + tyndp_stores=config_provider("electricity", "tyndp_stores"), + foresight=config_provider("foresight"), + sector=config_provider("sector"), + industry=config_provider("industry"), + renewable=config_provider("renewable"), + lines=config_provider("lines"), + pypsa_eur=config_provider("pypsa_eur"), + length_factor=config_provider("lines", "length_factor"), + planning_horizons=config_provider("scenario", "planning_horizons"), + countries=config_provider("countries"), + adjustments=config_provider("adjustments", "sector"), + emissions_scope=config_provider("energy", "emissions"), + emission_prices=config_provider("costs", "emission_prices"), + electricity=config_provider("electricity"), + biomass=config_provider("biomass"), + RDIR=RDIR, + heat_pump_sources=config_provider("sector", "heat_pump_sources"), + heat_systems=config_provider("sector", "heat_systems"), + energy_totals_year=config_provider("energy", "energy_totals_year"), + direct_utilisation_heat_sources=config_provider( + "sector", "district_heating", "direct_utilisation_heat_sources" + ), + limited_heat_sources=config_provider( + "sector", "district_heating", "limited_heat_sources" + ), + temperature_limited_stores=config_provider( + "sector", "district_heating", "temperature_limited_stores" + ), + load_source=config_provider("load", "source"), + scaling_factor=config_provider("load", "scaling_factor"), + patch_load_mm=config_provider("load", "patch_demand_with_mm"), + offshore_hubs_tyndp=config_provider("sector", "offshore_hubs_tyndp", "enable"), + tyndp_scenario=config_provider("tyndp_scenario"), + message: + "Preparing integrated sector-coupled energy network for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizon, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("prepare_sector_network.py") rule temporal_aggregation: - message: - "Performing time series aggregation for temporal resolution reduction for {wildcards.clusters} clusters and {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - time_resolution=config_provider("clustering", "temporal", "resolution_sector"), input: network=resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_h.nc" @@ -1972,9 +1968,6 @@ rule temporal_aggregation: resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc" ), - threads: 1 - resources: - mem_mb=5000, log: logs( "temporal_aggregation_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log" @@ -1983,5 +1976,12 @@ rule temporal_aggregation: benchmarks( "performances/temporal_aggregation_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + threads: 1 + resources: + mem_mb=5000, + params: + time_resolution=config_provider("clustering", "temporal", "resolution_sector"), + message: + "Performing time series aggregation for temporal resolution reduction for {wildcards.clusters} clusters and {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("temporal_aggregation.py") diff --git a/rules/cba.smk b/rules/cba.smk index 7baf9ab965..c90db6d1f6 100644 --- a/rules/cba.smk +++ b/rules/cba.smk @@ -28,14 +28,14 @@ if (CBA_PROJECTS_DATASET := dataset_version("tyndp_cba_projects"))[ ] in ARCHIVE_SOURCES: rule retrieve_tyndp_cba_projects: - params: - source="CBA project explorer", input: zip_file=storage(CBA_PROJECTS_DATASET["url"]), output: dir=directory(CBA_PROJECTS_DATASET["folder"]), log: "logs/retrieve_tyndp_cba_projects.log", + params: + source="CBA project explorer", run: copy2(input["zip_file"], output["dir"] + ".zip") unpack_archive(output["dir"] + ".zip", output["dir"]) @@ -241,11 +241,6 @@ def input_sb_network(w, run=None): # Simplify scenario building network for CBA # Fixes capacities, adds hurdle costs, extends primary fuel sources, disables volume limits rule simplify_sb_network: - params: - tyndp_conventional_carriers=config_provider( - "electricity", "tyndp_conventional_carriers" - ), - hurdle_costs=config_provider("cba", "hurdle_costs"), input: network=input_sb_network, sb_network=lambda w: input_sb_network( @@ -253,6 +248,11 @@ rule simplify_sb_network: ), output: network=resources("cba/networks/simple_{planning_horizons}.nc"), + params: + tyndp_conventional_carriers=config_provider( + "electricity", "tyndp_conventional_carriers" + ), + hurdle_costs=config_provider("cba", "hurdle_costs"), script: scripts("cba/simplify_sb_network.py") @@ -265,8 +265,6 @@ def get_elec_project_build_years(w): rule fix_reference_sb_to_cba: - params: - build_years=get_elec_project_build_years, input: invest_grid=rules.retrieve_tyndp.output.invest_grid, guidelines=rules.retreive_cba_guidelines_reference_projects.output.file, @@ -278,6 +276,8 @@ rule fix_reference_sb_to_cba: logs("cba/fix_reference_sb_to_cba_{planning_horizons}.log"), benchmark: benchmarks("performances/cba/fix_reference_sb_to_cba_{planning_horizons}") + params: + build_years=get_elec_project_build_years, script: scripts("cba/fix_reference_sb_to_cba.py") @@ -285,11 +285,6 @@ rule fix_reference_sb_to_cba: # Build reference network with all TOOT projects included # Ensures MSV extraction and rolling horizon use the same baseline rule prepare_reference: - params: - hurdle_costs=config_provider("cba", "hurdle_costs"), - patch_sb_with_annexe=config_provider( - "tyndp_investment_candidates", "patch_sb_with_annexe" - ), input: network=rules.simplify_sb_network.output.network, transmission_projects=rules.clean_projects.output.transmission_projects, @@ -298,21 +293,26 @@ rule prepare_reference: costs=resources("costs_{planning_horizons}_processed.csv"), output: network=resources("cba/networks/reference_{planning_horizons}.nc"), + params: + hurdle_costs=config_provider("cba", "hurdle_costs"), + patch_sb_with_annexe=config_provider( + "tyndp_investment_candidates", "patch_sb_with_annexe" + ), script: scripts("cba/prepare_reference.py") # Generate snapshot weightings for MSV extraction temporal aggregation rule build_msv_snapshot_weightings: - params: - msv_resolution=config_provider("cba", "msv_extraction", "resolution"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: network=rules.prepare_reference.output.network, output: snapshot_weightings=resources( "cba/msv_snapshot_weightings_{planning_horizons}.csv" ), + params: + msv_resolution=config_provider("cba", "msv_extraction", "resolution"), + drop_leap_day=config_provider("enable", "drop_leap_day"), script: "../scripts/cba/build_msv_snapshot_weightings.py" @@ -327,11 +327,6 @@ def input_msv_snapshot_weightings(w): # Extract marginal storage values via perfect foresight solve (full year with cyclicity enabled) rule solve_cba_msv_extraction: - params: - solving=config_provider("solving"), - cba_solving=config_provider("cba", "msv_extraction", "solving"), - msv_resolution=config_provider("cba", "msv_extraction", "resolution"), - cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"), input: network=rules.prepare_reference.output.network, snapshot_weightings=input_msv_snapshot_weightings, @@ -342,31 +337,32 @@ rule solve_cba_msv_extraction: memory=RESULTS + "logs/cba/msv/{planning_horizons}_memory.log", python=RESULTS + "logs/cba/msv/{planning_horizons}_python.log", threads: solver_threads + params: + solving=config_provider("solving"), + cba_solving=config_provider("cba", "msv_extraction", "solving"), + msv_resolution=config_provider("cba", "msv_extraction", "resolution"), + cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"), script: "../scripts/cba/solve_cba_msv_extraction.py" # Prepare network for rolling horizon: disable seasonal cyclicity, apply marginal storage value rule prepare_rolling_horizon: - params: - cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"), - soc_boundary_carriers=config_provider("cba", "storage", "soc_boundary_carriers"), - msv_resample_method=config_provider("cba", "msv_extraction", "resample_method"), input: network=rules.prepare_reference.output.network, network_msv=rules.solve_cba_msv_extraction.output.network, output: network=resources("cba/networks/rl_{planning_horizons}.nc"), + params: + cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"), + soc_boundary_carriers=config_provider("cba", "storage", "soc_boundary_carriers"), + msv_resample_method=config_provider("cba", "msv_extraction", "resample_method"), script: scripts("cba/prepare_rolling_horizon.py") # add or remove the cba project based on assigned method rule prepare_project: - params: - hurdle_costs=config_provider("cba", "hurdle_costs"), - cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"), - soc_boundary_carriers=config_provider("cba", "storage", "soc_boundary_carriers"), input: network=rules.prepare_rolling_horizon.output.network, network_msv=rules.solve_cba_msv_extraction.output.network, @@ -378,18 +374,16 @@ rule prepare_project: network=temp( resources("cba/networks/project_{cba_project}_{planning_horizons}.nc") ), + params: + hurdle_costs=config_provider("cba", "hurdle_costs"), + cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"), + soc_boundary_carriers=config_provider("cba", "storage", "soc_boundary_carriers"), script: scripts("cba/prepare_project.py") # Solve reference network with rolling horizon (MSV already applied) rule solve_cba_reference_network: - params: - solving=config_provider("solving"), - cba_solving=config_provider("cba", "solving"), - foresight=config_provider("foresight"), - time_resolution=config_provider("clustering", "temporal", "resolution_sector"), - custom_extra_functionality=None, input: network=rules.prepare_rolling_horizon.output.network, output: @@ -399,18 +393,18 @@ rule solve_cba_reference_network: memory=RESULTS + "logs/cba/reference/reference_{planning_horizons}_memory.log", python=RESULTS + "logs/cba/reference/reference_{planning_horizons}_python.log", threads: 1 - script: - scripts("cba/solve_cba_network.py") - - -# Solve TOOT/PINT project network with rolling horizon -rule solve_cba_network: params: solving=config_provider("solving"), cba_solving=config_provider("cba", "solving"), foresight=config_provider("foresight"), time_resolution=config_provider("clustering", "temporal", "resolution_sector"), custom_extra_functionality=None, + script: + scripts("cba/solve_cba_network.py") + + +# Solve TOOT/PINT project network with rolling horizon +rule solve_cba_network: input: network=resources("cba/networks/project_{cba_project}_{planning_horizons}.nc"), output: @@ -423,6 +417,12 @@ rule solve_cba_network: python=RESULTS + "logs/cba/projects/project_{cba_project}_{planning_horizons}_python.log", threads: 1 + params: + solving=config_provider("solving"), + cba_solving=config_provider("cba", "solving"), + foresight=config_provider("foresight"), + time_resolution=config_provider("clustering", "temporal", "resolution_sector"), + custom_extra_functionality=None, script: scripts("cba/solve_cba_network.py") @@ -486,13 +486,13 @@ rule collect_indicators: rule plot_indicators: - params: - plotting=config_provider("plotting"), input: indicators=rules.collect_indicators.output.indicators, transmission_projects=rules.clean_projects.output.transmission_projects, output: plot_dir=directory(RESULTS + "cba/plots_{planning_horizons}"), + params: + plotting=config_provider("plotting"), script: scripts("cba/plot_indicators.py") diff --git a/rules/collect.smk b/rules/collect.smk index 5f63d92301..028034e468 100644 --- a/rules/collect.smk +++ b/rules/collect.smk @@ -32,30 +32,28 @@ rule process_costs: rule cluster_networks: - message: - "Collecting clustered network files" input: expand( resources("networks/base_s_{clusters}.nc"), **config["scenario"], run=config["run"]["name"], ), + message: + "Collecting clustered network files" rule prepare_elec_networks: - message: - "Collecting prepared electricity network files" input: expand( resources("networks/base_s_{clusters}_elec_{opts}.nc"), **config["scenario"], run=config["run"]["name"], ), + message: + "Collecting prepared electricity network files" rule prepare_sector_networks: - message: - "Collecting prepared sector-coupled network files" input: expand( resources( @@ -64,22 +62,22 @@ rule prepare_sector_networks: **config["scenario"], run=config["run"]["name"], ), + message: + "Collecting prepared sector-coupled network files" rule solve_elec_networks: - message: - "Collecting solved electricity network files" input: expand( RESULTS + "networks/base_s_{clusters}_elec_{opts}.nc", **config["scenario"], run=config["run"]["name"], ), + message: + "Collecting solved electricity network files" rule solve_sector_networks: - message: - "Collecting solved sector-coupled network files" input: expand( RESULTS @@ -87,11 +85,11 @@ rule solve_sector_networks: **config["scenario"], run=config["run"]["name"], ), + message: + "Collecting solved sector-coupled network files" rule solve_sector_networks_perfect: - message: - "Collecting solved sector-coupled network files with perfect foresight" input: expand( RESULTS @@ -99,6 +97,8 @@ rule solve_sector_networks_perfect: **config["scenario"], run=config["run"]["name"], ), + message: + "Collecting solved sector-coupled network files with perfect foresight" def balance_map_paths(kind, w): @@ -118,11 +118,11 @@ def balance_map_paths(kind, w): rule plot_balance_maps: - message: - "Plotting energy balance maps" input: static=lambda w: balance_map_paths("static", w), interactive=lambda w: balance_map_paths("interactive", w), + message: + "Plotting energy balance maps" rule plot_balance_maps_static: @@ -136,14 +136,14 @@ rule plot_balance_maps_interactive: rule plot_power_networks_clustered: - message: - "Plotting clustered power network topology" input: expand( resources("maps/power-network-s-{clusters}.pdf"), **config["scenario"], run=config["run"]["name"], ), + message: + "Plotting clustered power network topology" rule rulegraphs: diff --git a/rules/development.smk b/rules/development.smk index fb2f267a01..cdbd6616fd 100644 --- a/rules/development.smk +++ b/rules/development.smk @@ -4,17 +4,6 @@ rule base_network_incumbent: - message: - "Building base network to which to compare against." - params: - countries=config_provider("countries"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - lines=config_provider("lines"), - links=config_provider("links"), - transformers=config_provider("transformers"), - clustering=config_provider("clustering", "mode"), - admin_levels=config_provider("clustering", "administrative"), input: unpack(input_base_network_incumbent), nuts3_shapes=resources("nuts3_shapes.geojson"), @@ -33,20 +22,22 @@ rule base_network_incumbent: threads: 4 resources: mem_mb=2000, + params: + countries=config_provider("countries"), + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + lines=config_provider("lines"), + links=config_provider("links"), + transformers=config_provider("transformers"), + clustering=config_provider("clustering", "mode"), + admin_levels=config_provider("clustering", "administrative"), + message: + "Building base network to which to compare against." script: - "../scripts/base_network.py" + scripts("base_network.py") rule make_network_comparison: - message: - "Create network comparison between two PyPSA networks." - params: - countries=config_provider("countries"), - base_network=config_provider("electricity", "base_network"), - compare_to_version=config_provider( - "osm_network_release", "compare_to", "version" - ), - voltages=config_provider("electricity", "voltages"), input: n_release=resources("networks/base.nc"), n_incumbent=resources("osm/comparison/incumbent/networks/base.nc"), @@ -61,18 +52,20 @@ rule make_network_comparison: threads: 1 resources: mem_mb=2000, + params: + countries=config_provider("countries"), + base_network=config_provider("electricity", "base_network"), + compare_to_version=config_provider( + "osm_network_release", "compare_to", "version" + ), + voltages=config_provider("electricity", "voltages"), + message: + "Create network comparison between two PyPSA networks." script: - "../scripts/make_network_comparison.py" + scripts("make_network_comparison.py") rule prepare_osm_network_release: - message: - "Preparing OSM network release files and map." - params: - line_types=config["lines"]["types"], - release_version=config_provider("osm_network_release", "release_version"), - include_polygons=True, - export=True, input: base_network=resources("networks/base.nc"), stations_polygon=resources("osm/build/geojson/stations_polygon.geojson"), @@ -91,18 +84,18 @@ rule prepare_osm_network_release: threads: 1 resources: mem_mb=1000, + params: + line_types=config["lines"]["types"], + release_version=config_provider("osm_network_release", "release_version"), + include_polygons=True, + export=True, + message: + "Preparing OSM network release files and map." script: - "../scripts/prepare_osm_network_release.py" + scripts("prepare_osm_network_release.py") rule map_incumbent: - message: - "Preparing map of incumbent network for comparison with OSM release." - params: - line_types=config["lines"]["types"], - release_version="Incumbent", - include_polygons=False, - export=False, input: base_network=resources("osm/comparison/incumbent/networks/base.nc"), output: @@ -114,13 +107,18 @@ rule map_incumbent: threads: 1 resources: mem_mb=1000, + params: + line_types=config["lines"]["types"], + release_version="Incumbent", + include_polygons=False, + export=False, + message: + "Preparing map of incumbent network for comparison with OSM release." script: - "../scripts/prepare_osm_network_release.py" + scripts("prepare_osm_network_release.py") rule osm_release: - message: - "Creating OSM network release files, map and comparison with incumbent network." input: resources("osm/release/buses.csv"), resources("osm/release/converters.csv"), @@ -130,3 +128,5 @@ rule osm_release: resources("osm/release/map.html"), resources("osm/comparison/map_incumbent.html"), resources("osm/comparison/lengths.pdf"), + message: + "Creating OSM network release files, map and comparison with incumbent network." diff --git a/rules/postprocess.smk b/rules/postprocess.smk index 6b6dc84f49..7f873fe9fd 100644 --- a/rules/postprocess.smk +++ b/rules/postprocess.smk @@ -7,47 +7,42 @@ if config["foresight"] != "perfect": rule plot_base_network: - message: - "Plotting base power network" - params: - plotting=config_provider("plotting"), input: network=resources("networks/base.nc"), regions_onshore=resources("regions_onshore.geojson"), output: map=resources("maps/power-network.pdf"), + benchmark: + benchmarks("performances/plot_base_network/base") threads: 1 resources: mem_mb=4000, - benchmark: - benchmarks("performances/plot_base_network/base") + params: + plotting=config_provider("plotting"), + message: + "Plotting base power network" script: scripts("plot_base_network.py") rule plot_power_network_clustered: - message: - "Plotting clustered power network for {wildcards.clusters} clusters" - params: - plotting=config_provider("plotting"), input: network=resources("networks/base_s_{clusters}.nc"), regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"), output: map=resources("maps/power-network-s-{clusters}.pdf"), + benchmark: + benchmarks("performances/plot_power_network_clustered/base_s_{clusters}") threads: 1 resources: mem_mb=4000, - benchmark: - benchmarks("performances/plot_power_network_clustered/base_s_{clusters}") + params: + plotting=config_provider("plotting"), + message: + "Plotting clustered power network for {wildcards.clusters} clusters" script: scripts("plot_power_network_clustered.py") rule plot_power_network: - message: - "Plotting power network for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" - params: - plotting=config_provider("plotting"), - transmission_limit=config_provider("electricity", "transmission_limit"), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -55,9 +50,6 @@ if config["foresight"] != "perfect": output: map=RESULTS + "maps/static/base_s_{clusters}_{opts}_{sector_opts}-costs-all_{planning_horizons}.pdf", - threads: 2 - resources: - mem_mb=10000, log: RESULTS + "logs/plot_power_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", @@ -66,17 +58,18 @@ if config["foresight"] != "perfect": RESULTS + "benchmarks/performances/plot_power_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + threads: 2 + resources: + mem_mb=10000, + params: + plotting=config_provider("plotting"), + transmission_limit=config_provider("electricity", "transmission_limit"), + message: + "Plotting power network for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" script: scripts("plot_power_network.py") rule plot_hydrogen_network: - message: - "Plotting hydrogen network for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" - params: - plotting=config_provider("plotting"), - foresight=config_provider("foresight"), - tyndp_h2_topology=config_provider("sector", "h2_topology_tyndp"), - sector=config_provider("sector"), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -88,9 +81,6 @@ if config["foresight"] != "perfect": output: map=RESULTS + "maps/static/base_s_{clusters}_{opts}_{sector_opts}-h2_network_{planning_horizons}.pdf", - threads: 2 - resources: - mem_mb=10000, log: RESULTS + "logs/plot_hydrogen_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", @@ -99,14 +89,20 @@ if config["foresight"] != "perfect": RESULTS + "benchmarks/performances/plot_hydrogen_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + threads: 2 + resources: + mem_mb=10000, + params: + plotting=config_provider("plotting"), + foresight=config_provider("foresight"), + tyndp_h2_topology=config_provider("sector", "h2_topology_tyndp"), + sector=config_provider("sector"), + message: + "Plotting hydrogen network for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" script: scripts("plot_hydrogen_network.py") rule plot_gas_network: - message: - "Plotting methane network for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizon" - params: - plotting=config_provider("plotting"), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -114,9 +110,6 @@ if config["foresight"] != "perfect": output: map=RESULTS + "maps/static/base_s_{clusters}_{opts}_{sector_opts}-ch4_network_{planning_horizons}.pdf", - threads: 2 - resources: - mem_mb=10000, log: RESULTS + "logs/plot_gas_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", @@ -125,15 +118,17 @@ if config["foresight"] != "perfect": RESULTS + "benchmarks/performances/plot_gas_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + threads: 2 + resources: + mem_mb=10000, + params: + plotting=config_provider("plotting"), + message: + "Plotting methane network for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizon" script: scripts("plot_gas_network.py") rule plot_balance_map: - message: - "Plotting balance map for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options, {wildcards.planning_horizons} planning horizons and {wildcards.carrier} carrier" - params: - plotting=config_provider("plotting"), - settings=lambda w: config_provider("plotting", "balance_map", w.carrier), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -141,9 +136,6 @@ if config["foresight"] != "perfect": output: RESULTS + "maps/static/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}-balance_map_{carrier}.pdf", - threads: 1 - resources: - mem_mb=8000, log: RESULTS + "logs/plot_balance_map/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", @@ -152,10 +144,41 @@ if config["foresight"] != "perfect": RESULTS + "benchmarks/performances/plot_balance_map/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}" ) + threads: 1 + resources: + mem_mb=8000, + params: + plotting=config_provider("plotting"), + settings=lambda w: config_provider("plotting", "balance_map", w.carrier), + message: + "Plotting balance map for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options, {wildcards.planning_horizons} planning horizons and {wildcards.carrier} carrier" script: scripts("plot_balance_map.py") rule plot_balance_map_interactive: + input: + network=RESULTS + + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", + regions=resources("regions_onshore_base_s_{clusters}.geojson"), + buses_h2=branch( + config_provider("sector", "h2_topology_tyndp"), + resources("tyndp/build/geojson/buses_h2.geojson"), + [], + ), + output: + RESULTS + + "maps/interactive/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}-balance_map_{carrier}.html", + log: + RESULTS + + "logs/plot_balance_map_interactive/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", + benchmark: + ( + RESULTS + + "benchmarks/performances/plot_interactive_map/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}" + ) + threads: 1 + resources: + mem_mb=8000, params: settings=lambda w: config_provider( "plotting", "balance_map_interactive", w.carrier @@ -179,36 +202,10 @@ if config["foresight"] != "perfect": if w.carrier in ("AC", "H2") else False ), - input: - network=RESULTS - + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", - regions=resources("regions_onshore_base_s_{clusters}.geojson"), - buses_h2=branch( - config_provider("sector", "h2_topology_tyndp"), - resources("tyndp/build/geojson/buses_h2.geojson"), - [], - ), - output: - RESULTS - + "maps/interactive/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}-balance_map_{carrier}.html", - threads: 1 - resources: - mem_mb=8000, - log: - RESULTS - + "logs/plot_balance_map_interactive/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", - benchmark: - ( - RESULTS - + "benchmarks/performances/plot_interactive_map/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}" - ) script: scripts("plot_balance_map_interactive.py") rule plot_heat_source_map: - params: - plotting=config_provider("plotting"), - heat_sources=config_provider("sector", "heat_pump_sources"), input: regions=resources("regions_onshore_base_s_{clusters}.geojson"), heat_source_temperature=lambda w: ( @@ -232,9 +229,6 @@ if config["foresight"] != "perfect": + "maps/static/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}-heat_source_temperature_map_{carrier}.html", energy_map=RESULTS + "maps/static/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}-heat_source_energy_map_{carrier}.html", - threads: 1 - resources: - mem_mb=150000, log: RESULTS + "logs/plot_heat_source_map/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", @@ -243,6 +237,12 @@ if config["foresight"] != "perfect": RESULTS + "benchmarks/performances/plot_heat_source_map/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}" ) + threads: 1 + resources: + mem_mb=150000, + params: + plotting=config_provider("plotting"), + heat_sources=config_provider("sector", "heat_pump_sources"), script: scripts("plot_heat_source_map.py") @@ -258,10 +258,6 @@ if config["foresight"] == "perfect": } rule plot_power_network_perfect: - message: - "Plotting power network with perfect foresight for {wildcards.clusters} clusters, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - plotting=config_provider("plotting"), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_brownfield_all_years.nc", @@ -271,13 +267,15 @@ if config["foresight"] == "perfect": threads: 2 resources: mem_mb=10000, + params: + plotting=config_provider("plotting"), + message: + "Plotting power network with perfect foresight for {wildcards.clusters} clusters, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("plot_power_network_perfect.py") rule make_summary: - message: - "Creating optimization results summary statistics" input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -310,9 +308,6 @@ rule make_summary: + "csvs/individual/market_values_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.csv", metrics=RESULTS + "csvs/individual/metrics_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.csv", - threads: 1 - resources: - mem_mb=8000, log: RESULTS + "logs/make_summary_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", @@ -321,16 +316,16 @@ rule make_summary: RESULTS + "benchmarks/performances/make_summary_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + threads: 1 + resources: + mem_mb=8000, + message: + "Creating optimization results summary statistics" script: scripts("make_summary.py") rule make_global_summary: - message: - "Creating global summary of optimization results for all scenarios" - params: - scenario=config_provider("scenario"), - RDIR=RDIR, input: nodal_costs=expand( RESULTS @@ -431,49 +426,43 @@ rule make_global_summary: nodal_capacities=RESULTS + "csvs/nodal_capacities.csv", nodal_energy_balance=RESULTS + "csvs/nodal_energy_balance.csv", nodal_capacity_factors=RESULTS + "csvs/nodal_capacity_factors.csv", - threads: 1 - resources: - mem_mb=8000, log: RESULTS + "logs/make_global_summary.log", benchmark: RESULTS + "benchmarks/performances/make_global_summary" + threads: 1 + resources: + mem_mb=8000, + params: + scenario=config_provider("scenario"), + RDIR=RDIR, + message: + "Creating global summary of optimization results for all scenarios" script: scripts("make_global_summary.py") rule make_cumulative_costs: - message: - "Calculating cumulative costs over time horizon" - params: - scenario=config_provider("scenario"), input: costs=RESULTS + "csvs/costs.csv", output: cumulative_costs=RESULTS + "csvs/cumulative_costs.csv", - threads: 1 - resources: - mem_mb=4000, log: RESULTS + "logs/make_cumulative_costs.log", benchmark: RESULTS + "benchmarks/performances/make_cumulative_costs" + threads: 1 + resources: + mem_mb=4000, + params: + scenario=config_provider("scenario"), + message: + "Calculating cumulative costs over time horizon" script: scripts("make_cumulative_costs.py") rule plot_summary: - message: - "Plotting summary statistics and results" - params: - countries=config_provider("countries"), - planning_horizons=config_provider("scenario", "planning_horizons"), - emissions_scope=config_provider("energy", "emissions"), - plotting=config_provider("plotting"), - foresight=config_provider("foresight"), - co2_budget=config_provider("co2_budget"), - sector=config_provider("sector"), - RDIR=RDIR, input: costs=RESULTS + "csvs/costs.csv", energy=RESULTS + "csvs/energy.csv", @@ -481,72 +470,83 @@ rule plot_summary: eurostat=resources("eurostat_energy_balances.csv"), co2=rules.retrieve_ghg_emissions.output["csv"], output: - costs=RESULTS + "graphs/costs.svg", - energy=RESULTS + "graphs/energy.svg", - balances=RESULTS + "graphs/balances-energy.svg", + costs=RESULTS + "graphs/costs.pdf", + energy=RESULTS + "graphs/energy.pdf", + balances=RESULTS + "graphs/balances-energy.pdf", + log: + RESULTS + "logs/plot_summary.log", threads: 2 resources: mem_mb=10000, - log: - RESULTS + "logs/plot_summary.log", + params: + countries=config_provider("countries"), + planning_horizons=config_provider("scenario", "planning_horizons"), + emissions_scope=config_provider("energy", "emissions"), + plotting=config_provider("plotting"), + foresight=config_provider("foresight"), + co2_budget=config_provider("co2_budget"), + sector=config_provider("sector"), + RDIR=RDIR, + message: + "Plotting summary statistics and results" script: scripts("plot_summary.py") rule plot_balance_timeseries: - message: - "Plotting energy balance time series for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" - params: - plotting=config_provider("plotting"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", rc="matplotlibrc", - threads: 16 - resources: - mem_mb=10000, + output: + directory( + RESULTS + + "graphics/balance_timeseries/s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" + ), log: RESULTS + "logs/plot_balance_timeseries/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", benchmark: RESULTS + "benchmarks/performances/plot_balance_timeseries/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" - output: - directory( - RESULTS - + "graphics/balance_timeseries/s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" - ), + threads: 16 + resources: + mem_mb=10000, + params: + plotting=config_provider("plotting"), + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Plotting energy balance time series for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" script: scripts("plot_balance_timeseries.py") rule plot_heatmap_timeseries: - message: - "Plotting heatmap time series visualization for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" - params: - plotting=config_provider("plotting"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", rc="matplotlibrc", - threads: 16 - resources: - mem_mb=10000, + output: + directory( + RESULTS + + "graphics/heatmap_timeseries/s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" + ), log: RESULTS + "logs/plot_heatmap_timeseries/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", benchmark: RESULTS + "benchmarks/performances/plot_heatmap_timeseries/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" - output: - directory( - RESULTS - + "graphics/heatmap_timeseries/s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" - ), + threads: 16 + resources: + mem_mb=10000, + params: + plotting=config_provider("plotting"), + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + message: + "Plotting heatmap time series visualization for {wildcards.clusters} clusters, {wildcards.opts} electric options, {wildcards.sector_opts} sector options and {wildcards.planning_horizons} planning horizons" script: scripts("plot_heatmap_timeseries.py") @@ -565,11 +565,6 @@ STATISTICS_BARPLOTS = [ rule plot_base_statistics: - message: - "Plotting base scenario statistics for {wildcards.clusters} clusters and {wildcards.opts} electric options" - params: - plotting=config_provider("plotting"), - barplots=STATISTICS_BARPLOTS, input: network=RESULTS + "networks/base_s_{clusters}_elec_{opts}.nc", output: @@ -580,6 +575,11 @@ rule plot_base_statistics: }, barplots_touch=RESULTS + "figures/.statistics_plots_base_s_{clusters}_elec_{opts}", + params: + plotting=config_provider("plotting"), + barplots=STATISTICS_BARPLOTS, + message: + "Plotting base scenario statistics for {wildcards.clusters} clusters and {wildcards.opts} electric options" script: scripts("plot_statistics.py") @@ -592,9 +592,6 @@ rule build_ambient_air_temperature_yearly_average: average_ambient_air_temperature=resources( "temp_ambient_air_base_s_{clusters}_temporal_aggregate.nc" ), - threads: 1 - resources: - mem_mb=5000, log: RESULTS + "logs/build_ambient_air_temperature_yearly_average/base_s_{clusters}", benchmark: @@ -602,6 +599,9 @@ rule build_ambient_air_temperature_yearly_average: RESULTS + "benchmarks/performances/build_ambient_air_temperature_yearly_average/base_s_{clusters}" ) + threads: 1 + resources: + mem_mb=5000, script: scripts("build_ambient_air_temperature_yearly_average.py") @@ -625,13 +625,6 @@ rule plot_cop_profiles: rule plot_interactive_bus_balance: - params: - plotting=config_provider("plotting"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - bus_name_pattern=config_provider( - "plotting", "interactive_bus_balance", "bus_name_pattern" - ), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -649,5 +642,12 @@ rule plot_interactive_bus_balance: + "benchmarks/performances/plot_interactive_bus_balance/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" resources: mem_mb=20000, + params: + plotting=config_provider("plotting"), + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + bus_name_pattern=config_provider( + "plotting", "interactive_bus_balance", "bus_name_pattern" + ), script: scripts("plot_interactive_bus_balance.py") diff --git a/rules/report.smk b/rules/report.smk index 3e2dc15635..e514d60f1c 100755 --- a/rules/report.smk +++ b/rules/report.smk @@ -4,15 +4,15 @@ rule report: - message: - "Compile report." - params: - fn="report", input: tex="report/report.tex", bib="report/references.bib", output: "report/report.pdf", + params: + fn="report", + message: + "Compile report." shell: """ pdflatex -output-directory report {input.tex} diff --git a/rules/retrieve.smk b/rules/retrieve.smk index bae40aa7f7..c83df6d38a 100755 --- a/rules/retrieve.smk +++ b/rules/retrieve.smk @@ -32,12 +32,12 @@ if (EUROSTAT_BALANCES_DATASET := dataset_version("eurostat_balances"))["source"] ]: rule retrieve_eurostat_balances: - message: - "Retrieving Eurostat balances data" input: tsv_gz=storage(EUROSTAT_BALANCES_DATASET["url"]), output: tsv_gz=f"{EUROSTAT_BALANCES_DATASET['folder']}/estat_nrg_bal_c.tsv.gz", + message: + "Retrieving Eurostat balances data" run: copy2(input["tsv_gz"], output["tsv_gz"]) @@ -52,12 +52,12 @@ if ( ]: rule retrieve_eurostat_household_balances: - message: - "Retrieving Eurostat household balances data" input: csv=storage(EUROSTAT_HOUSEHOLD_BALANCES_DATASET["url"]), output: csv=f"{EUROSTAT_HOUSEHOLD_BALANCES_DATASET['folder']}/nrg_d_hhq.csv", + message: + "Retrieving Eurostat household balances data" run: copy2(input["csv"], output["csv"]) @@ -65,16 +65,17 @@ if ( if (SWISS_ENERGY_BALANCES_DATASET := dataset_version("swiss_energy_balances"))[ "source" ] in [ + "archive", "primary", ]: rule retrieve_swiss_energy_balances: - message: - "Retrieving Swiss energy balances data" input: xlsx=storage(SWISS_ENERGY_BALANCES_DATASET["url"]), output: xlsx=f"{SWISS_ENERGY_BALANCES_DATASET['folder']}/12361-VWZ_Webtabellen_2024.xlsx", + message: + "Retrieving Swiss energy balances data" run: copy2(input["xlsx"], output["xlsx"]) @@ -85,13 +86,13 @@ if (NUTS3_POPULATION_DATASET := dataset_version("nuts3_population"))["source"] i ]: rule retrieve_nuts3_population: - message: - "Retrieving NUTS3 population data" input: gz=storage(NUTS3_POPULATION_DATASET["url"]), output: gz=f"{NUTS3_POPULATION_DATASET['folder']}/nama_10r_3popgdp.tsv.gz", retries: 2 + message: + "Retrieving NUTS3 population data" run: copy2(input["gz"], output["gz"]) @@ -99,13 +100,13 @@ if (NUTS3_POPULATION_DATASET := dataset_version("nuts3_population"))["source"] i if (CORINE_DATASET := dataset_version("corine"))["source"] in ARCHIVE_SOURCES: rule retrieve_corine: - message: - "Retrieving Corine land cover data" input: zip_file=storage(CORINE_DATASET["url"]), output: zip_file=f"{CORINE_DATASET['folder']}/corine.zip", tif_file=f"{CORINE_DATASET['folder']}/corine.tif", + message: + "Retrieving Corine land cover data" run: output_folder = Path(output["zip_file"]).parent unpack_archive(input["zip_file"], output_folder) @@ -117,18 +118,18 @@ if (CORINE_DATASET := dataset_version("corine"))["source"] in ARCHIVE_SOURCES: elif (CORINE_DATASET := dataset_version("corine"))["source"] in ["primary"]: rule retrieve_corine: - message: - "Retrieving Corine land cover data" - params: - apikey=os.environ.get("CORINE_API_TOKEN", ""), output: zip=f"{CORINE_DATASET['folder']}/corine.zip", tif_file=f"{CORINE_DATASET['folder']}/corine.tif", log: logs("retrieve_corine_primary.log"), + retries: 2 resources: mem_mb=1000, - retries: 2 + params: + apikey=os.environ.get("CORINE_API_TOKEN", ""), + message: + "Retrieving Corine land cover data" script: scripts("retrieve_corine_dataset_primary.py") @@ -138,13 +139,13 @@ if (H2_SALT_CAVERNS_DATASET := dataset_version("h2_salt_caverns"))[ ] in ARCHIVE_SOURCES: rule retrieve_h2_salt_caverns: - message: - "Retrieving H2 salt caverns data" input: geojson=storage(H2_SALT_CAVERNS_DATASET["url"]), output: geojson=f"{H2_SALT_CAVERNS_DATASET['folder']}/h2_salt_caverns_GWh_per_sqkm.geojson", retries: 2 + message: + "Retrieving H2 salt caverns data" run: copy2(input["geojson"], output["geojson"]) @@ -154,13 +155,13 @@ if (GDP_PER_CAPITA_DATASET := dataset_version("gdp_per_capita"))[ ] in ARCHIVE_SOURCES: rule retrieve_gdp_per_capita: - message: - "Retrieving GDP per capita data" input: gdp=storage(GDP_PER_CAPITA_DATASET["url"]), output: gdp=f"{GDP_PER_CAPITA_DATASET['folder']}/GDP_per_capita_PPP_1990_2015_v2.nc", retries: 2 + message: + "Retrieving GDP per capita data" run: copy2(input["gdp"], output["gdp"]) @@ -171,13 +172,13 @@ if (POPULATION_COUNT_DATASET := dataset_version("population_count"))["source"] i ]: rule retrieve_population_count: - message: - "Retrieving population count data" input: tif=storage(POPULATION_COUNT_DATASET["url"]), output: tif=f"{POPULATION_COUNT_DATASET['folder']}/ppp_2019_1km_Aggregated.tif", retries: 2 + message: + "Retrieving population count data" run: copy2(input["tif"], output["tif"]) @@ -198,8 +199,6 @@ if (GHG_EMISSIONS_DATASET := dataset_version("ghg_emissions"))["source"] in [ ]: rule retrieve_ghg_emissions: - message: - "Retrieving GHG emissions data" input: ghg=storage(GHG_EMISSIONS_DATASET["url"]), output: @@ -215,6 +214,8 @@ if (GHG_EMISSIONS_DATASET := dataset_version("ghg_emissions"))["source"] in [ else [] ), retries: 2 + message: + "Retrieving GHG emissions data" run: if GHG_EMISSIONS_DATASET["source"] == "primary": copy2(input["ghg"], output["zip"]) @@ -230,8 +231,6 @@ if (GEBCO_DATASET := dataset_version("gebco"))["source"] in [ ]: rule retrieve_gebco: - message: - "Retrieving GEBCO bathymetry data" input: storage(GEBCO_DATASET["url"]), output: @@ -241,6 +240,8 @@ if (GEBCO_DATASET := dataset_version("gebco"))["source"] in [ if GEBCO_DATASET["source"] == "primary" else [] ), + message: + "Retrieving GEBCO bathymetry data" run: if GEBCO_DATASET["source"] == "primary": import xarray as xr @@ -265,13 +266,13 @@ if (ATTRIBUTED_PORTS_DATASET := dataset_version("attributed_ports"))["source"] i ]: rule retrieve_attributed_ports: - message: - "Retrieving attributed ports data" input: json=storage(ATTRIBUTED_PORTS_DATASET["url"]), output: json=f"{ATTRIBUTED_PORTS_DATASET['folder']}/attributed_ports.json", retries: 2 + message: + "Retrieving attributed ports data" run: copy2(input["json"], output["json"]) @@ -282,13 +283,13 @@ if (JRC_IDEES_DATASET := dataset_version("jrc_idees"))["source"] in [ ]: rule retrieve_jrc_idees: - message: - "Retrieving JRC IDEES data" input: zip_file=storage(JRC_IDEES_DATASET["url"]), output: zip_file=f"{JRC_IDEES_DATASET['folder']}/jrc_idees.zip", directory=directory(JRC_IDEES_DATASET["folder"]), + message: + "Retrieving JRC IDEES data" run: copy2(input["zip_file"], output["zip_file"]) output_folder = Path(output["zip_file"]).parent @@ -301,8 +302,6 @@ if (EU_NUTS2013_DATASET := dataset_version("eu_nuts2013"))["source"] in [ ]: rule retrieve_eu_nuts_2013: - message: - "Retrieving EU NUTS 2013 data" input: shapes=storage(EU_NUTS2013_DATASET["url"]), output: @@ -312,6 +311,8 @@ if (EU_NUTS2013_DATASET := dataset_version("eu_nuts2013"))["source"] in [ ), shapes_level_3=f"{EU_NUTS2013_DATASET['folder']}/ref-nuts-2013-03m.geojson/NUTS_RG_03M_2013_4326_LEVL_3.geojson", shapes_level_2=f"{EU_NUTS2013_DATASET['folder']}/ref-nuts-2013-03m.geojson/NUTS_RG_03M_2013_4326_LEVL_2.geojson", + message: + "Retrieving EU NUTS 2013 data" run: copy2(input["shapes"], output["zip_file"]) unpack_archive(output["zip_file"], Path(output.shapes_level_3).parent) @@ -323,8 +324,6 @@ if (EU_NUTS2021_DATASET := dataset_version("eu_nuts2021"))["source"] in [ ]: rule retrieve_eu_nuts_2021: - message: - "Retrieving EU NUTS 2021 data" input: shapes=storage(EU_NUTS2021_DATASET["url"]), output: @@ -336,6 +335,8 @@ if (EU_NUTS2021_DATASET := dataset_version("eu_nuts2021"))["source"] in [ shapes_level_2=f"{EU_NUTS2021_DATASET['folder']}/ref-nuts-2021-01m.geojson/NUTS_RG_01M_2021_4326_LEVL_2.geojson", shapes_level_1=f"{EU_NUTS2021_DATASET['folder']}/ref-nuts-2021-01m.geojson/NUTS_RG_01M_2021_4326_LEVL_1.geojson", shapes_level_0=f"{EU_NUTS2021_DATASET['folder']}/ref-nuts-2021-01m.geojson/NUTS_RG_01M_2021_4326_LEVL_0.geojson", + message: + "Retrieving EU NUTS 2021 data" run: copy2(input["shapes"], output["zip_file"]) unpack_archive(output["zip_file"], Path(output.shapes_level_3).parent) @@ -354,9 +355,9 @@ if ( geojson=f"{BIDDING_ZONES_ELECTRICITYMAPS_DATASET['folder']}/bidding_zones_electricitymaps.geojson", log: "logs/retrieve_bidding_zones_electricitymaps.log", + retries: 2 resources: mem_mb=1000, - retries: 2 run: copy2(input["geojson"], output["geojson"]) @@ -370,9 +371,9 @@ if (BIDDING_ZONES_ENTSOEPY_DATASET := dataset_version("bidding_zones_entsoepy")) geojson=f"{BIDDING_ZONES_ENTSOEPY_DATASET['folder']}/bidding_zones_entsoepy.geojson", log: "logs/retrieve_bidding_zones_entsoepy.log", + retries: 2 resources: mem_mb=1000, - retries: 2 run: import entsoe import geopandas as gpd @@ -417,17 +418,17 @@ if (BIDDING_ZONES_ENTSOEPY_DATASET := dataset_version("bidding_zones_entsoepy")) if (CUTOUT_DATASET := dataset_version("cutout"))["source"] in ARCHIVE_SOURCES: rule retrieve_cutout: - message: - "Retrieving cutout data for {wildcards.cutout}" input: storage(CUTOUT_DATASET["url"] + "/{cutout}.nc"), output: CUTOUT_DATASET["folder"] + "/{cutout}.nc", log: "logs/retrieve_cutout/{cutout}.log", + retries: 2 resources: mem_mb=5000, - retries: 2 + message: + "Retrieving cutout data for {wildcards.cutout}" run: copy2(input[0], output[0]) @@ -437,12 +438,12 @@ if (COUNTRY_RUNOFF_DATASET := dataset_version("country_runoff"))[ ] in ARCHIVE_SOURCES: rule retrieve_country_runoff: - message: - "Retrieving country runoff data" input: storage(COUNTRY_RUNOFF_DATASET["url"]), output: era5_runoff=f"{COUNTRY_RUNOFF_DATASET['folder']}/era5-runoff-per-country.csv", + message: + "Retrieving country runoff data" run: copy2(input[0], output[0]) @@ -450,12 +451,12 @@ if (COUNTRY_RUNOFF_DATASET := dataset_version("country_runoff"))[ if (COUNTRY_HDD_DATASET := dataset_version("country_hdd"))["source"] in ARCHIVE_SOURCES: rule retrieve_country_hdd: - message: - "Retrieving country heating degree days data" input: storage(COUNTRY_HDD_DATASET["url"]), output: era5_runoff=f"{COUNTRY_HDD_DATASET['folder']}/era5-HDD-per-country.csv", + message: + "Retrieving country heating degree days data" run: copy2(input[0], output[0]) @@ -466,12 +467,12 @@ if (COSTS_DATASET := dataset_version("costs"))["source"] in [ ]: rule retrieve_cost_data: - message: - "Retrieving cost data for {wildcards.planning_horizons}" input: costs=storage(COSTS_DATASET["url"] + "/costs_{planning_horizons}.csv"), output: costs=COSTS_DATASET["folder"] + "/costs_{planning_horizons}.csv", + message: + "Retrieving cost data for {wildcards.planning_horizons}" run: copy2(input["costs"], output["costs"]) @@ -482,12 +483,12 @@ if (POWERPLANTS_DATASET := dataset_version("powerplants"))["source"] in [ ]: rule retrieve_powerplants: - message: - "Retrieving powerplants data" input: powerplants=storage(POWERPLANTS_DATASET["url"]), output: powerplants=f"{POWERPLANTS_DATASET['folder']}/powerplants.csv", + message: + "Retrieving powerplants data" run: copy2(input["powerplants"], output["powerplants"]) @@ -498,8 +499,6 @@ if (SCIGRID_GAS_DATASET := dataset_version("scigrid_gas"))["source"] in [ ]: rule retrieve_gas_infrastructure_data: - message: - "Retrieving SciGRID gas infrastructure data" input: zip_file=storage(SCIGRID_GAS_DATASET["url"]), output: @@ -507,6 +506,8 @@ if (SCIGRID_GAS_DATASET := dataset_version("scigrid_gas"))["source"] in [ entry=f"{SCIGRID_GAS_DATASET['folder']}/data/IGGIELGN_BorderPoints.geojson", storage=f"{SCIGRID_GAS_DATASET['folder']}/data/IGGIELGN_Storages.geojson", gas_network=f"{SCIGRID_GAS_DATASET['folder']}/data/IGGIELGN_PipeSegments.geojson", + message: + "Retrieving SciGRID gas infrastructure data" run: copy2(input["zip_file"], output["zip_file"]) output_folder = Path(output["zip_file"]).parent @@ -518,17 +519,17 @@ if (OPSD_DEMAND_DATA := dataset_version("opsd_electricity_demand"))["source"] in ]: rule retrieve_electricity_demand_opsd: - message: - "Retrieving electricity demand data from OPSD from build source" - params: - versions=["2019-06-05", "2020-10-06"], output: csv=f"{OPSD_DEMAND_DATA['folder']}/electricity_demand_opsd_raw.csv", log: "logs/retrieve_electricity_demand_opsd.log", + retries: 2 resources: mem_mb=5000, - retries: 2 + params: + versions=["2019-06-05", "2020-10-06"], + message: + "Retrieving electricity demand data from OPSD from build source" script: scripts("retrieve_electricity_demand_opsd.py") @@ -538,13 +539,13 @@ if (OPSD_DEMAND_DATA := dataset_version("opsd_electricity_demand"))[ ] in ARCHIVE_SOURCES: rule retrieve_electricity_demand_opsd: - message: - "Retrieving electricity demand data from OPSD from archive" input: csv=storage(OPSD_DEMAND_DATA["url"]), output: csv=f"{OPSD_DEMAND_DATA['folder']}/electricity_demand_opsd_raw.csv", retries: 2 + message: + "Retrieving electricity demand data from OPSD from archive" run: copy2(input["csv"], output["csv"]) @@ -594,24 +595,22 @@ if (ENTSOE_DEMAND_DATA := dataset_version("entsoe_electricity_demand"))["source" ] rule retrieve_electricity_demand_entsoe_country: - message: - "Retrieving electricity demand data from ENTSO-E for {wildcards.country}" - params: - entsoe_token=os.environ.get("ENTSOE_API_TOKEN", ""), output: csv=f"{ENTSOE_DEMAND_DATA['folder']}" + "/electricity_demand_entsoe_raw_{country}.csv", log: "logs/retrieve_electricity_demand_entsoe_{country}.log", + retries: 2 resources: mem_mb=2000, - retries: 2 + params: + entsoe_token=os.environ.get("ENTSOE_API_TOKEN", ""), + message: + "Retrieving electricity demand data from ENTSO-E for {wildcards.country}" script: scripts("retrieve_electricity_demand_entsoe.py") rule retrieve_electricity_demand_entsoe: - message: - "Retrieving electricity demand data from ENTSO-E from build source" input: csvs=expand( f"{ENTSOE_DEMAND_DATA['folder']}" @@ -620,6 +619,8 @@ if (ENTSOE_DEMAND_DATA := dataset_version("entsoe_electricity_demand"))["source" ), output: csv=f"{ENTSOE_DEMAND_DATA['folder']}/electricity_demand_entsoe_raw.csv", + message: + "Retrieving electricity demand data from ENTSO-E from build source" run: import pandas as pd @@ -633,13 +634,13 @@ if (ENTSOE_DEMAND_DATA := dataset_version("entsoe_electricity_demand"))[ ] in ARCHIVE_SOURCES: rule retrieve_electricity_demand_entsoe: - message: - "Retrieving electricity demand data from ENTSO-E from archive" input: csv=storage(ENTSOE_DEMAND_DATA["url"]), output: csv=f"{ENTSOE_DEMAND_DATA['folder']}/electricity_demand_entsoe_raw.csv", retries: 2 + message: + "Retrieving electricity demand data from ENTSO-E from archive" run: copy2(input["csv"], output["csv"]) @@ -649,15 +650,15 @@ if (NESO_DEMAND_DATA := dataset_version("neso_electricity_demand"))["source"] in ]: rule retrieve_electricity_demand_neso: - message: - "Retrieving electricity demand data from NESO from build source" output: csv=f"{NESO_DEMAND_DATA['folder']}/electricity_demand_neso_raw.csv", log: "logs/retrieve_electricity_demand_neso.log", + retries: 2 resources: mem_mb=5000, - retries: 2 + message: + "Retrieving electricity demand data from NESO from build source" script: scripts("retrieve_electricity_demand_neso.py") @@ -667,13 +668,13 @@ if (NESO_DEMAND_DATA := dataset_version("neso_electricity_demand"))[ ] in ARCHIVE_SOURCES: rule retrieve_electricity_demand_neso: - message: - "Retrieving electricity demand data from NESO from archive" input: csv=storage(NESO_DEMAND_DATA["url"]), output: csv=f"{NESO_DEMAND_DATA['folder']}/electricity_demand_neso_raw.csv", retries: 2 + message: + "Retrieving electricity demand data from NESO from archive" run: copy2(input["csv"], output["csv"]) @@ -688,34 +689,111 @@ if ( ]: rule retrieve_synthetic_electricity_demand: - message: - "Retrieving synthetic electricity demand data" input: csv=storage(SYNTHETIC_ELECTRICITY_DEMAND_DATASET["url"]), output: csv=f"{SYNTHETIC_ELECTRICITY_DEMAND_DATASET['folder']}/load_synthetic_raw.csv", retries: 2 + message: + "Retrieving synthetic electricity demand data" run: copy2(input["csv"], output["csv"]) +if (ENERGY_ATLAS_DATASET := dataset_version("jrc_energy_atlas"))["source"] in [ + "primary", + "archive", +]: + + rule retrieve_electricity_demand_energy_atlas: + output: + tif=f"{ENERGY_ATLAS_DATASET['folder']}/electricity_tot_demand_2019.tif", + message: + "Retrieving JRC Energy Atlas electricity demand data raster" + run: + import requests + + url = ENERGY_ATLAS_DATASET["url"] + response = requests.get(url) + response.raise_for_status() + with open(output["tif"], "wb") as f: + f.write(response.content) + + + +if ( + DESNZ_ELECTRICITY_CONSUMPTION_DATASET := dataset_version( + "desnz_electricity_consumption" + ) +)["source"] in ["primary", "archive"]: + + rule retrieve_desnz_electricity_consumption: + output: + xlsx=f"{DESNZ_ELECTRICITY_CONSUMPTION_DATASET['folder']}/Subnational_electricity_consumption_statistics_2005-2024.xlsx", + message: + "Retrieving DESNZ subnational electricity consumption data" + run: + import requests + + url = DESNZ_ELECTRICITY_CONSUMPTION_DATASET["url"] + response = requests.get(url) + response.raise_for_status() + with open(output["xlsx"], "wb") as f: + f.write(response.content) + + + +if (ONS_LAD_DATASET := dataset_version("ons_lad"))["source"] in ["archive"]: + + rule retrieve_ons_lad: + input: + geojson=storage(ONS_LAD_DATASET["url"]), + output: + geojson=f"{ONS_LAD_DATASET['folder']}/Local_Authority_Districts_May_2024_Boundaries__UK_BSC.geojson", + message: + "Retrieving UK ONS Local Authority Districts (LAD) Boundaries data" + run: + copy2(input["geojson"], output["geojson"]) + +elif ONS_LAD_DATASET["source"] in ["primary"]: + + rule retrieve_ons_lad: + output: + geojson=f"{ONS_LAD_DATASET['folder']}/Local_Authority_Districts_May_2024_Boundaries__UK_BSC.geojson", + message: + "Retrieving UK ONS Local Authority Districts (LAD) Boundaries data" + run: + import requests + + url = ONS_LAD_DATASET["url"] + params = { + "outFields": "*", + "where": "1=1", + "f": "geojson", + } + response = requests.get(url, params=params) + with open(output["geojson"], "wb") as f: + f.write(response.content) + + + if (SHIP_RASTER_DATASET := dataset_version("ship_raster"))["source"] in [ "primary", *ARCHIVE_SOURCES, ]: rule retrieve_ship_raster: - message: - "Retrieving shipping raster data" input: zip_file=storage(SHIP_RASTER_DATASET["url"]), output: zip_file=f"{SHIP_RASTER_DATASET['folder']}/shipdensity_global.zip", log: "logs/retrieve_ship_raster.log", + retries: 2 resources: mem_mb=5000, - retries: 2 + message: + "Retrieving shipping raster data" run: copy2(input["zip_file"], output["zip_file"]) @@ -726,13 +804,13 @@ if (ENSPRESO_BIOMASS_DATASET := dataset_version("enspreso_biomass"))["source"] i ]: rule retrieve_enspreso_biomass: - message: - "Retrieving ENSPRESO biomass data" input: xlsx=storage(ENSPRESO_BIOMASS_DATASET["url"]), output: xlsx=f"{ENSPRESO_BIOMASS_DATASET['folder']}/ENSPRESO_BIOMASS.xlsx", retries: 1 + message: + "Retrieving ENSPRESO biomass data" run: copy2(input["xlsx"], output["xlsx"]) @@ -745,13 +823,13 @@ if (HOTMAPS_INDUSTRIAL_SITES := dataset_version("hotmaps_industrial_sites"))[ ]: rule retrieve_hotmaps_industrial_sites: - message: - "Retrieving Hotmaps industrial sites" input: csv=storage(HOTMAPS_INDUSTRIAL_SITES["url"]), output: csv=f"{HOTMAPS_INDUSTRIAL_SITES['folder']}/Industrial_Database.csv", retries: 1 + message: + "Retrieving Hotmaps industrial sites" run: copy2(input["csv"], output["csv"]) @@ -764,13 +842,13 @@ if (NITROGEN_STATISTICS_DATASET := dataset_version("nitrogen_statistics"))[ ]: rule retrieve_nitrogen_statistics: - message: - "Retrieving nitrogen statistics data" input: xlsx=storage(NITROGEN_STATISTICS_DATASET["url"]), output: xlsx=f"{NITROGEN_STATISTICS_DATASET['folder']}/nitro-ert.xlsx", retries: 1 + message: + "Retrieving nitrogen statistics data" run: copy2(input["xlsx"], output["xlsx"]) @@ -782,12 +860,12 @@ if (COPERNICUS_LAND_COVER_DATASET := dataset_version("copernicus_land_cover"))[ # Downloading Copernicus Global Land Cover for land cover and land use: # Website: https://land.copernicus.eu/global/products/lc rule download_copernicus_land_cover: - message: - "Retrieving Copernicus land cover data" input: tif=storage(COPERNICUS_LAND_COVER_DATASET["url"]), output: tif=f"{COPERNICUS_LAND_COVER_DATASET['folder']}/Copernicus_LC100_global_v3.0.1_2019-nrt_Discrete-Classification-map_EPSG-4326.tif", + message: + "Retrieving Copernicus land cover data" run: copy2(input["tif"], output["tif"]) @@ -800,12 +878,12 @@ if (LUISA_LAND_COVER_DATASET := dataset_version("luisa_land_cover"))["source"] i # Downloading LUISA Base Map for land cover and land use: # Website: https://ec.europa.eu/jrc/en/luisa rule retrieve_luisa_land_cover: - message: - "Retrieving LUISA land cover data" input: tif=storage(LUISA_LAND_COVER_DATASET["url"]), output: tif=f"{LUISA_LAND_COVER_DATASET['folder']}/LUISA_basemap_020321_50m.tif", + message: + "Retrieving LUISA land cover data" run: copy2(input["tif"], output["tif"]) @@ -813,11 +891,11 @@ if (LUISA_LAND_COVER_DATASET := dataset_version("luisa_land_cover"))["source"] i if (EEZ_DATASET := dataset_version("eez"))["source"] in ["primary"]: rule retrieve_eez: - message: - "Retrieving EEZ data" output: zip_file=f"{EEZ_DATASET['folder']}/World_EEZ_{EEZ_DATASET['version']}_LR.zip", gpkg=f"{EEZ_DATASET['folder']}/World_EEZ_{EEZ_DATASET['version']}_LR/eez_{EEZ_DATASET['version'].split('_')[0]}_lowres.gpkg", + message: + "Retrieving EEZ data" run: from uuid import uuid4 @@ -847,8 +925,6 @@ if (EEZ_DATASET := dataset_version("eez"))["source"] in ["primary"]: elif (EEZ_DATASET := dataset_version("eez"))["source"] in ARCHIVE_SOURCES: rule retrieve_eez: - message: - "Retrieving EEZ data" input: zip_file=storage( EEZ_DATASET["url"], @@ -856,6 +932,8 @@ elif (EEZ_DATASET := dataset_version("eez"))["source"] in ARCHIVE_SOURCES: output: zip_file=f"{EEZ_DATASET['folder']}/World_EEZ_{EEZ_DATASET['version']}_LR.zip", gpkg=f"{EEZ_DATASET['folder']}/World_EEZ_{EEZ_DATASET['version']}_LR/eez_{EEZ_DATASET['version'].split('_')[0]}_lowres.gpkg", + message: + "Retrieving EEZ data" run: output_folder = Path(output["zip_file"]).parent copy2(input["zip_file"], output["zip_file"]) @@ -868,13 +946,13 @@ if (WB_URB_POP_DATASET := dataset_version("worldbank_urban_population"))["source ]: rule retrieve_worldbank_urban_population: - message: - "Retrieving World Bank urban population data" input: zip=storage(WB_URB_POP_DATASET["url"]), output: zip=f"{WB_URB_POP_DATASET['folder']}/API_SP.URB.TOTL.IN.ZS_DS2_en_csv_v2.zip", csv=f"{WB_URB_POP_DATASET['folder']}/API_SP.URB.TOTL.IN.ZS_DS2_en_csv_v2.csv", + message: + "Retrieving World Bank urban population data" run: copy2(input["zip"], output["zip"]) unpack_archive(output["zip"], WB_URB_POP_DATASET["folder"]) @@ -896,8 +974,6 @@ if (CO2STOP_DATASET := dataset_version("co2stop"))["source"] in [ ]: rule retrieve_co2stop: - message: - "Retrieving CO2STOP data" input: zip_file=storage(CO2STOP_DATASET["url"]), output: @@ -908,6 +984,8 @@ if (CO2STOP_DATASET := dataset_version("co2stop"))["source"] in [ traps_table2=f"{CO2STOP_DATASET['folder']}/CO2JRC_OpenFormats/CO2Stop_DataInterrogationSystem/Hydrocarbon_Traps_Temp.csv", traps_table3=f"{CO2STOP_DATASET['folder']}/CO2JRC_OpenFormats/CO2Stop_DataInterrogationSystem/Hydrocarbon_Traps1.csv", traps_map=f"{CO2STOP_DATASET['folder']}/CO2JRC_OpenFormats/CO2Stop_Polygons Data/DaughterUnits_March13.kml", + message: + "Retrieving CO2STOP data" run: output_folder = Path(output["zip_file"]).parent output_folder.mkdir(parents=True, exist_ok=True) @@ -923,12 +1001,12 @@ if (GEM_EUROPE_GAS_TRACKER_DATASET := dataset_version("gem_europe_gas_tracker")) ]: rule retrieve_gem_europe_gas_tracker: - message: - "Retrieving GEM Europe Gas Tracker data" input: xlsx=storage(GEM_EUROPE_GAS_TRACKER_DATASET["url"]), output: xlsx="data/gem/Europe-Gas-Tracker-2024-05.xlsx", + message: + "Retrieving GEM Europe Gas Tracker data" run: copy2(input["xlsx"], output["xlsx"]) @@ -939,12 +1017,12 @@ if (GEM_GSPT_DATASET := dataset_version("gem_gspt"))["source"] in [ ]: rule retrieve_gem_steel_plant_tracker: - message: - "Retrieving GEM Global Steel Plant Tracker data" input: xlsx=storage(GEM_GSPT_DATASET["url"]), output: xlsx=f"{GEM_GSPT_DATASET['folder']}/Global-Steel-Plant-Tracker.xlsx", + message: + "Retrieving GEM Global Steel Plant Tracker data" run: copy2(input["xlsx"], output["xlsx"]) @@ -971,12 +1049,12 @@ if (BFS_ROAD_VEHICLE_STOCK_DATASET := dataset_version("bfs_road_vehicle_stock")) ]: rule retrieve_bfs_road_vehicle_stock: - message: - "Retrieving BFS road vehicle stock data" input: csv=storage(BFS_ROAD_VEHICLE_STOCK_DATASET["url"]), output: csv=f"{BFS_ROAD_VEHICLE_STOCK_DATASET['folder']}/vehicle_stock.csv", + message: + "Retrieving BFS road vehicle stock data" run: copy2(input["csv"], output["csv"]) @@ -989,12 +1067,12 @@ if (BFS_GDP_AND_POPULATION_DATASET := dataset_version("bfs_gdp_and_population")) ]: rule retrieve_bfs_gdp_and_population: - message: - "Retrieving BFS GDP and population data" input: xlsx=storage(BFS_GDP_AND_POPULATION_DATASET["url"]), output: xlsx=f"{BFS_GDP_AND_POPULATION_DATASET['folder']}/gdp_and_population.xlsx", + message: + "Retrieving BFS GDP and population data" run: copy2(input["xlsx"], output["xlsx"]) @@ -1046,13 +1124,13 @@ if (WDPA_DATASET := dataset_version("wdpa"))["source"] in [ # extract the main zip and then merge the contained 3 zipped shapefiles # Website: https://www.protectedplanet.net/en/thematic-areas/wdpa rule retrieve_wdpa: - message: - "Downloading protected area database from WDPA" input: zip_file=storage(get_wdpa_url(WDPA_DATASET)), output: zip_file=f"{WDPA_DATASET['folder']}/WDPA_shp.zip", gpkg=f"{WDPA_DATASET['folder']}/WDPA.gpkg", + message: + "Downloading protected area database from WDPA" run: output_folder = Path(output["zip_file"]).parent copy2(input["zip_file"], output["zip_file"]) @@ -1080,16 +1158,16 @@ if (WDPA_MARINE_DATASET := dataset_version("wdpa_marine"))["source"] in [ ]: rule retrieve_wdpa_marine: - # Downloading Marine protected area database from WDPA - # extract the main zip and then merge the contained 3 zipped shapefiles - # Website: https://www.protectedplanet.net/en/thematic-areas/marine-protected-areas - message: - "Downloading Marine protected area database from WDPA" input: zip_file=storage(get_wdpa_url(WDPA_MARINE_DATASET)), output: zip_file=f"{WDPA_MARINE_DATASET['folder']}/WDPA_WDOECM_marine.zip", gpkg=f"{WDPA_MARINE_DATASET['folder']}/WDPA_WDOECM_marine.gpkg", + # Downloading Marine protected area database from WDPA + # extract the main zip and then merge the contained 3 zipped shapefiles + # Website: https://www.protectedplanet.net/en/thematic-areas/marine-protected-areas + message: + "Downloading Marine protected area database from WDPA" run: output_folder = Path(output["zip_file"]).parent copy2(input["zip_file"], output["zip_file"]) @@ -1114,15 +1192,15 @@ if (INSTRAT_CO2_PRICES_DATASET := dataset_version("instrat_co2_prices"))["source ]: rule retrieve_co2_prices: - message: - "Retrieving CO2 emission allowances price in EU ETS system" output: csv=f"{INSTRAT_CO2_PRICES_DATASET['folder']}/prices_eu_ets_all.csv", log: "logs/retrieve_co2_prices.log", + retries: 2 resources: mem_mb=5000, - retries: 2 + message: + "Retrieving CO2 emission allowances price in EU ETS system" run: import pandas as pd @@ -1145,12 +1223,12 @@ if ( )["source"] in ["primary", *ARCHIVE_SOURCES]: rule retrieve_worldbank_commodity_prices: - message: - "Retrieving monthly commodity price time series (including fossil fuels)" input: xlsx=storage(WORLD_BANK_COMMODITY_PRICES_DATASET["url"]), output: xlsx=f"{WORLD_BANK_COMMODITY_PRICES_DATASET['folder']}/CMO-Historical-Data-Monthly.xlsx", + message: + "Retrieving monthly commodity price time series (including fossil fuels)" run: copy2(input["xlsx"], output["xlsx"]) @@ -1163,8 +1241,6 @@ if (TYNDP_DATASET := dataset_version("tyndp"))["source"] in [ if not config["tyndp_scenario"]: rule retrieve_tyndp: - message: - "Retrieving TYNDP network topology data" input: line_data=storage(TYNDP_DATASET["url"] + "/Line-data.zip"), nodes=storage(TYNDP_DATASET["url"] + "/Nodes.zip"), @@ -1175,6 +1251,8 @@ if (TYNDP_DATASET := dataset_version("tyndp"))["source"] in [ nodes=f"{TYNDP_DATASET['folder']}/Nodes/LIST OF NODES.xlsx", log: "logs/retrieve_tyndp.log", + message: + "Retrieving TYNDP network topology data" run: for key in input.keys(): # Keep zip file @@ -1191,8 +1269,6 @@ if (TYNDP_DATASET := dataset_version("tyndp"))["source"] in [ else: rule retrieve_tyndp: - message: - "Retrieving TYNDP 2024 data package" input: line_data=storage(TYNDP_DATASET["url"] + "/Line-data.zip"), nodes=storage(TYNDP_DATASET["url"] + "/Nodes.zip"), @@ -1268,6 +1344,8 @@ if (TYNDP_DATASET := dataset_version("tyndp"))["source"] in [ market_outputs_NT2040_CY2009=f"{TYNDP_DATASET['folder']}/MMStandardOutputFile_NT2040_Plexos_CY2009_2.5_v40.xlsx", log: "logs/retrieve_tyndp.log", + message: + "Retrieving TYNDP 2024 data package" run: for key in input.keys(): # Keep zip file @@ -1341,8 +1419,6 @@ if OSM_DATASET["source"] in ARCHIVE_SOURCES: OSM_ARCHIVE_FILES = get_osm_archive_files(OSM_DATASET["version"]) rule retrieve_osm_archive: - message: - "Retrieving OSM archive data" input: **{ file: storage(f"{OSM_DATASET['url']}/{file}") @@ -1355,6 +1431,8 @@ if OSM_DATASET["source"] in ARCHIVE_SOURCES: threads: 1 resources: mem_mb=500, + message: + "Retrieving OSM archive data" run: for key in input.keys(): copy2(input[key], output[key]) @@ -1380,8 +1458,6 @@ if OSM_DATASET_INCUMBENT["source"] in ARCHIVE_SOURCES and OSM_DATASET_INCUMBENT[ ) rule retrieve_osm_archive_incumbent: - message: - "Retrieving OSM archive incumbent data" input: **{ file: storage(f"{OSM_DATASET_INCUMBENT['url']}/{file}") @@ -1397,6 +1473,8 @@ if OSM_DATASET_INCUMBENT["source"] in ARCHIVE_SOURCES and OSM_DATASET_INCUMBENT[ threads: 1 resources: mem_mb=500, + message: + "Retrieving OSM archive incumbent data" run: for key in input.keys(): copy2(input[key], output[key]) @@ -1413,10 +1491,6 @@ if OSM_DATASET["source"] == "build": ] rule retrieve_osm_data_raw: - message: - "Retrieving OSM electricity grid raw data for {wildcards.country}" - params: - overpass_api=config_provider("overpass_api"), output: **{ file.replace( @@ -1427,6 +1501,10 @@ if OSM_DATASET["source"] == "build": log: "logs/retrieve_osm_data_{country}.log", threads: 1 + params: + overpass_api=config_provider("overpass_api"), + message: + "Retrieving OSM electricity grid raw data for {wildcards.country}" script: scripts("retrieve_osm_data.py") @@ -1442,22 +1520,20 @@ if OSM_DATASET["source"] == "build": if (NATURA_DATASET := dataset_version("natura"))["source"] in ARCHIVE_SOURCES: rule retrieve_natura: - message: - "Retrieving Natura 2000 raster data" input: storage(NATURA_DATASET["url"]), output: f"{NATURA_DATASET['folder']}/natura.tiff", log: "logs/retrieve_natura.log", + message: + "Retrieving Natura 2000 raster data" run: copy2(input[0], output[0]) elif NATURA_DATASET["source"] == "build": rule build_natura_raster: - message: - "Building Natura 2000 raster data" input: online=storage(NATURA_DATASET["url"]), cutout=lambda w: input_cutout(w), @@ -1465,10 +1541,12 @@ elif NATURA_DATASET["source"] == "build": zip=f"{NATURA_DATASET['folder']}/raw/natura.zip", raw=directory(f"{NATURA_DATASET['folder']}/raw"), raster=f"{NATURA_DATASET['folder']}/natura.tiff", - resources: - mem_mb=5000, log: "logs/build_natura.log", + resources: + mem_mb=5000, + message: + "Building Natura 2000 raster data" script: scripts("build_natura.py") @@ -1478,13 +1556,13 @@ if (OSM_BOUNDARIES_DATASET := dataset_version("osm_boundaries"))["source"] in [ ]: rule retrieve_osm_boundaries: - message: - "Retrieving OSM admin boundaries for {wildcards.country}" output: json=f"{OSM_BOUNDARIES_DATASET['folder']}/{country}_adm1.json", log: "logs/retrieve_osm_boundaries_{country}_adm1.log", threads: 1 + message: + "Retrieving OSM admin boundaries for {wildcards.country}" script: scripts("retrieve_osm_boundaries.py") @@ -1493,8 +1571,6 @@ elif (OSM_BOUNDARIES_DATASET := dataset_version("osm_boundaries"))[ ] in ARCHIVE_SOURCES: rule retrieve_osm_boundaries: - message: - "Retrieving OSM admin boundaries data" input: storage( f"{OSM_BOUNDARIES_DATASET['url']}", @@ -1505,6 +1581,8 @@ elif (OSM_BOUNDARIES_DATASET := dataset_version("osm_boundaries"))[ json3=f"{OSM_BOUNDARIES_DATASET['folder']}/MD_adm1.json", json4=f"{OSM_BOUNDARIES_DATASET['folder']}/BA_adm1.json", zip_file=f"{OSM_BOUNDARIES_DATASET['folder']}/osm_boundaries.zip", + message: + "Retrieving OSM admin boundaries data" run: output_folder = Path(output["zip_file"]).parent copy2(input[0], output["zip_file"]) @@ -1518,8 +1596,6 @@ if ( )["source"] in ["primary", *ARCHIVE_SOURCES]: rule retrieve_geothermal_heat_utilisation_potentials: - message: - "Retrieving geothermal heat utilisation potentials" input: isi_heat_potentials=storage( GEOTHERMAL_HEAT_UTILISATION_POTENTIALS_DATASET["url"] @@ -1528,8 +1604,10 @@ if ( isi_heat_potentials=f"{GEOTHERMAL_HEAT_UTILISATION_POTENTIALS_DATASET['folder']}/isi_heat_utilisation_potentials.xlsx", log: "logs/retrieve_geothermal_heat_utilisation_potentials.log", - threads: 1 retries: 2 + threads: 1 + message: + "Retrieving geothermal heat utilisation potentials" run: copy2(input["isi_heat_potentials"], output["isi_heat_potentials"]) @@ -1540,37 +1618,35 @@ if (LAU_REGIONS_DATASET := dataset_version("lau_regions"))["source"] in [ ]: rule retrieve_lau_regions: - message: - "Retrieving Local Administrative Units and Administation Unit regions" input: lau_regions=storage(LAU_REGIONS_DATASET["url"]), output: zip=f"{LAU_REGIONS_DATASET['folder']}/lau_regions.zip", log: "logs/retrieve_lau_regions.log", - threads: 1 retries: 2 + threads: 1 + message: + "Retrieving Local Administrative Units and Administation Unit regions" run: copy2(input["lau_regions"], output["zip"]) rule retrieve_seawater_temperature: - message: - "Retrieving seawater temperature data for {wildcards.year}" - params: - default_cutout=config_provider("atlite", "default_cutout"), - test_data_url=dataset_version("seawater_temperature")["url"], output: seawater_temperature="data/seawater_temperature_{year}.nc", log: "logs/retrieve_seawater_temperature_{year}.log", resources: mem_mb=10000, + params: + default_cutout=config_provider("atlite", "default_cutout"), + test_data_url=dataset_version("seawater_temperature")["url"], + message: + "Retrieving seawater temperature data for {wildcards.year}" script: scripts("retrieve_seawater_temperature.py") rule retrieve_hera_data_test_cutout: - message: - "Retrieving HERA test cutout data" input: hera_data_url=storage( f"https://zenodo.org/records/15828866/files/hera_be_2013-03-01_to_2013-03-08.zip" @@ -1578,19 +1654,19 @@ if (LAU_REGIONS_DATASET := dataset_version("lau_regions"))["source"] in [ output: river_discharge=f"data/hera_be_2013-03-01_to_2013-03-08/river_discharge_be_2013-03-01_to_2013-03-08.nc", ambient_temperature=f"data/hera_be_2013-03-01_to_2013-03-08/ambient_temp_be_2013-03-01_to_2013-03-08.nc", - params: - folder="data", log: "logs/retrieve_hera_data_test_cutout.log", + retries: 2 resources: mem_mb=10000, - retries: 2 + params: + folder="data", + message: + "Retrieving HERA test cutout data" run: unpack_archive(input[0], params.folder) rule retrieve_hera_data: - message: - "Retrieving HERA data for {wildcards.year}" input: river_discharge=storage( "https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/CEMS-EFAS/HERA/VER1-0/Data/NetCDF/river_discharge/dis.HERA{year}.nc" @@ -1601,13 +1677,15 @@ if (LAU_REGIONS_DATASET := dataset_version("lau_regions"))["source"] in [ output: river_discharge="data/hera_{year}/river_discharge_{year}.nc", ambient_temperature="data/hera_{year}/ambient_temp_{year}.nc", - params: - snapshot_year="{year}", log: "logs/retrieve_hera_data_{year}.log", + retries: 2 resources: mem_mb=10000, - retries: 2 + params: + snapshot_year="{year}", + message: + "Retrieving HERA data for {wildcards.year}" run: move(input.river_discharge, output.river_discharge) move(input.ambient_temperature, output.ambient_temperature) @@ -1618,8 +1696,6 @@ if (JRC_ARDECO_DATASET := dataset_version("jrc_ardeco"))["source"] in [ ]: rule retrieve_jrc_ardeco: - message: - "Retrieving JRC ARDECO data" input: ardeco_gdp=storage( f"{JRC_ARDECO_DATASET['url']}/SUVGDP?versions=2021&unit=EUR&format=csv-table" @@ -1630,6 +1706,8 @@ if (JRC_ARDECO_DATASET := dataset_version("jrc_ardeco"))["source"] in [ output: ardeco_gdp=f"{JRC_ARDECO_DATASET['folder']}/ARDECO-SUVGDP.2021.table.csv", ardeco_pop=f"{JRC_ARDECO_DATASET['folder']}/ARDECO-SNPTD.2021.table.csv", + message: + "Retrieving JRC ARDECO data" run: for key in input.keys(): copy2(input[key], output[key]) @@ -1638,8 +1716,6 @@ if (JRC_ARDECO_DATASET := dataset_version("jrc_ardeco"))["source"] in [ elif (JRC_ARDECO_DATASET := dataset_version("jrc_ardeco"))["source"] in ARCHIVE_SOURCES: rule retrieve_jrc_ardeco: - message: - "Retrieving JRC ARDECO data" input: ardeco_gdp=storage( f"{JRC_ARDECO_DATASET['url']}/ARDECO-SUVGDP.2021.table.csv" @@ -1650,6 +1726,8 @@ elif (JRC_ARDECO_DATASET := dataset_version("jrc_ardeco"))["source"] in ARCHIVE_ output: ardeco_gdp=f"{JRC_ARDECO_DATASET['folder']}/ARDECO-SUVGDP.2021.table.csv", ardeco_pop=f"{JRC_ARDECO_DATASET['folder']}/ARDECO-SNPTD.2021.table.csv", + message: + "Retrieving JRC ARDECO data" run: for key in input.keys(): copy2(input[key], output[key]) @@ -1662,8 +1740,6 @@ if (AQUIFER_DATA_DATASET := dataset_version("aquifer_data"))["source"] in [ ]: rule retrieve_aquifer_data_bgr: - message: - "Retrieving BGR aquifer data" input: zip_file=storage(AQUIFER_DATA_DATASET["url"]), output: @@ -1680,6 +1756,8 @@ if (AQUIFER_DATA_DATASET := dataset_version("aquifer_data"))["source"] in [ "sbx", ], ), + message: + "Retrieving BGR aquifer data" run: copy2(input["zip_file"], output["zip_file"]) unpack_archive( @@ -1694,14 +1772,14 @@ if (DH_AREAS_DATASET := dataset_version("dh_areas"))["source"] in [ ]: rule retrieve_dh_areas: - message: - "Retrieving District Heating areas" input: dh_areas=storage(DH_AREAS_DATASET["url"]), output: dh_areas=f"{DH_AREAS_DATASET['folder']}/dh_areas.gpkg", log: "logs/retrieve_dh_areas.log", + message: + "Retrieving District Heating areas" run: copy2(input["dh_areas"], output["dh_areas"]) @@ -1711,21 +1789,21 @@ if (MOBILITY_PROFILES_DATASET := dataset_version("mobility_profiles"))[ ] in ARCHIVE_SOURCES: rule retrieve_mobility_profiles: - message: - "Retrieving mobility profiles data" input: kfz=storage(MOBILITY_PROFILES_DATASET["url"] + "/kfz.csv"), pkw=storage(MOBILITY_PROFILES_DATASET["url"] + "/pkw.csv"), output: kfz=f"{MOBILITY_PROFILES_DATASET['folder']}/kfz.csv", pkw=f"{MOBILITY_PROFILES_DATASET['folder']}/pkw.csv", - threads: 1 - resources: - mem_mb=1000, log: "logs/retrieve_mobility_profiles.log", benchmark: "benchmarks/performances/retrieve_mobility_profiles" + threads: 1 + resources: + mem_mb=1000, + message: + "Retrieving mobility profiles data" run: copy2(input["kfz"], output["kfz"]) copy2(input["pkw"], output["pkw"]) diff --git a/rules/sb.smk b/rules/sb.smk index 2ad37c85df..c6c7c121ab 100644 --- a/rules/sb.smk +++ b/rules/sb.smk @@ -138,13 +138,6 @@ if not "pre-built" in PECD_DATASET["version"]: return f"{str(int(major)+1)}.0" rule prepare_pecd_release: - params: - cyears=config_provider( - "electricity", "pecd_renewable_profiles", "pre_built", "cyears" - ), - available_pyears=config_provider( - "electricity", "pecd_renewable_profiles", "available_years" - ), input: pecd_raw=PECD_DATASET["folder"], output: @@ -158,6 +151,13 @@ if not "pre-built" in PECD_DATASET["version"]: threads: 4 resources: mem_mb=1000, + params: + cyears=config_provider( + "electricity", "pecd_renewable_profiles", "pre_built", "cyears" + ), + available_pyears=config_provider( + "electricity", "pecd_renewable_profiles", "available_years" + ), script: scripts("sb/prepare_pecd_release.py") @@ -168,11 +168,6 @@ if not "pre-built" in PECD_DATASET["version"]: if config["load"]["source"] == "tyndp": rule clean_tyndp_electricity_demand: - params: - planning_horizons=config_provider("scenario", "planning_horizons"), - snapshots=config_provider("snapshots"), - scenario=config_provider("tyndp_scenario"), - available_years=config_provider("load", "available_years_tyndp"), input: electricity_demand=rules.retrieve_tyndp.output.demand_profiles, output: @@ -181,11 +176,16 @@ if config["load"]["source"] == "tyndp": logs("clean_tyndp_electricity_demand.log"), benchmark: benchmarks("performances/clean_tyndp_electricity_demand") + conda: + "../envs/environment.yaml" threads: 4 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" + params: + planning_horizons=config_provider("scenario", "planning_horizons"), + snapshots=config_provider("snapshots"), + scenario=config_provider("tyndp_scenario"), + available_years=config_provider("load", "available_years_tyndp"), script: scripts("sb/clean_tyndp_electricity_demand.py") @@ -210,18 +210,6 @@ def get_pecd_prebuilt(w): rule clean_pecd_data: - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - fill_gaps_method=config_provider( - "electricity", "pecd_renewable_profiles", "fill_gaps_method" - ), - available_years=config_provider( - "electricity", "pecd_renewable_profiles", "available_years" - ), - prebuilt_years=config_provider( - "electricity", "pecd_renewable_profiles", "pre_built", "cyears" - ), input: pecd_prebuilt=get_pecd_prebuilt, offshore_buses=rules.retrieve_tyndp.output.offshore_nodes, @@ -235,6 +223,18 @@ rule clean_pecd_data: threads: 4 resources: mem_mb=4000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + fill_gaps_method=config_provider( + "electricity", "pecd_renewable_profiles", "fill_gaps_method" + ), + available_years=config_provider( + "electricity", "pecd_renewable_profiles", "available_years" + ), + prebuilt_years=config_provider( + "electricity", "pecd_renewable_profiles", "pre_built", "cyears" + ), script: scripts("sb/clean_pecd_data.py") @@ -255,11 +255,6 @@ def input_data_pecd(w): rule build_renewable_profiles_pecd: - params: - planning_horizons=config_provider("scenario", "planning_horizons"), - available_years=config_provider( - "electricity", "pecd_renewable_profiles", "available_years" - ), input: unpack(input_data_pecd), output: @@ -268,11 +263,16 @@ rule build_renewable_profiles_pecd: logs("build_renewable_profile_pecd_{clusters}_{technology}.log"), benchmark: benchmarks("performances/build_renewable_profile_pecd_{clusters}_{technology}") + wildcard_constraints: + technology="(?!hydro).*", # Any technology other than hydro threads: 1 resources: mem_mb=4000, - wildcard_constraints: - technology="(?!hydro).*", # Any technology other than hydro + params: + planning_horizons=config_provider("scenario", "planning_horizons"), + available_years=config_provider( + "electricity", "pecd_renewable_profiles", "available_years" + ), script: scripts("sb/build_renewable_profiles_pecd.py") @@ -284,14 +284,6 @@ pemmdb_techs = branch( rule build_pemmdb_data: - params: - pemmdb_techs=pemmdb_techs, - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - available_years=config_provider( - "electricity", "pemmdb_capacities", "available_years" - ), - tyndp_scenario=config_provider("tyndp_scenario"), input: pemmdb_dir=rules.retrieve_tyndp.output.pemmdb, carrier_mapping="data/tyndp_technology_map.csv", @@ -301,11 +293,19 @@ rule build_pemmdb_data: pemmdb_profiles=resources("pemmdb_profiles_{planning_horizons}.nc"), log: logs("build_pemmdb_data_{planning_horizons}.log"), + benchmark: + benchmarks("performances/build_pemmdb_data_{planning_horizons}") threads: config_provider("electricity", "pemmdb_capacities", "nprocesses") resources: mem_mb=16000, - benchmark: - benchmarks("performances/build_pemmdb_data_{planning_horizons}") + params: + pemmdb_techs=pemmdb_techs, + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + available_years=config_provider( + "electricity", "pemmdb_capacities", "available_years" + ), + tyndp_scenario=config_provider("tyndp_scenario"), script: scripts("sb/build_pemmdb_data.py") @@ -323,9 +323,6 @@ def get_h2_project_build_years(w): rule build_tyndp_transmission_projects: - params: - build_years_elec=get_elec_project_build_years, - build_years_h2=get_h2_project_build_years, input: buses_elec=rules.build_tyndp_network.output.substations_geojson, buses_h2=rules.build_tyndp_network.output.substations_h2_geojson, @@ -337,16 +334,17 @@ rule build_tyndp_transmission_projects: logs("build_tyndp_transmission_projects_{planning_horizons}.log"), benchmark: benchmarks("performances/build_tyndp_transmission_projects_{planning_horizons}") + threads: 1 resources: mem_mb=1000, - threads: 1 + params: + build_years_elec=get_elec_project_build_years, + build_years_h2=get_h2_project_build_years, script: scripts("sb/build_tyndp_transmission_projects.py") rule build_tyndp_trajectories: - params: - tyndp_scenario=config_provider("tyndp_scenario"), input: trajectories=rules.retrieve_tyndp.output.trajectories, carrier_mapping="data/tyndp_technology_map.csv", @@ -354,20 +352,16 @@ rule build_tyndp_trajectories: tyndp_trajectories=resources("tyndp_trajectories.csv"), log: logs("build_tyndp_trajectories.log"), - threads: 4 benchmark: benchmarks("performances/build_tyndp_trajectories") + threads: 4 + params: + tyndp_scenario=config_provider("tyndp_scenario"), script: scripts("sb/build_tyndp_trajectories.py") rule clean_tyndp_hydro_inflows: - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - available_years=config_provider( - "electricity", "pemmdb_hydro_profiles", "available_years" - ), input: hydro_inflows_dir=rules.retrieve_tyndp.output.hydro_inflows, busmap=resources("busmap_base_s_all.csv"), @@ -377,10 +371,16 @@ rule clean_tyndp_hydro_inflows: ), log: logs("clean_tyndp_hydro_inflows_{tech}_{planning_horizons}.log"), - threads: 4 - retries: 2 benchmark: benchmarks("performances/clean_tyndp_hydro_inflows_{tech}_{planning_horizons}") + retries: 2 + threads: 4 + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + available_years=config_provider( + "electricity", "pemmdb_hydro_profiles", "available_years" + ), script: scripts("sb/clean_tyndp_hydro_inflows.py") @@ -412,16 +412,6 @@ def input_data_hydro_tyndp(w): rule build_tyndp_hydro_profile: - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - planning_horizons=config_provider("scenario", "planning_horizons"), - available_years=config_provider( - "electricity", "pemmdb_hydro_profiles", "available_years" - ), - technologies=config_provider( - "electricity", "pemmdb_hydro_profiles", "technologies" - ), input: unpack(input_data_hydro_tyndp), carrier_mapping="data/tyndp_technology_map.csv", @@ -433,6 +423,16 @@ rule build_tyndp_hydro_profile: benchmarks("performances/build_tyndp_hydro_profile") resources: mem_mb=5000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + planning_horizons=config_provider("scenario", "planning_horizons"), + available_years=config_provider( + "electricity", "pemmdb_hydro_profiles", "available_years" + ), + technologies=config_provider( + "electricity", "pemmdb_hydro_profiles", "technologies" + ), script: scripts("sb/build_tyndp_hydro_profile.py") @@ -440,6 +440,10 @@ rule build_tyndp_hydro_profile: use rule build_electricity_demand_base as build_electricity_demand_base_tyndp with: input: unpack(input_elec_demand_base), + raster=[], + gb_excel=[], + gb_geojson=[], + nuts3=[], load=resources("electricity_demand_{planning_horizons}.csv"), output: resources("electricity_demand_base_s_{planning_horizons}.nc"), @@ -454,42 +458,42 @@ use rule build_electricity_demand_base as build_electricity_demand_base_tyndp wi rule build_tyndp_gas_demand: - params: - scenario=config_provider("tyndp_scenario"), - planning_horizons=config_provider("scenario", "planning_horizons"), input: supply_tool=rules.retrieve_tyndp.output.supply_tool, output: gas_demand=resources("gas_demand_tyndp_{planning_horizons}.csv"), - threads: 1 - resources: - mem_mb=1000, log: logs("build_tyndp_gas_demand_{planning_horizons}.log"), benchmark: benchmarks("performances/build_tyndp_gas_demand_{planning_horizons}") conda: "../envs/environment.yaml" + threads: 1 + resources: + mem_mb=1000, + params: + scenario=config_provider("tyndp_scenario"), + planning_horizons=config_provider("scenario", "planning_horizons"), script: scripts("sb/build_tyndp_gas_demand.py") rule build_tyndp_h2_demand: - params: - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - scenario=config_provider("tyndp_scenario"), input: h2_demand=rules.retrieve_tyndp.output.demand_profiles, output: h2_demand=resources("h2_demand_tyndp_{planning_horizons}.csv"), - threads: 1 - resources: - mem_mb=1000, log: logs("build_tyndp_h2_demand_{planning_horizons}.log"), benchmark: benchmarks("performances/build_tyndp_h2_demand_{planning_horizons}") + threads: 1 + resources: + mem_mb=1000, + params: + snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + scenario=config_provider("tyndp_scenario"), script: scripts("sb/build_tyndp_h2_demand.py") @@ -503,12 +507,6 @@ if config["sector"]["h2_topology_tyndp"]: return int(w.planning_horizons) in horizons rule build_tyndp_h2_network: - params: - snapshots=config_provider("snapshots"), - scenario=config_provider("tyndp_scenario"), - h2_reference_grid_source=config_provider( - "sector", "h2_reference_grid_source" - ), input: h2_reference_grid_entsoe=rules.retrieve_tyndp.output.h2_reference_grid_entsoe, h2_reference_grid_entsos=rules.retrieve_tyndp.output.h2_reference_grid_entsos, @@ -523,11 +521,17 @@ if config["sector"]["h2_topology_tyndp"]: logs("build_tyndp_h2_network_{planning_horizons}.log"), benchmark: benchmarks("performances/build_tyndp_h2_network_{planning_horizons}") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" + params: + snapshots=config_provider("snapshots"), + scenario=config_provider("tyndp_scenario"), + h2_reference_grid_source=config_provider( + "sector", "h2_reference_grid_source" + ), script: scripts("sb/build_tyndp_h2_network.py") @@ -541,17 +545,15 @@ if config["sector"]["h2_topology_tyndp"]: logs("clean_tyndp_h2_imports.log"), benchmark: benchmarks("performances/clean_tyndp_h2_imports") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" script: scripts("sb/clean_tyndp_h2_imports.py") rule build_tyndp_h2_imports: - params: - scenario=config_provider("tyndp_scenario"), input: import_potentials_prepped=rules.clean_tyndp_h2_imports.output.import_potentials_prepped, output: @@ -562,18 +564,17 @@ if config["sector"]["h2_topology_tyndp"]: logs("build_tyndp_h2_imports_{planning_horizons}.log"), benchmark: benchmarks("performances/build_tyndp_h2_imports_{planning_horizons}") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" + params: + scenario=config_provider("tyndp_scenario"), script: scripts("sb/build_tyndp_h2_imports.py") rule clean_tyndp_smr: - params: - tyndp_scenario=config_provider("tyndp_scenario"), - h2_zones_tyndp=config_provider("sector", "h2_zones_tyndp"), input: smr=rules.retrieve_tyndp.output.smr, output: @@ -582,18 +583,18 @@ if config["sector"]["h2_topology_tyndp"]: logs("clean_tyndp_smr_{planning_horizons}.log"), benchmark: benchmarks("performances/clean_tyndp_smr_{planning_horizons}") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" + params: + tyndp_scenario=config_provider("tyndp_scenario"), + h2_zones_tyndp=config_provider("sector", "h2_zones_tyndp"), script: "../scripts/sb/clean_tyndp_smr.py" rule clean_tyndp_h2_storages: - params: - tyndp_scenario=config_provider("tyndp_scenario"), - h2_zones_tyndp=config_provider("sector", "h2_zones_tyndp"), input: h2_storages=rules.retrieve_tyndp.output.h2_storages, output: @@ -602,11 +603,14 @@ if config["sector"]["h2_topology_tyndp"]: logs("clean_tyndp_h2_storages_{planning_horizons}.log"), benchmark: benchmarks("performances/clean_tyndp_h2_storages_{planning_horizons}") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" + params: + tyndp_scenario=config_provider("tyndp_scenario"), + h2_zones_tyndp=config_provider("sector", "h2_zones_tyndp"), script: "../scripts/sb/clean_tyndp_h2_storages.py" @@ -614,13 +618,6 @@ if config["sector"]["h2_topology_tyndp"]: if config["sector"]["offshore_hubs_tyndp"]["enable"]: rule build_tyndp_offshore_hubs: - params: - planning_horizons=config_provider("scenario", "planning_horizons"), - scenario=config_provider("tyndp_scenario"), - countries=config_provider("countries"), - offshore_hubs_tyndp=config_provider("sector", "offshore_hubs_tyndp"), - extendable_carriers=config_provider("electricity", "extendable_carriers"), - h2_zones_tyndp=config_provider("sector", "h2_zones_tyndp"), input: nodes=rules.retrieve_tyndp.output.offshore_nodes, grid=rules.retrieve_tyndp.output.offshore_grid, @@ -636,20 +633,23 @@ if config["sector"]["offshore_hubs_tyndp"]["enable"]: logs("build_tyndp_offshore_hubs.log"), benchmark: benchmarks("performances/build_tyndp_offshore_hubs") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=4000, - conda: - "../envs/environment.yaml" + params: + planning_horizons=config_provider("scenario", "planning_horizons"), + scenario=config_provider("tyndp_scenario"), + countries=config_provider("countries"), + offshore_hubs_tyndp=config_provider("sector", "offshore_hubs_tyndp"), + extendable_carriers=config_provider("electricity", "extendable_carriers"), + h2_zones_tyndp=config_provider("sector", "h2_zones_tyndp"), script: scripts("sb/build_tyndp_offshore_hubs.py") rule group_tyndp_conventionals: - params: - tyndp_conventional_carriers=config_provider( - "electricity", "tyndp_conventional_carriers" - ), input: pemmdb_capacities=resources("pemmdb_capacities_{planning_horizon}.csv"), pemmdb_profiles=resources("pemmdb_profiles_{planning_horizon}.nc"), @@ -665,11 +665,15 @@ rule group_tyndp_conventionals: logs("group_tyndp_conventionals_{planning_horizon}.log"), benchmark: benchmarks("performances/group_tyndp_conventionals_{planning_horizon}") + conda: + "../envs/environment.yaml" threads: 1 resources: mem_mb=2000, - conda: - "../envs/environment.yaml" + params: + tyndp_conventional_carriers=config_provider( + "electricity", "tyndp_conventional_carriers" + ), script: scripts("sb/group_tyndp_conventionals.py") @@ -680,8 +684,6 @@ rule group_tyndp_conventionals: if config["foresight"] != "perfect": rule plot_base_hydrogen_network: - params: - plotting=config_provider("plotting"), input: network=resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc" @@ -691,25 +693,24 @@ if config["foresight"] != "perfect": map=resources( "maps/base_h2_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}.pdf" ), - threads: 1 - resources: - mem_mb=4000, + log: + RESULTS + + "logs/plot_base_hydrogen_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", benchmark: benchmarks( "performances/plot_base_hydrogen_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) - log: - RESULTS - + "logs/plot_base_hydrogen_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log", conda: "../envs/environment.yaml" + threads: 1 + resources: + mem_mb=4000, + params: + plotting=config_provider("plotting"), script: scripts("sb/plot_base_hydrogen_network.py") rule plot_base_offshore_network: - params: - plotting=config_provider("plotting"), - expanded=False, input: network=resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc" @@ -719,37 +720,40 @@ if config["foresight"] != "perfect": map=resources( "maps/base_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.pdf" ), - threads: 1 - resources: - mem_mb=4000, + log: + RESULTS + + "logs/plot_base_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", benchmark: benchmarks( "performances/plot_base_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}" ) - log: - RESULTS - + "logs/plot_base_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", conda: "../envs/environment.yaml" + threads: 1 + resources: + mem_mb=4000, + params: + plotting=config_provider("plotting"), + expanded=False, script: scripts("sb/plot_offshore_network.py") use rule plot_base_offshore_network as plot_offshore_network with: - params: - expanded=True, input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", output: map=RESULTS + "maps/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}-offshore_network_{carrier}.pdf", + log: + RESULTS + + "logs/plot_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", benchmark: benchmarks( "performances/plot_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}" ) - log: - RESULTS - + "logs/plot_offshore_network_{clusters}_{opts}_{sector_opts}_{planning_horizons}_{carrier}.log", + params: + expanded=True, # Benchmarking @@ -758,13 +762,6 @@ if config["foresight"] != "perfect": if config["benchmarking"]["enable"]: rule clean_tyndp_output_benchmark: - params: - benchmarking=config_provider("benchmarking"), - scenario=config_provider("tyndp_scenario"), - snapshots=config_provider("snapshots"), - drop_leap_day=config_provider("enable", "drop_leap_day"), - countries=config_provider("countries"), - offshore_hubs=config_provider("sector", "offshore_hubs_tyndp", "enable"), input: # TODO Generalize hardcoded climate year CY2009 for DE / GA tyndp_output_file=lambda w: getattr( @@ -792,14 +789,17 @@ if config["benchmarking"]["enable"]: threads: 4 resources: mem_mb=8000, - script: - scripts("sb/clean_tyndp_output_benchmark.py") - - rule clean_tyndp_report_benchmark: params: benchmarking=config_provider("benchmarking"), scenario=config_provider("tyndp_scenario"), snapshots=config_provider("snapshots"), + drop_leap_day=config_provider("enable", "drop_leap_day"), + countries=config_provider("countries"), + offshore_hubs=config_provider("sector", "offshore_hubs_tyndp", "enable"), + script: + scripts("sb/clean_tyndp_output_benchmark.py") + + rule clean_tyndp_report_benchmark: input: scenarios_figures=rules.retrieve_tyndp.output.benchmark, carrier_mapping="data/tyndp_technology_map.csv", @@ -812,14 +812,14 @@ if config["benchmarking"]["enable"]: threads: 4 resources: mem_mb=8000, + params: + benchmarking=config_provider("benchmarking"), + scenario=config_provider("tyndp_scenario"), + snapshots=config_provider("snapshots"), script: scripts("sb/clean_tyndp_report_benchmark.py") rule clean_tyndp_vp_data: - params: - scenario=config_provider("tyndp_scenario"), - snapshots=config_provider("snapshots"), - unit_conversion=config_provider("benchmarking", "unit_conversion"), input: elec_demand=rules.retrieve_tyndp_vp_data.output.elec_demand, elec_supplymix=rules.retrieve_tyndp_vp_data.output.elec_supply, @@ -834,23 +834,14 @@ if config["benchmarking"]["enable"]: threads: 4 resources: mem_mb=8000, + params: + scenario=config_provider("tyndp_scenario"), + snapshots=config_provider("snapshots"), + unit_conversion=config_provider("benchmarking", "unit_conversion"), script: scripts("sb/clean_tyndp_vp_data.py") rule build_statistics: - params: - benchmarking=config_provider("benchmarking"), - scenario=config_provider("tyndp_scenario"), - tyndp_renewable_carriers=config_provider( - "electricity", "tyndp_renewable_carriers" - ), - load_shedding=config_provider( - "solving", "options", "load_shedding", "carriers" - ), - low_voltage=config_provider("sector", "electricity_distribution_grid"), - group_tyndp_conventionals=config_provider( - "electricity", "group_tyndp_conventionals" - ), input: network=RESULTS + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc", @@ -869,14 +860,23 @@ if config["benchmarking"]["enable"]: threads: 1 resources: mem_mb=8000, + params: + benchmarking=config_provider("benchmarking"), + scenario=config_provider("tyndp_scenario"), + tyndp_renewable_carriers=config_provider( + "electricity", "tyndp_renewable_carriers" + ), + load_shedding=config_provider( + "solving", "options", "load_shedding", "carriers" + ), + low_voltage=config_provider("sector", "electricity_distribution_grid"), + group_tyndp_conventionals=config_provider( + "electricity", "group_tyndp_conventionals" + ), script: scripts("sb/build_statistics.py") rule make_benchmark: - params: - benchmarking=config_provider("benchmarking"), - scenario=config_provider("tyndp_scenario"), - snapshots=config_provider("snapshots"), input: results=expand( RESULTS @@ -911,25 +911,23 @@ if config["benchmarking"]["enable"]: + "benchmarks/tyndp-2024/kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_bus.csv", kpis_by_country=RESULTS + "benchmarks/tyndp-2024/kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_country.csv", - threads: 4 - resources: - mem_mb=8000, log: logs("make_benchmark_s_{clusters}_{opts}_{sector_opts}_all_years.log"), benchmark: benchmarks( "performances/make_benchmark_s_{clusters}_{opts}_{sector_opts}_all_years" ) - script: - scripts("sb/make_benchmark.py") - - rule plot_benchmark: + threads: 4 + resources: + mem_mb=8000, params: benchmarking=config_provider("benchmarking"), scenario=config_provider("tyndp_scenario"), snapshots=config_provider("snapshots"), - tech_colors=config_provider("plotting", "tech_colors"), - bench_colors=config_provider("plotting", "benchmarking", "colors"), + script: + scripts("sb/make_benchmark.py") + + rule plot_benchmark: input: results=expand( RESULTS @@ -969,15 +967,21 @@ if config["benchmarking"]["enable"]: + "benchmarks/tyndp-2024/kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_bus.pdf", kpis_by_country=RESULTS + "benchmarks/tyndp-2024/kpis_s_{clusters}_{opts}_{sector_opts}_all_years_by_country.pdf", - threads: 4 - resources: - mem_mb=8000, log: logs("plot_benchmark_s_{clusters}_{opts}_{sector_opts}_all_years.log"), benchmark: benchmarks( "performances/plot_benchmark_s_{clusters}_{opts}_{sector_opts}_all_years" ) + threads: 4 + resources: + mem_mb=8000, + params: + benchmarking=config_provider("benchmarking"), + scenario=config_provider("tyndp_scenario"), + snapshots=config_provider("snapshots"), + tech_colors=config_provider("plotting", "tech_colors"), + bench_colors=config_provider("plotting", "benchmarking", "colors"), script: scripts("sb/plot_benchmark.py") @@ -1100,9 +1104,6 @@ rule build_tyndp_gas_demands: rule launch_explorer: - params: - port=find_free_port(start_port=8050, max_attempts=50), - launch_msg="Launching PyPSA-Explorer...", input: expand( RESULTS @@ -1112,6 +1113,9 @@ rule launch_explorer: ), output: RESULTS + "logs/explorer_launched.log", + params: + port=find_free_port(start_port=8050, max_attempts=50), + launch_msg="Launching PyPSA-Explorer...", run: import platform import subprocess @@ -1182,8 +1186,6 @@ if (PRESOLVED_NETWORKS_DATASET := dataset_version("open_tyndp_prelim"))[ ] in ARCHIVE_SOURCES: use rule launch_explorer as launch_presolved_explorer with: - params: - launch_msg=f"Launching PyPSA-Explorer with presolved networks for release v{PRESOLVED_NETWORKS_DATASET['version']}...", input: expand( f"{PRESOLVED_NETWORKS_DATASET['folder']}/base_s_all___{{planning_horizons}}.nc", @@ -1191,3 +1193,5 @@ if (PRESOLVED_NETWORKS_DATASET := dataset_version("open_tyndp_prelim"))[ ), output: "logs/presolved_explorer_launched.log", + params: + launch_msg=f"Launching PyPSA-Explorer with presolved networks for release v{PRESOLVED_NETWORKS_DATASET['version']}...", diff --git a/rules/solve_electricity.smk b/rules/solve_electricity.smk index 9e862edde8..9cfcba489b 100644 --- a/rules/solve_electricity.smk +++ b/rules/solve_electricity.smk @@ -5,19 +5,6 @@ rule solve_network: - message: - "Solving electricity network optimization for {wildcards.clusters} clusters and {wildcards.opts} electric options" - params: - solving=config_provider("solving"), - foresight=config_provider("foresight"), - co2_sequestration_potential=config_provider( - "sector", "co2_sequestration_potential", default=200 - ), - custom_extra_functionality=input_custom_extra_functionality, - renewable_carriers=config_provider("electricity", "renewable_carriers"), - renewable_carriers_tyndp=config_provider( - "electricity", "tyndp_renewable_carriers" - ), input: network=resources("networks/base_s_{clusters}_elec_{opts}.nc"), offshore_zone_trajectories=branch( @@ -43,21 +30,13 @@ rule solve_network: RESULTS + "benchmarks/performances/solve_network/base_s_{clusters}_elec_{opts}" ) + shadow: + shadow_config threads: solver_threads resources: mem_mb=memory, runtime=config_provider("solving", "runtime", default="6h"), - shadow: - shadow_config - script: - scripts("solve_network.py") - - -rule solve_operations_network: - message: - "Solving electricity network operations optimization for {wildcards.clusters} clusters and {wildcards.opts} electric options" params: - options=config_provider("solving", "options"), solving=config_provider("solving"), foresight=config_provider("foresight"), co2_sequestration_potential=config_provider( @@ -65,6 +44,16 @@ rule solve_operations_network: ), custom_extra_functionality=input_custom_extra_functionality, renewable_carriers=config_provider("electricity", "renewable_carriers"), + renewable_carriers_tyndp=config_provider( + "electricity", "tyndp_renewable_carriers" + ), + message: + "Solving electricity network optimization for {wildcards.clusters} clusters and {wildcards.opts} electric options" + script: + scripts("solve_network.py") + + +rule solve_operations_network: input: network=RESULTS + "networks/base_s_{clusters}_elec_{opts}.nc", output: @@ -81,11 +70,22 @@ rule solve_operations_network: RESULTS + "benchmarks/performances/solve_operations_network/base_s_{clusters}_elec_{opts}" ) + shadow: + shadow_config threads: 4 resources: mem_mb=memory, runtime=config_provider("solving", "runtime", default="6h"), - shadow: - shadow_config + params: + options=config_provider("solving", "options"), + solving=config_provider("solving"), + foresight=config_provider("foresight"), + co2_sequestration_potential=config_provider( + "sector", "co2_sequestration_potential", default=200 + ), + custom_extra_functionality=input_custom_extra_functionality, + renewable_carriers=config_provider("electricity", "renewable_carriers"), + message: + "Solving electricity network operations optimization for {wildcards.clusters} clusters and {wildcards.opts} electric options" script: scripts("solve_operations_network.py") diff --git a/rules/solve_myopic.smk b/rules/solve_myopic.smk index d1abf5d2a3..33acc625cf 100644 --- a/rules/solve_myopic.smk +++ b/rules/solve_myopic.smk @@ -5,19 +5,6 @@ rule add_existing_baseyear: - message: - "Adding existing infrastructure for base year for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - baseyear=config_provider("scenario", "planning_horizons", 0), - sector=config_provider("sector"), - existing_capacities=config_provider("existing_capacities"), - carriers=config_provider("electricity", "renewable_carriers"), - costs=config_provider("costs"), - heat_pump_sources=config_provider("sector", "heat_pump_sources"), - energy_totals_year=config_provider("energy", "energy_totals_year"), - load_source=config_provider("load", "source"), - conventional=config_provider("conventional"), - conventional_carriers=config_provider("electricity", "conventional_carriers"), input: unpack(input_conventional), network=resources( @@ -36,14 +23,6 @@ rule add_existing_baseyear: resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc" ), - wildcard_constraints: - # TODO: The first planning_horizon needs to be aligned across scenarios - # snakemake does not support passing functions to wildcard_constraints - # reference: https://github.com/snakemake/snakemake/issues/2703 - planning_horizons=config["scenario"]["planning_horizons"][0], #only applies to baseyear - threads: 1 - resources: - mem_mb=3000, log: logs( "add_existing_baseyear_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log" @@ -52,6 +31,27 @@ rule add_existing_baseyear: benchmarks( "performances/add_existing_baseyear/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + wildcard_constraints: + # TODO: The first planning_horizon needs to be aligned across scenarios + # snakemake does not support passing functions to wildcard_constraints + # reference: https://github.com/snakemake/snakemake/issues/2703 + planning_horizons=config["scenario"]["planning_horizons"][0], #only applies to baseyear + threads: 1 + resources: + mem_mb=3000, + params: + baseyear=config_provider("scenario", "planning_horizons", 0), + sector=config_provider("sector"), + existing_capacities=config_provider("existing_capacities"), + carriers=config_provider("electricity", "renewable_carriers"), + costs=config_provider("costs"), + heat_pump_sources=config_provider("sector", "heat_pump_sources"), + energy_totals_year=config_provider("energy", "energy_totals_year"), + load_source=config_provider("load", "source"), + conventional=config_provider("conventional"), + conventional_carriers=config_provider("electricity", "conventional_carriers"), + message: + "Adding existing infrastructure for base year for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("add_existing_baseyear.py") @@ -72,8 +72,29 @@ def input_profile_tech_brownfield_pecd(w): rule add_brownfield: - message: - "Adding brownfield constraints for existing infrastructure for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" + input: + unpack(input_profile_tech_brownfield), + unpack(input_profile_tech_brownfield_pecd), + network=resources( + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc" + ), + network_p=solved_previous_horizon, #solved network at previous time step + carrier_mapping="data/tyndp_technology_map.csv", + output: + resources( + "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc" + ), + log: + logs( + "add_brownfield_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log" + ), + benchmark: + benchmarks( + "performances/add_brownfield/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" + ) + threads: 4 + resources: + mem_mb=10000, params: H2_retrofit=config_provider("sector", "H2_retrofit"), H2_retrofit_capacity_per_CH4=config_provider( @@ -105,29 +126,8 @@ rule add_brownfield: uniform_renewable_profiles=config_provider( "existing_capacities", "uniform_renewable_profiles" ), - input: - unpack(input_profile_tech_brownfield), - unpack(input_profile_tech_brownfield_pecd), - network=resources( - "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc" - ), - network_p=solved_previous_horizon, #solved network at previous time step - carrier_mapping="data/tyndp_technology_map.csv", - output: - resources( - "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc" - ), - threads: 4 - resources: - mem_mb=10000, - log: - logs( - "add_brownfield_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log" - ), - benchmark: - benchmarks( - "performances/add_brownfield/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" - ) + message: + "Adding brownfield constraints for existing infrastructure for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("add_brownfield.py") @@ -136,19 +136,6 @@ ruleorder: add_existing_baseyear > add_brownfield rule solve_sector_network_myopic: - message: - "Solving sector-coupled network with myopic foresight for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - solving=config_provider("solving"), - foresight=config_provider("foresight"), - co2_sequestration_potential=config_provider( - "sector", "co2_sequestration_potential", default=200 - ), - custom_extra_functionality=input_custom_extra_functionality, - renewable_carriers=config_provider("electricity", "renewable_carriers"), - renewable_carriers_tyndp=config_provider( - "electricity", "tyndp_renewable_carriers" - ), input: network=resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc" @@ -168,8 +155,6 @@ rule solve_sector_network_myopic: if config["solving"]["options"]["store_model"] else [] ), - shadow: - shadow_config log: solver=RESULTS + "logs/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_solver.log", @@ -177,14 +162,29 @@ rule solve_sector_network_myopic: + "logs/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_memory.log", python=RESULTS + "logs/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_python.log", - threads: solver_threads - resources: - mem_mb=config_provider("solving", "mem_mb"), - runtime=config_provider("solving", "runtime", default="6h"), benchmark: ( RESULTS + "benchmarks/performances/solve_sector_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + shadow: + shadow_config + threads: solver_threads + resources: + mem_mb=config_provider("solving", "mem_mb"), + runtime=config_provider("solving", "runtime", default="6h"), + params: + solving=config_provider("solving"), + foresight=config_provider("foresight"), + co2_sequestration_potential=config_provider( + "sector", "co2_sequestration_potential", default=200 + ), + custom_extra_functionality=input_custom_extra_functionality, + renewable_carriers=config_provider("electricity", "renewable_carriers"), + renewable_carriers_tyndp=config_provider( + "electricity", "tyndp_renewable_carriers" + ), + message: + "Solving sector-coupled network with myopic foresight for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("solve_network.py") diff --git a/rules/solve_overnight.smk b/rules/solve_overnight.smk index 48898b6efd..397e1bd07a 100644 --- a/rules/solve_overnight.smk +++ b/rules/solve_overnight.smk @@ -5,19 +5,6 @@ rule solve_sector_network: - message: - "Solving sector-coupled network with overnight investment optimization for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - solving=config_provider("solving"), - foresight=config_provider("foresight"), - co2_sequestration_potential=config_provider( - "sector", "co2_sequestration_potential", default=200 - ), - custom_extra_functionality=input_custom_extra_functionality, - renewable_carriers=config_provider("electricity", "renewable_carriers"), - renewable_carriers_tyndp=config_provider( - "electricity", "tyndp_renewable_carriers" - ), input: network=resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.nc" @@ -37,8 +24,6 @@ rule solve_sector_network: if config["solving"]["options"]["store_model"] else [] ), - shadow: - shadow_config log: solver=RESULTS + "logs/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_solver.log", @@ -46,14 +31,29 @@ rule solve_sector_network: + "logs/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_memory.log", python=RESULTS + "logs/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_python.log", - threads: solver_threads - resources: - mem_mb=config_provider("solving", "mem_mb"), - runtime=config_provider("solving", "runtime", default="6h"), benchmark: ( RESULTS + "benchmarks/performances/solve_sector_network/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + shadow: + shadow_config + threads: solver_threads + resources: + mem_mb=config_provider("solving", "mem_mb"), + runtime=config_provider("solving", "runtime", default="6h"), + params: + solving=config_provider("solving"), + foresight=config_provider("foresight"), + co2_sequestration_potential=config_provider( + "sector", "co2_sequestration_potential", default=200 + ), + custom_extra_functionality=input_custom_extra_functionality, + renewable_carriers=config_provider("electricity", "renewable_carriers"), + renewable_carriers_tyndp=config_provider( + "electricity", "tyndp_renewable_carriers" + ), + message: + "Solving sector-coupled network with overnight investment optimization for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("solve_network.py") diff --git a/rules/solve_perfect.smk b/rules/solve_perfect.smk index e76ee2f1bc..7e44377827 100644 --- a/rules/solve_perfect.smk +++ b/rules/solve_perfect.smk @@ -3,19 +3,6 @@ # # SPDX-License-Identifier: MIT rule add_existing_baseyear: - message: - "Adding existing infrastructure for base year for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - baseyear=config_provider("scenario", "planning_horizons", 0), - sector=config_provider("sector"), - existing_capacities=config_provider("existing_capacities"), - carriers=config_provider("electricity", "renewable_carriers"), - costs=config_provider("costs"), - heat_pump_sources=config_provider("sector", "heat_pump_sources"), - energy_totals_year=config_provider("energy", "energy_totals_year"), - load_source=config_provider("load", "source"), - conventional=config_provider("conventional"), - conventional_carriers=config_provider("electricity", "conventional_carriers"), input: unpack(input_conventional), network=resources( @@ -38,12 +25,6 @@ rule add_existing_baseyear: resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}_brownfield.nc" ), - wildcard_constraints: - planning_horizons=config["scenario"]["planning_horizons"][0], #only applies to baseyear - threads: 1 - resources: - mem_mb=config_provider("solving", "mem_mb"), - runtime=config_provider("solving", "runtime", default="24h"), log: logs( "add_existing_baseyear_base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}.log" @@ -52,6 +33,25 @@ rule add_existing_baseyear: benchmarks( "performances/add_existing_baseyear/base_s_{clusters}_{opts}_{sector_opts}_{planning_horizons}" ) + wildcard_constraints: + planning_horizons=config["scenario"]["planning_horizons"][0], #only applies to baseyear + threads: 1 + resources: + mem_mb=config_provider("solving", "mem_mb"), + runtime=config_provider("solving", "runtime", default="24h"), + params: + baseyear=config_provider("scenario", "planning_horizons", 0), + sector=config_provider("sector"), + existing_capacities=config_provider("existing_capacities"), + carriers=config_provider("electricity", "renewable_carriers"), + costs=config_provider("costs"), + heat_pump_sources=config_provider("sector", "heat_pump_sources"), + energy_totals_year=config_provider("energy", "energy_totals_year"), + load_source=config_provider("load", "source"), + conventional=config_provider("conventional"), + conventional_carriers=config_provider("electricity", "conventional_carriers"), + message: + "Adding existing infrastructure for base year for {wildcards.clusters} clusters, {wildcards.planning_horizons} planning horizons, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("add_existing_baseyear.py") @@ -65,11 +65,6 @@ def input_network_year(w): rule prepare_perfect_foresight: - message: - "Preparing data for perfect foresight optimization for {wildcards.clusters} clusters, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - costs=config_provider("costs"), - time_resolution=config_provider("clustering", "temporal", "sector"), input: unpack(input_network_year), brownfield_network=lambda w: ( @@ -82,35 +77,25 @@ rule prepare_perfect_foresight: resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_brownfield_all_years.nc" ), - threads: 2 - resources: - mem_mb=10000, log: logs("prepare_perfect_foresight_{clusters}_{opts}_{sector_opts}.log"), benchmark: benchmarks( "performances/prepare_perfect_foresight_{clusters}_{opts}_{sector_opts}" ) + threads: 2 + resources: + mem_mb=10000, + params: + costs=config_provider("costs"), + time_resolution=config_provider("clustering", "temporal", "sector"), + message: + "Preparing data for perfect foresight optimization for {wildcards.clusters} clusters, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("prepare_perfect_foresight.py") rule solve_sector_network_perfect: - message: - "Solving sector-coupled network with perfect foresight for {wildcards.clusters} clusters, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" - params: - solving=config_provider("solving"), - foresight=config_provider("foresight"), - sector=config_provider("sector"), - planning_horizons=config_provider("scenario", "planning_horizons"), - co2_sequestration_potential=config_provider( - "sector", "co2_sequestration_potential", default=200 - ), - custom_extra_functionality=input_custom_extra_functionality, - renewable_carriers=config_provider("electricity", "renewable_carriers"), - renewable_carriers_tyndp=config_provider( - "electricity", "tyndp_renewable_carriers" - ), input: network=resources( "networks/base_s_{clusters}_{opts}_{sector_opts}_brownfield_all_years.nc" @@ -131,11 +116,6 @@ rule solve_sector_network_perfect: if config["solving"]["options"]["store_model"] else [] ), - threads: solver_threads - resources: - mem_mb=config_provider("solving", "mem"), - shadow: - shadow_config log: solver=RESULTS + "logs/base_s_{clusters}_{opts}_{sector_opts}_brownfield_all_years_solver.log", @@ -148,6 +128,26 @@ rule solve_sector_network_perfect: RESULTS + "benchmarks/performances/solve_sector_network/base_s_{clusters}_{opts}_{sector_opts}_brownfield_all_years}" ) + shadow: + shadow_config + threads: solver_threads + resources: + mem_mb=config_provider("solving", "mem"), + params: + solving=config_provider("solving"), + foresight=config_provider("foresight"), + sector=config_provider("sector"), + planning_horizons=config_provider("scenario", "planning_horizons"), + co2_sequestration_potential=config_provider( + "sector", "co2_sequestration_potential", default=200 + ), + custom_extra_functionality=input_custom_extra_functionality, + renewable_carriers=config_provider("electricity", "renewable_carriers"), + renewable_carriers_tyndp=config_provider( + "electricity", "tyndp_renewable_carriers" + ), + message: + "Solving sector-coupled network with perfect foresight for {wildcards.clusters} clusters, {wildcards.opts} electric options and {wildcards.sector_opts} sector options" script: scripts("solve_network.py") @@ -163,8 +163,6 @@ def input_networks_make_summary_perfect(w): rule make_summary_perfect: - message: - "Creating summary for perfect foresight optimization results" input: unpack(input_networks_make_summary_perfect), costs=resources("costs_2020_processed.csv"), @@ -182,12 +180,14 @@ rule make_summary_perfect: price_statistics=RESULTS + "csvs/price_statistics.csv", metrics=RESULTS + "csvs/metrics.csv", co2_emissions=RESULTS + "csvs/co2_emissions.csv", - threads: 2 - resources: - mem_mb=10000, log: logs("make_summary_perfect.log"), benchmark: benchmarks("performances/make_summary_perfect") + threads: 2 + resources: + mem_mb=10000, + message: + "Creating summary for perfect foresight optimization results" script: scripts("make_summary_perfect.py") diff --git a/scripts/_helpers.py b/scripts/_helpers.py index eab8169a0d..441a9a839d 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: MIT +import atexit import contextlib import copy import logging @@ -15,6 +16,7 @@ from functools import partial, wraps from pathlib import Path from tempfile import NamedTemporaryFile +from typing import Literal import atlite import fiona @@ -26,6 +28,7 @@ import requests import xarray as xr import yaml +from dask.distributed import Client, LocalCluster from snakemake.utils import update_config from tqdm import tqdm @@ -1055,7 +1058,9 @@ def rename_techs(label: str) -> str: def load_cutout( - cutout_files: str | list[str], time: None | pd.DatetimeIndex = None + cutout_files: str | list[str], + time: None | pd.DatetimeIndex = None, + chunks: Literal["auto"] | dict | None = "auto", ) -> atlite.Cutout: """ Load and optionally combine multiple cutout files. @@ -1074,9 +1079,9 @@ def load_cutout( Merged cutout with optional time selection applied. """ if isinstance(cutout_files, str): - cutout = atlite.Cutout(cutout_files) + cutout = atlite.Cutout(cutout_files, chunks=chunks) elif isinstance(cutout_files, list): - cutout_da = [atlite.Cutout(c).data for c in cutout_files] + cutout_da = [atlite.Cutout(c, chunks=chunks).data for c in cutout_files] combined_data = xr.concat(cutout_da, dim="time", data_vars="minimal") cutout = atlite.Cutout(NamedTemporaryFile().name, data=combined_data) @@ -1086,6 +1091,17 @@ def load_cutout( return cutout +def setup_dask(nprocesses: int) -> dict: + if nprocesses > 1: + cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) + client = Client(cluster) + atexit.register(client.shutdown) + else: + client = None + + return dict(scheduler=client) + + def load_costs(cost_file: str) -> pd.DataFrame: """ Load prepared cost data from CSV. diff --git a/scripts/add_brownfield.py b/scripts/add_brownfield.py index bdcfa992d8..4c6468ec4c 100644 --- a/scripts/add_brownfield.py +++ b/scripts/add_brownfield.py @@ -67,9 +67,15 @@ def add_brownfield( # electric transmission grid set optimised capacities of previous as minimum n.lines.s_nom_min = n_p.lines.s_nom_opt + # Clamp s_nom_max to be at least s_nom_min to prevent solver infeasibility + # from floating-point differences between s_nom_opt and s_nom_max + n.lines.s_nom_max = n.lines.s_nom_max.clip(lower=n.lines.s_nom_min) dc_i = n.links[n.links.carrier == "DC"].index dc_i_p = dc_i.intersection(n_p.links.index) n.links.loc[dc_i_p, "p_nom_min"] = n_p.links.loc[dc_i_p, "p_nom_opt"] + n.links.loc[dc_i_p, "p_nom_max"] = n.links.loc[dc_i_p, "p_nom_max"].clip( + lower=n.links.loc[dc_i_p, "p_nom_min"] + ) for c in n_p.components[["Link", "Generator", "Store"]]: if c.static.empty: @@ -300,9 +306,10 @@ def add_brownfield( .groupby(level=0) .sum() ) - remaining_capacity = pipe_capacity - already_retrofitted.reindex( - index=pipe_capacity.index - ).fillna(0) + remaining_capacity = ( + pipe_capacity + - already_retrofitted.reindex(index=pipe_capacity.index).fillna(0) + ).clip(lower=0) n.links.loc[h2_retrofitted, "p_nom_max"] = remaining_capacity # reduce gas network capacity @@ -318,7 +325,7 @@ def add_brownfield( pipe_capacity - CH4_per_H2 * already_retrofitted.reindex(index=pipe_capacity.index).fillna(0) - ) + ).clip(lower=0) n.links.loc[gas_pipes_i, "p_nom"] = remaining_capacity n.links.loc[gas_pipes_i, "p_nom_max"] = remaining_capacity diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 63f586501e..3d324a6d76 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -11,40 +11,40 @@ Description ----------- -The rule :mod:`add_electricity` ties all the different data inputs from the +The rule [add_electricity][] ties all the different data inputs from the preceding rules together into a detailed PyPSA network that is stored in -``networks/base_s_{clusters}_elec.nc``. It includes: +`networks/base_s_{clusters}_elec.nc`. It includes: - today's transmission topology and transfer capacities (optionally including lines which are under construction according to the config settings ``lines: - under_construction`` and ``links: under_construction``), + under_construction` and `links: under_construction``), - today's thermal and hydro power generation capacities (for the technologies - listed in the config setting ``electricity: conventional_carriers``), and + listed in the config setting `electricity: conventional_carriers`), and - today's load time-series (upsampled in a top-down approach according to population and gross domestic product) -It further adds extendable ``generators`` with **zero** capacity for +It further adds extendable `generators` with **zero** capacity for - photovoltaic, onshore and AC- as well as DC-connected offshore wind installations with today's locational, hourly wind and solar capacity factors (but **no** current capacities), -- additional open- and combined-cycle gas turbines (if ``OCGT`` and/or ``CCGT`` - is listed in the config setting ``electricity: extendable_carriers``) +- additional open- and combined-cycle gas turbines (if `OCGT` and/or `CCGT` + is listed in the config setting `electricity: extendable_carriers`) Furthermore, it attaches additional extendable components to the clustered network with **zero** initial capacity: -- ``StorageUnits`` of carrier 'H2' and/or 'battery'. If this option is chosen, - every bus is given an extendable ``StorageUnit`` of the corresponding carrier. +- `StorageUnits` of carrier 'H2' and/or 'battery'. If this option is chosen, + every bus is given an extendable `StorageUnit` of the corresponding carrier. The energy and power capacities are linked through a parameter that specifies the energy capacity as maximum hours at full dispatch power and is configured - in ``electricity: max_hours:``. This linkage leads to one investment variable - per storage unit. The default ``max_hours`` lead to long-term hydrogen and + in `electricity: max_hours:`. This linkage leads to one investment variable + per storage unit. The default `max_hours` lead to long-term hydrogen and short-term battery storage units. -- ``Stores`` of carrier 'H2' and/or 'battery' in combination with ``Links``. If +- `Stores` of carrier 'H2' and/or 'battery' in combination with `Links`. If this option is chosen, the script adds extra buses with corresponding carrier - where energy ``Stores`` are attached and which are connected to the + where energy `Stores` are attached and which are connected to the corresponding power buses via two links, one each for charging and discharging. This leads to three investment variables for the energy capacity, charging and discharging capacity of the storage unit. @@ -269,7 +269,7 @@ def add_co2_emissions(n, costs, carriers): def load_and_aggregate_powerplants( ppl_fn: str, costs: pd.DataFrame, - consider_efficiency_classes: bool = False, + consider_efficiency_classes: bool | list[float] = False, aggregation_strategies: dict = None, exclude_carriers: list = None, ) -> pd.DataFrame: @@ -333,15 +333,21 @@ def load_and_aggregate_powerplants( df = ppl[to_aggregate].copy() if consider_efficiency_classes: + quantiles = ( + [0.1, 0.9] + if consider_efficiency_classes is True + else consider_efficiency_classes + ) for c in df.carrier.unique(): df_c = df.query("carrier == @c") - low = df_c.efficiency.quantile(0.10) - high = df_c.efficiency.quantile(0.90) - if low < high: - labels = ["low", "medium", "high"] - suffix = pd.cut( - df_c.efficiency, bins=[0, low, high, 1], labels=labels - ).astype(str) + thresholds = df_c.efficiency.quantile(quantiles).tolist() + if thresholds[0] < thresholds[-1]: + unique_thresholds, indices = np.unique(thresholds, return_index=True) + labels = ["Q0"] + [ + f"Q{int(quantiles[i] * 100)}" for i in sorted(indices) + ] + bins = [0.0] + unique_thresholds.tolist() + [1.0] + suffix = pd.cut(df_c.efficiency, bins=bins, labels=labels).astype(str) df.update({"carrier": df_c.carrier + " " + suffix + " efficiency"}) grouper = ["bus", "carrier"] @@ -355,15 +361,21 @@ def load_and_aggregate_powerplants( aggregated = df.groupby(grouper, as_index=False).agg(strategies) aggregated.index = aggregated.bus + " " + aggregated.carrier aggregated.build_year = aggregated.build_year.astype(int) + aggregated.carrier = aggregated.carrier.str.replace( + r" Q\d+ efficiency", "", regex=True + ) - disaggregated = ppl[~to_aggregate][aggregated.columns].copy() + disaggregated = ppl[~to_aggregate].copy() disaggregated.index = ( disaggregated.bus + " " + disaggregated.carrier + " " + disaggregated.index.astype(str) + + " " + + disaggregated.name ) + disaggregated = disaggregated[aggregated.columns] return pd.concat([aggregated, disaggregated]) @@ -710,7 +722,7 @@ def attach_conventional_generators( | set(extendable_carriers["Generator"]) - set(renewable_carriers) ) - ppl = ppl.query("carrier in @carriers") + ppl = ppl.query("carrier in @carriers").copy() # reduce carriers to those in power plant dataset carriers = list(set(carriers) & set(ppl.carrier.unique())) @@ -724,6 +736,9 @@ def attach_conventional_generators( committable_attrs[attr] = ppl.carrier.map(unit_commitment.loc[attr]).fillna( default ) + # These values are given per MW, but PyPSA expects them in total. + if attr in {"start_up_cost", "shut_down_cost", "stand_by_cost"}: + committable_attrs[attr] *= ppl.p_nom else: committable_attrs = {} @@ -769,9 +784,15 @@ def attach_conventional_generators( if f"conventional_{carrier}_{attr}" in conventional_inputs: # Values affecting generators of technology k country-specific # First map generator buses to countries; then map countries to p_max_pu - values = pd.read_csv( + df = pd.read_csv( conventional_inputs[f"conventional_{carrier}_{attr}"], index_col=0 - ).iloc[:, 0] + ) + try: + df.columns = df.columns.astype(int) + year = n.snapshots[0].year + values = df[year] + except (ValueError, TypeError): + values = df.iloc[:, -1] # take last column if year selection fails bus_values = n.buses.country.map(values) n.generators.update( {attr: n.generators.loc[idx].bus.map(bus_values).dropna()} @@ -781,6 +802,43 @@ def attach_conventional_generators( n.generators.loc[idx, attr] = values +def attach_existing_batteries( + n: pypsa.Network, + costs: pd.DataFrame, + ppl: pd.DataFrame, +) -> None: + """Attach existing battery storage units from the power plant dataset.""" + batt = ppl.query('carrier == "battery"') + if batt.empty: + return + + add_missing_carriers(n, ["battery"]) + efficiency = np.sqrt(costs.at["battery inverter", "efficiency"]) + batt["max_hours"] = batt.max_hours.fillna(batt.max_hours.median()) + + n.add( + "StorageUnit", + batt.index, + carrier="battery", + bus=batt.bus, + p_nom=batt.p_nom, + capital_cost=batt.capital_cost, + max_hours=batt.max_hours, + efficiency_store=efficiency, + efficiency_dispatch=efficiency, + cyclic_state_of_charge=True, + ) + + stats = ( + batt.groupby("country") + .p_nom.sum() + .div(1e3) + .round(3) + .sort_values(ascending=False) + ) + logger.info(f"Added {len(batt)} existing battery storage units\n({stats} MW)") + + def attach_hydro( n: pypsa.Network, costs: pd.DataFrame, @@ -1197,6 +1255,13 @@ def attach_stores( "Fuel Cell" if lookup_discharge == "fuel cell" else "discharger" ) + discharge_capital_cost = ( + 0.0 if "bicharger" in lookup else costs.at[lookup_discharge, "capital_cost"] + ) + if lookup_discharge == "fuel cell": + # NB: fuel cell investment cost is per MWel + discharge_capital_cost *= costs.at[lookup_discharge, "efficiency"] + n.add( "Bus", bus_names, @@ -1241,6 +1306,7 @@ def attach_stores( bus1=buses_i, carrier=f"{carrier} {discharge_name}", efficiency=costs.at[lookup_discharge, "efficiency"] ** roundtrip_correction, + capital_cost=discharge_capital_cost, p_nom_extendable=True, marginal_cost=costs.at[lookup_discharge, "marginal_cost"], lifetime=costs.at[lookup_discharge, "lifetime"], @@ -1395,6 +1461,9 @@ def attach_stores( ) attach_stores(n, costs, n.buses.index, extendable_carriers["Store"]) + if params.electricity.get("estimate_battery_capacities", False): + attach_existing_batteries(n, costs, ppl) + sanitize_carriers(n, snakemake.config) if "location" in n.buses: sanitize_locations(n) diff --git a/scripts/add_existing_baseyear.py b/scripts/add_existing_baseyear.py index f451365bc8..3fd00fc28c 100644 --- a/scripts/add_existing_baseyear.py +++ b/scripts/add_existing_baseyear.py @@ -172,6 +172,7 @@ def add_power_capacities_installed_before_baseyear( conventional_carriers: list[str], conventional_params: dict[str, dict[str, str]], conventional_inputs: dict[str, str], + solar_rooftop_ratio: float = 0.5, ) -> None: """ Add power generation capacities installed before base year. @@ -196,6 +197,8 @@ def add_power_capacities_installed_before_baseyear( Default values for missing data renewable_carriers: list List of renewable carriers in the network + solar_rooftop_ratio: float + Ratio of solar capacity to assign to rooftop vs utility-scale (between 0 and 1) conventional_carriers : list List of conventional carriers conventional_params : dict @@ -294,6 +297,24 @@ def add_power_capacities_installed_before_baseyear( aggfunc="sum", ) + if solar_rooftop_ratio != 0: + mask = df.index.get_level_values("Fueltype") == "solar" + solar = df.loc[mask] * (1 - solar_rooftop_ratio) + solar_rooftop = df.loc[mask] * solar_rooftop_ratio + rest = df.loc[~mask] + + # Rename column of MultiIndex to add "solar rooftop" as Fueltype + pos = solar_rooftop.index.names.index("Fueltype") + arrays = [ + solar_rooftop.index.get_level_values(n) for n in solar_rooftop.index.names + ] + arrays[pos] = ["solar rooftop"] * len(solar_rooftop) + solar_rooftop.index = pd.MultiIndex.from_arrays( + arrays, names=solar_rooftop.index.names + ) + + df = pd.concat([rest, solar, solar_rooftop]).sort_index() + # filter to only include carriers that are actually chosen to be modelled in the configuration df = df.query("Fueltype in @conventional_carriers") @@ -314,6 +335,13 @@ def add_power_capacities_installed_before_baseyear( "urban central solid biomass CHP": "biomass", } + cost_key_dict = { + "solar": "solar", + "solar rooftop": "solar-rooftop", + "onwind": "onwind", + "offwind-ac": "offwind", + } + for grouping_year, generator, resource_class in df.index: # capacity is the capacity in MW at each node for this capacity = df.loc[grouping_year, generator, resource_class] @@ -322,10 +350,10 @@ def add_power_capacities_installed_before_baseyear( suffix = "-ac" if generator == "offwind" else "" name_suffix = f" {generator}{suffix}-{grouping_year}" asset_i = capacity.index + name_suffix - if generator in ["solar", "onwind", "offwind-ac"]: + if generator in ["solar", "solar rooftop", "onwind", "offwind-ac"]: asset_i = capacity.index + " " + resource_class + name_suffix name_suffix = " " + resource_class + name_suffix - cost_key = generator.split("-")[0] + cost_key = cost_key_dict[generator] # to consider electricity grid connection costs or a split between # solar utility and rooftop as well, rather take cost assumptions # from existing network than from the cost database @@ -354,13 +382,13 @@ def add_power_capacities_installed_before_baseyear( "Generator", new_capacity.index, suffix=name_suffix, - bus=new_capacity.index, + bus=n.generators.bus[p_max_pu.columns].values, carrier=generator, p_nom=new_capacity, marginal_cost=marginal_cost, capital_cost=capital_cost, efficiency=costs.at[cost_key, "efficiency"], - p_max_pu=p_max_pu.rename(columns=n.generators.bus), + p_max_pu=p_max_pu.values, build_year=grouping_year, lifetime=costs.at[cost_key, "lifetime"], ) @@ -438,7 +466,8 @@ def add_power_capacities_installed_before_baseyear( p_nom=new_capacity / costs.at[key, "efficiency"], capital_cost=costs.at[key, "capital_cost"] * costs.at[key, "efficiency"], - marginal_cost=costs.at[key, "VOM"], + marginal_cost=costs.at[key, "efficiency"] + * costs.at[key, "VOM"], # NB: VOM is per MWel efficiency=costs.at[key, "efficiency"], build_year=grouping_year, efficiency2=costs.at[key, "efficiency-heat"], @@ -564,8 +593,8 @@ def add_heating_capacities_installed_before_baseyear( Heat pump coefficients of performance use_time_dependent_cop : bool Use time-dependent COPs - heating_default_lifetime : int - Default lifetime for heating systems + default_lifetime : int + Default lifetime for heating systems. existing_capacities : pd.DataFrame Existing heating capacity distribution heat_pump_source_types : dict @@ -860,6 +889,7 @@ def add_heating_capacities_installed_before_baseyear( capacity_threshold=snakemake.params.existing_capacities["threshold_capacity"], lifetime_values=snakemake.params.costs["fill_values"], renewable_carriers=renewable_carriers, + solar_rooftop_ratio=snakemake.params.existing_capacities["solar_rooftop_ratio"], conventional_carriers=snakemake.params.conventional_carriers, conventional_params=snakemake.params.conventional, conventional_inputs=conventional_inputs, diff --git a/scripts/base_network.py b/scripts/base_network.py index 3e428c1e1f..a24a9bdf88 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -5,9 +5,8 @@ """ -Creates the network topology from a `ENTSO-E map extract. -`_ (March 2022) -or `OpenStreetMap data `_ (Aug 2024) +Creates the network topology from a [ENTSO-E map extract.](https://github.com/PyPSA/GridKit/tree/master/entsoe) (March 2022) +or [OpenStreetMap data](https://www.openstreetmap.org/) (Aug 2024) as a PyPSA network. @@ -924,20 +923,23 @@ def build_bus_shapes( Parameters ---------- - n (pypsa.Network) : The network for which the bus shapes will be built. - admin_shapes (gpd.GeoDataFrame) : GeoDataFrame with administrative region shapes indexed by name. - offshore_shapes (str) : Path to the file containing offshore shapes. - countries (list[str]) : List of country codes to process. + n : pypsa.Network + The network for which the bus shapes will be built. + admin_shapes : gpd.GeoDataFrame + GeoDataFrame with administrative region shapes indexed by name. + offshore_shapes : str + Path to the file containing offshore shapes. + countries : list[str] + List of country codes to process. Returns ------- - tuple[list[gpd.GeoDataFrame], list[gpd.GeoDataFrame], gpd.GeoDataFrame, gpd.GeoDataFrame] - + tuple[list[gpd.GeoDataFrame], list[gpd.GeoDataFrame], gpd.GeoDataFrame, gpd.GeoDataFrame] A tuple containing: - - List of GeoDataFrames for each onshore region - - List of GeoDataFrames for each offshore region - - Combined GeoDataFrame of all onshore shapes - - Combined GeoDataFrame of all offshore shapes + - List of GeoDataFrames for each onshore region + - List of GeoDataFrames for each offshore region + - Combined GeoDataFrame of all onshore shapes + - Combined GeoDataFrame of all offshore shapes """ offshore_shapes = gpd.read_file(offshore_shapes) offshore_shapes = offshore_shapes.reindex(columns=REGION_COLS).set_index("name")[ @@ -1013,13 +1015,16 @@ def append_bus_shapes(n, shapes, type): Parameters ---------- - n (pypsa.Network): The network to which the shapes will be appended. - shapes (geopandas.GeoDataFrame): The shapes to be appended. - **kwargs: Additional keyword arguments used in `n.add`. + n : pypsa.Network + The network to which the shapes will be appended. + shapes : geopandas.GeoDataFrame + The shapes to be appended. + type : str + The type of shapes to append. Returns ------- - None + None """ remove = n.shapes.query("component == 'Bus' and type == @type").index n.remove("Shape", remove) @@ -1044,13 +1049,17 @@ def find_neighbours( Parameters ---------- - polygon (shapely.geometry.Polygon): Polygon for which to find neighbours. - index (str): Index of the polygon. - gdf (gpd.GeoDataFrame): GeoDataFrame containing all polygons. + polygon : shapely.geometry.Polygon + Polygon for which to find neighbours. + index : str + Index of the polygon. + gdf : gpd.GeoDataFrame + GeoDataFrame containing all polygons. Returns ------- - list: List of indices of neighbouring polygons. + list + List of indices of neighbouring polygons. """ possible_neighbours = gdf.sindex.intersection(polygon.bounds) @@ -1077,14 +1086,19 @@ def keep_good_neighbours( Parameters ---------- - adm (str): Index of the administrative region. - neighbours (list): List of neighbours. - parent_dict (dict): Dictionary with parent of each administrative region. - country_dict (dict): Dictionary with country of each administrative region. + adm : str + Index of the administrative region. + neighbours : list + List of neighbours. + parent_dict : dict + Dictionary with parent of each administrative region. + country_dict : dict + Dictionary with country of each administrative region. Returns ------- - list: List of filtered + list + List of filtered neighbours. """ # Only keep neighbours that are located in the same country @@ -1110,13 +1124,17 @@ def sort_values_by_dict( Parameters ---------- - neighbours (list): List of keys to sort. - dicts (list): List of dictionaries containing values to sort by. - ascending (bool): Whether to sort in ascending order. + neighbours : list + List of keys to sort. + dicts : list + List of dictionaries containing values to sort by. + ascending : bool + Whether to sort in ascending order. Returns ------- - list: Sorted list of keys. + list + Sorted list of keys. """ return sorted( neighbours, @@ -1137,13 +1155,17 @@ def create_merged_admin_region( Parameters ---------- - row (pd.Series): Series containing information about the region to be merged. - first_neighbours_dict (dict): Dictionary containing first neighbours for each region. - admin_shapes (gpd.GeoDataFrame): GeoDataFrame containing all administrative regions. + row : pd.Series + Series containing information about the region to be merged. + first_neighbours_dict : dict + Dictionary containing first neighbours for each region. + admin_shapes : gpd.GeoDataFrame + GeoDataFrame containing all administrative regions. Returns ------- - pd.Series: Series containing information about the merged region. + pd.Series + Series containing information about the merged region. """ first_neighbours = first_neighbours_dict[row.name] neighbours_contain = list( @@ -1210,11 +1232,13 @@ def update_names( Parameters ---------- - names (list): List of names to update. + names : list[str] + List of names to update. Returns ------- - str: Updated name. + str + Updated name. """ if len(names) == 1: return names[0] @@ -1233,11 +1257,13 @@ def clean_dict( Parameters ---------- - diction (dict): Dictionary to clean. + diction : dict + Dictionary to clean. Returns ------- - dict: Cleaned dictionary. + dict + Cleaned dictionary. """ if not diction: @@ -1290,12 +1316,15 @@ def get_nearest_neighbour( Parameters ---------- - row (pd.Series): Series containing information about the region. - admin_shapes (gpd.GeoDataFrame): GeoDataFrame containing all administrative regions. + row : pd.Series + Series containing information about the region. + admin_shapes : gpd.GeoDataFrame + GeoDataFrame containing all administrative regions. Returns ------- - str: Index of the nearest neighbour. + str + Index of the nearest neighbour. """ country = row["country"] gdf = gpd.GeoDataFrame([row.loc[["country", "geometry"]]], crs=admin_shapes.crs) @@ -1333,12 +1362,15 @@ def merge_regions_recursive( Parameters ---------- - admin_shapes (gpd.GeoDataFrame): GeoDataFrame containing all administrative regions. - neighbours_missing (bool): Whether to find neighbours if they are missing. + admin_shapes : gpd.GeoDataFrame + GeoDataFrame containing all administrative regions. + neighbours_missing : bool + Whether to find neighbours if they are missing. Returns ------- - gpd.GeoDataFrame: GeoDataFrame containing the merged administrative regions + gpd.GeoDataFrame + GeoDataFrame containing the merged administrative regions. """ while True: # Calculate area diff --git a/scripts/build_ammonia_production.py b/scripts/build_ammonia_production.py index 056181b32b..def1a82102 100644 --- a/scripts/build_ammonia_production.py +++ b/scripts/build_ammonia_production.py @@ -7,7 +7,7 @@ Description ------- -This functions takes data from the `Minerals Yearbook `_ +This functions takes data from the [Minerals Yearbook](https://www.usgs.gov/centers/national-minerals-information-center/nitrogen-statistics-and-information) (July 2024) published by the US Geological Survey (USGS) and the National Minerals Information Center and extracts the annual ammonia production per country in ktonN/a. The data is converted to ktonNH3/a. """ @@ -44,7 +44,7 @@ ammonia.index = cc.convert(ammonia.index, to="iso2") - years = [str(i) for i in range(2018, 2023)] + years = [str(i) for i in range(2019, 2024)] ammonia = ammonia.rename(columns=lambda x: str(x))[years] diff --git a/scripts/build_ates_potentials.py b/scripts/build_ates_potentials.py index ee6584151a..d42457d7f0 100644 --- a/scripts/build_ates_potentials.py +++ b/scripts/build_ates_potentials.py @@ -13,14 +13,15 @@ Relevant Settings ----------------- -.. code:: yaml - sector: - aquifer_thermal_energy_storage: - aquifer_volumetric_heat_capacity: - fraction_of_aquifer_area_available: - effective_screen_length: - suitable_aquifer_types: - dh_area_buffer: +```yaml +sector: + aquifer_thermal_energy_storage: + aquifer_volumetric_heat_capacity: + fraction_of_aquifer_area_available: + effective_screen_length: + suitable_aquifer_types: + dh_area_buffer: +``` Inputs ------ diff --git a/scripts/build_bidding_zones.py b/scripts/build_bidding_zones.py index 30436a2942..353a0c0961 100644 --- a/scripts/build_bidding_zones.py +++ b/scripts/build_bidding_zones.py @@ -7,7 +7,7 @@ Outputs ------- -- ``resources/bidding_zones.geojson``: +- `resources/bidding_zones.geojson`: """ import geopandas as gpd @@ -137,15 +137,25 @@ def extract_shape_by_bbox( Parameters ---------- - - gdf (GeoDataFrame): GeoDataFrame containing country geometries. - - country (str): The country code or name to filter. - - min_lon, max_lon (float): Longitude bounds for extraction. - - min_lat, max_lat (float): Latitude bounds for extraction. - - region_id (str): String to assign an ID to the extracted region. + gdf : GeoDataFrame + GeoDataFrame containing country geometries. + country : str + The country code or name to filter. + min_lon : float + Minimum longitude bound for extraction. + max_lon : float + Maximum longitude bound for extraction. + min_lat : float + Minimum latitude bound for extraction. + max_lat : float + Maximum latitude bound for extraction. + region_id : str + String to assign an ID to the extracted region. Returns ------- - - gdf_new: Updated GeoDataFrame with the extracted shape separated. + GeoDataFrame + Updated GeoDataFrame with the extracted shape separated. """ country_gdf = gdf.explode().query("country == @country").reset_index(drop=True) diff --git a/scripts/build_biomass_potentials.py b/scripts/build_biomass_potentials.py index 796bd9e554..be0d9bf3ff 100755 --- a/scripts/build_biomass_potentials.py +++ b/scripts/build_biomass_potentials.py @@ -47,9 +47,11 @@ def _calc_unsustainable_potential(df, df_unsustainable, share_unsus, resource_ty return ( df.apply( - lambda c: c.sum() - / df.loc[df.index.str[:2] == c.name[:2]].sum().sum() - * resource_potential.loc[c.name[:2]], + lambda c: ( + c.sum() + / df.loc[df.index.str[:2] == c.name[:2]].sum().sum() + * resource_potential.loc[c.name[:2]] + ), axis=1, ) .mul(share_unsus) @@ -255,8 +257,8 @@ def add_unsustainable_potentials(df, input_eurostat): ---------- df : pd.DataFrame The dataframe with sustainable biomass potentials. - unsustainable_biomass : str - Path to the file with unsustainable biomass potentials. + input_eurostat : str + Path to the file with Eurostat biomass data. Returns ------- diff --git a/scripts/build_central_heating_temperature_profiles/run.py b/scripts/build_central_heating_temperature_profiles/run.py index c58d0fb063..2d4d05738d 100644 --- a/scripts/build_central_heating_temperature_profiles/run.py +++ b/scripts/build_central_heating_temperature_profiles/run.py @@ -14,12 +14,13 @@ Relevant Settings ----------------- -.. code:: yaml - sector: - district_heating: - max_forward_temperature: - min_forward_temperature: - return_temperature: +```yaml +sector: + district_heating: + max_forward_temperature: + min_forward_temperature: + return_temperature: +``` Inputs ------ - `resources//temp_air_total`: Air temperature diff --git a/scripts/build_clustered_co2_sequestration_potentials.py b/scripts/build_clustered_co2_sequestration_potentials.py index 1b6ee90911..c51ea39299 100644 --- a/scripts/build_clustered_co2_sequestration_potentials.py +++ b/scripts/build_clustered_co2_sequestration_potentials.py @@ -3,8 +3,8 @@ # SPDX-License-Identifier: MIT """ Build regionalised geological sequestration potential for carbon dioxide using -data from `CO2Stop `_. +data from [CO2Stop](https://setis.ec.europa.eu/european-co2-storage- +database_en). """ import logging diff --git a/scripts/build_co2_sequestration_potentials.py b/scripts/build_co2_sequestration_potentials.py index 238839b3e8..0f7146a71a 100644 --- a/scripts/build_co2_sequestration_potentials.py +++ b/scripts/build_co2_sequestration_potentials.py @@ -3,8 +3,8 @@ # SPDX-License-Identifier: MIT """ Build regionalised geological sequestration potential for carbon dioxide using -data from `CO2Stop `_. +data from [CO2Stop](https://setis.ec.europa.eu/european-co2-storage- +database_en). """ from typing import Any @@ -82,7 +82,10 @@ def create_capacity_map_storage(table_fn: str, map_fn: str) -> gpd.GeoDataFrame: df = pd.read_csv(table_fn) sel = ["COUNTRYCOD", "ID", "geometry"] - gdf = gpd.read_file(map_fn).rename(columns={"id": "ID"})[sel] + gdf = gpd.read_file(map_fn).rename(columns={"id": "ID"}) + if gdf.ID.isna().all() and "ID2" in gdf.columns: + gdf["ID"] = gdf["ID2"] + gdf = gdf[sel] gdf.geometry = gdf.geometry.buffer(0) # Combine shapes with the same id into one multi-polygon @@ -155,7 +158,10 @@ def create_capacity_map_traps(table_fn: list[str], map_fn: str) -> gpd.GeoDataFr df = pd.concat([pd.read_csv(path) for path in table_fn], ignore_index=True) sel = ["COUNTRYCOD", "ID", "geometry"] - gdf = gpd.read_file(map_fn).rename(columns={"id": "ID"})[sel] + gdf = gpd.read_file(map_fn).rename(columns={"id": "ID"}) + if gdf.ID.isna().all() and "ID2" in gdf.columns: + gdf["ID"] = gdf["ID2"] + gdf = gdf[sel] # Combine shapes with the same id into one multi-polygon gdf = gdf.groupby(["COUNTRYCOD", "ID"]).agg(unary_union).reset_index() @@ -298,7 +304,7 @@ def merge_maps( if "snakemake" not in globals(): from scripts._helpers import mock_snakemake - snakemake = mock_snakemake("build_co2_storage") + snakemake = mock_snakemake("build_co2_sequestration_potentials") table_fn = snakemake.input.storage_table map_fn = snakemake.input.storage_map diff --git a/scripts/build_cop_profiles/run.py b/scripts/build_cop_profiles/run.py index b2e49395fe..90c64c6c15 100644 --- a/scripts/build_cop_profiles/run.py +++ b/scripts/build_cop_profiles/run.py @@ -10,23 +10,24 @@ Relevant Settings ----------------- -.. code:: yaml - sector: - heat_pump_sink_T_decentral_heating: - district_heating: - forward_temperature: - return_temperature: - heat_source_cooling: - heat_pump_cop_approximation: - refrigerant: - heat_exchanger_pinch_point_temperature_difference - isentropic_compressor_efficiency: - heat_loss: - min_delta_t_lift: - heat_pump_sources: - urban central: - urban decentral: - rural: +```yaml +sector: + heat_pump_sink_T_decentral_heating: + district_heating: + forward_temperature: + return_temperature: + heat_source_cooling: + heat_pump_cop_approximation: + refrigerant: + heat_exchanger_pinch_point_temperature_difference + isentropic_compressor_efficiency: + heat_loss: + min_delta_t_lift: + heat_pump_sources: + urban central: + urban decentral: + rural: +``` Inputs ------ - `resources//temp_soil_total`: Ground temperature diff --git a/scripts/build_country_hdd.py b/scripts/build_country_hdd.py index 5db7c0baeb..bf9717c012 100644 --- a/scripts/build_country_hdd.py +++ b/scripts/build_country_hdd.py @@ -7,15 +7,12 @@ Outputs ------- -- ``data/country_runoff/build/unknown/era5-hdd-per-country.csv``: - - =================== ========== =========== ========================================================= - Field Dimensions Unit Description - =================== ========== =========== ========================================================= - index/time time day Datestamp, YYYY-MM-DD - ------------------- ---------- ----------- --------------------------------------------------------- - country ISO-3166 A2 Aggregated HDDs per country - =================== ========== =========== ========================================================= +- `data/country_runoff/build/unknown/era5-hdd-per-country.csv`: + +| Field | Dimensions | Unit | Description | +| --- | --- | --- | --- | +| index/time | time | day | Datestamp, YYYY-MM-DD | +| <columns> | country | ISO-3166 A2 | Aggregated HDDs per country | """ diff --git a/scripts/build_country_runoff.py b/scripts/build_country_runoff.py index 32e07e19be..f6792e4227 100644 --- a/scripts/build_country_runoff.py +++ b/scripts/build_country_runoff.py @@ -7,15 +7,12 @@ Outputs ------- -- ``data/country_runoff/build/unknown/era5-runoff-per-country.csv``: - - =================== ========== =========== ========================================================= - Field Dimensions Unit Description - =================== ========== =========== ========================================================= - index/time time day Datestamp, YYYY-MM-DD - ------------------- ---------- ----------- --------------------------------------------------------- - country ISO-3166 A2 Daily total runoff (volume per area) per country - =================== ========== =========== ========================================================= +- `data/country_runoff/build/unknown/era5-runoff-per-country.csv`: + +| Field | Dimensions | Unit | Description | +| --- | --- | --- | --- | +| index/time | time | day | Datestamp, YYYY-MM-DD | +| <columns> | country | ISO-3166 A2 | Daily total runoff (volume per area) per country | """ diff --git a/scripts/build_cutout.py b/scripts/build_cutout.py index eea963de1a..a02463c959 100644 --- a/scripts/build_cutout.py +++ b/scripts/build_cutout.py @@ -2,69 +2,45 @@ # # SPDX-License-Identifier: MIT """ -Create cutouts with `atlite `_. +Create cutouts with [atlite](https://atlite.readthedocs.io/en/latest/). For this rule to work you must have -- installed the `Copernicus Climate Data Store `_ ``cdsapi`` package (`install with `pip``) and -- registered and setup your CDS API key as described `on their website `_. +- installed the [Copernicus Climate Data Store](https://cds.climate.copernicus.eu) `cdsapi` package (`install with `pip``) and +- registered and setup your CDS API key as described [on their website](https://cds.climate.copernicus.eu/api-how-to). -.. seealso:: - For details on the weather data read the `atlite documentation `_. - If you need help specifically for creating cutouts `the corresponding section in the atlite documentation `_ should be helpful. +!!! info "See also" + For details on the weather data read the [atlite documentation](https://atlite.readthedocs.io/en/latest/). If you need help specifically for creating cutouts [the corresponding section in the atlite documentation](https://atlite.readthedocs.io/en/latest/examples/create_cutout.html) should be helpful. Outputs ------- -- ``cutouts/{cutout}``: weather data from either the `ERA5 `_ - reanalysis weather dataset or `SARAH-3 `_ +- `cutouts/{cutout}`: weather data from either the [ERA5](https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era5) + reanalysis weather dataset or [SARAH-3](https://wui.cmsaf.eu/safira/action/viewProduktSearch) satellite-based historic weather data with the following structure: **ERA5 cutout:** - =================== ========== ========== ========================================================= - Field Dimensions Unit Description - =================== ========== ========== ========================================================= - pressure time, y, x Pa Surface pressure - ------------------- ---------- ---------- --------------------------------------------------------- - temperature time, y, x K Air temperature 2 meters above the surface. - ------------------- ---------- ---------- --------------------------------------------------------- - soil temperature time, y, x K Soil temperature between 1 meters and 3 meters - depth (layer 4). - ------------------- ---------- ---------- --------------------------------------------------------- - influx_toa time, y, x Wm**-2 Top of Earth's atmosphere TOA incident solar radiation - ------------------- ---------- ---------- --------------------------------------------------------- - influx_direct time, y, x Wm**-2 Total sky direct solar radiation at surface - ------------------- ---------- ---------- --------------------------------------------------------- - runoff time, y, x m `Runoff `_ - (volume per area) - ------------------- ---------- ---------- --------------------------------------------------------- - roughness y, x m Forecast surface roughness - (`roughness length `_) - ------------------- ---------- ---------- --------------------------------------------------------- - height y, x m Surface elevation above sea level - ------------------- ---------- ---------- --------------------------------------------------------- - albedo time, y, x -- `Albedo `_ - measure of diffuse reflection of solar radiation. - Calculated from relation between surface solar radiation - downwards (Jm**-2) and surface net solar radiation - (Jm**-2). Takes values between 0 and 1. - ------------------- ---------- ---------- --------------------------------------------------------- - influx_diffuse time, y, x Wm**-2 Diffuse solar radiation at surface. - Surface solar radiation downwards minus - direct solar radiation. - ------------------- ---------- ---------- --------------------------------------------------------- - wnd100m time, y, x ms**-1 Wind speeds at 100 meters (regardless of direction) - =================== ========== ========== ========================================================= - - .. image:: img/era5.png - :scale: 40 % - -A **SARAH-3 cutout** can be used to amend the fields ``temperature``, ``influx_toa``, ``influx_direct``, ``albedo``, -``influx_diffuse`` of ERA5 using satellite-based radiation observations. - - .. image:: img/sarah.png - :scale: 40 % +| Field | Dimensions | Unit | Description | +| --- | --- | --- | --- | +| pressure | time, y, x | Pa | Surface pressure | +| temperature | time, y, x | K | Air temperature 2 meters above the surface. | +| soil temperature | time, y, x | K | Soil temperature between 1 meters and 3 meters depth (layer 4). | +| influx_toa | time, y, x | Wm**-2 | Top of Earth's atmosphere TOA incident solar radiation | +| influx_direct | time, y, x | Wm**-2 | Total sky direct solar radiation at surface | +| runoff | time, y, x | m | [Runoff](https://en.wikipedia.org/wiki/Surface_runoff) (volume per area) | +| roughness | y, x | m | Forecast surface roughness ([roughness length](https://en.wikipedia.org/wiki/Roughness_length)) | +| height | y, x | m | Surface elevation above sea level | +| albedo | time, y, x | -- | [Albedo](https://en.wikipedia.org/wiki/Albedo) measure of diffuse reflection of solar radiation. Calculated from relation between surface solar radiation downwards (Jm**-2) and surface net solar radiation (Jm**-2). Takes values between 0 and 1. | +| influx_diffuse | time, y, x | Wm**-2 | Diffuse solar radiation at surface. Surface solar radiation downwards minus direct solar radiation. | +| wnd100m | time, y, x | ms**-1 | Wind speeds at 100 meters (regardless of direction) | + +![](img/era5.png) + +A **SARAH-3 cutout** can be used to amend the fields `temperature`, `influx_toa`, `influx_direct`, `albedo`, +`influx_diffuse` of ERA5 using satellite-based radiation observations. + +![](img/sarah.png) """ diff --git a/scripts/build_daily_heat_demand.py b/scripts/build_daily_heat_demand.py index 2ff6f73d4c..05612c9f50 100644 --- a/scripts/build_daily_heat_demand.py +++ b/scripts/build_daily_heat_demand.py @@ -5,13 +5,12 @@ This rule builds heat demand time series using heating degree day (HDD) approximation. -Snapshots are resampled to daily time resolution and ``Atlite.convert.heat_demand`` is used to convert ambient temperature from the default weather cutout to heat demand time series for the respective cutout. +Snapshots are resampled to daily time resolution and `Atlite.convert.heat_demand` is used to convert ambient temperature from the default weather cutout to heat demand time series for the respective cutout. Heat demand is distributed by population to clustered onshore regions. -.. seealso:: - `Atlite.Cutout.heat_demand `_ - +!!! info "See also" + [Atlite.Cutout.heat_demand](https://atlite.readthedocs.io/en/master/ref_api.html#module-atlite.convert) """ import logging @@ -19,13 +18,13 @@ import geopandas as gpd import numpy as np import xarray as xr -from dask.distributed import Client, LocalCluster from scripts._helpers import ( configure_logging, get_snapshots, load_cutout, set_scenario_config, + setup_dask, ) logger = logging.getLogger(__name__) @@ -43,8 +42,7 @@ set_scenario_config(snakemake) nprocesses = int(snakemake.threads) - cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) - client = Client(cluster, asynchronous=True) + dask_kwargs = setup_dask(nprocesses) cutout_name = snakemake.input.cutout @@ -71,7 +69,7 @@ heat_demand = cutout.heat_demand( matrix=M.T, index=clustered_regions.index, - dask_kwargs=dict(scheduler=client), + dask_kwargs=dask_kwargs, show_progress=False, ).sel(time=daily) diff --git a/scripts/build_dh_areas.py b/scripts/build_dh_areas.py index ae5d92c755..415ec4484d 100644 --- a/scripts/build_dh_areas.py +++ b/scripts/build_dh_areas.py @@ -18,13 +18,13 @@ Relevant Settings ----------------- -.. code:: yaml - - countries: ['DE', 'FR', 'ES', ...] # List of modeled countries - sector: - district_heating: - dh_areas: - handle_missing_countries: 'ignore' # or 'fill' or 'raise' +```yaml +countries: ['DE', 'FR', 'ES', ...] # List of modeled countries +sector: + district_heating: + dh_areas: + handle_missing_countries: 'ignore' # or 'fill' or 'raise' +``` Inputs ------ diff --git a/scripts/build_electricity_demand.py b/scripts/build_electricity_demand.py index 498765db53..200780e77a 100755 --- a/scripts/build_electricity_demand.py +++ b/scripts/build_electricity_demand.py @@ -3,11 +3,10 @@ # # SPDX-License-Identifier: MIT """ -This rule downloads the load data from `Open Power System Data Time series -`_. For all countries in +This rule downloads the load data from [Open Power System Data Time series](https://data.open-power-system-data.org/time_series/). For all countries in the network, the per country load timeseries are extracted from the dataset. After filling small gaps linearly and large gaps by copying time-slice of a -given period, the load data is exported to a ``.csv`` file. +given period, the load data is exported to a `.csv` file. """ import logging @@ -129,16 +128,18 @@ def manual_adjustment(load, fn_load, countries): Parameters ---------- - load : pd.DataFrame - Load time-series with UTC timestamps x ISO-2 countries - load_fn: str - File name or url location (file format .csv) + load : pd.DataFrame + Load time-series with UTC timestamps x ISO-2 countries. + fn_load : str + File name or url location (file format .csv). + countries : list + List of country codes. Returns ------- - load : pd.DataFrame - Manual adjusted and interpolated load time-series with UTC - timestamps x ISO-2 countries + load : pd.DataFrame + Manual adjusted and interpolated load time-series with UTC + timestamps x ISO-2 countries. """ copy_timeslice(load, "UA", "2010-01-01 00:00", "2010-01-01 01:00", Delta(days=-1)) diff --git a/scripts/build_electricity_demand_base.py b/scripts/build_electricity_demand_base.py index ff855a7960..8b8c8ef8b2 100644 --- a/scripts/build_electricity_demand_base.py +++ b/scripts/build_electricity_demand_base.py @@ -7,56 +7,191 @@ """ import logging -from itertools import product +import country_converter as coco import geopandas as gpd import numpy as np import pandas as pd import pypsa -import scipy.sparse as sparse +import rasterio as rio import xarray as xr -from shapely.prepared import prep +from rasterstats import zonal_stats from scripts._helpers import configure_logging, set_scenario_config logger = logging.getLogger(__name__) +cc = coco.CountryConverter() + def normed(s: pd.Series) -> pd.Series: return s / s.sum() -def shapes_to_shapes(orig: gpd.GeoSeries, dest: gpd.GeoSeries) -> sparse.lil_matrix: +def redistribute_attribute( + orig: gpd.GeoDataFrame, dest: gpd.GeoDataFrame, attr: str +) -> pd.Series: + """ + Redistributes an attribute from origin GeoDataFrame to destination GeoDataFrame based on overlapping areas. + + Computes the intersection between geometries and proportionally assigns the attribute values + according to the share of overlapping area. + + Parameters + ---------- + orig : gpd.GeoDataFrame + Source GeoDataFrame containing the attribute to redistribute + dest : gpd.GeoDataFrame + Target GeoDataFrame to receive redistributed values + attr : str + Name of the attribute column to redistribute + + Returns + ------- + pd.Series + Redistributed attribute values indexed by destination's 'name' column + """ + if orig.crs != 3035: + orig = orig.to_crs(epsg=3035) + if dest.crs != 3035: + dest = dest.to_crs(epsg=3035) + orig["area_orig"] = orig.area + overlay = gpd.overlay(dest, orig, keep_geom_type=False) + overlay["share"] = overlay.area / overlay.area_orig + overlay["attr"] = overlay[attr].mul(overlay.share) + return overlay.dissolve("name", aggfunc="sum")["attr"] + + +def energy_atlas_distribution_keys( + raster_fn: str, regions: gpd.GeoDataFrame +) -> pd.Series: + """ + Calculate distribution keys for regions based on energy atlas raster data. + + Parameters + ---------- + raster_fn : str + File path to the raster data (GeoTIFF format). + regions : gpd.GeoDataFrame + GeoDataFrame containing the regions with a 'country' column. + + Returns + ------- + pd.Series + Series of distribution keys indexed by region names. + Sum of keys per country equals 1 (unless omitted islands in regions). + """ + + raster = rio.open(raster_fn) + band = raster.read(1) + + distribution_keys = [] + for country, group in regions.groupby("country"): + if country not in cc.EU27as("ISO2").ISO2.to_list(): + continue + weights = zonal_stats( + group, band, affine=raster.transform, nodata=-1, stats="sum" + ) + group["weights"] = [w["sum"] for w in weights] + distribution_keys.append(group["weights"] / group["weights"].sum()) + distribution_keys = pd.concat(distribution_keys).reindex(regions.index) + return distribution_keys + + +def gb_distribution_keys( + excel_fn: str, geojson_fn: str, regions: gpd.GeoDataFrame +) -> pd.Series: """ - Adopted from vresutils.transfer.Shapes2Shapes() + Calculate distribution keys for Great Britain regions based on electricity consumption statistics. + + Parameters + ---------- + excel_fn : str + File path to the Excel file containing electricity consumption by local authority districts. + geojson_fn : str + File path to the GeoJSON file containing geometries of local authority districts. + regions : gpd.GeoDataFrame + GeoDataFrame containing the network regions. + + Returns + ------- + pd.Series + Series of distribution keys indexed by region names. """ - orig_prepped = list(map(prep, orig)) - transfer = sparse.lil_matrix((len(dest), len(orig)), dtype=float) - for i, j in product(range(len(dest)), range(len(orig))): - if orig_prepped[j].intersects(dest.iloc[i]): - area = orig.iloc[j].intersection(dest.iloc[i]).area - transfer[i, j] = area / dest.iloc[i].area + df = pd.read_excel(excel_fn, skiprows=4, sheet_name="2019") + df = df.loc[~df["Local authority"].isin(["All local authorities", "Unallocated"])] + gdf = gpd.read_file(geojson_fn).to_crs(epsg=3035) + gdf = gdf.rename(columns={"LAD24CD": "Code"}).merge(df, on="Code") + + attr = "Total consumption\n(GWh):\nAll meters" + redistributed = redistribute_attribute(gdf, regions.reset_index(drop=True), attr) + distribution_keys = normed(redistributed) + return distribution_keys + - return transfer +def nuts3_distribution_keys( + nuts3_fn: str, distribution_key: dict[str, float], regions: gpd.GeoDataFrame +) -> pd.Series: + """ + Calculate distribution keys for regions based on NUTS3 data (GDP and population). + + Parameters + ---------- + nuts3_fn : str + File path to the NUTS3 GeoJSON file containing geometries and attributes. + distribution_key : dict[str, float] + Weights for GDP and population in the distribution key calculation. + Example: {"gdp": 0.6, "pop": 0.4} + regions : gpd.GeoDataFrame + GeoDataFrame containing the regions with a 'country' column. + + Returns + ------- + pd.Series + Series of distribution keys indexed by region names. + """ + + gdp_weight = distribution_key.get("gdp", 0.6) + pop_weight = distribution_key.get("pop", 0.4) + + nuts3 = gpd.read_file(nuts3_fn).to_crs(epsg=3035) + nuts3.rename(columns={"name": "nuts3_name"}, inplace=True) + + regions["pop"] = redistribute_attribute( + nuts3, regions.reset_index(drop=True), "pop" + ) + regions["gdp"] = redistribute_attribute( + nuts3, regions.reset_index(drop=True), "gdp" + ) + + nuts3_keys = [] + for country, group in regions.groupby("country"): + factors = normed( + gdp_weight * normed(group["gdp"]) + pop_weight * normed(group["pop"]) + ) + nuts3_keys.append(factors) + return pd.concat(nuts3_keys).reindex(regions.index) def upsample_load( n: pypsa.Network, regions_fn: str, load_fn: str, + raster_fn: str, + gb_excel_fn: str, + gb_geojson_fn: str, nuts3_fn: str, distribution_key: dict[str, float], + substation_only: bool = False, load_source: str = "opsd", -) -> pd.DataFrame: - substation_lv_i = n.buses.index[n.buses["substation_lv"]] - gdf_regions = gpd.read_file(regions_fn).set_index("name").reindex(substation_lv_i) - load = pd.read_csv(load_fn, index_col=0, parse_dates=True) - - nuts3 = gpd.read_file(nuts3_fn).set_index("index") +) -> xr.DataArray: + regions = gpd.read_file(regions_fn).set_index("name", drop=False).to_crs(epsg=3035) - gdp_weight = distribution_key.get("gdp", 0.6) - pop_weight = distribution_key.get("pop", 0.4) + if substation_only: + substation_lv_i = n.buses.index[n.buses["substation_lv"]] + regions = regions.reindex(substation_lv_i) + load = pd.read_csv(load_fn, index_col=0, parse_dates=True) if load_source == "tyndp": data_array = xr.DataArray( @@ -65,37 +200,42 @@ def upsample_load( coords={"time": load.index.values, "bus": load.columns.values}, ) else: - data_arrays = [] + ea_keys = energy_atlas_distribution_keys(raster_fn, regions) + gb_keys = gb_distribution_keys(gb_excel_fn, gb_geojson_fn, regions) + nuts3_keys = nuts3_distribution_keys(nuts3_fn, distribution_key, regions) - for cntry, group in gdf_regions.geometry.groupby(gdf_regions.country): - load_ct = load[cntry] + factors = ea_keys.combine_first(gb_keys).combine_first(nuts3_keys) - if len(group) == 1: - factors = pd.Series(1.0, index=group.index) + # sanitize: need to renormalize since `gb_keys` only cover Great Britain + # and Northern Ireland is taken from `nuts3_keys` + if "GB" in regions.country: + uk_regions_i = regions.query("country == 'GB'").index + uk_weights = factors.loc[uk_regions_i].sum() + factors.loc[uk_regions_i] /= uk_weights - else: - nuts3_cntry = nuts3.loc[nuts3.country == cntry] - transfer = shapes_to_shapes(group, nuts3_cntry.geometry).T.tocsr() - gdp_n = pd.Series( - transfer.dot(nuts3_cntry["gdp"].fillna(1.0).values), - index=group.index, - ) - pop_n = pd.Series( - transfer.dot(nuts3_cntry["pop"].fillna(1.0).values), - index=group.index, - ) + data_arrays = [] - factors = normed( - gdp_weight * normed(gdp_n) + pop_weight * normed(pop_n) + for cntry, group in regions.geometry.groupby(regions.country): + if cntry not in load.columns: + logger.warning( + f"Cannot upsample load for {cntry}: no load data defined" ) + continue + + load_ct = load[cntry] + factors_ct = factors.loc[group.index] data_arrays.append( xr.DataArray( - factors.values * load_ct.values[:, np.newaxis], + factors_ct.values * load_ct.values[:, np.newaxis], dims=["time", "bus"], - coords={"time": load_ct.index.values, "bus": factors.index.values}, + coords={ + "time": load_ct.index.values, + "bus": factors_ct.index.values, + }, ) ) + data_array = xr.concat(data_arrays, dim="bus") return data_array @@ -117,8 +257,12 @@ def upsample_load( n, regions_fn=snakemake.input.regions, load_fn=snakemake.input.load, + raster_fn=snakemake.input.raster, + gb_excel_fn=snakemake.input.gb_excel, + gb_geojson_fn=snakemake.input.gb_geojson, nuts3_fn=snakemake.input.nuts3, distribution_key=params.distribution_key, + substation_only=params.substation_only, load_source=snakemake.params.load_source, ) diff --git a/scripts/build_energy_totals.py b/scripts/build_energy_totals.py index 4a24e624b8..f121b2df3c 100644 --- a/scripts/build_energy_totals.py +++ b/scripts/build_energy_totals.py @@ -7,10 +7,10 @@ Build total energy demands and carbon emissions per country using JRC IDEES, eurostat, and EEA data. -- Country-specific data is read in :func:`build_idees` and read in from :mod:`scripts/build_eurostat_balances` and :mod:`scripts/build_swiss_energy_balances`. -- :func:`build_energy_totals` then combines energy data from Eurostat, Swiss, and IDEES data. -- :func:`build_district_heat_share` calculates the share of district heating for each country from IDEES data. -- Historical CO2 emissions are calculated in :func:`build_eea_co2` and :func:`build_eurostat_co2` and combined in :func:`build_co2_totals`. +- Country-specific data is read in `build_idees` and read in from [build_eurostat_balances][] and `build_swiss_energy_balances`. +- `build_energy_totals` then combines energy data from Eurostat, Swiss, and IDEES data. +- `build_district_heat_share` calculates the share of district heating for each country from IDEES data. +- Historical CO2 emissions are calculated in `build_eea_co2` and `build_eurostat_co2` and combined in `build_co2_totals`. Outputs ------- @@ -44,10 +44,10 @@ def cartesian(s1: pd.Series, s2: pd.Series) -> pd.DataFrame: Parameters ---------- - s1: pd.Series - The first pandas Series - s2: pd.Series: - The second pandas Series. + s1 : pd.Series + The first pandas Series. + s2 : pd.Series + The second pandas Series. Returns ------- @@ -1213,11 +1213,13 @@ def build_transformation_output_coke(eurostat, fn): Parameters ---------- - eurostat (pd.DataFrame): A pandas DataFrame containing Eurostat data with - a multi-level index - fn (str): The file path where the resulting CSV file should be saved. + eurostat : pd.DataFrame + A pandas DataFrame containing Eurostat data with a multi-level index. + fn : str + The file path where the resulting CSV file should be saved. - Output: + Notes + ----- The resulting transformation output data for coke ovens is saved as a CSV file at the path specified in fn. """ diff --git a/scripts/build_gas_network.py b/scripts/build_gas_network.py index 9b006ed904..ebb01a5d21 100644 --- a/scripts/build_gas_network.py +++ b/scripts/build_gas_network.py @@ -23,10 +23,10 @@ def diameter_to_capacity(pipe_diameter_mm): """ Calculate pipe capacity in MW based on diameter in mm. - 20 inch (500 mm) 50 bar -> 1.5 GW CH4 pipe capacity (LHV) 24 inch - (600 mm) 50 bar -> 5 GW CH4 pipe capacity (LHV) 36 inch (900 - mm) 50 bar -> 11.25 GW CH4 pipe capacity (LHV) 48 inch (1200 mm) 80 - bar -> 21.7 GW CH4 pipe capacity (LHV) + 20 inch (500 mm) 50 bar -> 1.5 GW CH4 pipe capacity (LHV) + 24 inch (600 mm) 50 bar -> 5 GW CH4 pipe capacity (LHV) + 36 inch (900 mm) 50 bar -> 11.25 GW CH4 pipe capacity (LHV) + 48 inch (1200 mm) 80 bar -> 21.7 GW CH4 pipe capacity (LHV) Based on p.15 of https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf @@ -131,8 +131,10 @@ def prepare_dataset( # lines which have way too discrepant line lengths # get assigned haversine length * length factor df["length_haversine"] = df.apply( - lambda p: length_factor - * haversine_pts([p.point0.x, p.point0.y], [p.point1.x, p.point1.y]), + lambda p: ( + length_factor + * haversine_pts([p.point0.x, p.point0.y], [p.point1.x, p.point1.y]) + ), axis=1, ) ratio = df.eval("length / length_haversine") diff --git a/scripts/build_geothermal_heat_potential.py b/scripts/build_geothermal_heat_potential.py index df573866b7..a73129973c 100644 --- a/scripts/build_geothermal_heat_potential.py +++ b/scripts/build_geothermal_heat_potential.py @@ -10,12 +10,13 @@ Relevant Settings ----------------- -.. code:: yaml - sector: - district_heating: - limited_heat_sources: - geothermal: - constant_temperature_celsius +```yaml +sector: + district_heating: + limited_heat_sources: + geothermal: + constant_temperature_celsius +``` Inputs ------ diff --git a/scripts/build_hac_features.py b/scripts/build_hac_features.py index 82c4d4e574..9d936cfaea 100644 --- a/scripts/build_hac_features.py +++ b/scripts/build_hac_features.py @@ -9,13 +9,13 @@ import geopandas as gpd from atlite.aggregate import aggregate_matrix -from dask.distributed import Client from scripts._helpers import ( configure_logging, get_snapshots, load_cutout, set_scenario_config, + setup_dask, ) logger = logging.getLogger(__name__) @@ -31,10 +31,7 @@ params = snakemake.params nprocesses = int(snakemake.threads) - if nprocesses > 1: - client = Client(n_workers=nprocesses, threads_per_worker=1) - else: - client = None + dask_kwargs = setup_dask(nprocesses) time = get_snapshots(params.snapshots, params.drop_leap_day) @@ -47,6 +44,6 @@ aggregate_matrix, matrix=I, index=regions.index ) - ds = ds.load(scheduler=client) + ds = ds.load(**dask_kwargs) ds.to_netcdf(snakemake.output[0]) diff --git a/scripts/build_heat_totals.py b/scripts/build_heat_totals.py index 761aa3005d..370711c994 100644 --- a/scripts/build_heat_totals.py +++ b/scripts/build_heat_totals.py @@ -4,7 +4,7 @@ """ Approximate heat demand for all weather years. -:func:`approximate_heat_demand` approximates annual heat demand based on energy totals and heating degree days (HDD) using a regression of heat demand on HDDs. +`approximate_heat_demand` approximates annual heat demand based on energy totals and heating degree days (HDD) using a regression of heat demand on HDDs. Outputs ------- diff --git a/scripts/build_hourly_heat_demand.py b/scripts/build_hourly_heat_demand.py index bdd249c792..aba6b4e497 100644 --- a/scripts/build_hourly_heat_demand.py +++ b/scripts/build_hourly_heat_demand.py @@ -6,7 +6,7 @@ Water and space heating demand profiles are generated using intraday profiles from BDEW. Different profiles are used for the residential and services sectors as well as weekdays and weekend. -The daily heat demand is multiplied by the intraday profile to obtain the hourly heat demand time series. The rule is executed in ``build_sector.smk``. +The daily heat demand is multiplied by the intraday profile to obtain the hourly heat demand time series. The rule is executed in `build_sector.smk`. """ import logging @@ -46,7 +46,7 @@ def heat_dsm_profile(nodes, options): Node identifiers for which to generate profiles. options : dict Configuration dictionary containing: - - options['residential_heat']['dsm']['restriction_time']: list of int + - ``options["residential_heat"]["dsm"]["restriction_time"]``: list of int Hours at which storage must be empty (checkpoint hours). Returns diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index 7a4e2d9461..a91ace224f 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -7,20 +7,15 @@ Outputs ------- -- ``resources/profile_hydro.nc``: +- `resources/profile_hydro.nc`: - =================== ================ ========================================================= - Field Dimensions Description - =================== ================ ========================================================= - inflow countries, time Inflow to the state of charge (in MW), - e.g. due to river inflow in hydro reservoir. - =================== ================ ========================================================= +| Field | Dimensions | Description | +| --- | --- | --- | +| inflow | countries, time | Inflow to the state of charge (in MW), e.g. due to river inflow in hydro reservoir. | - .. image:: img/inflow-ts.png - :scale: 33 % +![](img/inflow-ts.png) - .. image:: img/inflow-box.png - :scale: 33 % +![](img/inflow-box.png) """ import logging diff --git a/scripts/build_industrial_energy_demand_per_node_today.py b/scripts/build_industrial_energy_demand_per_node_today.py index 749a15f077..a78bd1d3fd 100644 --- a/scripts/build_industrial_energy_demand_per_node_today.py +++ b/scripts/build_industrial_energy_demand_per_node_today.py @@ -10,7 +10,7 @@ ------- This rule maps the industrial energy demand per country `industrial_energy_demand_per_country_today.csv` to each bus region. -The energy demand per country is multiplied by the mapping value from the file ``industrial_distribution_key_base_s_{clusters}.csv`` between 0 and 1 to get the industrial energy demand per bus. +The energy demand per country is multiplied by the mapping value from the file `industrial_distribution_key_base_s_{clusters}.csv` between 0 and 1 to get the industrial energy demand per bus. The unit of the energy demand is TWh/a. """ diff --git a/scripts/build_industrial_production_per_country.py b/scripts/build_industrial_production_per_country.py index 77f5482373..f1395c8db7 100644 --- a/scripts/build_industrial_production_per_country.py +++ b/scripts/build_industrial_production_per_country.py @@ -9,7 +9,7 @@ The industrial production is taken from the `JRC-IDEES `. This dataset provides detailed information about the consumption of energy for various processes. -If the country is not part of the EU28, the energy consumption in the industrial sectors is taken from the `Eurostat ` dataset. The industrial production is calculated for the year specified in the config["industry"]["reference_year"]. +If the country is not part of the EU28, the energy consumption in the industrial sectors is taken from the `Eurostat ` dataset. The industrial production is calculated for the year specified in the `config["industry"]["reference_year"]`. The ammonia production is provided by the rule `build_ammonia_production `. Since Switzerland is not part of the EU28 nor reported by eurostat, the energy consumption in the industrial sectors is taken from the `BFE dataset. After the industrial production is calculated, the basic chemicals are separated into ammonia, chlorine, methanol and HVC. The production of these chemicals is assumed to be proportional to the production of basic chemicals without ammonia. diff --git a/scripts/build_industrial_production_per_country_tomorrow.py b/scripts/build_industrial_production_per_country_tomorrow.py index b1943e9850..999a8268fd 100644 --- a/scripts/build_industrial_production_per_country_tomorrow.py +++ b/scripts/build_industrial_production_per_country_tomorrow.py @@ -7,7 +7,7 @@ Description ------- -This rule uses the ``industrial_production_per_country.csv`` file and the expected recycling rates to calculate the future production of the industrial sectors. +This rule uses the `industrial_production_per_country.csv` file and the expected recycling rates to calculate the future production of the industrial sectors. **St_primary_fraction** The fraction of steel that is coming from primary production. This is more energy intensive than recycling steel (secondary production). diff --git a/scripts/build_industrial_production_per_node.py b/scripts/build_industrial_production_per_node.py index 007be8a043..d0b183c5dd 100644 --- a/scripts/build_industrial_production_per_node.py +++ b/scripts/build_industrial_production_per_node.py @@ -77,8 +77,6 @@ def build_nodal_industrial_production(): ) keys[mapping] = 0 key = keys.loc[buses, mapping].fillna(0) - - key = keys.loc[buses, mapping] nodal_production.loc[buses, sector] = ( industrial_production.at[country, sector] * key ) diff --git a/scripts/build_industry_sector_ratios_intermediate.py b/scripts/build_industry_sector_ratios_intermediate.py index ee9c24e336..cb9229eac4 100644 --- a/scripts/build_industry_sector_ratios_intermediate.py +++ b/scripts/build_industry_sector_ratios_intermediate.py @@ -9,7 +9,7 @@ Description ------- -The config["industry"]["sector_ratios_fraction_future"] parameter determines the progress towards the future best-in-class consumption. +The `config["industry"]["sector_ratios_fraction_future"]` parameter determines the progress towards the future best-in-class consumption. For each bus, the following industry subcategories - Electric arc diff --git a/scripts/build_line_rating.py b/scripts/build_line_rating.py index 2d15f7113a..d03435be14 100755 --- a/scripts/build_line_rating.py +++ b/scripts/build_line_rating.py @@ -9,7 +9,7 @@ Description ----------- -The rule :mod:`build_line_rating` calculates the line rating for transmission lines. +The rule [build_line_rating][] calculates the line rating for transmission lines. The line rating provides the maximal capacity of a transmission line considering the heat exchange with the environment. The following heat gains and losses are considered: @@ -33,7 +33,6 @@ import numpy as np import pypsa import xarray as xr -from dask.distributed import Client from shapely.geometry import LineString as Line from shapely.geometry import Point @@ -42,6 +41,7 @@ get_snapshots, load_cutout, set_scenario_config, + setup_dask, ) logger = logging.getLogger(__name__) @@ -144,11 +144,7 @@ def calculate_line_rating( nprocesses = int(snakemake.threads) show_progress = not snakemake.config["run"].get("disable_progressbar", True) show_progress = show_progress and snakemake.config["atlite"]["show_progress"] - if nprocesses > 1: - client = Client(n_workers=nprocesses, threads_per_worker=1) - else: - client = None - dask_kwargs = {"scheduler": client} + dask_kwargs = setup_dask(nprocesses) n = pypsa.Network(snakemake.input.base_network) time = get_snapshots(snakemake.params.snapshots, snakemake.params.drop_leap_day) diff --git a/scripts/build_mobility_profiles.py b/scripts/build_mobility_profiles.py index d3103edf93..f9ad6fa4ef 100644 --- a/scripts/build_mobility_profiles.py +++ b/scripts/build_mobility_profiles.py @@ -11,37 +11,26 @@ Outputs ------- -- ``data/mobility_profiles/build//kfz.csv``: Weekly profile for all motor vehicles (cars, trucks, buses, motorcycles). -- ``data/mobility_profiles/build//pkw.csv``: Weekly profile for passenger cars only. +- `data/mobility_profiles/build//kfz.csv`: Weekly profile for all motor vehicles (cars, trucks, buses, motorcycles). +- `data/mobility_profiles/build//pkw.csv`: Weekly profile for passenger cars only. **kfz.csv** - =================== ========== ========== ========================================================= - Field Dimensions Unit Description - =================== ========== ========== ========================================================= - day day day of week Day of the week (0=Monday, 6=Sunday) - ------------------- ---------- ----------- --------------------------------------------------------- - hour hour hour of day Hour of the day (0-23) - ------------------- ---------- ----------- --------------------------------------------------------- - count day, hour -- Aggregated vehicle counts for all motor vehicles - (across all aggregated years and street types) - ------------------- ---------- ---------- --------------------------------------------------------- - n_counts day, hour -- Number of data points that were aggregated. - =================== ========== ========== ========================================================= +| Field | Dimensions | Unit | Description | +| --- | --- | --- | --- | +| day | day | day of week | Day of the week (0=Monday, 6=Sunday) | +| hour | hour | hour of day | Hour of the day (0-23) | +| count | day, hour | -- | Aggregated vehicle counts for all motor vehicles (across all aggregated years and street types) | +| n_counts | day, hour | -- | Number of data points that were aggregated. | **pkw.csv** - =================== ========== ========== ========================================================= - Field Dimensions Unit Description - =================== ========== ========== ========================================================= - day day day of week Day of the week (0=Monday, 6=Sunday) - ------------------- ---------- ----------- --------------------------------------------------------- - hour hour hour of day Hour of the day (0-23) - ------------------- ---------- ----------- --------------------------------------------------------- - count day, hour -- Aggregated vehicle counts for passenger cars only - (across all aggregated years and street types) - ------------------- ---------- ---------- --------------------------------------------------------- - n_counts day, hour -- Number of data points that were aggregated. - =================== ========== ========== ========================================================= + +| Field | Dimensions | Unit | Description | +| --- | --- | --- | --- | +| day | day | day of week | Day of the week (0=Monday, 6=Sunday) | +| hour | hour | hour of day | Hour of the day (0-23) | +| count | day, hour | -- | Aggregated vehicle counts for passenger cars only (across all aggregated years and street types) | +| n_counts | day, hour | -- | Number of data points that were aggregated. | """ diff --git a/scripts/build_monthly_prices.py b/scripts/build_monthly_prices.py index 43df084d6c..be56c3f465 100644 --- a/scripts/build_monthly_prices.py +++ b/scripts/build_monthly_prices.py @@ -10,7 +10,7 @@ Description ----------- -The rule :mod:`build_monthly_prices` collects monthly fuel prices +The rule [build_monthly_prices][] collects monthly fuel prices and translates them from different input sources to pypsa syntax. """ diff --git a/scripts/build_natura.py b/scripts/build_natura.py index 94f16a9b64..5f8e5a67f4 100644 --- a/scripts/build_natura.py +++ b/scripts/build_natura.py @@ -2,39 +2,34 @@ # # SPDX-License-Identifier: MIT """ -Rasters the vector data of the `Natura 2000. - -`_ natural protection areas onto all +Rasters the vector data of the [Natura 2000.](https://en.wikipedia.org/wiki/Natura_2000) natural protection areas onto all cutout regions. Relevant Settings ----------------- -.. code:: yaml - - renewable: - {technology}: - cutout: +```yaml +renewable: + {technology}: + cutout: +``` -.. seealso:: - Documentation of the configuration file ``config/config.yaml`` at - :ref:`renewable_cf` +!!! info "See also" + Documentation of the configuration file `config/config.yaml` at renewable_cf Inputs ------ -- ``data/bundle/natura/Natura2000_end2015.shp``: `Natura 2000 `_ natural protection areas. +- `data/bundle/natura/Natura2000_end2015.shp`: [Natura 2000](https://en.wikipedia.org/wiki/Natura_2000) natural protection areas. - .. image:: img/natura.png - :scale: 33 % + ![](img/natura.png) Outputs ------- -- ``resources/natura.tiff``: Rasterized version of `Natura 2000 `_ natural protection areas to reduce computation times. +- `resources/natura.tiff`: Rasterized version of [Natura 2000](https://en.wikipedia.org/wiki/Natura_2000) natural protection areas to reduce computation times. - .. image:: img/natura.png - :scale: 33 % + ![](img/natura.png) Description ----------- diff --git a/scripts/build_osm_boundaries.py b/scripts/build_osm_boundaries.py index 345db010c7..172f7cc931 100755 --- a/scripts/build_osm_boundaries.py +++ b/scripts/build_osm_boundaries.py @@ -94,9 +94,12 @@ def build_osm_boundaries(country, adm1_path, offshore_shapes): Parameters ---------- - - country (str): The country code (e.g., 'DE' for Germany). - - adm1_path (str): The file path to the administrative level 1 OSM data in JSON format. - - offshore_shapes (GeoDataFrame): A GeoDataFrame containing offshore shapes to clip the boundaries. + country : str + The country code (e.g., 'DE' for Germany). + adm1_path : str + The file path to the administrative level 1 OSM data in JSON format. + offshore_shapes : GeoDataFrame + A GeoDataFrame containing offshore shapes to clip the boundaries. Returns ------- diff --git a/scripts/build_osm_network.py b/scripts/build_osm_network.py index a4f1523980..cc10057bd8 100644 --- a/scripts/build_osm_network.py +++ b/scripts/build_osm_network.py @@ -242,10 +242,14 @@ def split_overpassing_lines(lines, buses, distance_crs=DISTANCE_CRS, tol=1): Parameters ---------- - - lines (GeoDataFrame): The lines to be split. - - buses (GeoDataFrame): The buses representing nodes. - - distance_crs (str): The coordinate reference system (CRS) for distance calculations. - - tol (float): The tolerance distance in meters for determining if a bus is within a line. + lines : GeoDataFrame + The lines to be split. + buses : GeoDataFrame + The buses representing nodes. + distance_crs : str + The coordinate reference system (CRS) for distance calculations. + tol : float + The tolerance distance in meters for determining if a bus is within a line. Returns ------- diff --git a/scripts/build_powerplants.py b/scripts/build_powerplants.py index 364b286356..a7614ac576 100755 --- a/scripts/build_powerplants.py +++ b/scripts/build_powerplants.py @@ -5,62 +5,61 @@ """ Retrieves conventional powerplant capacities and locations from -`powerplantmatching `_, assigns -these to buses and creates a ``.csv`` file. It is possible to amend the +[powerplantmatching](https://github.com/PyPSA/powerplantmatching), assigns +these to buses and creates a `.csv` file. It is possible to amend the powerplant database with custom entries provided in -``data/custom_powerplants.csv``. +`data/custom_powerplants.csv`. Lastly, for every substation, powerplants with zero-initial capacity can be added for certain fuel types automatically. Outputs ------- -- ``resource/powerplants_s_{clusters}.csv``: A list of conventional power plants (i.e. neither wind nor solar) with fields for name, fuel type, technology, country, capacity in MW, duration, commissioning year, retrofit year, latitude, longitude, and dam information as documented in the `powerplantmatching README `_; additionally it includes information on the closest substation/bus in ``networks/base_s_{clusters}.nc``. +- `resource/powerplants_s_{clusters}.csv`: A list of conventional power plants (i.e. neither wind nor solar) with fields for name, fuel type, technology, country, capacity in MW, duration, commissioning year, retrofit year, latitude, longitude, and dam information as documented in the [powerplantmatching README](https://github.com/PyPSA/powerplantmatching/blob/master/README.md); additionally it includes information on the closest substation/bus in `networks/base_s_{clusters}.nc`. - .. image:: img/powerplantmatching.png - :scale: 30 % + ![](img/powerplantmatching.png) - **Source:** `powerplantmatching on GitHub `_ + **Source:** [powerplantmatching on GitHub](https://github.com/PyPSA/powerplantmatching) Description ----------- -The configuration options ``electricity: powerplants_filter`` and ``electricity: custom_powerplants`` can be used to control whether data should be retrieved from the original powerplants database or from custom amendments. These specify `pandas.query `_ commands. -In addition the configuration option ``electricity: everywhere_powerplants`` can be used to place powerplants with zero-initial capacity of certain fuel types at all substations. +The configuration options `electricity: powerplants_filter` and `electricity: custom_powerplants` can be used to control whether data should be retrieved from the original powerplants database or from custom amendments. These specify [pandas.query](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) commands. +In addition the configuration option `electricity: everywhere_powerplants` can be used to place powerplants with zero-initial capacity of certain fuel types at all substations. 1. Adding all powerplants from custom: - .. code:: yaml - - powerplants_filter: false - custom_powerplants: true + ```yaml + powerplants_filter: false + custom_powerplants: true + ``` 2. Replacing powerplants in e.g. Germany by custom data: - .. code:: yaml - - powerplants_filter: Country not in ['Germany'] - custom_powerplants: true + ```yaml + powerplants_filter: Country not in ['Germany'] + custom_powerplants: true + ``` or - .. code:: yaml - - powerplants_filter: Country not in ['Germany'] - custom_powerplants: Country in ['Germany'] + ```yaml + powerplants_filter: Country not in ['Germany'] + custom_powerplants: Country in ['Germany'] + ``` 3. Adding additional built year constraints: - .. code:: yaml - - powerplants_filter: Country not in ['Germany'] and YearCommissioned <= 2015 - custom_powerplants: YearCommissioned <= 2015 + ```yaml + powerplants_filter: Country not in ['Germany'] and YearCommissioned <= 2015 + custom_powerplants: YearCommissioned <= 2015 + ``` 4. Adding powerplants at all substations for 4 conventional carrier types: - .. code:: yaml - - everywhere_powerplants: ['Natural Gas', 'Coal', 'nuclear', 'OCGT'] + ```yaml + everywhere_powerplants: ['Natural Gas', 'Coal', 'nuclear', 'OCGT'] + ``` """ import itertools diff --git a/scripts/build_ptes_operations/run.py b/scripts/build_ptes_operations/run.py index 169e7612ef..984df261f8 100644 --- a/scripts/build_ptes_operations/run.py +++ b/scripts/build_ptes_operations/run.py @@ -19,14 +19,15 @@ Relevant Settings ----------------- -.. code:: yaml - sector - district_heating: - ptes: - dynamic_ptes_capacity: - supplemental_heating: - enable: - max_top_temperature: +```yaml +sector + district_heating: + ptes: + dynamic_ptes_capacity: + supplemental_heating: + enable: + max_top_temperature: +``` Inputs ------ diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 724d002e16..3610d6cfad 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -3,47 +3,35 @@ # SPDX-License-Identifier: MIT """ Calculates for each clustered region the (i) installable capacity (based on -land-use from :mod:`determine_availability_matrix`), (ii) the available +land-use from [determine_availability_matrix][]), (ii) the available generation time series (based on weather data), and (iii) the average distance from the node for onshore wind, AC-connected offshore wind, DC-connected offshore wind and solar PV generators. -.. note:: Hydroelectric profiles are built in script :mod:`build_hydro_profiles`. +**Note:** Hydroelectric profiles are built in script `build_hydro_profiles`. Outputs ------- -- ``resources/profile_{technology}.nc`` with the following structure +- `resources/profile_{technology}.nc` with the following structure - =================== ==================== ========================================================= - Field Dimensions Description - =================== ==================== ========================================================= - profile year, bus, bin, time the per unit hourly availability factors for each bus - ------------------- -------------------- --------------------------------------------------------- - p_nom_max bus, bin maximal installable capacity at the bus (in MW) - ------------------- -------------------- --------------------------------------------------------- - average_distance bus, bin average distance of units in the region to the - grid bus for onshore technologies and to the shoreline - for offshore technologies (in km) - =================== ==================== ========================================================= +| Field | Dimensions | Description | +| --- | --- | --- | +| profile | year, bus, bin, time | the per unit hourly availability factors for each bus | +| p_nom_max | bus, bin | maximal installable capacity at the bus (in MW) | +| average_distance | bus, bin | average distance of units in the region to the grid bus for onshore technologies and to the shoreline for offshore technologies (in km) | - - **profile** +- **profile** - .. image:: img/profile_ts.png - :scale: 33 % - :align: center +![](img/profile_ts.png) - - **p_nom_max** +- **p_nom_max** - .. image:: img/p_nom_max_hist.png - :scale: 33 % - :align: center +![](img/p_nom_max_hist.png) - - **average_distance** +- **average_distance** - .. image:: img/distance_hist.png - :scale: 33 % - :align: center +![](img/distance_hist.png) Description ----------- @@ -54,7 +42,7 @@ so we have to work out the distribution of generators across the grid cells within each region. This is done by taking account of a combination of the available land at each grid cell (computed in -:mod:`determine_availability_matrix`) and the capacity factor there. +[determine_availability_matrix][]) and the capacity factor there. Based on the availability matrix, the script first computes how much of the technology can be installed at each cutout grid cell. To compute the layout of @@ -65,24 +53,16 @@ Based on the average capacity factor, the potentials are further divided into a configurable number of resource classes (bins). -.. image:: img/offwinddc-gridcell.png - :scale: 50 % - :align: center +![](img/offwinddc-gridcell.png) -.. image:: img/offwindac-gridcell.png - :scale: 50 % - :align: center +![](img/offwindac-gridcell.png) -.. image:: img/onwind-gridcell.png - :scale: 50 % - :align: center +![](img/onwind-gridcell.png) -.. image:: img/solar-gridcell.png - :scale: 50 % - :align: center +![](img/solar-gridcell.png) This layout is then used to compute the generation availability time series from -the weather data cutout from ``atlite``. +the weather data cutout from `atlite`. The maximal installable potential for the node (`p_nom_max`) is computed by adding up the installable potentials of the individual grid cells. @@ -97,13 +77,13 @@ import pandas as pd import xarray as xr from atlite.gis import ExclusionContainer -from dask.distributed import Client from scripts._helpers import ( configure_logging, get_snapshots, load_cutout, set_scenario_config, + setup_dask, ) from scripts.build_shapes import _simplify_polys @@ -140,10 +120,7 @@ if correction_factor != 1.0: logger.info(f"correction_factor is set as {correction_factor}") - if nprocesses > 1: - client = Client(n_workers=nprocesses, threads_per_worker=1) - else: - client = None + dask_kwargs = setup_dask(nprocesses) sns = get_snapshots(snakemake.params.snapshots, snakemake.params.drop_leap_day) @@ -173,15 +150,17 @@ ) func = getattr(cutout, resource.pop("method")) - if client is not None: - resource["dask_kwargs"] = {"scheduler": client} logger.info( f"Calculate average capacity factor per grid cell for technology {technology}..." ) start = time.time() - capacity_factor = correction_factor * func(capacity_factor=True, **resource) + capacity_factor = correction_factor * func( + capacity_factor=True, + dask_kwargs=dask_kwargs, + **resource, + ) duration = time.time() - start logger.info( @@ -265,6 +244,7 @@ index=matrix.indexes["bus_bin"], per_unit=True, return_capacity=False, + dask_kwargs=dask_kwargs, **resource, ) profile = profile.unstack("bus_bin") @@ -326,6 +306,3 @@ ds["profile"] = ds["profile"].where(ds["profile"] >= min_p_max_pu, 0) ds.to_netcdf(snakemake.output.profile) - - if client is not None: - client.shutdown() diff --git a/scripts/build_retro_cost.py b/scripts/build_retro_cost.py index 89647e886b..7b38304e48 100755 --- a/scripts/build_retro_cost.py +++ b/scripts/build_retro_cost.py @@ -496,9 +496,11 @@ def prepare_cost_retro(country_iso_dic): cost_retro[["cost_fix", "cost_var"]] = cost_retro[ ["cost_fix", "cost_var"] ].apply( - lambda x: x - * interest_rate - / (1 - (1 + interest_rate) ** -cost_retro.loc[x.index, "life_time"]) + lambda x: ( + x + * interest_rate + / (1 - (1 + interest_rate) ** -cost_retro.loc[x.index, "life_time"]) + ) ) # weightings of costs --------------------------------------------- diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index ffb6512a10..a5461eeec0 100755 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -197,7 +197,8 @@ def simplify_europe(regions): Parameters ---------- - regions (GeoDataFrame): A GeoDataFrame containing the geometries of European regions. + regions : GeoDataFrame + A GeoDataFrame containing the geometries of European regions. Returns ------- @@ -262,13 +263,30 @@ def create_regions( Parameters ---------- - - country_list (list): List of country codes to include. - - nuts3_path (str): Path to the NUTS3 2021 shapefile. - - ba_adm1_path (str): Path to adm1 boundaries for Bosnia and Herzegovina. - - md_adm1_path (str): Path to adm1 boundaries for Moldova. - - ua_adm1_path (str): Path to adm1 boundaries for Ukraine. - - xk_adm1_path (str): Path to adm1 boundaries for Kosovo. - - offshore_shapes (geopandas.GeoDataFrame): Geographical shapes of the exclusive economic zones. + country_list : list + List of country codes to include. + nuts3_path : str + Path to the NUTS3 2021 shapefile. + ba_adm1_path : str + Path to adm1 boundaries for Bosnia and Herzegovina. + md_adm1_path : str + Path to adm1 boundaries for Moldova. + ua_adm1_path : str + Path to adm1 boundaries for Ukraine. + xk_adm1_path : str + Path to adm1 boundaries for Kosovo. + offshore_shapes : geopandas.GeoDataFrame + Geographical shapes of the exclusive economic zones. + nuts3_gdp : str + Path to NUTS3 GDP data. + nuts3_pop : str + Path to NUTS3 population data. + bidding_zones_path : str + Path to bidding zones shapefile. + other_gdp : str + Path to GDP data for non-NUTS3 countries. + other_pop : str + Path to population data for non-NUTS3 countries. Returns ------- @@ -401,12 +419,16 @@ def calc_gdp_pop(country, regions, gdp_non_nuts3, pop_non_nuts3): Parameters ---------- - - country (str): The two-letter country code of the non-NUTS3 region. - - regions (GeoDataFrame): A GeoDataFrame containing the regions. - - gdp_non_nuts3 (str): The file path to the dataset containing the GDP p.c values - for non NUTS3 countries (e.g. MD, UA) - - pop_non_nuts3 (str): The file path to the dataset containing the POP values - for non NUTS3 countries (e.g. MD, UA) + country : str + The two-letter country code of the non-NUTS3 region. + regions : GeoDataFrame + A GeoDataFrame containing the regions. + gdp_non_nuts3 : str + The file path to the dataset containing the GDP p.c values + for non NUTS3 countries (e.g. MD, UA). + pop_non_nuts3 : str + The file path to the dataset containing the POP values + for non NUTS3 countries (e.g. MD, UA). Returns ------- diff --git a/scripts/build_ship_raster.py b/scripts/build_ship_raster.py index f1db07cb58..576e713ccf 100644 --- a/scripts/build_ship_raster.py +++ b/scripts/build_ship_raster.py @@ -2,18 +2,15 @@ # # SPDX-License-Identifier: MIT """ -Transforms the global ship density data from the `World Bank Data Catalogue. - -`_ +Transforms the global ship density data from the [World Bank Data Catalogue.](https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density) to the size of the considered cutout. The global ship density raster is later used for the exclusion when calculating the offshore potentials. Outputs ------- -- ``resources/europe_shipdensity_raster.nc``: Reduced version of global shipping - traffic density from `World Bank Data Catalogue - `_ to reduce +- `resources/europe_shipdensity_raster.nc`: Reduced version of global shipping + traffic density from [World Bank Data Catalogue](https://datacatalog.worldbank.org/search/dataset/0037580/) to reduce computation time. Description diff --git a/scripts/build_snapshot_weightings.py b/scripts/build_snapshot_weightings.py index 781307f15c..f27612d85c 100644 --- a/scripts/build_snapshot_weightings.py +++ b/scripts/build_snapshot_weightings.py @@ -10,7 +10,7 @@ Computes a time aggregation scheme for the given network, in the form of a CSV file with the snapshot weightings, indexed by the new subset of snapshots. This rule only computes said aggregation scheme; aggregation of time-varying network -data is done in ``temporal_aggregation.py``. +data is done in `temporal_aggregation.py`. """ import logging diff --git a/scripts/build_solar_thermal_profiles.py b/scripts/build_solar_thermal_profiles.py index 8e0b845ce3..dd952ab5c6 100644 --- a/scripts/build_solar_thermal_profiles.py +++ b/scripts/build_solar_thermal_profiles.py @@ -5,10 +5,10 @@ Build solar thermal collector profile time series. Uses ``atlite.Cutout.solar_thermal` to compute heat generation for clustered onshore regions from population layout and weather data cutout. -The rule is executed in ``build_sector.smk``. +The rule is executed in `build_sector.smk`. -.. seealso:: - `Atlite.Cutout.solar_thermal `_ +!!! info "See also" + [Atlite.Cutout.solar_thermal](https://atlite.readthedocs.io/en/master/ref_api.html#module-atlite.convert) """ import logging @@ -16,13 +16,13 @@ import geopandas as gpd import numpy as np import xarray as xr -from dask.distributed import Client, LocalCluster from scripts._helpers import ( configure_logging, get_snapshots, load_cutout, set_scenario_config, + setup_dask, ) logger = logging.getLogger(__name__) @@ -36,8 +36,7 @@ set_scenario_config(snakemake) nprocesses = int(snakemake.threads) - cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) - client = Client(cluster, asynchronous=True) + dask_kwargs = setup_dask(nprocesses) config = snakemake.params.solar_thermal config.pop("cutout", None) @@ -65,7 +64,7 @@ **config, matrix=M_tilde.T, index=clustered_regions.index, - dask_kwargs=dict(scheduler=client), + dask_kwargs=dask_kwargs, show_progress=False, ) diff --git a/scripts/build_surface_water_heat_potentials/build_river_water_heat_potential.py b/scripts/build_surface_water_heat_potentials/build_river_water_heat_potential.py index 6a2d2a33b1..fd6a4047c0 100644 --- a/scripts/build_surface_water_heat_potentials/build_river_water_heat_potential.py +++ b/scripts/build_surface_water_heat_potentials/build_river_water_heat_potential.py @@ -15,17 +15,17 @@ Relevant Settings ----------------- -.. code:: yaml - - sector: - district_heating: - dh_area_buffer: # Buffer around DH areas in meters to include nearby rivers - heat_source_cooling: # Exploitable temperature delta - snapshots: - start: - end: - enable: - drop_leap_day: +```yaml +sector: + district_heating: + dh_area_buffer: # Buffer around DH areas in meters to include nearby rivers + heat_source_cooling: # Exploitable temperature delta +snapshots: + start: + end: +enable: + drop_leap_day: +``` Inputs ------ diff --git a/scripts/build_surface_water_heat_potentials/build_sea_water_heat_potential.py b/scripts/build_surface_water_heat_potentials/build_sea_water_heat_potential.py index a44e4a5c8d..882a7b8004 100644 --- a/scripts/build_surface_water_heat_potentials/build_sea_water_heat_potential.py +++ b/scripts/build_surface_water_heat_potentials/build_sea_water_heat_potential.py @@ -14,17 +14,17 @@ Relevant Settings ----------------- -.. code:: yaml - - sector: - district_heating: - dh_area_buffer: # Buffer around DH areas in meters to include nearby coastal areas - heat_source_cooling: # Exploitable temperature delta - snapshots: - start: - end: - enable: - drop_leap_day: +```yaml +sector: + district_heating: + dh_area_buffer: # Buffer around DH areas in meters to include nearby coastal areas + heat_source_cooling: # Exploitable temperature delta +snapshots: + start: + end: +enable: + drop_leap_day: +``` Inputs ------ diff --git a/scripts/build_temperature_profiles.py b/scripts/build_temperature_profiles.py index f642578e2e..36df39ffd7 100644 --- a/scripts/build_temperature_profiles.py +++ b/scripts/build_temperature_profiles.py @@ -4,13 +4,11 @@ """ Build time series for air and soil temperatures per clustered model region. -Uses ``atlite.Cutout.temperature`` and ``atlite.Cutout.soil_temperature compute temperature ambient air and soil temperature for the respective cutout. The rule is executed in ``build_sector.smk``. +Uses `atlite.Cutout.temperature` and `atlite.Cutout.soil_temperature compute temperature ambient air and soil temperature for the respective cutout. The rule is executed in `build_sector.smk``. -.. seealso:: - `Atlite.Cutout.temperature `_ - `Atlite.Cutout.soil_temperature `_ - +!!! info "See also" + [Atlite.Cutout.temperature](https://atlite.readthedocs.io/en/master/ref_api.html#module-atlite.convert) [Atlite.Cutout.soil_temperature](https://atlite.readthedocs.io/en/master/ref_api.html#module-atlite.convert) """ import logging @@ -18,13 +16,13 @@ import geopandas as gpd import numpy as np import xarray as xr -from dask.distributed import Client, LocalCluster from scripts._helpers import ( configure_logging, get_snapshots, load_cutout, set_scenario_config, + setup_dask, ) logger = logging.getLogger(__name__) @@ -41,8 +39,7 @@ set_scenario_config(snakemake) nprocesses = int(snakemake.threads) - cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) - client = Client(cluster, asynchronous=True) + dask_kwargs = setup_dask(nprocesses) time = get_snapshots(snakemake.params.snapshots, snakemake.params.drop_leap_day) @@ -66,7 +63,7 @@ temp_air = cutout.temperature( matrix=M_tilde.T, index=clustered_regions.index, - dask_kwargs=dict(scheduler=client), + dask_kwargs=dask_kwargs, show_progress=False, ) @@ -75,7 +72,7 @@ temp_soil = cutout.soil_temperature( matrix=M_tilde.T, index=clustered_regions.index, - dask_kwargs=dict(scheduler=client), + dask_kwargs=dask_kwargs, show_progress=False, ) diff --git a/scripts/build_transmission_projects.py b/scripts/build_transmission_projects.py index e5c540c710..cbafbdee21 100644 --- a/scripts/build_transmission_projects.py +++ b/scripts/build_transmission_projects.py @@ -5,24 +5,24 @@ """ Gets the transmission projects defined in the config file, concatenates and -deduplicates them. Projects are later included in :mod:`add_electricity.py`. +deduplicates them. Projects are later included in [add_electricity][]. Inputs ------ -- ``networks/base_network.nc``: Base network topology for the electricity grid. This is processed in :mod:`base_network.py`. -- ``data/transmission_projects/"project_name"/``: Takes the transmission projects from the subfolder of data/transmission_projects. The subfolder name is the project name. -- ``offshore_shapes.geojson``: Shapefile containing the offshore regions. Used to determine if a new bus should be added for a new line or link. -- ``europe_shape.geojson``: Shapefile containing the shape of Europe. Used to determine if a project is within the considered countries. +- `networks/base_network.nc`: Base network topology for the electricity grid. This is processed in [base_network][]. +- `data/transmission_projects/"project_name"/`: Takes the transmission projects from the subfolder of data/transmission_projects. The subfolder name is the project name. +- `offshore_shapes.geojson`: Shapefile containing the offshore regions. Used to determine if a new bus should be added for a new line or link. +- `europe_shape.geojson`: Shapefile containing the shape of Europe. Used to determine if a project is within the considered countries. Outputs ------- -- ``transmission_projects/new_lines.csv``: New project lines to be added to the network. This includes new lines and upgraded lines. -- ``transmission_projects/new_links.csv``: New project links to be added to the network. This includes new links and upgraded links. -- ``transmission_projects/adjust_lines.csv``: For lines which are upgraded, the decommissioning year of the existing line is adjusted to the build year of the upgraded line. -- ``transmission_projects/adjust_links.csv``: For links which are upgraded, the decommissioning year of the existing link is adjusted to the build year of the upgraded link. -- ``transmission_projects/new_buses.csv``: For some links, we have to add new buses (e.g. North Sea Wind Power Hub). +- `transmission_projects/new_lines.csv`: New project lines to be added to the network. This includes new lines and upgraded lines. +- `transmission_projects/new_links.csv`: New project links to be added to the network. This includes new links and upgraded links. +- `transmission_projects/adjust_lines.csv`: For lines which are upgraded, the decommissioning year of the existing line is adjusted to the build year of the upgraded line. +- `transmission_projects/adjust_links.csv`: For links which are upgraded, the decommissioning year of the existing link is adjusted to the build year of the upgraded link. +- `transmission_projects/new_buses.csv`: For some links, we have to add new buses (e.g. North Sea Wind Power Hub). """ import logging @@ -148,13 +148,16 @@ def get_branch_coords_from_geometry(linestring, reversed=False): Parameters ---------- - linestring: Shapely linestring - reversed (bool, optional): If True, returns the end and start points instead of the start and end points. - Defaults to False. + linestring : Shapely linestring + The linestring to reduce. + reversed : bool, optional + If True, returns the end and start points instead of the start and end points. + Defaults to False. Returns ------- - numpy.ndarray: Flattened array of start and end coordinates. + numpy.ndarray + Flattened array of start and end coordinates. """ coords = np.asarray(linestring.coords) ind = [0, -1] if not reversed else [-1, 0] @@ -168,9 +171,8 @@ def get_branch_coords_from_buses(line): Parameters ---------- - linestring: shapely linestring - reversed (bool, optional): If True, returns the end and start points instead of the start and end points. - Defaults to False. + line : pandas.Series + A row from a branch component DataFrame with bus0 and bus1 attributes. Returns ------- diff --git a/scripts/build_tyndp_network.py b/scripts/build_tyndp_network.py index b448f4eb06..10e3a81d36 100644 --- a/scripts/build_tyndp_network.py +++ b/scripts/build_tyndp_network.py @@ -100,15 +100,25 @@ def extract_shape_by_bbox( Parameters ---------- - - gdf (GeoDataFrame): GeoDataFrame containing country geometries. - - country (str): The country code or name to filter. - - min_lon, max_lon (float): Longitude bounds for extraction. - - min_lat, max_lat (float): Latitude bounds for extraction. - - region_id (str): String to assign an ID to the extracted region. + gdf : GeoDataFrame + GeoDataFrame containing country geometries. + country : str + The country code or name to filter. + min_lon : float + Minimum longitude bound for extraction. + max_lon : float + Maximum longitude bound for extraction. + min_lat : float + Minimum latitude bound for extraction. + max_lat : float + Maximum latitude bound for extraction. + region_id : str + String to assign an ID to the extracted region. Returns ------- - - gdf_new: Updated GeoDataFrame with the extracted shape separated. + GeoDataFrame + Updated GeoDataFrame with the extracted shape separated. """ country_gdf = gdf.explode().query(f"country == '{country}'").reset_index(drop=True) @@ -140,33 +150,37 @@ def build_shapes( Parameters ---------- - - bz_fn (str): Path to bidding zone shape file. - - countries (list[str]): List of countries to consider - - geo_crs (CRS, optional): Coordinate reference system for geographic calculations. Defaults to GEO_CRS. - - distance_crs (CRS, optional): Coordinate reference system to use for distance calculations. Defaults to DISTANCE_CRS. + bz_fn : str + Path to bidding zone shape file. + countries : list[str] + List of countries to consider. + geo_crs : CRS, optional + Coordinate reference system for geographic calculations. Defaults to GEO_CRS. + distance_crs : CRS, optional + Coordinate reference system to use for distance calculations. Defaults to DISTANCE_CRS. Returns ------- - - bidding_shapes: A GeoDataFrame including bidding zone geometry, representative point and id. - - country_shapes: A GeoDataFrame including country geometry and representative point. + tuple + A tuple of (bidding_shapes, country_shapes) GeoDataFrames. """ bidding_zones = gpd.read_file(bz_fn) # Bidding zone shapes bidding_shapes = bidding_zones.assign( bz_id=lambda df: df["zone_name"].apply(format_bz_names), - node=lambda df: df.geometry.to_crs(distance_crs) - .representative_point() - .to_crs(geo_crs), + node=lambda df: ( + df.geometry.to_crs(distance_crs).representative_point().to_crs(geo_crs) + ), x=lambda df: df["node"].x, y=lambda df: df["node"].y, ).set_index("bz_id") # Country shapes country_shapes = bidding_shapes.dissolve(by="country")[["geometry"]].assign( - node=lambda df: df.geometry.to_crs(distance_crs) - .representative_point() - .to_crs(geo_crs), + node=lambda df: ( + df.geometry.to_crs(distance_crs).representative_point().to_crs(geo_crs) + ), x=lambda df: df["node"].x, y=lambda df: df["node"].y, ) @@ -208,17 +222,21 @@ def build_buses( Parameters ---------- - - buses_fn (str): Path to bidding zone shape file. - - countries (List[str]): List of countries to consider - - bidding_shapes (GeoDataFrame): A GeoDataFrame including bidding zone geometry, representative point and id. - - country_shapes (GeoDataFrame): A GeoDataFrame including country geometry and representative point. - - geo_crs (CRS, optional): Coordinate reference system for geographic calculations. Defaults to GEO_CRS. - + buses_fn : str + Path to bidding zone shape file. + countries : list[str] + List of countries to consider. + bidding_shapes : GeoDataFrame + A GeoDataFrame including bidding zone geometry, representative point and id. + country_shapes : GeoDataFrame + A GeoDataFrame including country geometry and representative point. + geo_crs : CRS, optional + Coordinate reference system for geographic calculations. Defaults to GEO_CRS. Returns ------- - - buses: A GeoDataFrame of electrical buses including country and coordinates. - - buses_h2: A GeoDataFrame of hydrogen buses including country and coordinates. + tuple + A tuple of (buses, buses_h2) GeoDataFrames. """ buses = ( pd.read_excel(buses_fn) @@ -396,13 +414,15 @@ def build_links( Parameters ---------- - - grid_fn (str | Path): Path to bidding zone shape file. - - buses (gpd.GeoDataFrame): GeoDataFrame of electrical buses including country and coordinates. + grid_fn : str | Path + Path to bidding zone shape file. + buses : GeoDataFrame + A GeoDataFrame of electrical buses including country and coordinates. Returns ------- - - links: A GeoDataFrame including NTC from the reference grid. - + GeoDataFrame + A GeoDataFrame including NTC from the reference grid. """ links = pd.read_excel(grid_fn) links = extract_grid_data_tyndp( diff --git a/scripts/clean_osm_data.py b/scripts/clean_osm_data.py index fce0ce52e6..a404ef0d1c 100644 --- a/scripts/clean_osm_data.py +++ b/scripts/clean_osm_data.py @@ -558,7 +558,7 @@ def _import_routes_relation(path_relation): df = pd.DataFrame(data["elements"]) df["id"] = df["id"].astype(str) - df["id"] = df["id"].apply(lambda x: (f"relation/{x}")) + df["id"] = df["id"].apply(lambda x: f"relation/{x}") df["country"] = country col_tags = [ @@ -1725,10 +1725,12 @@ def _extend_lines_to_substations(gdf_lines, gdf_substations_polygon, tol=BUS_TOL gdf = ( gdf.groupby(["line_id", "voltage_line"]) .apply( - lambda x: x[["bus_id", "geometry_bus"]] - .dropna() - .set_index("bus_id")["geometry_bus"] - .to_dict(), + lambda x: ( + x[["bus_id", "geometry_bus"]] + .dropna() + .set_index("bus_id")["geometry_bus"] + .to_dict() + ), include_groups=False, ) .reset_index() diff --git a/scripts/cluster_gas_network.py b/scripts/cluster_gas_network.py index 05f527101a..ebbab910d5 100755 --- a/scripts/cluster_gas_network.py +++ b/scripts/cluster_gas_network.py @@ -63,8 +63,10 @@ def build_clustered_gas_network(df, bus_regions, length_factor=1.25): # recalculate lengths as center to center * length factor df["length"] = df.apply( - lambda p: length_factor - * haversine_pts([p.point0.x, p.point0.y], [p.point1.x, p.point1.y]), + lambda p: ( + length_factor + * haversine_pts([p.point0.x, p.point0.y], [p.point1.x, p.point1.y]) + ), axis=1, ) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 30d65facea..385ad02fed 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -5,63 +5,50 @@ """ -Creates networks clustered to ``{cluster}`` number of zones with aggregated +Creates networks clustered to `{cluster}` number of zones with aggregated buses and transmission corridors. Outputs ------- -- ``resources/regions_onshore_base_s_{clusters}.geojson``: +- `resources/regions_onshore_base_s_{clusters}.geojson`: - .. image:: img/regions_onshore_base_s_X.png - :scale: 33 % + ![](img/regions_onshore_base_s_X.png) -- ``resources/regions_offshore_base_s_{clusters}.geojson``: +- `resources/regions_offshore_base_s_{clusters}.geojson`: - .. image:: img/regions_offshore_base_s_X.png - :scale: 33 % + ![](img/regions_offshore_base_s_X.png) -- ``resources/busmap_base_s_{clusters}.csv``: Mapping of buses from ``networks/base.nc`` to ``networks/base_s_{clusters}.nc``; -- ``resources/linemap_base_s_{clusters}.csv``: Mapping of lines from ``networks/base.nc`` to ``networks/base_s_{clusters}.nc``; -- ``networks/base_s_{clusters}.nc``: +- `resources/busmap_base_s_{clusters}.csv`: Mapping of buses from `networks/base.nc` to `networks/base_s_{clusters}.nc`; +- `resources/linemap_base_s_{clusters}.csv`: Mapping of lines from `networks/base.nc` to `networks/base_s_{clusters}.nc`; +- `networks/base_s_{clusters}.nc`: - .. image:: img/base_s_X.png - :scale: 40 % + ![](img/base_s_X.png) Description ----------- -.. note:: - - **Is it possible to run the model without the** ``simplify_network`` **rule?** +**Note:** **Is it possible to run the model without the** `simplify_network` **rule?** No, the network clustering methods in the PyPSA module - `pypsa.clustering.spatial `_ + [pypsa.clustering.spatial](https://github.com/PyPSA/PyPSA/blob/master/pypsa/clustering/spatial.py) do not work reliably with multiple voltage levels and transformers. Exemplary unsolved network clustered to 512 nodes: -.. image:: img/base_s_512.png - :scale: 40 % - :align: center +![](img/base_s_512.png) Exemplary unsolved network clustered to 256 nodes: -.. image:: img/base_s_256.png - :scale: 40 % - :align: center +![](img/base_s_256.png) Exemplary unsolved network clustered to 128 nodes: -.. image:: img/base_s_128.png - :scale: 40 % - :align: center +![](img/base_s_128.png) Exemplary unsolved network clustered to 37 nodes: -.. image:: img/base_s_37.png - :scale: 40 % - :align: center +![](img/base_s_37.png) """ import logging @@ -299,7 +286,7 @@ def distribute_n_clusters_to_countries( .sum() .pipe(normed) ) - + L.index.name = "cluster" N = n.buses.groupby(["country", "sub_network"]).size()[L.index] assert n_clusters >= len(N) and n_clusters <= N.sum(), ( @@ -410,17 +397,12 @@ def clustering_for_n_clusters( if aggregation_strategies is None: aggregation_strategies = dict() - line_strategies = aggregation_strategies.get("lines", dict()) + line_strategies = dict(aggregation_strategies.get("lines", {})) - bus_strategies = aggregation_strategies.get("buses", dict()) + bus_strategies = dict(aggregation_strategies.get("buses", {})) bus_strategies.setdefault("substation_lv", lambda x: bool(x.sum())) bus_strategies.setdefault("substation_off", lambda x: bool(x.sum())) - # TODO Quick Fix for osm-prebuilt-version 0.6 - for way_i in ["way/140248154", "way/975637991"]: - if way_i in n.buses.index: - n.buses.loc[way_i, "carrier"] = "AC" - clustering = get_clustering_from_busmap( n, busmap, @@ -432,6 +414,54 @@ def clustering_for_n_clusters( return clustering +def apply_carrier_mixing_policy( + n: pypsa.Network, busmap: pd.Series, allow_ac_dc_mixing_in_bus_clusters: bool +) -> pd.Series: + """ + Handle AC/DC buses before clustering. + + If ``allow_ac_dc_mixing_in_bus_clusters`` is True, mixed AC/DC clusters are + kept as-is. If it is False, buses in mixed clusters are split by appending + the carrier directly to the cluster label, for example ``clusterAC`` and + ``clusterDC``. + + Parameters + ---------- + n : pypsa.Network + Network providing bus carrier information. + busmap : pandas.Series + Mapping from bus name to cluster label. + allow_ac_dc_mixing_in_bus_clusters : bool + Whether mixed AC/DC clusters are allowed. + + Returns + ------- + pandas.Series + Busmap, possibly with carrier suffixes added. + """ + busmap = busmap.astype(str) + carrier_by_bus = n.buses.carrier.reindex(busmap.index).astype(str) + + mixed_clusters = carrier_by_bus.groupby(busmap).nunique().loc[lambda s: s > 1].index + + if allow_ac_dc_mixing_in_bus_clusters: + if len(mixed_clusters): + logger.warning( + "`allow_ac_dc_mixing_in_bus_clusters` is enabled. Coercing bus carrier to AC in %s mixed clusters.", + len(mixed_clusters), + ) + mixed_bus_i = busmap.index[busmap.isin(mixed_clusters)] + n.buses.loc[mixed_bus_i, "carrier"] = "AC" + return busmap + + if len(mixed_clusters): + logger.info( + "Splitting %s mixed AC/DC clusters by carrier before aggregation.", + len(mixed_clusters), + ) + return busmap.str.cat(carrier_by_bus, sep="") + + def cluster_regions( busmaps: tuple | list, regions: gpd.GeoDataFrame, with_country: bool = False ) -> gpd.GeoDataFrame: @@ -440,9 +470,12 @@ def cluster_regions( Parameters ---------- - - busmaps (list) : A list of busmaps used for clustering. - - regions (gpd.GeoDataFrame) : The regions to cluster. - - with_country (bool) : Whether to keep country column. + busmaps : list + A list of busmaps used for clustering. + regions : gpd.GeoDataFrame + The regions to cluster. + with_country : bool + Whether to keep country column. Returns ------- @@ -466,9 +499,12 @@ def busmap_for_admin_regions( Parameters ---------- - - n (pypsa.Network) : The network to cluster. - - admin_shapes (str) : The path to the administrative regions. - - params (dict) : The parameters for clustering. + n : pypsa.Network + The network to cluster. + admin_shapes : str + The path to the administrative regions. + params : dict + The parameters for clustering. Returns ------- @@ -517,7 +553,7 @@ def busmap_for_admin_regions( buses_subset.to_crs(epsg=3857), admin_regions.loc[admin_regions["country"] == country].to_crs(epsg=3857), how="left", - )["admin"] + )["admin"].astype(str) return buses["busmap"] @@ -528,7 +564,8 @@ def keep_largest_polygon(geometry: MultiPolygon) -> Polygon: Parameters ---------- - geometry (MultiPolygon) : The MultiPolygon to check. + geometry : MultiPolygon + The MultiPolygon to check. Returns ------- @@ -558,12 +595,18 @@ def update_bus_coordinates( Parameters ---------- - - n (pypsa.Network) : The original network. - - busmap (pd.Series) : The busmap mapping each bus to an administrative region. - - admin_shapes (str) : The path to the administrative regions. - - geo_crs (str) : The geographic coordinate reference system. - - distance_crs (str) : The distance coordinate reference system. - - tol (float) : The tolerance in meters for the PoI calculation. + n : pypsa.Network + The original network. + busmap : pd.Series + The busmap mapping each bus to an administrative region. + admin_shapes : str + The path to the administrative regions. + geo_crs : str + The geographic coordinate reference system. + distance_crs : str + The distance coordinate reference system. + tol : float + The tolerance in meters for the PoI calculation. Returns ------- @@ -587,10 +630,25 @@ def update_bus_coordinates( admin_regions["y"] = admin_regions["poi"].y busmap_df = pd.DataFrame(busmap) + + # Determine admin for each bus via spatial join of bus coordinates + # to the administrative polygons + buses_gdf = gpd.GeoDataFrame( + n.buses[["x", "y"]].copy(), + geometry=gpd.points_from_xy(n.buses["x"], n.buses["y"]), + crs=geo_crs, + ) + + # Find nearest admin region for each bus + admin_geo = admin_regions.copy() + admin_geo["admin_id"] = admin_geo.index + joined = gpd.sjoin_nearest(buses_gdf, admin_geo, how="left") + busmap_df["admin"] = joined["admin_id"].astype(str).reindex(busmap_df.index) + busmap_df = pd.merge( busmap_df, admin_regions[["x", "y"]], - left_on="busmap", + left_on="admin", right_index=True, how="left", ) @@ -604,7 +662,7 @@ def update_bus_coordinates( if "snakemake" not in globals(): from scripts._helpers import mock_snakemake - snakemake = mock_snakemake("cluster_network", clusters=60) + snakemake = mock_snakemake("cluster_network", clusters=50) configure_logging(snakemake) set_scenario_config(snakemake) @@ -692,6 +750,14 @@ def update_bus_coordinates( features=features, ) + allow_ac_dc_mixing_in_bus_clusters = params.cluster_network[ + "allow_ac_dc_mixing_in_bus_clusters" + ] + + busmap = apply_carrier_mixing_policy( + n, busmap, allow_ac_dc_mixing_in_bus_clusters + ) + clustering = clustering_for_n_clusters( n, busmap, diff --git a/scripts/determine_availability_matrix.py b/scripts/determine_availability_matrix.py index 3b3262c5de..f971c2d601 100644 --- a/scripts/determine_availability_matrix.py +++ b/scripts/determine_availability_matrix.py @@ -4,7 +4,7 @@ """ The script performs a land eligibility analysis of what share of land is availability for developing the selected technology at each cutout grid cell. -The script uses the `atlite `_ library and +The script uses the [atlite](https://github.com/pypsa/atlite) library and several GIS datasets like the CORINE land use data, LUISA land use data, Natura2000 nature reserves, GEBCO bathymetry data, and shipping lanes. @@ -12,46 +12,38 @@ Inputs ------ -- ``data/bundle/corine/g250_clc06_V18_5.tif``: `CORINE Land Cover (CLC) - `_ inventory on `44 - classes `_ of +- `data/bundle/corine/g250_clc06_V18_5.tif`: [CORINE Land Cover (CLC)](https://land.copernicus.eu/pan-european/corine-land-cover) inventory on [44 + classes](https://wiki.openstreetmap.org/wiki/Corine_Land_Cover#Tagging) of land use (e.g. forests, arable land, industrial, urban areas) at 100m resolution. - .. image:: img/corine.png - :scale: 33 % + ![](img/corine.png) -- ``data/LUISA_basemap_020321_50m.tif``: `LUISA Base Map - `_ land +- `data/LUISA_basemap_020321_50m.tif`: [LUISA Base Map](https://publications.jrc.ec.europa.eu/repository/handle/JRC124621) land coverage dataset at 50m resolution similar to CORINE. For codes in relation to - CORINE land cover, see `Annex 1 of the technical documentation - `_. - -- ``data/bundle/gebco/GEBCO_2014_2D.nc``: A `bathymetric - `_ data set with a global terrain - model for ocean and land at 15 arc-second intervals by the `General - Bathymetric Chart of the Oceans (GEBCO) - `_. - - .. image:: img/gebco_2019_grid_image.jpg - :scale: 50 % - - **Source:** `GEBCO - `_ - -- ``resources/natura.tiff``: confer :ref:`natura` -- ``resources/offshore_shapes.geojson``: confer :ref:`shapes` -- ``resources/regions_onshore_base_s_{clusters}.geojson``: (if not offshore - wind), confer :ref:`busregions` -- ``resources/regions_offshore_base_s_{clusters}.geojson``: (if offshore wind), - :ref:`busregions` -- ``"cutouts/" + params["renewable"][{technology}]['cutout']``: :ref:`cutout` -- ``networks/_base_s_{clusters}.nc``: :ref:`base` + CORINE land cover, see [Annex 1 of the technical documentation](https://publications.jrc.ec.europa.eu/repository/bitstream/JRC124621/technical_report_luisa_basemap_2018_v7_final.pdf). + +- `data/bundle/gebco/GEBCO_2014_2D.nc`: A [bathymetric](https://en.wikipedia.org/wiki/Bathymetry) data set with a global terrain + model for ocean and land at 15 arc-second intervals by the [General + Bathymetric Chart of the Oceans (GEBCO)](https://www.gebco.net/data_and_products/gridded_bathymetry_data/). + + ![](img/gebco_2019_grid_image.jpg) + + **Source:** [GEBCO](https://www.gebco.net/data_and_products/images/gebco_2019_grid_image.jpg) + +- `resources/natura.tiff`: confer natura +- `resources/offshore_shapes.geojson`: confer shapes +- `resources/regions_onshore_base_s_{clusters}.geojson`: (if not offshore + wind), confer busregions +- `resources/regions_offshore_base_s_{clusters}.geojson`: (if offshore wind), + busregions +- `"cutouts/" + params["renewable"][{technology}]['cutout']`: cutout +- `networks/_base_s_{clusters}.nc`: base Outputs ------- -- ``resources/availability_matrix_{clusters_{technology}.nc`` +- `resources/availability_matrix_{clusters_{technology}.nc` """ import functools @@ -60,8 +52,11 @@ import atlite import geopandas as gpd +import matplotlib.pyplot as plt import numpy as np import xarray as xr +from atlite.gis import shape_availability +from rasterio.plot import show from scripts._helpers import configure_logging, load_cutout, set_scenario_config @@ -73,7 +68,7 @@ from scripts._helpers import mock_snakemake snakemake = mock_snakemake( - "build_renewable_profiles", clusters=100, technology="onwind" + "determine_availability_matrix", clusters="adm", technology="offwind-dc" ) configure_logging(snakemake) set_scenario_config(snakemake) @@ -166,6 +161,16 @@ f"Completed landuse availability calculation for {technology} ({duration:2.2f}s)" ) + if snakemake.params.plot_availability_matrix: + logger.info(f"Plotting landuse availability matrix for {technology}.") + band, transform = shape_availability( + regions.geometry.to_crs(excluder.crs), excluder + ) + fig, ax = plt.subplots(figsize=(10, 10)) + regions.to_crs(excluder.crs).plot(ax=ax, color="none") + show(band, transform=transform, cmap="Greens", ax=ax) + plt.savefig(snakemake.output["plot"], dpi=300) + # For Moldova and Ukraine: Overwrite parts not covered by Corine with # externally determined available areas if "availability_matrix_MD_UA" in snakemake.input.keys(): @@ -174,4 +179,4 @@ ) availability.loc[availability_MDUA.coords] = availability_MDUA - availability.to_netcdf(snakemake.output[0]) + availability.to_netcdf(snakemake.output["nc"]) diff --git a/scripts/determine_availability_matrix_MD_UA.py b/scripts/determine_availability_matrix_MD_UA.py index 27a091db60..0352c3d27b 100644 --- a/scripts/determine_availability_matrix_MD_UA.py +++ b/scripts/determine_availability_matrix_MD_UA.py @@ -14,7 +14,10 @@ import atlite import fiona import geopandas as gpd +import matplotlib.pyplot as plt import numpy as np +from atlite.gis import shape_availability +from rasterio.plot import show from scripts._helpers import configure_logging, load_cutout, set_scenario_config @@ -168,5 +171,17 @@ def get_wdpa_layer_name(wdpa_fn, layer_substring): availability = availability.sel(bus=buses) + if snakemake.params.plot_availability_matrix: + logger.info( + f"Plotting landuse availability matrix for {snakemake.wildcards.technology}." + ) + band, transform = shape_availability( + regions.geometry.to_crs(excluder.crs), excluder + ) + fig, ax = plt.subplots(figsize=(10, 10)) + regions.to_crs(excluder.crs).plot(ax=ax, color="none") + show(band, transform=transform, cmap="Greens", ax=ax) + plt.savefig(snakemake.output["plot"], dpi=300) + # Save and plot for verification - availability.to_netcdf(snakemake.output.availability_matrix) + availability.to_netcdf(snakemake.output["nc"]) diff --git a/scripts/lib/validation/config/__init__.py b/scripts/lib/validation/config/__init__.py index f0b91ddb07..ca011c54d7 100644 --- a/scripts/lib/validation/config/__init__.py +++ b/scripts/lib/validation/config/__init__.py @@ -24,13 +24,17 @@ def validate_config(config: dict) -> ConfigSchema: """Validate config dict against schema.""" config_schema = ConfigSchema name = config_schema._name.default + docs_url = config_schema._docs_url.default for item in _registry: updater_config = item(config_schema) config_schema = updater_config.update() + if updater_config.docs_url is not None: + docs_url = updater_config.docs_url if updater_config.name: name += f".{updater_config.name}" validated_config = config_schema(**config) validated_config._name = name + validated_config._docs_url = docs_url return validated_config @@ -78,7 +82,7 @@ def str_representer(dumper, data): data[key] = value field_name = convert_to_field_name(key) - docs_url = f"https://open-tyndp.readthedocs.io/en/latest/configuration.html#{field_name}" + docs_url = config._docs_url.format(field_name=field_name) data.yaml_set_comment_before_after_key(key, before=f"\ndocs in {docs_url}") # Write to file diff --git a/scripts/lib/validation/config/_base.py b/scripts/lib/validation/config/_base.py index fcdad15207..20b3bff94b 100644 --- a/scripts/lib/validation/config/_base.py +++ b/scripts/lib/validation/config/_base.py @@ -66,6 +66,18 @@ def name(self) -> str: `config.default..{self.name}..yaml` """ + @property + @abstractmethod + def docs_url(self) -> str | None: + """ + Docs URL for custom config. + If not None, this URL will be used in the generated config file to link to documentation for each top-level key in the custom config. + + You can use `{field_name}` as a formatting placeholder in the URL, which will be replaced with the actual field name for each key, e.g.: + + `https://pypsa-eur.readthedocs.io/en/latest/configuration.html#{field_name}` + """ + @abstractmethod def update(self) -> type["ConfigSchema"]: """Function in which the custom config schema is created and returned.""" diff --git a/scripts/lib/validation/config/_schema.py b/scripts/lib/validation/config/_schema.py index 20994b3cfb..993fb9f87d 100644 --- a/scripts/lib/validation/config/_schema.py +++ b/scripts/lib/validation/config/_schema.py @@ -97,6 +97,9 @@ class ConfigSchema(BaseModel): _name: str = "default" """internal attribute to track the config filename following the application of config updates""" + _docs_url: str = ( + "https://open-tyndp.readthedocs.io/en/latest/configuration.html#{field_name}" + ) # Top-level fields (from TopLevelConfig) version: str = Field( diff --git a/scripts/lib/validation/config/atlite.py b/scripts/lib/validation/config/atlite.py index 034ed09378..29d1856948 100644 --- a/scripts/lib/validation/config/atlite.py +++ b/scripts/lib/validation/config/atlite.py @@ -115,13 +115,17 @@ class AtliteConfig(BaseModel): description="Defines a default cutout. Can refer to a single cutout or a list of cutouts.", ) nprocesses: int = Field( - 16, + 1, description="Number of parallel processes in cutout preparation.", ) show_progress: bool = Field( False, description="Whether progressbar for atlite conversion processes should be shown. False saves time.", ) + plot_availability_matrix: bool = Field( + False, + description="Whether to plot the landuse availability matrix. Warning: This requires a significant amount of memory and time and may crash for larger workflows. Use with caution.", + ) cutouts: dict[str, _CutoutConfig] = Field( default_factory=lambda: { "europe-1940-2024-era5": _CutoutConfig( diff --git a/scripts/lib/validation/config/clustering.py b/scripts/lib/validation/config/clustering.py index 2a3f0cbf81..9fbde2ebd7 100644 --- a/scripts/lib/validation/config/clustering.py +++ b/scripts/lib/validation/config/clustering.py @@ -49,10 +49,6 @@ class _SimplifyNetworkConfig(BaseModel): False, description="Aggregates all nodes without power injection (positive or negative, i.e. demand or generation) to electrically closest ones.", ) - exclude_carriers: list[str] = Field( - default_factory=list, - description="List of carriers which will not be aggregated. If empty, all carriers will be aggregated.", - ) remove_stubs: bool = Field( True, description="Controls whether radial parts of the network should be recursively aggregated. Defaults to true.", @@ -70,6 +66,10 @@ class _ClusterNetworkConfig(BaseModel): "kmeans", description="Clustering algorithm to use.", ) + allow_ac_dc_mixing_in_bus_clusters: bool = Field( + False, + description="Controls whether clustering is allowed to mix AC and DC buses within a bus cluster. If true, mixed clusters are coerced to AC before aggregation. If false, mixed clusters are kept separate.", + ) hac_features: list[str] = Field( default_factory=lambda: ["wnd100m", "influx_direct"], description="List of meteorological variables contained in the weather data cutout that should be considered for hierarchical clustering.", @@ -143,9 +143,9 @@ class ClusteringConfig(BaseModel): default_factory=list, description="List of carriers which will not be aggregated. If empty, all carriers will be aggregated.", ) - consider_efficiency_classes: bool = Field( + consider_efficiency_classes: bool | list[float] = Field( False, - description="Aggregated each carriers into the top 10-quantile (high), the bottom 90-quantile (low), and everything in between (medium).", + description="Aggregate each carrier into efficiency classes defined by quantile boundaries. If True, uses [0.1, 0.9] as default quantiles (labels: Q0, Q10, Q90). If a list of floats, defines custom quantile boundaries, e.g. [0.1, 0.5, 0.9].", ) aggregation_strategies: _AggregationStrategiesConfig = Field( default_factory=_AggregationStrategiesConfig, diff --git a/scripts/lib/validation/config/data.py b/scripts/lib/validation/config/data.py index 50a65ff9ca..83995025e2 100644 --- a/scripts/lib/validation/config/data.py +++ b/scripts/lib/validation/config/data.py @@ -248,6 +248,18 @@ class DataConfig(BaseModel): default_factory=_DataSourceConfig, description="JRC ARDECO data source configuration.", ) + jrc_energy_atlas: _DataSourceConfig = Field( + default_factory=_DataSourceConfig, + description="JRC Energy Atlas data source configuration.", + ) + desnz_electricity_consumption: _DataSourceConfig = Field( + default_factory=_DataSourceConfig, + description="DESNZ (UK Department for Energy Security and Net Zero) electricity consumption data source configuration.", + ) + ons_lad: _DataSourceConfig = Field( + default_factory=_DataSourceConfig, + description="ONS (Office for National Statistics) Local Authority District data source configuration.", + ) bidding_zones_electricitymaps: _DataSourceConfig = Field( default_factory=_DataSourceConfig, description="Electricitymaps bidding zones data source configuration.", diff --git a/scripts/lib/validation/config/electricity.py b/scripts/lib/validation/config/electricity.py index 367b75ae8c..a7a21750c5 100644 --- a/scripts/lib/validation/config/electricity.py +++ b/scripts/lib/validation/config/electricity.py @@ -448,6 +448,10 @@ class ElectricityConfig(BaseModel): default_factory=_EstimateRenewableCapacitiesConfig, description="Configuration for estimating renewable capacities.", ) + estimate_battery_capacities: bool = Field( + False, + description="Enable estimation of existing battery storage capacities.", + ) autarky: _AutarkyConfig = Field( default_factory=_AutarkyConfig, description="Autarky configuration.", diff --git a/scripts/lib/validation/config/existing_capacities.py b/scripts/lib/validation/config/existing_capacities.py index 07937047fc..d8240e0338 100644 --- a/scripts/lib/validation/config/existing_capacities.py +++ b/scripts/lib/validation/config/existing_capacities.py @@ -62,6 +62,10 @@ class ExistingCapacitiesConfig(ConfigModel): 20, description="Default lifetime for heating technologies (years).", ) + solar_rooftop_ratio: float = Field( + 0.5, + description="Ratio of existing solar capacity to assign to rooftop vs utility-scale (between 0 and 1).", + ) conventional_carriers: list[str] = Field( default_factory=lambda: ["lignite", "coal", "oil", "uranium"], description="List of conventional power plants to include in the sectoral network.", diff --git a/scripts/lib/validation/config/industry.py b/scripts/lib/validation/config/industry.py index 7c5354790c..edd34eabee 100644 --- a/scripts/lib/validation/config/industry.py +++ b/scripts/lib/validation/config/industry.py @@ -202,7 +202,7 @@ class IndustryConfig(ConfigModel): description="Locate industrial sites without valid locations based on city and countries.", ) reference_year: int = Field( - 2019, + 2023, description="The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 `_.", ) oil_refining_emissions: float = Field( diff --git a/scripts/lib/validation/config/load.py b/scripts/lib/validation/config/load.py index 1dc648f96f..0afb78c48c 100644 --- a/scripts/lib/validation/config/load.py +++ b/scripts/lib/validation/config/load.py @@ -77,6 +77,10 @@ class LoadConfig(BaseModel): True, description="Whether to supplement missing data for selected time period should be supplemented by synthetic data from `Zenodo `_.", ) + substation_only: bool = Field( + True, + description="Whether to only consider substations for the spatial disaggregation of the per-country electricity demand data.", + ) distribution_key: _DistributionKeyConfig = Field( default_factory=_DistributionKeyConfig, description="Distribution key for spatially disaggregating the per-country electricity demand data.", diff --git a/scripts/lib/validation/config/renewable.py b/scripts/lib/validation/config/renewable.py index 1dc6bb5204..470d97282f 100644 --- a/scripts/lib/validation/config/renewable.py +++ b/scripts/lib/validation/config/renewable.py @@ -152,7 +152,7 @@ class _OffwindConfig(BaseModel): 0.8855, description="Correction factor for capacity factor time series." ) corine: bool | list[int] = Field( - default_factory=lambda: [44, 255], + default=False, description="Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement.", ) luisa: bool | list[int] = Field( diff --git a/scripts/lib/validation/config/sector.py b/scripts/lib/validation/config/sector.py index 288c3062c2..03607fa2a7 100644 --- a/scripts/lib/validation/config/sector.py +++ b/scripts/lib/validation/config/sector.py @@ -232,6 +232,7 @@ class _TransmissionEfficiencyConfig(BaseModel): default_factory=lambda: [ "DC", "H2 pipeline", + "H2 pipeline retrofitted", "gas pipeline", "electricity distribution grid", ], @@ -252,6 +253,14 @@ class _TransmissionEfficiencyConfig(BaseModel): alias="H2 pipeline", description="H2 pipeline transmission efficiency.", ) + H2_pipeline_retrofitted: dict[str, float] = Field( + default_factory=lambda: { + "efficiency_per_1000km": 1, + "compression_per_1000km": 0.018, + }, + alias="H2 pipeline retrofitted", + description="H2 pipeline retrofitted transmission efficiency.", + ) gas_pipeline: dict[str, float] = Field( default_factory=lambda: { "efficiency_per_1000km": 1, diff --git a/scripts/lib/validation/config/solving.py b/scripts/lib/validation/config/solving.py index 3c003cee01..439d01b857 100644 --- a/scripts/lib/validation/config/solving.py +++ b/scripts/lib/validation/config/solving.py @@ -57,28 +57,28 @@ class _LoadSheddingConfig(ConfigModel): enable: bool = Field( False, - description="Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + description="Enable load shedding by adding high-cost generators to avoid infeasibilities. Requires either all_carriers: true or at least one entry in carriers.", ) - default_price: PositiveFloat = Field( + default_cost: PositiveFloat = Field( 100000, - description="The default price for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + description="The default cost for load-shedding in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", ) - apply_to_all_carriers: bool = Field( + all_carriers: bool = Field( True, description="Switch to apply load shedding to all carriers. Otherwise, load shedding will be applied to listed carriers only.", ) carriers: dict[str, PositiveFloat] = Field( {}, - description="Dictionary of carriers and their specific load shedding price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default price is assumed for non-listed carriers.", + description="Dictionary of carriers and their specific load shedding cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load shedding is enabled for all carriers, the default cost is assumed for non-listed carriers.", ) @model_validator(mode="after") def check_enabled_has_targets(self): - if self.enable and not self.carriers and not self.apply_to_all_carriers: + if self.enable and not self.carriers and not self.all_carriers: raise ValueError( "Load shedding is enabled but no carriers are specified and " - "'apply_to_all_carriers' is False. Either specify carriers or " - "set 'apply_to_all_carriers' to True." + "'all_carriers' is False. Either specify carriers or " + "set 'all_carriers' to True." ) return self @@ -88,28 +88,28 @@ class _LoadSinksConfig(ConfigModel): enable: bool = Field( False, - description="Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either apply_to_all_carriers: true or at least one entry in carriers.", + description="Add load sinks by adding negative-cost, energy consuming generators to avoid infeasibilities by absorbing excess energy. Requires either all_carriers: true or at least one entry in carriers.", ) - default_price: PositiveFloat = Field( + default_cost: PositiveFloat = Field( 100000, - description="The default price for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", + description="The default cost for load sinks in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). Must be positive.", ) - apply_to_all_carriers: bool = Field( + all_carriers: bool = Field( False, description="Switch to add load sinks for all carriers. Otherwise, load sinks will be added for listed carriers only.", ) carriers: dict[str, PositiveFloat] = Field( {}, - description="Dictionary of carriers and their specific load sink price in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default price is assumed for non-listed carriers.", + description="Dictionary of carriers and their specific load sink cost in the unit of the bus carrier (e.g. EUR/MWh for electricity, EUR/t_CO2 for CO2). If load sinks are added for all carriers, the default cost is assumed for non-listed carriers.", ) @model_validator(mode="after") def check_enabled_has_targets(self): - if self.enable and not self.carriers and not self.apply_to_all_carriers: + if self.enable and not self.carriers and not self.all_carriers: raise ValueError( "Load sinks are enabled but no carriers are specified and " - "'apply_to_all_carriers' is False. Either specify carriers or " - "set 'apply_to_all_carriers' to True." + "'all_carriers' is False. Either specify carriers or " + "set 'all_carriers' to True." ) return self @@ -188,6 +188,10 @@ class _SolvingOptionsConfig(BaseModel): 365, description="Number of snapshots to consider in each iteration. Defaults to 100.", ) + overlap: int = Field( + 0, + description="Number of overlapping snapshots between consecutive iterations in rolling horizon optimization. Defaults to 0, which means no overlap.", + ) post_discretization: _PostDiscretizationConfig = Field( default_factory=_PostDiscretizationConfig, description="Post-discretization settings.", @@ -355,6 +359,7 @@ class SolvingConfig(BaseModel): "AggFill": 0, "PreDual": 0, "GURO_PAR_BARDENSETHRESH": 200, + "IISMethod": 1, }, "gurobi-simplex": { "threads": 32, diff --git a/scripts/make_network_comparison.py b/scripts/make_network_comparison.py index 846e06fa8a..fc3cda97f6 100644 --- a/scripts/make_network_comparison.py +++ b/scripts/make_network_comparison.py @@ -219,9 +219,11 @@ def to_long_format(metric: str) -> pd.DataFrame: value_name="length", ) .assign( - parameter=lambda df: df["parameter"] - .str.replace(col_prefix, "", regex=False) - .map(label_map) + parameter=lambda df: ( + df["parameter"] + .str.replace(col_prefix, "", regex=False) + .map(label_map) + ) ) ) diff --git a/scripts/plot_heat_source_map.py b/scripts/plot_heat_source_map.py index aeffd5a921..1b724820c9 100644 --- a/scripts/plot_heat_source_map.py +++ b/scripts/plot_heat_source_map.py @@ -20,12 +20,12 @@ Relevant Settings ----------------- -.. code:: yaml - - plotting: - heat_source_map: - temperature_cmap: "Reds" # Colormap for temperature data - energy_cmap: "Oranges" # Colormap for energy data +```yaml +plotting: + heat_source_map: + temperature_cmap: "Reds" # Colormap for temperature data + energy_cmap: "Oranges" # Colormap for energy data +``` Inputs ------ diff --git a/scripts/plot_hydrogen_network.py b/scripts/plot_hydrogen_network.py index 135d4a6fb3..fb74cbfd29 100644 --- a/scripts/plot_hydrogen_network.py +++ b/scripts/plot_hydrogen_network.py @@ -38,7 +38,9 @@ def group_pipes(df, drop_direction=False): # there are pipes for each investment period rename to AC buses name for plotting df["index_orig"] = df.index df.index = df.apply( - lambda x: f"H2 pipeline {x.bus0.replace(' H2', '')} -> {x.bus1.replace(' H2', '')}", + lambda x: ( + f"H2 pipeline {x.bus0.replace(' H2', '')} -> {x.bus1.replace(' H2', '')}" + ), axis=1, ) return df.groupby(level=0).agg( @@ -115,7 +117,9 @@ def plot_h2_map(n, regions, map_fn): h2_retro["index_orig"] = h2_retro.index h2_retro.index = h2_retro.apply( - lambda x: f"H2 pipeline {x.bus0.replace(' H2', '')} -> {x.bus1.replace(' H2', '')}", + lambda x: ( + f"H2 pipeline {x.bus0.replace(' H2', '')} -> {x.bus1.replace(' H2', '')}" + ), axis=1, ) diff --git a/scripts/plot_interactive_bus_balance.py b/scripts/plot_interactive_bus_balance.py index b1c70e417a..10d282fa14 100644 --- a/scripts/plot_interactive_bus_balance.py +++ b/scripts/plot_interactive_bus_balance.py @@ -16,12 +16,12 @@ Relevant Settings ----------------- -.. code:: yaml - - plotting: - tech_colors: # Color mapping for different technologies/carriers - balance_timeseries: - bus_name_pattern: # Pattern to filter buses (e.g., 'DE*' for German buses) +```yaml +plotting: + tech_colors: # Color mapping for different technologies/carriers + balance_timeseries: + bus_name_pattern: # Pattern to filter buses (e.g., 'DE*' for German buses) +``` Inputs ------ diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index 568e51972c..8cda4a6f02 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -270,7 +270,7 @@ def plot_balances(): ) fig.savefig( - snakemake.output.balances[:-10] + bus_carrier + ".svg", bbox_inches="tight" + snakemake.output.balances[:-10] + bus_carrier + ".pdf", bbox_inches="tight" ) plt.close(fig) @@ -482,7 +482,7 @@ def plot_carbon_budget_distribution(input_eurostat, options): ) plt.grid(axis="y") - path = snakemake.output.balances.split("balances")[0] + "carbon_budget.svg" + path = snakemake.output.balances.split("balances")[0] + "carbon_budget.pdf" plt.savefig(path, bbox_inches="tight") plt.close() diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 7cf0e98f69..63e52a0927 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -4,7 +4,7 @@ """ -Prepare PyPSA network for solving according to :ref:`opts`, such +Prepare PyPSA network for solving according to opts, such as. - adding an annual **limit** of carbon-dioxide emissions, @@ -13,15 +13,15 @@ - specifying an expansion limit on the **cost** of transmission expansion, - specifying an expansion limit on the **volume** of transmission expansion, and - reducing the **temporal** resolution by averaging over multiple hours - or segmenting time series into chunks of varying lengths using ``tsam``. + or segmenting time series into chunks of varying lengths using `tsam`. Description ----------- -.. tip:: - The rule :mod:`prepare_elec_networks` runs - for all ``scenario`` s in the configuration file - the rule :mod:`prepare_network`. +!!! tip + The rule `prepare_elec_networks` runs + for all `scenario` s in the configuration file + the rule [prepare_network][]. """ import logging diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 8a9ed5f550..9cfc952324 100755 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -104,7 +104,7 @@ def attach_tyndp_transmission_projects( projects = pd.concat([projects, new_projects]) links = n.links[n.links.carrier == "DC"].index - new_links = projects.loc[list(set(projects.index) - set(links))] + new_links = projects.loc[sorted(set(projects.index) - set(links))] n.links.loc[links, "p_nom"] += projects.reindex(links, fill_value=0).p_nom if not new_links.empty: @@ -557,7 +557,9 @@ def create_network_topology( if not bidirectional: topo_reverse = topo.copy() topo_reverse.rename(columns=swap_buses, inplace=True) - topo_reverse.index = topo_reverse.apply(make_index, axis=1) + topo_reverse.index = topo_reverse.apply( + make_index, axis=1, prefix=prefix, connector=connector + ) topo = pd.concat([topo, topo_reverse]) return topo @@ -902,16 +904,15 @@ def add_co2_tracking( 'CO2 storage tank' with 'capital_cost' column options : dict Configuration options containing at least: - - regional_co2_sequestration_potential: dict with keys - - enable: bool - - max_size: float - - years_of_storage: float + - regional_co2_sequestration_potential : dict + Dict with keys ``enable`` (bool), ``max_size`` (float), + ``years_of_storage`` (float). - co2_sequestration_cost: float - co2_sequestration_lifetime: float - co2_vent: bool sequestration_potential_file : str, optional Path to CSV file containing regional CO2 sequestration potentials. - Required if options['regional_co2_sequestration_potential']['enable'] is True. + Required if ``options["regional_co2_sequestration_potential"]["enable"]`` is True. co2_price : float, optional CO2 price that needs to be paid for emitting into the atmosphere and which is gained by removing from the atmosphere. @@ -1264,7 +1265,8 @@ def add_methanol_to_power(n, costs, pop_layout, types=None): carrier="CCGT methanol", p_nom_extendable=True, capital_cost=capital_cost, - marginal_cost=costs.at["CCGT", "VOM"], + marginal_cost=costs.at["CCGT", "VOM"] + * costs.at["CCGT", "efficiency"], # NB: VOM is per MWel efficiency=costs.at["CCGT", "efficiency"], efficiency2=costs.at["methanolisation", "carbondioxide-input"], lifetime=costs.at["CCGT", "lifetime"], @@ -1297,7 +1299,8 @@ def add_methanol_to_power(n, costs, pop_layout, types=None): carrier="CCGT methanol CC", p_nom_extendable=True, capital_cost=capital_cost_cc, - marginal_cost=costs.at["CCGT", "VOM"], + marginal_cost=costs.at["CCGT", "VOM"] + * costs.at["CCGT", "efficiency"], # NB: VOM is per MWel efficiency=costs.at["CCGT", "efficiency"], efficiency2=costs.at["cement capture", "capture_rate"] * costs.at["methanolisation", "carbondioxide-input"], @@ -6014,8 +6017,20 @@ def add_heat( Path to NetCDF file containing direct heat source utilisation profiles hourly_heat_demand_total_file : str Path to CSV file containing hourly heat demand data - ptes_supplemental_heating_required_file: str - Path to CSV file indicating when supplemental heating for thermal energy storage (TES) is needed + ptes_e_max_pu_file : str + Path to CSV file containing pit thermal energy storage max energy per unit profiles. + ptes_direct_utilisation_profile : str + Path to file containing pit thermal energy storage direct utilisation profiles. + ates_e_nom_max : str + Path to file containing aquifer thermal energy storage nominal max energy. + ates_capex_as_fraction_of_geothermal_heat_source : float + ATES capital cost as fraction of geothermal heat source cost. + ates_recovery_factor : float + ATES recovery factor. + enable_ates : bool + Whether to enable aquifer thermal energy storage. + ates_marginal_cost_charger : float + Marginal cost for ATES charger. district_heat_share_file : str Path to CSV file containing district heating share information solar_thermal_total_file : str @@ -6701,7 +6716,8 @@ def add_heat( p_nom_extendable=True, capital_cost=costs.at["central gas CHP", "capital_cost"] * costs.at["central gas CHP", "efficiency"], - marginal_cost=costs.at["central gas CHP", "VOM"], + marginal_cost=costs.at["central gas CHP", "VOM"] + * costs.at["central gas CHP", "efficiency"], # NB: VOM is per MWel efficiency=costs.at["central gas CHP", "efficiency"], efficiency2=costs.at["central gas CHP", "efficiency"] / costs.at["central gas CHP", "c_b"], @@ -6723,7 +6739,8 @@ def add_heat( * costs.at["central gas CHP", "efficiency"] + costs.at["biomass CHP capture", "capital_cost"] * costs.at[fuel, "CO2 intensity"], - marginal_cost=costs.at["central gas CHP", "VOM"], + marginal_cost=costs.at["central gas CHP", "VOM"] + * costs.at["central gas CHP", "efficiency"], # NB: VOM is per MWel efficiency=costs.at["central gas CHP", "efficiency"] - costs.at[fuel, "CO2 intensity"] * ( @@ -7312,7 +7329,8 @@ def add_biomass( carrier="biogas to gas", capital_cost=costs.at["biogas", "capital_cost"] + costs.at["biogas upgrading", "capital_cost"], - marginal_cost=costs.at["biogas upgrading", "VOM"], + marginal_cost=costs.at["biogas", "efficiency"] + * costs.at["biogas upgrading", "VOM"], # NB: VOM is per MWh output efficiency=costs.at["biogas", "efficiency"], efficiency2=-costs.at["gas", "CO2 intensity"], p_nom_extendable=True, @@ -7336,7 +7354,9 @@ def add_biomass( + costs.at["biomass CHP capture", "capital_cost"] * costs.at["biogas CC", "CO2 stored"], marginal_cost=costs.at["biogas CC", "VOM"] - + costs.at["biogas upgrading", "VOM"], + * costs.at["biogas CC", "efficiency"] + + costs.at["biogas upgrading", "VOM"] + * costs.at["biogas", "efficiency"], # NB: VOM is per MWh output efficiency=costs.at["biogas CC", "efficiency"], efficiency2=costs.at["biogas CC", "CO2 stored"] * costs.at["biogas CC", "capture rate"], @@ -7493,7 +7513,8 @@ def add_biomass( carrier="urban central solid biomass CHP", p_nom_extendable=True, capital_cost=costs.at[key, "capital_cost"] * costs.at[key, "efficiency"], - marginal_cost=costs.at[key, "VOM"], + marginal_cost=costs.at[key, "VOM"] + * costs.at[key, "efficiency"], # NB: VOM is per MWel efficiency=costs.at[key, "efficiency"], efficiency2=costs.at[key, "efficiency-heat"], lifetime=costs.at[key, "lifetime"], @@ -7513,7 +7534,8 @@ def add_biomass( * costs.at[key + " CC", "efficiency"] + costs.at["biomass CHP capture", "capital_cost"] * costs.at["solid biomass", "CO2 intensity"], - marginal_cost=costs.at[key + " CC", "VOM"], + marginal_cost=costs.at[key + " CC", "efficiency"] + * costs.at[key + " CC", "VOM"], # NB: VOM is per MWel efficiency=costs.at[key + " CC", "efficiency"] - costs.at["solid biomass", "CO2 intensity"] * ( @@ -7783,8 +7805,6 @@ def add_industry( Year for which investment costs should be considered tyndp_scenario : str TYNDP scenario name for scenario-specific adjustments - HeatSystem : Enum - Enumeration defining different heat system types Returns ------- diff --git a/scripts/process_cost_data.py b/scripts/process_cost_data.py index 201a2371db..78c75e9979 100644 --- a/scripts/process_cost_data.py +++ b/scripts/process_cost_data.py @@ -17,13 +17,13 @@ Inputs ------ -- ``resources/costs_{planning_horizons}.csv``: Default cost data for specified planning horizon -- (by default) ``data/custom_costs.csv``: Custom cost modifications (can be configured with `costs:custom_costs:file` +- `resources/costs_{planning_horizons}.csv`: Default cost data for specified planning horizon +- (by default) `data/custom_costs.csv`: Custom cost modifications (can be configured with `costs:custom_costs:file` Outputs ------- -- ``resources/costs_{planning_horizons}_processed.csv``: Prepared cost data with custom modifications applied +- `resources/costs_{planning_horizons}_processed.csv`: Prepared cost data with custom modifications applied """ import logging diff --git a/scripts/retrieve_seawater_temperature.py b/scripts/retrieve_seawater_temperature.py index 84646fd153..b99542fde2 100644 --- a/scripts/retrieve_seawater_temperature.py +++ b/scripts/retrieve_seawater_temperature.py @@ -14,10 +14,10 @@ Relevant Settings ----------------- -.. code:: yaml - - # No specific configuration required - # Uses year wildcard from Snakemake rule +```yaml +# No specific configuration required +# Uses year wildcard from Snakemake rule +``` Inputs ------ diff --git a/scripts/sb/build_tyndp_offshore_hubs.py b/scripts/sb/build_tyndp_offshore_hubs.py index f64cb6cd87..bec28c101c 100644 --- a/scripts/sb/build_tyndp_offshore_hubs.py +++ b/scripts/sb/build_tyndp_offshore_hubs.py @@ -475,8 +475,9 @@ def load_generators(sheet_name, tech_switch=None): .replace({"scenario": SCENARIO_DICT}) .query("pyear in @planning_horizons and scenario == @scenario") .assign( - carrier=lambda x: "offwind-" - + x.carrier.str.lower().replace("_", "-", regex=True) + carrier=lambda x: ( + "offwind-" + x.carrier.str.lower().replace("_", "-", regex=True) + ) ) .drop(columns=column_del, errors="ignore") ) diff --git a/scripts/sb/clean_tyndp_h2_storages.py b/scripts/sb/clean_tyndp_h2_storages.py index 7e9993d2c6..e821d3ad79 100644 --- a/scripts/sb/clean_tyndp_h2_storages.py +++ b/scripts/sb/clean_tyndp_h2_storages.py @@ -76,10 +76,12 @@ def load_h2_storage_data( e_nom_max=lambda df: df.e_nom_max * 1e3, # [MWh] efficiency_charge=lambda df: df.efficiency_charge / 100, # [1] efficiency_discharge=lambda df: df.efficiency_discharge / 100, # [1] - bus=lambda df: df.bus - + np.where(df.h2_zone == "H2 Z2", suffix, " H2 Z1") - + " " - + np.where(df.h2_zone == "H2 Z2", "cavern-storage", "tank-storage"), + bus=lambda df: ( + df.bus + + np.where(df.h2_zone == "H2 Z2", suffix, " H2 Z1") + + " " + + np.where(df.h2_zone == "H2 Z2", "cavern-storage", "tank-storage") + ), ) ) diff --git a/scripts/sb/clean_tyndp_hydro_inflows.py b/scripts/sb/clean_tyndp_hydro_inflows.py index 53fa505892..9053b096fa 100644 --- a/scripts/sb/clean_tyndp_hydro_inflows.py +++ b/scripts/sb/clean_tyndp_hydro_inflows.py @@ -56,11 +56,13 @@ def read_hydro_inflows_file( inflow_tech = pd.read_excel( fn, skiprows=1, - usecols=lambda name: name == "Day" - or name == "Week" - or name == "ShortName" - or name == "Variable" - or name == int(cyear), + usecols=lambda name: ( + name == "Day" + or name == "Week" + or name == "ShortName" + or name == "Variable" + or name == int(cyear) + ), sheet_name=f"{hydro_tech} - Year Dependent", ) diff --git a/scripts/sb/clean_tyndp_report_benchmark.py b/scripts/sb/clean_tyndp_report_benchmark.py index 6f98f0ecee..09653d07da 100644 --- a/scripts/sb/clean_tyndp_report_benchmark.py +++ b/scripts/sb/clean_tyndp_report_benchmark.py @@ -170,11 +170,13 @@ def add_report_carrier_mappings(carrier_mapping_fn: str, tables: dict) -> None: tech_map[["tyndp_report_carrier", col]] .dropna(subset=["tyndp_report_carrier", col]) .assign( - tyndp_report_carrier=lambda x: x["tyndp_report_carrier"] - .str.removeprefix("H2 ") - .str.removeprefix("CH4 ") - .str.lower() - .str.rstrip("* ") + tyndp_report_carrier=lambda x: ( + x["tyndp_report_carrier"] + .str.removeprefix("H2 ") + .str.removeprefix("CH4 ") + .str.lower() + .str.rstrip("* ") + ) ) .set_index("tyndp_report_carrier")[col] .to_dict() diff --git a/scripts/sb/group_tyndp_conventionals.py b/scripts/sb/group_tyndp_conventionals.py index 56a0e24048..589757037a 100644 --- a/scripts/sb/group_tyndp_conventionals.py +++ b/scripts/sb/group_tyndp_conventionals.py @@ -137,8 +137,9 @@ def _group_profiles( how="left", ) .assign( - p_max_t=lambda df: df.p_max_t - + (df.p_nom - df.p_nom_profiles), # add missing capacities to p_max + p_max_t=lambda df: ( + df.p_max_t + (df.p_nom - df.p_nom_profiles) + ), # add missing capacities to p_max p_min_pu=lambda df: df.p_min_t / df.p_nom, p_max_pu=lambda df: df.p_max_t / df.p_nom, open_tyndp_type=lambda df: df.index_carrier, diff --git a/scripts/sb/make_benchmark.py b/scripts/sb/make_benchmark.py index 7939ea9ab9..1f533712fc 100644 --- a/scripts/sb/make_benchmark.py +++ b/scripts/sb/make_benchmark.py @@ -124,9 +124,9 @@ def _bus_to_country(bus: str) -> str: lambda x: _bus_to_country(x) if pd.notna(x) else x ) benchmarks_raw.loc[:, "corridor"] = benchmarks_raw["border"].map( - lambda x: "->".join(_bus_to_country(b) for b in x.split("->")) - if pd.notna(x) - else x + lambda x: ( + "->".join(_bus_to_country(b) for b in x.split("->")) if pd.notna(x) else x + ) ) return benchmarks_raw diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 6ba67f0700..a626b14b82 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -11,32 +11,29 @@ Outputs ------- -- ``resources/regions_onshore_base.geojson``: +- `resources/regions_onshore_base.geojson`: - .. image:: img/regions_onshore_base_s.png - :scale: 33 % + ![](img/regions_onshore_base_s.png) -- ``resources/regions_offshore_base.geojson``: +- `resources/regions_offshore_base.geojson`: - .. image:: img/regions_offshore_base_s .png - :scale: 33 % + ![](img/regions_offshore_base_s.png) -- ``resources/busmap_base_s.csv``: Mapping of buses from ``networks/base.nc`` to ``networks/base_s.nc``; -- ``networks/base.nc``: +- `resources/busmap_base_s.csv`: Mapping of buses from `networks/base.nc` to `networks/base_s.nc`; +- `networks/base.nc`: - .. image:: img/base_s.png - :scale: 33 % + ![](img/base_s.png) Description ----------- -The rule :mod:`simplify_network` does up to three things: +The rule [simplify_network][] does up to three things: -1. Create an equivalent transmission network in which all voltage levels are mapped to the 380 kV level by the function ``simplify_network(...)``. +1. Create an equivalent transmission network in which all voltage levels are mapped to the 380 kV level by the function `simplify_network(...)`. -2. DC only sub-networks that are connected at only two buses to the AC network are reduced to a single representative link in the function ``simplify_links(...)``. +2. DC only sub-networks that are connected at only two buses to the AC network are reduced to a single representative link in the function `simplify_links(...)`. -3. Stub lines and links, i.e. dead-ends of the network, are sequentially removed from the network in the function ``remove_stubs(...)`` and ``remove_stubs_within_admin(...)``. +3. Stub lines and links, i.e. dead-ends of the network, are sequentially removed from the network in the function `remove_stubs(...)` and `remove_stubs_within_admin(...)`. """ import logging @@ -135,13 +132,14 @@ def split_links(nodes, added_supernodes): seen = set() - # Supernodes are endpoints of links, identified by having lass then two neighbours or being an AC Bus - # An example for the latter is if two different links are connected to the same AC bus. + # Supernodes are buses that are not simple chain nodes within the component. + # A chain node has degree 2 inside the component; endpoints (degree 1), + # junctions (degree >=3), and AC buses are kept as supernodes. supernodes = { m for m in nodes if ( - (len(G.adj[m]) < 2 or (set(G.adj[m]) - nodes)) + (len(set(G.adj[m]) & nodes) != 2) or (n.buses.loc[m, "carrier"] == "AC") or (m in added_supernodes) ) @@ -241,9 +239,6 @@ def split_links(nodes, added_supernodes): _remove_clustered_buses_and_branches(n, busmap) - # Change carrier type of all added super_nodes to "AC" - n.buses.loc[added_supernodes, "carrier"] = "AC" - return n, busmap @@ -340,10 +335,14 @@ def find_closest_bus(n, x, y, tol=2000): Parameters ---------- - n (pypsa.Network): The network object. - x (float): The x-coordinate (longitude) of the target location. - y (float): The y-coordinate (latitude) of the target location. - tol (float): The distance tolerance in meters. Default is 2000 meters. + n : pypsa.Network + The network object. + x : float + The x-coordinate (longitude) of the target location. + y : float + The y-coordinate (latitude) of the target location. + tol : float + The distance tolerance in meters. Default is 2000 meters. Returns ------- @@ -380,7 +379,8 @@ def remove_converters(n: pypsa.Network) -> pypsa.Network: Parameters ---------- - n (pypsa.Network): The network object. + n : pypsa.Network + The network object. Returns ------- diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 31b5a88c67..41c9b186b6 100644 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -15,16 +15,14 @@ Total annual system costs are minimised with PyPSA. The full formulation of the linear optimal power flow (plus investment planning is provided in the -`documentation of PyPSA `_. +[documentation of PyPSA](https://pypsa.readthedocs.io/en/latest/optimal_power_flow.html#linear-optimal-power-flow). -The optimization is based on the :func:`network.optimize` function. -Additionally, some extra constraints specified in :mod:`solve_network` are added. +The optimization is based on the `network.optimize` function. +Additionally, some extra constraints specified in [solve_network][] are added. -.. note:: - - The rules ``solve_elec_networks`` and ``solve_sector_networks`` run - the workflow for all scenarios in the configuration file (``scenario:``) - based on the rule :mod:`solve_network`. +**Note:** The rules `solve_elec_networks` and `solve_sector_networks` run + the workflow for all scenarios in the configuration file (`scenario:`) + based on the rule [solve_network][]. """ import importlib @@ -456,11 +454,11 @@ def add_load_balance_components(n, config, sign=1): n.add("Carrier", "load") carriers = config.get("carriers", {}) - default_price = config.get("default_price") + default_cost = config.get("default_cost") balance_comp = "shedding" if sign > 0 else "sink" logger.info( - f"Add load {balance_comp} for {'all carriers' if config.get('apply_to_all_carriers') else ', '.join(carriers)}." + f"Add load {balance_comp} for {'all carriers' if config.get('all_carriers') else ', '.join(carriers)}." ) for bus_carrier, price in carriers.items(): @@ -476,7 +474,7 @@ def add_load_balance_components(n, config, sign=1): sign=sign, ) - if config.get("apply_to_all_carriers", False): + if config.get("all_carriers", False): buses_rest_i = n.buses[~n.buses.carrier.isin(carriers)].index n.add( "Generator", @@ -484,7 +482,7 @@ def add_load_balance_components(n, config, sign=1): f" load {balance_comp}", bus=buses_rest_i, carrier="load", - marginal_cost=default_price, + marginal_cost=default_cost, p_nom=np.inf, sign=sign, ) @@ -498,6 +496,7 @@ def prepare_network( planning_horizons: str | None, co2_sequestration_potential: dict[str, float] | None, limit_max_growth: dict[str, Any] | None = None, + rolling_horizon: bool = False, config: dict[str, Any] | None = None, ) -> None: """ @@ -537,6 +536,8 @@ def prepare_network( df.where(df.abs() > solve_opts["clip_p_max_pu"], other=0.0, inplace=True) if (load_shedding := solve_opts.get("load_shedding", {})).get("enable", False): + # intersect between macroeconomic and surveybased willingness to pay + # http://journal.frontiersin.org/article/10.3389/fenrg.2015.00055/full add_load_balance_components(n, load_shedding) if (load_sinks := solve_opts.get("load_sinks", {})).get("enable", False): @@ -612,6 +613,13 @@ def prepare_network( planning_horizons=planning_horizons, ) + # rolling horizon disables cyclic storage + if rolling_horizon: + n.storage_units.state_of_charge_cyclic = False + n.storage_units.state_of_charge_initial = 0 + n.stores.e_cyclic = False + n.stores.e_initial = 0 + if config: sanitize_carriers(n, config) @@ -824,8 +832,10 @@ def add_SAFE_constraints(n, config): Parameters ---------- - n : pypsa.Network - config : dict + n : pypsa.Network + The PyPSA network instance. + config : dict + Configuration dictionary. Example ------- @@ -860,12 +870,15 @@ def add_operational_reserve_margin(n, sns, config): Parameters ---------- - n : pypsa.Network - sns: pd.DatetimeIndex - config : dict + n : pypsa.Network + The PyPSA network instance. + sns : pd.DatetimeIndex + Snapshots for the simulation. + config : dict + Configuration dictionary. - Example: - -------- + Example + ------- config.yaml requires to specify operational_reserve: operational_reserve: # like https://genxproject.github.io/GenX/dev/core/#Reserves activate: true @@ -1415,12 +1428,14 @@ def extra_functionality( snapshots : pd.DatetimeIndex Simulation timesteps planning_horizons : str, optional - The current planning horizon year or None in perfect foresight + The current planning horizon year or None in perfect foresight. offshore_zone_trajectories_fn: str, optional Path to the file containing the offshore zone potentials trajectories renewable_carriers_tyndp : list[str], optional List of TYNDP renewable carriers + Notes + ----- Collects supplementary constraints which will be passed to ``pypsa.optimization.optimize``. @@ -1618,6 +1633,7 @@ def collect_kwargs( if cf_solving["post_discretization"].get("enable", False): logger.info("Add post-discretization parameters.") + cf_solving["post_discretization"].pop("enable", None) all_kwargs.update(cf_solving["post_discretization"]) return all_kwargs, {} @@ -1715,6 +1731,7 @@ def create_optimization_model( planning_horizons=planning_horizons, co2_sequestration_potential=snakemake.params["co2_sequestration_potential"], limit_max_growth=snakemake.params.get("sector", {}).get("limit_max_growth"), + rolling_horizon=cf_solving["rolling_horizon"], config=snakemake.config, ) @@ -1734,7 +1751,7 @@ def create_optimization_model( with memory_logger( filename=getattr(snakemake.log, "memory", None), interval=logging_frequency ) as mem: - if rolling_horizon and snakemake.rule == "solve_operations_network": + if rolling_horizon: logger.info("Using rolling horizon optimization...") all_kwargs, _ = collect_kwargs( snakemake.config, diff --git a/scripts/solve_operations_network.py b/scripts/solve_operations_network.py index 419f7d3d3c..2d91b40e5b 100644 --- a/scripts/solve_operations_network.py +++ b/scripts/solve_operations_network.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: MIT """ Solves linear optimal dispatch in hourly resolution using the capacities of -previous capacity expansion in rule :mod:`solve_network`. +previous capacity expansion in rule [solve_network][]. """ import logging diff --git a/test/test_config_schema.py b/test/test_config_schema.py index 91f363a2e6..4c62420c81 100644 --- a/test/test_config_schema.py +++ b/test/test_config_schema.py @@ -13,9 +13,24 @@ from scripts.lib.validation.config import ( generate_config_defaults, generate_config_schema, + validate_config, ) +@pytest.fixture(scope="module") +def config_file(): + config = validate_config({}) + config_filename = Path(f"config/config.{config._name}.yaml") + return config_filename + + +@pytest.fixture(scope="module") +def schema_file(): + config = validate_config({}) + schema_filename = Path(f"config/schema.{config._name}.json") + return schema_filename + + def _check_file_in_sync(existing_path: Path, generate_func, file_type: str): """Check if a file is in sync with the generated content.""" assert existing_path.exists(), f"{existing_path} does not exist" @@ -52,21 +67,21 @@ def _check_file_in_sync(existing_path: Path, generate_func, file_type: str): ) -def test_config_default_yaml_in_sync(): +def test_config_default_yaml_in_sync(config_file): """Test that config/config.default.yaml is in sync with Pydantic schema.""" _check_file_in_sync( - Path("config/config.default.yaml"), + config_file, generate_config_defaults, "yaml", ) -def test_config_schema_json_in_sync(): +def test_config_schema_json_in_sync(schema_file): """Test that config/schema.default.json is in sync with Pydantic schema.""" _check_file_in_sync( - Path("config/schema.default.json"), + schema_file, generate_config_schema, "json", ) diff --git a/test/test_data_versions_layer.py b/test/test_data_versions_layer.py index 41c55d826d..621c4b46e6 100644 --- a/test/test_data_versions_layer.py +++ b/test/test_data_versions_layer.py @@ -52,26 +52,32 @@ def sort_versions(df: pd.DataFrame) -> pd.DataFrame: is_sorted = Check(lambda df: df.equals(sort_versions(df)), error="Data must be sorted") archive_has_url = Check( - lambda df: df.loc[df["source"].isin({"archive", "tyndp-archive"}), "url"] - .str.len() - .gt(0) - .all(), + lambda df: ( + df.loc[df["source"].isin({"archive", "tyndp-archive"}), "url"] + .str.len() + .gt(0) + .all() + ), error="Archive entries must have a URL", ) one_latest_per_dataset_source = Check( - lambda df: df[df["tags"].str.contains("latest")] - .groupby(["dataset", "source"]) - .size() - .eq(1) - .all(), + lambda df: ( + df[df["tags"].str.contains("latest")] + .groupby(["dataset", "source"]) + .size() + .eq(1) + .all() + ), error="Exactly one 'latest' tag required per dataset/source combination", ) latest_same_version_across_sources = Check( - lambda df: df[(df["tags"].str.contains("latest")) & (df["version"] != "unknown")] - .groupby("dataset")["version"] - .nunique() - .le(1) - .all(), + lambda df: ( + df[(df["tags"].str.contains("latest")) & (df["version"] != "unknown")] + .groupby("dataset")["version"] + .nunique() + .le(1) + .all() + ), error="All 'latest' entries for a dataset must have the same version across sources (excluding 'unknown')", ) VersionsSchema = pa.DataFrameSchema(