pypsa 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/ISSUE_TEMPLATE/bug_report.yaml +2 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/ISSUE_TEMPLATE/feature_request.md +2 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/pull_request_template.md +1 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/workflows/release.yml +7 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/workflows/test-models.yml +4 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/workflows/test.yml +1 -0
- pypsa-1.2.2/CONTRIBUTING.md +14 -0
- {pypsa-1.2.0/pypsa.egg-info → pypsa-1.2.2}/PKG-INFO +4 -4
- {pypsa-1.2.0 → pypsa-1.2.2}/README.md +1 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/contributing/contributing.md +18 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/tracing-infeasibilities.ipynb +3 -28
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/home/features.md +1 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/home/models.md +2 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/home/users.md +4 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/release-notes.md +27 -2
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/requirements.txt +41 -80
- {pypsa-1.2.0 → pypsa-1.2.2}/pyproject.toml +2 -2
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/types.py +1 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/examples.py +8 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/io.py +1 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/constraints.py +13 -6
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/optimize.py +1 -1
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/statistics/expressions.py +2 -3
- {pypsa-1.2.0 → pypsa-1.2.2/pypsa.egg-info}/PKG-INFO +4 -4
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa.egg-info/requires.txt +2 -2
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_examples.py +24 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_basic_constraints.py +76 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_unit_commitment.py +47 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_network.py +13 -0
- pypsa-1.2.0/CONTRIBUTING.md +0 -11
- {pypsa-1.2.0 → pypsa-1.2.2}/.codespell.ignore +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.git-blame-ignore-revs +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/ISSUE_TEMPLATE/documentation_improvement.yaml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/dependabot.yml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.github/workflows/codeql.yml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.gitignore +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.pre-commit-config.yaml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/.readthedocs.yml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/CITATION.cff +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/LICENSE +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/LICENSES/CC-BY-4.0.txt +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/LICENSES/MIT.txt +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/MANIFEST.in +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/REUSE.toml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/codecov.yml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/CODE_OF_CONDUCT.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/SECURITY.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/common.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/components.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/buses.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/carriers.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/generators.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/global-constraints.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/lines.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/links.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/loads.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/processes.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/shapes.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/shunt-impedances.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/storage-units.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/stores.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/sub-networks.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/components/types/transformers.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/cluster.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/collection.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/components.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/constraints.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/descriptors.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/indexing.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/io.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/network.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/optimize.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/plot.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/power-flow.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/statistics.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/subnetwork.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/networks/transform.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/other/api-examples.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/other/common.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/other/consistency.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/other/costs.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/api/other/options.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-area_plot.jpg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-area_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-bar_plot.jpg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-bar_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-box_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-custom_area_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-histogram_plot.jpg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-histogram_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-line_plot.jpg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-line_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-map_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-scatter_plot.jpg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-scatter_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-energy_balance-violin_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-installed_capacity-bar_plot.jpg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed-installed_capacity-bar_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/ac_dc_meshed.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/buses.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/carbon_management-energy_balance-area_plot-AC-bus_carrier.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/carbon_management-energy_balance-area_plot.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/elec_s_256_lv1.09_Co2L-3H.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/line-equivalent.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/lmp_and_line-loading.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/load-distribution.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/p_max_pu.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/pypsa-animation.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/pypsa-logo.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/reactive-power.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/reserve-power-funding.gif +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/reserve-power-graph.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/scigrid-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/stacked-gen.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/stacked-gen_and_storage-scigrid.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/statistics_advanced_usage.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/storage-scigrid.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/transformer-pi-equivalent-tap-hv.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/transformer-pi-equivalent-tap-lv.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/transformer-t-equivalent-tap-hv.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/images/transformer-t-equivalent-tap-lv.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/interactive/ac_dc_meshed-energy_balance-area_iplot.html +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/interactive/carbon_management-energy_balance-area_iplot-AC-bus_carrier.html +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/interactive/carbon_management-energy_balance-area_iplot.html +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/javascripts/gurubase-widget.js +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/javascripts/mathjax.js +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/javascripts/readthedocs.js +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-primary-dark.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-primary-dark.svg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-primary-light-white-bg.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-primary-light.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-primary-light.svg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-secondary-dark.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-secondary-dark.svg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-secondary-light.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-secondary-light.svg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo-white-bg.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/logo/logo.svg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/overrides/main.html +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/assets/stylesheets/extra.css +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/contributing/contributors.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/3-node-cem.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/ac-dc-lopf.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/battery-electric-vehicle-charging.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/biomass-synthetic-fuels-carbon-management.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/capacity-expansion-planning-single-node.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/chained-hydro-reservoirs.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/chp-fixed-heat-power-ratio.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/committable-extendable.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/demand-elasticity.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/demand-supply-bids.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/example-1.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/example-2.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/example-3.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/examples.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/generation-investment-screening-curve.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/gsa.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/imperfect-competition.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/islanded-methanol-production.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/mga.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/minimal-example-pf.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/modular-committable.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/modular-expansion.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/multi-investment-optimisation.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/myopic-pathway.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/near-opt-space.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/negative-prices-kvl-baker.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/periodic-operational-limits.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/power-to-gas-boiler-chp.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/power-to-heat-water-tank.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/replace-generator-storage-units-with-store.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/reserve-power.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/rh_example.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/rolling-horizon.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/scigrid-lopf-then-pf.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/scigrid-redispatch.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/scigrid-sclopf.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/sector-coupling-single-node.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/simple-electricity-market-examples.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/stochastic-optimization.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/time-series-aggregation.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/transformer-example.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/transport-delay.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/uc-prices.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/unit-commitment.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/examples/water-value.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/home/citing.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/home/installation.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/home/license.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/hooks/cleanup.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/hooks/dynamic_inspect.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/hooks/notebook_timing.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/hooks/path_aliases.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/hooks/shortcodes.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/index.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/clustering.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/collection.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/buses.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/carriers.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/generators.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/global-constraints.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/line-types.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/lines.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/links.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/loads.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/processes.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/shapes.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/shunt-impedances.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/storage-units.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/stores.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/sub-networks.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/transformer-types.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components/transformers.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/components.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/design.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/faq.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/import-export.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/learning-materials.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/linear-power-flow.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/logging.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/network-optimization.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/capacity-limits.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/contingencies.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/custom-constraints.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/dispatch-limits.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/energy-balance.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/global-constraints.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/modelling-to-generate-alternatives.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/objective.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/overview.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/pathway-planning.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/power-flow.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/stochastic.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/storage.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/optimization/unit-commitment.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/options.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/plotting/charts.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/plotting/explore.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/plotting/static-map.ipynb +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/power-flow.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/statistics.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/support.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/troubleshooting.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/user-guide.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/v1-guide.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/docs/user-guide/warnings.md +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/crs.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/global_constraints.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/investment_periods.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/meta.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/ac-dc-meshed/ac-dc-meshed.nc +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/crs.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/investment_periods.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/meta.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/storage_units.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy/stores.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/model-energy/model-energy.nc +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/crs.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/investment_periods.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/meta.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/storage_units.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de/transformers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/scigrid-de/scigrid-de.nc +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/stochastic-network/stochastic-network.nc +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/crs.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/global_constraints.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/investment_periods.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/meta.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/storage_units-inflow.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/storage_units-state_of_charge_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc/storage_units.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/examples/networks/storage-hvdc/storage-hvdc.nc +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/mkdocs.yml +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/_options.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/clustering/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/clustering/spatial.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/clustering/temporal.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/collection.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/common.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/_patch.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/buses.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/carriers.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/generators.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/global_constraints.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/line_types.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/lines.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/links.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/loads.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/mixin/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/mixin/multiports.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/processes.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/shapes.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/shunt_impedances.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/storage_units.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/stores.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/sub_networks.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/transformer_types.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/_types/transformers.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/abstract.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/array.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/common.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/components.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/descriptors.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/index.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/legacy.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/store.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/components/transform.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/consistency.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/constants.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/costs.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/global_constraints.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/line_types.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/networks.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/processes.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/shapes.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/shunt_impedances.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/storage_units.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/stores.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/sub_networks.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/transformer_types.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/component_attrs/transformers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/components.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/standard_types/line_types.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/standard_types/transformer_types.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/data/variables.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/definitions/components.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/definitions/structures.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/deprecations.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/descriptors.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/geo.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/guards.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/abstract.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/components.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/descriptors.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/graph.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/index.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/power_flow.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/network/transform.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/networks.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/abstract.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/common.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/expressions.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/global_constraints.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/mga.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/optimization/variables.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/accessor.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/maps/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/maps/common.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/maps/interactive.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/maps/static.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/statistics/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/statistics/base.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/statistics/charts.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/statistics/maps.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/statistics/plotter.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/plot/statistics/schema.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/py.typed +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/statistics/__init__.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/statistics/abstract.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/statistics/grouping.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/type_utils.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa/version.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa.egg-info/SOURCES.txt +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa.egg-info/dependency_links.txt +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/pypsa.egg-info/top_level.txt +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/setup.cfg +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_area_withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_bar_withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_box-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_histogram-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_line_withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_map_withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_scatter-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_plot_types_violin-withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_capacity_factor.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_curtailment.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_energy_balance.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_expanded_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_expanded_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_installed_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_installed_capex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_market_value.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_opex.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_optimal_capacity.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_prices.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_revenue.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_supply.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_system_cost.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_transmission.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/baseline/test_simple_plot_withdrawal.png +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/conftest.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/buses-marginal_price.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/buses-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/buses-v_ang.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/buses-v_mag_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/crs.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/generators-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/global_constraints.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/investment_periods.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/lines-p0.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/lines-p1.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/links-p0.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/links-p1.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/loads-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/meta.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lopf/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/buses-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/buses-v_ang.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/buses-v_mag_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/generators-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/global_constraints.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/lines-p0.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/lines-p1.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/links-p0.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/links-p1.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/links-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/loads-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/ac-dc-meshed/results-lpf/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/buses-marginal_price.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/buses-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/crs.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/generators-p-high.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/generators-p-med.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/generators-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/investment_periods.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/loads-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/meta.json +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/benchmark-sp/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/buses-marginal_price.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/buses-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/buses-v_ang.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/buses.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/carriers.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/generators-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/generators-p_max_pu.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/generators.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/global_constraints.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/lines-p0.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/lines-p1.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/lines.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/links-p0.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/links-p1.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/links.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/loads-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/loads-p_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/loads.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/network.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/snapshots.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/storage_units-inflow.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/storage_units-p.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/storage_units-spill.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/storage_units-state_of_charge.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/storage_units-state_of_charge_set.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/data/storage-hvdc/results-lopf/storage_units.csv +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_bugs.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_buses.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_capital_cost_split.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_carriers.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_collection.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_collection_statistics.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_committable_extendable.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_common.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_common_deprecations.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_compatibility_ext_and_com.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_components.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_components_array.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_components_custom.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_components_store.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_components_utils.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_consistency_check.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_constants.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_deprecations.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_descriptors.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_docs.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_graph.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_guards.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_indices.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_io.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_io_cloudpathlib.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_link_post_discretization.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_ac_dc.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_activity_mask.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_and_subsequent_power_flow.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_global_constraints.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_iteratively.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_losses.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_mga.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_modularity.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_multiinvest.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_multilink.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_process.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_quadratic_costs.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_rolling_horizon.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_storage.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lopf_varying_inputs.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lpf_ac_dc.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_lpf_against_pypower.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_meshed_threshold.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_network_cycles.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_network_index.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_network_transform.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_objective_constant.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_optimization_expressions.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_optional_dependencies.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_options.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_pf_activity_mask.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_pf_against_pandapower.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_pf_against_pypower.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_pf_distributed_slack.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_plot_maps_common.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_plot_maps_interactive.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_plot_maps_static.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_riskaversion.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_sclopf_scigrid.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_snapshot_weightings.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_spatial_clustering.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_stand_by_cost.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_statistics.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_statistics_plot.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_statistics_plot_interactive.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_statistics_plot_schema.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_stochastic.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_stochastic_not_implemented.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_subnetwork.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_temporal_clustering.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_transmission_losses.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_transport_delay.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_version.py +0 -0
- {pypsa-1.2.0 → pypsa-1.2.2}/test/test_warnings_cyclic_storage.py +0 -0
|
@@ -14,6 +14,8 @@ body:
|
|
|
14
14
|
Thanks for taking the time to fill out this bug report!
|
|
15
15
|
Please do not post usage questions here. Ask them on the [PyPSA Discord server](https://discord.gg/AnuJBk23FU).
|
|
16
16
|
|
|
17
|
+
Please write this issue description yourself. Any potentially verbose AI-generated content should be marked. See [Contributing guidelines](https://docs.pypsa.org/latest/contributing/contributing/).
|
|
18
|
+
|
|
17
19
|
- type: checkboxes
|
|
18
20
|
id: checks
|
|
19
21
|
attributes:
|
|
@@ -10,6 +10,8 @@ assignees: ''
|
|
|
10
10
|
|
|
11
11
|
<!-- Please do not post usage questions here. Ask them on the PyPSA Discord server: https://discord.gg/AnuJBk23FU -->
|
|
12
12
|
|
|
13
|
+
<!-- Please write this issue description yourself. Any potentially verbose AI-generated content should be marked. See Contributing guidelines: https://docs.pypsa.org/latest/contributing/contributing/ -->
|
|
14
|
+
|
|
13
15
|
## Describe the feature you'd like to see
|
|
14
16
|
|
|
15
17
|
*Please give a clear and concise description and provide context why the feature would be useful.*
|
|
@@ -8,4 +8,5 @@ Closes # (if applicable).
|
|
|
8
8
|
- [ ] Code changes are sufficiently documented; i.e. new functions contain docstrings and further explanations may be given in `docs`.
|
|
9
9
|
- [ ] Unit tests for new features were added (if applicable).
|
|
10
10
|
- [ ] A note for the release notes `docs/release-notes.md` of the upcoming release is included.
|
|
11
|
+
- [ ] PR description is written by me. Any potentially verbose AI-generated content is marked (see [Contributing guidelines](https://docs.pypsa.org/latest/contributing/contributing/)).
|
|
11
12
|
- [ ] I consent to the release of this PR's code under the MIT license.
|
|
@@ -92,8 +92,14 @@ jobs:
|
|
|
92
92
|
print(f"repointed {dst_key} -> {src_key}")
|
|
93
93
|
shell: python
|
|
94
94
|
|
|
95
|
+
test:
|
|
96
|
+
needs: [publish-examples]
|
|
97
|
+
uses: ./.github/workflows/test.yml
|
|
98
|
+
secrets: inherit
|
|
99
|
+
|
|
95
100
|
build:
|
|
96
101
|
name: Build and verify package
|
|
102
|
+
needs: [test]
|
|
97
103
|
runs-on: ubuntu-latest
|
|
98
104
|
steps:
|
|
99
105
|
- uses: actions/checkout@v6
|
|
@@ -105,7 +111,7 @@ jobs:
|
|
|
105
111
|
runs-on: ubuntu-latest
|
|
106
112
|
steps:
|
|
107
113
|
- uses: actions/checkout@v6
|
|
108
|
-
- uses: softprops/action-gh-release@
|
|
114
|
+
- uses: softprops/action-gh-release@v3
|
|
109
115
|
with:
|
|
110
116
|
body: |
|
|
111
117
|
Revised release notes are available in the [documentation](https://docs.pypsa.org/latest/release-notes/).
|
|
@@ -84,7 +84,7 @@ jobs:
|
|
|
84
84
|
if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule'
|
|
85
85
|
uses: prefix-dev/setup-pixi@v0.9.5
|
|
86
86
|
with:
|
|
87
|
-
pixi-version: v0.
|
|
87
|
+
pixi-version: v0.68.1
|
|
88
88
|
cache: true
|
|
89
89
|
# Do not cache in branches
|
|
90
90
|
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
|
|
@@ -120,7 +120,10 @@ jobs:
|
|
|
120
120
|
- name: Install package from ref
|
|
121
121
|
if: (steps.filter.outputs.src == 'true' || github.event_name == 'schedule') && env.pinned == 'false'
|
|
122
122
|
run: |
|
|
123
|
+
# Allow upgrading internal packages without exclude-newer cap
|
|
124
|
+
sed -i '/^exclude-newer\s*=/d' pixi.toml
|
|
123
125
|
pixi remove ${{ env.PACKAGE_NAME }}
|
|
126
|
+
pixi upgrade linopy
|
|
124
127
|
pixi add --pypi --git https://github.com/${{ github.repository }}.git ${{ github.event.repository.name }} --rev ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
|
125
128
|
|
|
126
129
|
- name: Run snakemake test workflows
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: PyPSA Contributors
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: MIT
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
🎉 Thank you for your interest in contributing to PyPSA! 🎉
|
|
8
|
+
|
|
9
|
+
We strongly welcome anyone interested in contributing to PyPSA and its related projects. All types of contributions are encouraged and valued!
|
|
10
|
+
|
|
11
|
+
For detailed instructions on how to contribute, please refer to the [Contributing](https://docs.pypsa.org/latest/contributing/contributing/) section of our documentation. This includes guidelines for code contributions, documentation improvements, and example submissions.
|
|
12
|
+
|
|
13
|
+
To handle the influx of AI-assisted contributions, we have established some basic principles.
|
|
14
|
+
See the [AI-based Contributions](https://docs.pypsa.org/latest/contributing/contributing/#ai-based-contributions) section in our documentation for more details.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pypsa
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Python for Power Systems Analysis
|
|
5
5
|
Author-email: "PyPSA Developers, see https://docs.pypsa.org/latest/contributing/contributors.html" <t.brown@tu-berlin.de>
|
|
6
6
|
License: MIT License
|
|
@@ -42,9 +42,9 @@ License-File: LICENSE
|
|
|
42
42
|
Requires-Dist: numpy
|
|
43
43
|
Requires-Dist: scipy
|
|
44
44
|
Requires-Dist: pandas>=2.0
|
|
45
|
-
Requires-Dist: xarray
|
|
45
|
+
Requires-Dist: xarray
|
|
46
46
|
Requires-Dist: netcdf4
|
|
47
|
-
Requires-Dist: linopy>=0.
|
|
47
|
+
Requires-Dist: linopy>=0.7.0
|
|
48
48
|
Requires-Dist: matplotlib
|
|
49
49
|
Requires-Dist: plotly
|
|
50
50
|
Requires-Dist: pydeck>=0.6
|
|
@@ -320,7 +320,7 @@ on [Zenodo](https://zenodo.org/) with a release-specific DOI:
|
|
|
320
320
|
|
|
321
321
|
## Licence
|
|
322
322
|
|
|
323
|
-
Copyright [PyPSA Contributors](https://docs.pypsa.org/latest/
|
|
323
|
+
Copyright [PyPSA Contributors](https://docs.pypsa.org/latest/contributing/contributors/)
|
|
324
324
|
|
|
325
325
|
PyPSA is licensed under the open source [MIT License](LICENSES/MIT.txt).
|
|
326
326
|
The documentation is licensed under [CC-BY-4.0](LICENSES/CC-BY-4.0.txt).
|
|
@@ -206,7 +206,7 @@ on [Zenodo](https://zenodo.org/) with a release-specific DOI:
|
|
|
206
206
|
|
|
207
207
|
## Licence
|
|
208
208
|
|
|
209
|
-
Copyright [PyPSA Contributors](https://docs.pypsa.org/latest/
|
|
209
|
+
Copyright [PyPSA Contributors](https://docs.pypsa.org/latest/contributing/contributors/)
|
|
210
210
|
|
|
211
211
|
PyPSA is licensed under the open source [MIT License](LICENSES/MIT.txt).
|
|
212
212
|
The documentation is licensed under [CC-BY-4.0](LICENSES/CC-BY-4.0.txt).
|
|
@@ -154,6 +154,24 @@ For simple changes, you can also edit the documentation directly on GitHub:
|
|
|
154
154
|
2. Make your changes in the file.
|
|
155
155
|
3. Commit your changes and create a pull request.
|
|
156
156
|
|
|
157
|
+
## AI-based Contributions
|
|
158
|
+
|
|
159
|
+
We do not impose general restrictions on the use of AI for contributions.
|
|
160
|
+
But we require that all contributions, whether AI-assisted or not, adhere to the same standards of quality, relevance, and maintainability.
|
|
161
|
+
This boils down to:
|
|
162
|
+
|
|
163
|
+
1. PR and issue descriptions should read like you wrote them. Keep them concise and human. Any potentially verbose AI-generated content should be marked, e.g. in a collapsed `<details>` block. Please don't mix both.
|
|
164
|
+
2. Take responsibility for the content and quality of your contribution, even if you used AI.
|
|
165
|
+
3. Keep the code simple. AI tools often produce verbose or over-engineered code. Review and trim it back before submitting.
|
|
166
|
+
4. Before you submit large contributions, coordinate with the maintainers to ensure they align with the project's goals and roadmap.
|
|
167
|
+
4. Minimize the review burden on us by keeping your contributions focused, don't solve multiple tangential issues in one PR.
|
|
168
|
+
|
|
169
|
+
We may close AI-based contributions without further review if we consider them to bind up excessive maintainer time.
|
|
170
|
+
|
|
171
|
+
Why?
|
|
172
|
+
Because the PyPSA project has limited maintainer capacity.
|
|
173
|
+
Let's respect everyone's time and token budget.
|
|
174
|
+
|
|
157
175
|
## Examples
|
|
158
176
|
|
|
159
177
|
Nice examples are always welcome.
|
|
@@ -167,11 +167,7 @@
|
|
|
167
167
|
"cell_type": "markdown",
|
|
168
168
|
"id": "d3a8d32d",
|
|
169
169
|
"metadata": {},
|
|
170
|
-
"source":
|
|
171
|
-
"## Tracing the Infeasibility\n",
|
|
172
|
-
"\n",
|
|
173
|
-
"When the optimization fails due to infeasibility, PyPSA provides a convenient method to diagnose the problem. The `print_infeasibilities()` method on the optimization model will show us exactly which constraints are causing the infeasibility."
|
|
174
|
-
]
|
|
170
|
+
"source": "## Tracing the Infeasibility\n\nWhen the optimization fails due to infeasibility, PyPSA provides a convenient method to diagnose the problem. The `format_infeasibilities()` method on the optimization model will show us exactly which constraints are causing the infeasibility."
|
|
175
171
|
},
|
|
176
172
|
{
|
|
177
173
|
"cell_type": "code",
|
|
@@ -179,34 +175,13 @@
|
|
|
179
175
|
"id": "4989a457",
|
|
180
176
|
"metadata": {},
|
|
181
177
|
"outputs": [],
|
|
182
|
-
"source":
|
|
183
|
-
"n.model.print_infeasibilities()"
|
|
184
|
-
]
|
|
178
|
+
"source": "print(n.model.format_infeasibilities())"
|
|
185
179
|
},
|
|
186
180
|
{
|
|
187
181
|
"cell_type": "markdown",
|
|
188
182
|
"id": "ee963ad8",
|
|
189
183
|
"metadata": {},
|
|
190
|
-
"source": [
|
|
191
|
-
"### Interpreting the Infeasibility Output\n",
|
|
192
|
-
"\n",
|
|
193
|
-
"The infeasibility trace above shows us exactly what's wrong:\n",
|
|
194
|
-
"\n",
|
|
195
|
-
"1. **`Link-fix-p-lower[2015-01-01 00:00:00, DC link]: +1 Link-p[2015-01-01 00:00:00, DC link] ≥ -0`**\n",
|
|
196
|
-
" - This constraint says the DC link power flow must be ≥ 0 (can't flow negative)\n",
|
|
197
|
-
" - But we set the DC link capacity to 0, so Link-p value is bounded to 0\n",
|
|
198
|
-
"\n",
|
|
199
|
-
"2. **`Bus-nodal_balance[London, 2015-01-01 00:00:00]: -1 Link-p[2015-01-01 00:00:00, DC link] = 35.7962441027`**\n",
|
|
200
|
-
" - This is London's nodal balance equation: generation ± trade ± storage = load\n",
|
|
201
|
-
" - London has no generation, 35.8 MW load, and no AC interconnectors\n",
|
|
202
|
-
" - The DC link (the only remaining connection) can't provide any power because its capacity is 0\n",
|
|
203
|
-
"\n",
|
|
204
|
-
"Under the hood, `print_infeasibilities()` uses Gurobi's infeasibility analysis to identify conflicting constraints.\n",
|
|
205
|
-
" **Irreducible Inconsistent Set (IIS)** identified by Gurobi shows these two constraints are fundamentally incompatible:\n",
|
|
206
|
-
"- London needs power inflow via the DC link to meet its load\n",
|
|
207
|
-
"- But the DC link is constrained to zero power\n",
|
|
208
|
-
"- This creates an impossible situation that no solution can satisfy"
|
|
209
|
-
]
|
|
184
|
+
"source": "### Interpreting the Infeasibility Output\n\nThe infeasibility trace above shows us exactly what's wrong:\n\n1. **`Link-fix-p-lower[2015-01-01 00:00:00, DC link]: +1 Link-p[2015-01-01 00:00:00, DC link] ≥ -0`**\n - This constraint says the DC link power flow must be ≥ 0 (can't flow negative)\n - But we set the DC link capacity to 0, so Link-p value is bounded to 0\n\n2. **`Bus-nodal_balance[London, 2015-01-01 00:00:00]: -1 Link-p[2015-01-01 00:00:00, DC link] = 35.7962441027`**\n - This is London's nodal balance equation: generation ± trade ± storage = load\n - London has no generation, 35.8 MW load, and no AC interconnectors\n - The DC link (the only remaining connection) can't provide any power because its capacity is 0\n\nUnder the hood, `format_infeasibilities()` uses Gurobi's infeasibility analysis to identify conflicting constraints.\n **Irreducible Inconsistent Set (IIS)** identified by Gurobi shows these two constraints are fundamentally incompatible:\n- London needs power inflow via the DC link to meet its load\n- But the DC link is constrained to zero power\n- This creates an impossible situation that no solution can satisfy"
|
|
210
185
|
}
|
|
211
186
|
],
|
|
212
187
|
"metadata": {
|
|
@@ -146,7 +146,7 @@ Interactive **network visualization** of SciGRID example network clustered by fe
|
|
|
146
146
|
Interactive area plot of **electricity balance time series** in a highly-renewable sector-coupled example network, showing temporal generation (positive values) and consumption (negative values) of different technologies:
|
|
147
147
|
|
|
148
148
|
<div style="width: 100%; height: 550px;">
|
|
149
|
-
<iframe src="
|
|
149
|
+
<iframe src="../../assets/interactive/carbon_management-energy_balance-area_iplot-AC-bus_carrier.html"
|
|
150
150
|
width="100%" height="100%" frameborder="0" style="border: 0px solid #ccc;">
|
|
151
151
|
</iframe>
|
|
152
152
|
</div>
|
|
@@ -42,6 +42,8 @@ open source and actively maintained. Below is a list of some known models.
|
|
|
42
42
|
- **[:flag_br: PyPSA-Brazil](https://gitlab.com/dlr-ve/esy/open-brazil-energy-data/open-brazilian-energy-data)**: Brazilian power system model (see [paper](https://doi.org/10.1038/s41597-023-01992-9)), developed by the German Aerospace Center (DLR)
|
|
43
43
|
- **[:flag_ca: PyPSA-BC](https://github.com/DeltaE/PyPSA_BC)**: BC PyPSA work for the PICS Decarbonization project, maintained by Simon Fraser University
|
|
44
44
|
- **[:flag_us: pypsa-illinois](https://github.com/ucsusa/pypsa-illinois)**: Using PyPSA to model the Illinois electricity system for storage requirement analysis maintained by Union of Concerned Scientists (UCS).
|
|
45
|
+
- **[:flag_ar: PyPSA-AR](https://github.com/FTDT-PyPSA/PyPSA-AR)**: Reproducible model of the Argentine high-voltage power grid using PyPSA maintained by Fundación Torcuato Di Tella (FTDT).
|
|
46
|
+
- **[:flag_ca: PyPSA-Canada](https://github.com/NRCan/pypsa-canada)**: used PyPSA for a workflow-based modeling framework for power system analysis in Canada maintained by Natural Resources Canada (NRCan).
|
|
45
47
|
|
|
46
48
|
### Africa
|
|
47
49
|
- **[:flag_za: PyPSA-RSA](https://github.com/MeridianEconomics/pypsa-rsa)**: South-African electricity model, maintained by [Meridian Economics](https://meridianeconomics.co.za/)
|
|
@@ -99,6 +99,8 @@ The following universities, research institutes, companies, governmental and non
|
|
|
99
99
|
|
|
100
100
|
- **[:flag_us: Union of Concerned Scientists (UCS)](https://www.ucs.org/)**: used PyPSA to assess the storage needs for Illinois electricity system.
|
|
101
101
|
|
|
102
|
+
- **[:flag_ca: Natural Resources Canada (NRCan)](https://natural-resources.canada.ca/science-data/science-research/research-centres/canmetenergy)**: used PyPSA create a workflow-based modeling framework for power system analysis in Canada.
|
|
103
|
+
|
|
102
104
|
## Companies
|
|
103
105
|
|
|
104
106
|
* **[:flag_de: TransnetBW](https://www.transnetbw.de/)**, the electricity transmission system operator in southwest Germany, **[:flag_de: ONTRAS](https://www.ontras.com/)**, the gas transmission system operator in eastern Germany and **[:flag_de: d-fine](https://www.d-fine.com/)**, a consultancy firm, used PyPSA-Eur-Sec for a study in 2020 of the grid requirements in 2050 with a 90% reduction of carbon dioxide emissions in electricity, buildings and transport, see [Stromnetz 2050](https://www.transnetbw.de/de/stromnetz2050/), for an article in a 2021 issue of Energiewirtschaftliche Tagesfragen [Die Rolle von Wasserstoff in einem klimaneutralen europäischen Energiesystem – eine modellbasierte Analyse bis 2050](https://www.d-fine.com/fileadmin/user_upload/Wasserstoff_et_0102-2021.pdf), and for their 2022 study [Energy System 2050 - Towards a decarbonised Europe](https://www.energysystem2050.net/).
|
|
@@ -166,3 +168,5 @@ The following universities, research institutes, companies, governmental and non
|
|
|
166
168
|
* **[:flag_gb: ClimateXChange](https://www.climatexchange.org.uk/)** commissioned a report for the Scottish Government on [Electricity system security of supply in Scotland](https://www.climatexchange.org.uk/projects/electricity-system-security-of-supply-in-scotland/) using PyPSA-GB.
|
|
167
169
|
|
|
168
170
|
- **[:flag_kr: PLANiT Institute](https://planit.institute)** A non-profit research institute based in Seoul developed [PyPSA_KR](https://github.com/PLANiT-Institute/PyPSA_KR), a comprehensive power system analysis toolkit for modeling and optimizing electricity networks in South Korea with multi-node network modeling at different granularities, and [pyPPA](https://github.com/PLANiT-Institute/pyPPA), a Power Purchase Agreement modeling and optimization framework for evaluating renewable energy procurement strategies.
|
|
171
|
+
|
|
172
|
+
- **[:flag_ar: FTDT (Fundación Torcuato Di Tella)](https://ftdt.cc/)** A non-profit research institute based in Argentina developed [PyPSA-AR](https://github.com/FTDT-PyPSA/PyPSA-AR), a comprehensive power system model of the Argentine high-voltage power grid.
|
|
@@ -6,13 +6,38 @@ SPDX-License-Identifier: CC-BY-4.0
|
|
|
6
6
|
|
|
7
7
|
# Release Notes
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## [**v1.2.2**](https://github.com/PyPSA/PyPSA/releases/tag/v1.2.2) <small>25th May 2026</small> { id="v1.2.2" }
|
|
10
10
|
|
|
11
|
+
<!--
|
|
11
12
|
!!! info "Upcoming Release"
|
|
12
13
|
|
|
13
14
|
The features listed below have not yet been released, but will be included in the
|
|
14
15
|
next update! If you would like to use these features in the meantime, you will need
|
|
15
|
-
to install the `master` branch, e.g. `pip install git+https://github.com/pypsa/pypsa
|
|
16
|
+
to install the `master` branch, e.g. `pip install git+https://github.com/pypsa/pypsa`.
|
|
17
|
+
-->
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
- Fix the sign of [Loads](./user-guide/components/loads.md) not being taken into account in the nodal balance constraint when calling [`n.optimize()`][pypsa.optimization.OptimizationAccessor.__call__]. (<!-- md:pr 1685 -->)
|
|
22
|
+
|
|
23
|
+
- Fix operational constraints for non-extendable components producing `NaN` bounds when `p_nom` is infinite and `p_min_pu`/`p_max_pu` is zero. The bound now falls back to zero in this case. Relevant for linopy versions `>=0.7` where `NaN` bounds are not dropped explicitly. (<!-- md:pr 1683 -->)
|
|
24
|
+
|
|
25
|
+
- Lift `xarray<2026.4` upper bound and bump `linopy>=0.7.0` floor. (<!-- md:pr 1686 -->)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [**v1.2.1**](https://github.com/PyPSA/PyPSA/releases/tag/v1.2.1) <small>19th May 2026</small> { id="v1.2.1" }
|
|
29
|
+
|
|
30
|
+
### Documentation
|
|
31
|
+
|
|
32
|
+
- Updated our contribution guidelines outline what we expect from AI-based contributions. See [AI-based Contributions](https://docs.pypsa.org/latest/contributing/contributing/#ai-based-contributions) in our documentation for more details. (<!-- md:pr 1672 -->)
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
- Fix ramp limit constraints leaking another [Generator](./user-guide/components/generators.md)'s `p_nom` variable into the constraint when a component held both fixed and extendable generators. (<!-- md:pr 1677 -->)
|
|
37
|
+
|
|
38
|
+
- Fix [`n.statistics.transmission()`][pypsa.statistics.StatisticsAccessor.transmission] returning zero flows when `bus_carrier` is set. (<!-- md:pr 1662 -->)
|
|
39
|
+
|
|
40
|
+
- Fix [`n.add(..., overwrite=True)`][pypsa.Network.add] leaving stale dynamic attributes from the previously existing component, which silently shadowed the new static values at solve time. `overwrite=True` now behaves consistently with [`n.remove(...)`][pypsa.Network.remove] followed by `n.add(...)`. (<!-- md:pr 1666 -->)
|
|
16
41
|
|
|
17
42
|
|
|
18
43
|
## [**v1.2.0**](https://github.com/PyPSA/PyPSA/releases/tag/v1.2.0) <small>21st April 2026</small> { id="v1.2.0" }
|
|
@@ -13,7 +13,7 @@ babel==2.18.0
|
|
|
13
13
|
# via
|
|
14
14
|
# mkdocs-git-revision-date-localized-plugin
|
|
15
15
|
# mkdocs-material
|
|
16
|
-
backrefs==
|
|
16
|
+
backrefs==7.0
|
|
17
17
|
# via mkdocs-material
|
|
18
18
|
beautifulsoup4==4.14.3
|
|
19
19
|
# via nbconvert
|
|
@@ -27,7 +27,7 @@ cairosvg==2.9.0
|
|
|
27
27
|
# via pypsa
|
|
28
28
|
cartopy==0.25.0
|
|
29
29
|
# via pypsa
|
|
30
|
-
certifi==2026.
|
|
30
|
+
certifi==2026.4.22
|
|
31
31
|
# via
|
|
32
32
|
# netcdf4
|
|
33
33
|
# pyogrio
|
|
@@ -36,13 +36,12 @@ certifi==2026.2.25
|
|
|
36
36
|
cffi==2.0.0
|
|
37
37
|
# via
|
|
38
38
|
# cairocffi
|
|
39
|
-
# cryptography
|
|
40
39
|
# pyzmq
|
|
41
40
|
cftime==1.6.5
|
|
42
41
|
# via netcdf4
|
|
43
42
|
charset-normalizer==3.4.7
|
|
44
43
|
# via requests
|
|
45
|
-
click==8.
|
|
44
|
+
click==8.4.0
|
|
46
45
|
# via
|
|
47
46
|
# dask
|
|
48
47
|
# mkdocs
|
|
@@ -62,8 +61,6 @@ comm==0.2.3
|
|
|
62
61
|
# via ipykernel
|
|
63
62
|
contourpy==1.3.3
|
|
64
63
|
# via matplotlib
|
|
65
|
-
cryptography==46.0.7
|
|
66
|
-
# via google-auth
|
|
67
64
|
cssselect2==0.9.0
|
|
68
65
|
# via cairosvg
|
|
69
66
|
cycler==0.12.1
|
|
@@ -72,7 +69,7 @@ dask==2026.3.0
|
|
|
72
69
|
# via linopy
|
|
73
70
|
debugpy==1.8.20
|
|
74
71
|
# via ipykernel
|
|
75
|
-
decorator==5.
|
|
72
|
+
decorator==5.3.1
|
|
76
73
|
# via ipython
|
|
77
74
|
defusedxml==0.7.1
|
|
78
75
|
# via
|
|
@@ -90,9 +87,9 @@ executing==2.2.1
|
|
|
90
87
|
# via stack-data
|
|
91
88
|
fastjsonschema==2.21.2
|
|
92
89
|
# via nbformat
|
|
93
|
-
fonttools==4.
|
|
90
|
+
fonttools==4.63.0
|
|
94
91
|
# via matplotlib
|
|
95
|
-
fsspec==2026.
|
|
92
|
+
fsspec==2026.4.0
|
|
96
93
|
# via dask
|
|
97
94
|
geopandas==1.1.3
|
|
98
95
|
# via pypsa
|
|
@@ -102,38 +99,17 @@ ghp-import==2.1.0
|
|
|
102
99
|
# properdocs
|
|
103
100
|
gitdb==4.0.12
|
|
104
101
|
# via gitpython
|
|
105
|
-
gitpython==3.1.
|
|
102
|
+
gitpython==3.1.50
|
|
106
103
|
# via mkdocs-git-revision-date-localized-plugin
|
|
107
|
-
google-api-core==2.30.3
|
|
108
|
-
# via
|
|
109
|
-
# google-cloud-core
|
|
110
|
-
# google-cloud-storage
|
|
111
|
-
google-auth==2.49.2
|
|
112
|
-
# via
|
|
113
|
-
# google-api-core
|
|
114
|
-
# google-cloud-core
|
|
115
|
-
# google-cloud-storage
|
|
116
|
-
google-cloud-core==2.5.1
|
|
117
|
-
# via google-cloud-storage
|
|
118
|
-
google-cloud-storage==3.10.1
|
|
119
|
-
# via linopy
|
|
120
|
-
google-crc32c==1.8.0
|
|
121
|
-
# via
|
|
122
|
-
# google-cloud-storage
|
|
123
|
-
# google-resumable-media
|
|
124
|
-
google-resumable-media==2.8.2
|
|
125
|
-
# via google-cloud-storage
|
|
126
|
-
googleapis-common-protos==1.74.0
|
|
127
|
-
# via google-api-core
|
|
128
104
|
griffelib==2.0.2
|
|
129
105
|
# via mkdocstrings-python
|
|
130
|
-
gurobipy==13.0.
|
|
106
|
+
gurobipy==13.0.2
|
|
131
107
|
# via pypsa
|
|
132
|
-
highspy==1.
|
|
108
|
+
highspy==1.14.0
|
|
133
109
|
# via
|
|
134
110
|
# pypsa
|
|
135
111
|
# tsam
|
|
136
|
-
idna==3.
|
|
112
|
+
idna==3.15
|
|
137
113
|
# via requests
|
|
138
114
|
importlib-metadata==9.0.0 ; python_full_version < '3.12'
|
|
139
115
|
# via dask
|
|
@@ -141,13 +117,11 @@ iniconfig==2.3.0
|
|
|
141
117
|
# via pytest
|
|
142
118
|
ipykernel==7.2.0
|
|
143
119
|
# via mkdocs-jupyter
|
|
144
|
-
ipython==9.
|
|
145
|
-
# via ipykernel
|
|
146
|
-
ipython==9.12.0 ; python_full_version >= '3.12'
|
|
120
|
+
ipython==9.13.0
|
|
147
121
|
# via ipykernel
|
|
148
122
|
ipython-pygments-lexers==1.1.1
|
|
149
123
|
# via ipython
|
|
150
|
-
jedi==0.
|
|
124
|
+
jedi==0.20.0
|
|
151
125
|
# via ipython
|
|
152
126
|
jinja2==3.1.6
|
|
153
127
|
# via
|
|
@@ -176,17 +150,17 @@ jupyter-core==5.9.1
|
|
|
176
150
|
# nbformat
|
|
177
151
|
jupyterlab-pygments==0.3.0
|
|
178
152
|
# via nbconvert
|
|
179
|
-
jupytext==1.19.
|
|
153
|
+
jupytext==1.19.3
|
|
180
154
|
# via mkdocs-jupyter
|
|
181
155
|
kiwisolver==1.5.0
|
|
182
156
|
# via matplotlib
|
|
183
157
|
levenshtein==0.27.3
|
|
184
158
|
# via pypsa
|
|
185
|
-
linopy==0.
|
|
159
|
+
linopy==0.7.0
|
|
186
160
|
# via pypsa
|
|
187
161
|
locket==1.0.0
|
|
188
162
|
# via partd
|
|
189
|
-
lxml==6.1.
|
|
163
|
+
lxml==6.1.1
|
|
190
164
|
# via mkdocs-video
|
|
191
165
|
markdown==3.10.2
|
|
192
166
|
# via
|
|
@@ -196,7 +170,7 @@ markdown==3.10.2
|
|
|
196
170
|
# mkdocstrings
|
|
197
171
|
# properdocs
|
|
198
172
|
# pymdown-extensions
|
|
199
|
-
markdown-it-py==4.
|
|
173
|
+
markdown-it-py==4.2.0
|
|
200
174
|
# via
|
|
201
175
|
# jupytext
|
|
202
176
|
# mdit-py-plugins
|
|
@@ -208,17 +182,17 @@ markupsafe==3.0.3
|
|
|
208
182
|
# mkdocstrings
|
|
209
183
|
# nbconvert
|
|
210
184
|
# properdocs
|
|
211
|
-
matplotlib==3.10.
|
|
185
|
+
matplotlib==3.10.9
|
|
212
186
|
# via
|
|
213
187
|
# cartopy
|
|
214
188
|
# pypsa
|
|
215
189
|
# salib
|
|
216
190
|
# seaborn
|
|
217
|
-
matplotlib-inline==0.2.
|
|
191
|
+
matplotlib-inline==0.2.2
|
|
218
192
|
# via
|
|
219
193
|
# ipykernel
|
|
220
194
|
# ipython
|
|
221
|
-
mdit-py-plugins==0.
|
|
195
|
+
mdit-py-plugins==0.6.1
|
|
222
196
|
# via jupytext
|
|
223
197
|
mdurl==0.1.2
|
|
224
198
|
# via markdown-it-py
|
|
@@ -226,7 +200,7 @@ mergedeep==1.3.4
|
|
|
226
200
|
# via
|
|
227
201
|
# mkdocs
|
|
228
202
|
# mkdocs-get-deps
|
|
229
|
-
mistune==3.2.
|
|
203
|
+
mistune==3.2.1
|
|
230
204
|
# via nbconvert
|
|
231
205
|
mkdocs==1.6.1
|
|
232
206
|
# via
|
|
@@ -250,7 +224,7 @@ mkdocs-ezlinks-plugin==0.1.14
|
|
|
250
224
|
# via pypsa
|
|
251
225
|
mkdocs-get-deps==0.2.2
|
|
252
226
|
# via mkdocs
|
|
253
|
-
mkdocs-git-revision-date-localized-plugin==1.5.
|
|
227
|
+
mkdocs-git-revision-date-localized-plugin==1.5.2
|
|
254
228
|
# via pypsa
|
|
255
229
|
mkdocs-jupyter==0.26.3
|
|
256
230
|
# via pypsa
|
|
@@ -272,7 +246,7 @@ mkdocstrings-python==2.0.3
|
|
|
272
246
|
# via pypsa
|
|
273
247
|
multiprocess==0.70.19
|
|
274
248
|
# via salib
|
|
275
|
-
narwhals==2.
|
|
249
|
+
narwhals==2.21.2
|
|
276
250
|
# via plotly
|
|
277
251
|
nbclient==0.10.4
|
|
278
252
|
# via nbconvert
|
|
@@ -293,7 +267,7 @@ networkx==3.6.1
|
|
|
293
267
|
# tsam
|
|
294
268
|
numexpr==2.14.1
|
|
295
269
|
# via linopy
|
|
296
|
-
numpy==2.4.
|
|
270
|
+
numpy==2.4.6
|
|
297
271
|
# via
|
|
298
272
|
# bottleneck
|
|
299
273
|
# cartopy
|
|
@@ -348,11 +322,11 @@ pandas==2.3.3
|
|
|
348
322
|
# xarray
|
|
349
323
|
pandocfilters==1.5.1
|
|
350
324
|
# via nbconvert
|
|
351
|
-
parso==0.8.
|
|
325
|
+
parso==0.8.7
|
|
352
326
|
# via jedi
|
|
353
327
|
partd==1.4.2
|
|
354
328
|
# via dask
|
|
355
|
-
pathspec==1.
|
|
329
|
+
pathspec==1.1.1
|
|
356
330
|
# via
|
|
357
331
|
# mkdocs
|
|
358
332
|
# properdocs
|
|
@@ -373,31 +347,22 @@ plotly==6.7.0
|
|
|
373
347
|
# via pypsa
|
|
374
348
|
pluggy==1.6.0
|
|
375
349
|
# via pytest
|
|
376
|
-
polars==1.40.
|
|
350
|
+
polars==1.40.1
|
|
377
351
|
# via linopy
|
|
378
|
-
polars-runtime-32==1.40.
|
|
352
|
+
polars-runtime-32==1.40.1
|
|
379
353
|
# via polars
|
|
380
354
|
prompt-toolkit==3.0.52
|
|
381
355
|
# via ipython
|
|
382
356
|
properdocs==1.6.7
|
|
383
357
|
# via mkdocs-redirects
|
|
384
|
-
proto-plus==1.27.2
|
|
385
|
-
# via google-api-core
|
|
386
|
-
protobuf==7.34.1
|
|
387
|
-
# via
|
|
388
|
-
# google-api-core
|
|
389
|
-
# googleapis-common-protos
|
|
390
|
-
# proto-plus
|
|
391
358
|
psutil==7.2.2
|
|
392
|
-
# via
|
|
359
|
+
# via
|
|
360
|
+
# ipykernel
|
|
361
|
+
# ipython
|
|
393
362
|
ptyprocess==0.7.0 ; sys_platform != 'emscripten' and sys_platform != 'win32'
|
|
394
363
|
# via pexpect
|
|
395
364
|
pure-eval==0.2.3
|
|
396
365
|
# via stack-data
|
|
397
|
-
pyasn1==0.6.3
|
|
398
|
-
# via pyasn1-modules
|
|
399
|
-
pyasn1-modules==0.4.2
|
|
400
|
-
# via google-auth
|
|
401
366
|
pycparser==3.0 ; implementation_name != 'PyPy'
|
|
402
367
|
# via cffi
|
|
403
368
|
pydeck==0.9.2
|
|
@@ -412,7 +377,7 @@ pygments==2.20.0
|
|
|
412
377
|
# pytest
|
|
413
378
|
pygtrie==2.5.0
|
|
414
379
|
# via mkdocs-ezlinks-plugin
|
|
415
|
-
pymdown-extensions==10.21.
|
|
380
|
+
pymdown-extensions==10.21.3
|
|
416
381
|
# via
|
|
417
382
|
# mkdocs-material
|
|
418
383
|
# mkdocstrings
|
|
@@ -426,7 +391,7 @@ pyproj==3.7.2
|
|
|
426
391
|
# via
|
|
427
392
|
# cartopy
|
|
428
393
|
# geopandas
|
|
429
|
-
pyshp==3.0.
|
|
394
|
+
pyshp==3.0.5
|
|
430
395
|
# via cartopy
|
|
431
396
|
pytest==9.0.3
|
|
432
397
|
# via pypsa
|
|
@@ -438,7 +403,7 @@ python-dateutil==2.9.0.post0
|
|
|
438
403
|
# jupyter-client
|
|
439
404
|
# matplotlib
|
|
440
405
|
# pandas
|
|
441
|
-
pytz==2026.
|
|
406
|
+
pytz==2026.2
|
|
442
407
|
# via pandas
|
|
443
408
|
pyyaml==6.0.3
|
|
444
409
|
# via
|
|
@@ -464,12 +429,8 @@ referencing==0.37.0
|
|
|
464
429
|
# via
|
|
465
430
|
# jsonschema
|
|
466
431
|
# jsonschema-specifications
|
|
467
|
-
requests==2.
|
|
468
|
-
# via
|
|
469
|
-
# google-api-core
|
|
470
|
-
# google-cloud-storage
|
|
471
|
-
# linopy
|
|
472
|
-
# mkdocs-material
|
|
432
|
+
requests==2.34.2
|
|
433
|
+
# via mkdocs-material
|
|
473
434
|
rpds-py==0.30.0
|
|
474
435
|
# via
|
|
475
436
|
# jsonschema
|
|
@@ -521,7 +482,7 @@ tqdm==4.67.3
|
|
|
521
482
|
# via
|
|
522
483
|
# linopy
|
|
523
484
|
# tsam
|
|
524
|
-
traitlets==5.
|
|
485
|
+
traitlets==5.15.0
|
|
525
486
|
# via
|
|
526
487
|
# ipykernel
|
|
527
488
|
# ipython
|
|
@@ -531,18 +492,18 @@ traitlets==5.14.3
|
|
|
531
492
|
# nbclient
|
|
532
493
|
# nbconvert
|
|
533
494
|
# nbformat
|
|
534
|
-
tsam==
|
|
495
|
+
tsam==2.3.9
|
|
535
496
|
# via pypsa
|
|
536
497
|
typing-extensions==4.15.0
|
|
537
498
|
# via
|
|
538
499
|
# beautifulsoup4
|
|
539
500
|
# ipython
|
|
540
501
|
# referencing
|
|
541
|
-
tzdata==2026.
|
|
502
|
+
tzdata==2026.2
|
|
542
503
|
# via
|
|
543
504
|
# mkdocs-git-revision-date-localized-plugin
|
|
544
505
|
# pandas
|
|
545
|
-
urllib3==2.
|
|
506
|
+
urllib3==2.7.0
|
|
546
507
|
# via requests
|
|
547
508
|
validators==0.35.0
|
|
548
509
|
# via pypsa
|
|
@@ -550,7 +511,7 @@ watchdog==6.0.0
|
|
|
550
511
|
# via
|
|
551
512
|
# mkdocs
|
|
552
513
|
# properdocs
|
|
553
|
-
wcwidth==0.
|
|
514
|
+
wcwidth==0.7.0
|
|
554
515
|
# via prompt-toolkit
|
|
555
516
|
webencodings==0.5.1
|
|
556
517
|
# via
|
|
@@ -561,5 +522,5 @@ xarray==2026.2.0
|
|
|
561
522
|
# via
|
|
562
523
|
# linopy
|
|
563
524
|
# pypsa
|
|
564
|
-
zipp==
|
|
525
|
+
zipp==4.1.0 ; python_full_version < '3.12'
|
|
565
526
|
# via importlib-metadata
|
|
@@ -27,7 +27,7 @@ _standard_types_path = Path(__file__).parent.parent / "data" / "standard_types"
|
|
|
27
27
|
component_types_df = pd.read_csv(_components_path, index_col=0)
|
|
28
28
|
default_components = component_types_df.index.to_list()
|
|
29
29
|
|
|
30
|
-
all_components = {}
|
|
30
|
+
all_components: dict[str, ComponentType] = {}
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
def add_component_type(
|