forked from open-energy-transition/pypsa-eur
-
Notifications
You must be signed in to change notification settings - Fork 19
Merge changes from upstream (incl. PyPSA-Eur v2026.02.0) #754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 97 commits
Commits
Show all changes
113 commits
Select commit
Hold shift + click to select a range
5c3e094
update unit commitment parameters and fix startup cost (#2073)
fneum 050d5a5
add name to unclustered power plants (#2069)
fneum 9d6340c
rolling horizon: drop cyclicity and allow in solve_network (#2070)
fneum 72d1df0
add option to add existing batteries from powerplantmatching (#2071)
fneum d8e2909
handle co2stop id column across versions (#2077)
fneum 0bf228e
fix missing or outdated configuration options (#2074)
fneum 5c80319
allow custom efficiency_classes for conventional generators (#2075)
fneum a465b6b
chore: pin grpcio<1.78 to silence warnings (#2080)
daniel-rdt 3247e2a
annual nuclear energy availability factors (#2072)
fneum f545f18
Allow pixi post link scripts to run (#2079)
brynpickering 7bf8ed4
Fix offshore wind potentials in Germany (#2081)
fneum f4ed8eb
distribute electricity demand by JRC energy atlas (#1829)
fneum 748f878
Reverting to .pdf file ending for `plot_summary` (#2083)
bobbyxng 67806b0
prepare release v2026.02.0 (#2084)
fneum 2a06802
Update locked environment files for all platforms (#2082)
github-actions[bot] 99ec2d9
ci: always run integration tests on workflow_dispatch trigger (#2085)
lkstrp d6383eb
[github-actions.ci] prepare release v2026.02.0
lkstrp ec5a93b
Allow overwriting docs URL; select correct default config in test (#2…
brynpickering a1b452f
Link release badge to documentation (#2089)
lindnemi c813dd1
Merge branch 'master-upstream' into merge-upstream-260223
tgilon 7b97305
fix: don't mutate config in cluster_network (#2091)
lkstrp e250075
build: use /workspace as dev-env container workdir (#2095)
lkstrp 655d666
Merge pull request #90 from open-energy-transition/merge-upstream-260223
tgilon abb2068
fix: lower the lower bound for power grouping years (#2097)
tgilon 90b464d
chore: remove duplicated OCGT in test config files (#2094)
tgilon 025c72f
chore: remove duplicated OCGT in test config files (#2094)
tgilon 18f8c81
build: install pixi env persistent with auto-symlink entrypoint (#2098)
lkstrp b012517
refactor: use scripts path provider consistently (#2093)
tgilon 4a3906e
feat: setup pypsa-bot github app (#2099)
lkstrp 34204dd
fix: validator config (#2102)
lkstrp 5f62639
Update industry reference year to 2023 (#2103)
lindnemi ad10771
[github-actions.ci] Update locked envs (#2110)
github-actions[bot] 21bc4fa
chore(deps): bump actions/upload-artifact in the github-actions group…
dependabot[bot] 981654c
Merge branch 'PyPSA:master' into master
tgilon 4fe739d
chore(deps): bump docker/login-action in the github-actions group (#2…
dependabot[bot] 40c8954
Update installation.rst (#2116)
jack-gregory 4d83a9b
chore(deps): bump dorny/paths-filter in the github-actions group (#2119)
dependabot[bot] 960ff53
doc: update the PR template (#2118)
tgilon 3f76942
Update solve_network.py (#2107)
toniseibold f85d295
[github-actions.ci] Update locked envs (#2120)
github-actions[bot] db2e5a0
chore(deps): bump actions/create-github-app-token (#2122)
dependabot[bot] 7ab303c
feat: improve load shedding with carrier specific options and load si…
daniel-rdt 25f8ee4
ci: validation runs via pypsa-app (#2123)
lkstrp c5b534d
test: trusted user (#2125)
daniel-rdt 192857b
fix: clamp s/p_nom_max in brownfield to prevent floating-point infeas…
thogin e8b2730
ci: exclude packages newer than 7 days in lockfile update workflow (#…
lkstrp e2620cf
fix: remove Dask client.shutdown() in build_renewable_profiles (#2131)
thogin cb9ebde
chore(deps): bump prefix-dev/setup-pixi in the github-actions group (…
dependabot[bot] c8fd89c
perf: use chunks="auto" in a single thread (#2137)
coroa 22c92a8
[pre-commit.ci] pre-commit autoupdate (#2134)
pre-commit-ci[bot] abea573
fix: remove asynchronous model for distributed client (#2149)
coroa f5ec6e6
fix: blacklist atlite 0.5.0 (#2150)
coroa f6d5fee
[github-actions.ci] Update locked envs (#2133)
github-actions[bot] 918debe
feat: improve config validator for scenario management (#2155)
daniel-rdt afcec04
Heuristically split existing solar capacities 50:50 between rootop an…
lindnemi 79d7f73
Set IISMethod for Gurobi to 1 (#2158)
euronion d5855f5
[github-actions.ci] Update locked envs (#2159)
github-actions[bot] 6346611
Fix: Re-introduce capital_cost for non-bicharging stores (#2157)
aodenweller 23c2fac
fix/scale vom by efficiency when missing (#2154)
gianvicolux 25f47d4
Update pixi to use relative exclude-newer (#2163)
brynpickering 666fdf1
fix: URL for SCIGRID gas 1.1.2. archive on data.pypsa.org (#2165)
bobbyxng dda284e
[github-actions.ci] Update locked envs (#2167)
github-actions[bot] fa6699b
chore: fix formatting in docstring (#2172)
mgrabovsky 0a56f95
Fix: activate missing losses for "H2 pipeline retrofitted" links (#2174)
lindnemi 98dbdc3
Agents/fix availability matrix plotting (#2173)
euronion 7643299
[github-actions.ci] Update locked envs (#2176)
github-actions[bot] 244f071
feat: add index name to cluster weights (#2185)
FabianHofmann fcb0850
docs: rename .rst files to .md
lkstrp f750d66
docs: migrate to markdown/ mkdocs/ material
lkstrp d4f9322
chore(deps): bump prefix-dev/setup-pixi (#2177)
dependabot[bot] ee729fe
Feat: SBOM vulnerability scan (#2164)
brynpickering 2df4277
[pypsa-bot] run `sync-locks`
pypsa[bot] e6dd6de
chore(deps): bump the github-actions group with 2 updates (#2188)
dependabot[bot] 8208868
Fix DC junctions in simplify_network (#2147)
bobbyxng cf2ef77
docs: arrange pages in tabs (#2190)
fneum 920afca
make build_ambient_ait_temp script thread-safe
FabianHofmann 86f0e49
Revert "make build_ambient_ait_temp script thread-safe" (#2196)
FabianHofmann 75a73ca
docs: generate config tables from schema (#2193)
lkstrp ca2a493
limit to pypsa < 1.2 (#2201)
fneum a4b9bd9
Merge branch 'master-upstream' into merge-upstream-260612
tgilon c48ef62
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 6551701
chore: update environment
tgilon 7ca2e38
Revert "chore: update environment"
tgilon 18774d5
ci: trigger grype
tgilon 3bd68a6
Merge pull request #96 from open-energy-transition/merge-upstream-260612
tgilon 9a52494
Merge branch 'master-upstream-oet' into merge-upstream-260617
tgilon b1564e4
ci: fix update-lockfile action to commit on PR
tgilon 4ae9f74
fix: add missing parameter in build_electricity_demand_base
tgilon b1a4fad
chore: remove pinned version to align with upstream
tgilon e7a4edf
fix: remove latest tag for nitrogen_statistics tyndp-archive as a new…
tgilon e7f9610
chore: update .gitignore
tgilon 21c2f46
doc: fix various issues in the doc when rendering
tgilon 3c903d8
fix: use dc_i_p consistently
tgilon 8103aae
fix: add missing kwargs in make_index for create_network_topology
tgilon fd808db
[github-actions.ci] Update locked envs
tgilon b4167d0
doc: add release note
tgilon ab0e243
chore: pin linopy <0.7.0 as long as pypsa < 1.2.2
tgilon 21c20b9
Apply suggestions from code review
tgilon 2c13e22
Apply suggestions from code review
tgilon 8f8cac2
Merge branch 'master' into merge-upstream-260617
tgilon 8808ee4
Apply suggestions from code review
tgilon 40a01f1
ci: reintroduce check-diff stage
tgilon 83eb10e
refactor: remove external data provider dependency for build_electric…
tgilon 2eace0c
doc: add comment for linopy pin
tgilon ddce712
Merge branch 'master' into merge-upstream-260617
tgilon ef65652
fix: add missing inputs for build_elecstricity_demand_base_tyndp
tgilon 055cddb
[github-actions.ci] Update locked envs
tgilon 7c0240a
Apply suggestions from code review
tgilon f7e135d
[github-actions.ci] Update locked envs
tgilon 5519633
refactor: extend removal of external data provider for build_electric…
tgilon 1c959b1
chore: fix indentation for pixi tasks
tgilon 4961e06
[github-actions.ci] Update locked envs
tgilon 0d0c02e
fix: sort new links to ensure reproducibility
tgilon File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.