pypsa 1.2.2__tar.gz → 1.2.3__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.
Files changed (795) hide show
  1. {pypsa-1.2.2 → pypsa-1.2.3}/.github/workflows/test-models.yml +1 -1
  2. {pypsa-1.2.2/pypsa.egg-info → pypsa-1.2.3}/PKG-INFO +2 -1
  3. {pypsa-1.2.2 → pypsa-1.2.3}/docs/release-notes.md +16 -1
  4. {pypsa-1.2.2 → pypsa-1.2.3}/pyproject.toml +4 -0
  5. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/_options.py +1 -1
  6. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/clustering/spatial.py +7 -2
  7. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/common.py +1 -1
  8. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/constraints.py +2 -1
  9. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/mga.py +0 -1
  10. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/statistics/charts.py +3 -0
  11. {pypsa-1.2.2 → pypsa-1.2.3/pypsa.egg-info}/PKG-INFO +2 -1
  12. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa.egg-info/SOURCES.txt +1 -0
  13. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa.egg-info/requires.txt +1 -0
  14. {pypsa-1.2.2 → pypsa-1.2.3}/test/conftest.py +1 -1
  15. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_basic_constraints.py +53 -7
  16. pypsa-1.2.3/test/test_optimization_common.py +25 -0
  17. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_statistics_plot_interactive.py +9 -0
  18. {pypsa-1.2.2 → pypsa-1.2.3}/.codespell.ignore +0 -0
  19. {pypsa-1.2.2 → pypsa-1.2.3}/.git-blame-ignore-revs +0 -0
  20. {pypsa-1.2.2 → pypsa-1.2.3}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  21. {pypsa-1.2.2 → pypsa-1.2.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {pypsa-1.2.2 → pypsa-1.2.3}/.github/ISSUE_TEMPLATE/documentation_improvement.yaml +0 -0
  23. {pypsa-1.2.2 → pypsa-1.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  24. {pypsa-1.2.2 → pypsa-1.2.3}/.github/dependabot.yml +0 -0
  25. {pypsa-1.2.2 → pypsa-1.2.3}/.github/pull_request_template.md +0 -0
  26. {pypsa-1.2.2 → pypsa-1.2.3}/.github/workflows/codeql.yml +0 -0
  27. {pypsa-1.2.2 → pypsa-1.2.3}/.github/workflows/release.yml +0 -0
  28. {pypsa-1.2.2 → pypsa-1.2.3}/.github/workflows/test.yml +0 -0
  29. {pypsa-1.2.2 → pypsa-1.2.3}/.gitignore +0 -0
  30. {pypsa-1.2.2 → pypsa-1.2.3}/.pre-commit-config.yaml +0 -0
  31. {pypsa-1.2.2 → pypsa-1.2.3}/.readthedocs.yml +0 -0
  32. {pypsa-1.2.2 → pypsa-1.2.3}/CITATION.cff +0 -0
  33. {pypsa-1.2.2 → pypsa-1.2.3}/CONTRIBUTING.md +0 -0
  34. {pypsa-1.2.2 → pypsa-1.2.3}/LICENSE +0 -0
  35. {pypsa-1.2.2 → pypsa-1.2.3}/LICENSES/CC-BY-4.0.txt +0 -0
  36. {pypsa-1.2.2 → pypsa-1.2.3}/LICENSES/MIT.txt +0 -0
  37. {pypsa-1.2.2 → pypsa-1.2.3}/MANIFEST.in +0 -0
  38. {pypsa-1.2.2 → pypsa-1.2.3}/README.md +0 -0
  39. {pypsa-1.2.2 → pypsa-1.2.3}/REUSE.toml +0 -0
  40. {pypsa-1.2.2 → pypsa-1.2.3}/codecov.yml +0 -0
  41. {pypsa-1.2.2 → pypsa-1.2.3}/docs/CODE_OF_CONDUCT.md +0 -0
  42. {pypsa-1.2.2 → pypsa-1.2.3}/docs/SECURITY.md +0 -0
  43. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/common.md +0 -0
  44. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/components.md +0 -0
  45. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/buses.md +0 -0
  46. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/carriers.md +0 -0
  47. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/generators.md +0 -0
  48. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/global-constraints.md +0 -0
  49. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/lines.md +0 -0
  50. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/links.md +0 -0
  51. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/loads.md +0 -0
  52. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/processes.md +0 -0
  53. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/shapes.md +0 -0
  54. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/shunt-impedances.md +0 -0
  55. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/storage-units.md +0 -0
  56. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/stores.md +0 -0
  57. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/sub-networks.md +0 -0
  58. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/components/types/transformers.md +0 -0
  59. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/cluster.md +0 -0
  60. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/collection.md +0 -0
  61. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/components.md +0 -0
  62. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/constraints.md +0 -0
  63. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/descriptors.md +0 -0
  64. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/indexing.md +0 -0
  65. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/io.md +0 -0
  66. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/network.md +0 -0
  67. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/optimize.md +0 -0
  68. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/plot.md +0 -0
  69. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/power-flow.md +0 -0
  70. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/statistics.md +0 -0
  71. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/subnetwork.md +0 -0
  72. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/networks/transform.md +0 -0
  73. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/other/api-examples.md +0 -0
  74. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/other/common.md +0 -0
  75. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/other/consistency.md +0 -0
  76. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/other/costs.md +0 -0
  77. {pypsa-1.2.2 → pypsa-1.2.3}/docs/api/other/options.md +0 -0
  78. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-area_plot.jpg +0 -0
  79. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-area_plot.png +0 -0
  80. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-bar_plot.jpg +0 -0
  81. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-bar_plot.png +0 -0
  82. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-box_plot.png +0 -0
  83. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-custom_area_plot.png +0 -0
  84. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-histogram_plot.jpg +0 -0
  85. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-histogram_plot.png +0 -0
  86. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-line_plot.jpg +0 -0
  87. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-line_plot.png +0 -0
  88. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-map_plot.png +0 -0
  89. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-scatter_plot.jpg +0 -0
  90. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-scatter_plot.png +0 -0
  91. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-energy_balance-violin_plot.png +0 -0
  92. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-installed_capacity-bar_plot.jpg +0 -0
  93. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed-installed_capacity-bar_plot.png +0 -0
  94. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/ac_dc_meshed.png +0 -0
  95. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/buses.png +0 -0
  96. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/carbon_management-energy_balance-area_plot-AC-bus_carrier.png +0 -0
  97. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/carbon_management-energy_balance-area_plot.png +0 -0
  98. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/elec_s_256_lv1.09_Co2L-3H.png +0 -0
  99. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/line-equivalent.png +0 -0
  100. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/lmp_and_line-loading.png +0 -0
  101. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/load-distribution.png +0 -0
  102. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/p_max_pu.png +0 -0
  103. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/pypsa-animation.png +0 -0
  104. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/pypsa-logo.png +0 -0
  105. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/reactive-power.png +0 -0
  106. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/reserve-power-funding.gif +0 -0
  107. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/reserve-power-graph.png +0 -0
  108. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/scigrid-curtailment.png +0 -0
  109. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/stacked-gen.png +0 -0
  110. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/stacked-gen_and_storage-scigrid.png +0 -0
  111. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/statistics_advanced_usage.png +0 -0
  112. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/storage-scigrid.png +0 -0
  113. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/transformer-pi-equivalent-tap-hv.png +0 -0
  114. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/transformer-pi-equivalent-tap-lv.png +0 -0
  115. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/transformer-t-equivalent-tap-hv.png +0 -0
  116. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/images/transformer-t-equivalent-tap-lv.png +0 -0
  117. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/interactive/ac_dc_meshed-energy_balance-area_iplot.html +0 -0
  118. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/interactive/carbon_management-energy_balance-area_iplot-AC-bus_carrier.html +0 -0
  119. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/interactive/carbon_management-energy_balance-area_iplot.html +0 -0
  120. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/javascripts/gurubase-widget.js +0 -0
  121. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/javascripts/mathjax.js +0 -0
  122. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/javascripts/readthedocs.js +0 -0
  123. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-primary-dark.png +0 -0
  124. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-primary-dark.svg +0 -0
  125. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-primary-light-white-bg.png +0 -0
  126. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-primary-light.png +0 -0
  127. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-primary-light.svg +0 -0
  128. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-secondary-dark.png +0 -0
  129. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-secondary-dark.svg +0 -0
  130. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-secondary-light.png +0 -0
  131. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-secondary-light.svg +0 -0
  132. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo-white-bg.png +0 -0
  133. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo.png +0 -0
  134. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/logo/logo.svg +0 -0
  135. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/overrides/main.html +0 -0
  136. {pypsa-1.2.2 → pypsa-1.2.3}/docs/assets/stylesheets/extra.css +0 -0
  137. {pypsa-1.2.2 → pypsa-1.2.3}/docs/contributing/contributing.md +0 -0
  138. {pypsa-1.2.2 → pypsa-1.2.3}/docs/contributing/contributors.md +0 -0
  139. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/3-node-cem.ipynb +0 -0
  140. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/ac-dc-lopf.ipynb +0 -0
  141. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/battery-electric-vehicle-charging.ipynb +0 -0
  142. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/biomass-synthetic-fuels-carbon-management.ipynb +0 -0
  143. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/capacity-expansion-planning-single-node.ipynb +0 -0
  144. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/chained-hydro-reservoirs.ipynb +0 -0
  145. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/chp-fixed-heat-power-ratio.ipynb +0 -0
  146. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/committable-extendable.ipynb +0 -0
  147. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/demand-elasticity.ipynb +0 -0
  148. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/demand-supply-bids.ipynb +0 -0
  149. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/example-1.ipynb +0 -0
  150. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/example-2.ipynb +0 -0
  151. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/example-3.ipynb +0 -0
  152. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/examples.md +0 -0
  153. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/generation-investment-screening-curve.ipynb +0 -0
  154. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/gsa.ipynb +0 -0
  155. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/imperfect-competition.ipynb +0 -0
  156. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/islanded-methanol-production.ipynb +0 -0
  157. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/mga.ipynb +0 -0
  158. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/minimal-example-pf.ipynb +0 -0
  159. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/modular-committable.ipynb +0 -0
  160. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/modular-expansion.ipynb +0 -0
  161. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/multi-investment-optimisation.ipynb +0 -0
  162. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/myopic-pathway.ipynb +0 -0
  163. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/near-opt-space.ipynb +0 -0
  164. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/negative-prices-kvl-baker.ipynb +0 -0
  165. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/periodic-operational-limits.ipynb +0 -0
  166. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/power-to-gas-boiler-chp.ipynb +0 -0
  167. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/power-to-heat-water-tank.ipynb +0 -0
  168. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/replace-generator-storage-units-with-store.ipynb +0 -0
  169. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/reserve-power.ipynb +0 -0
  170. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/rh_example.png +0 -0
  171. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/rolling-horizon.ipynb +0 -0
  172. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/scigrid-lopf-then-pf.ipynb +0 -0
  173. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/scigrid-redispatch.ipynb +0 -0
  174. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/scigrid-sclopf.ipynb +0 -0
  175. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/sector-coupling-single-node.ipynb +0 -0
  176. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/simple-electricity-market-examples.ipynb +0 -0
  177. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/stochastic-optimization.ipynb +0 -0
  178. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/time-series-aggregation.ipynb +0 -0
  179. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/tracing-infeasibilities.ipynb +0 -0
  180. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/transformer-example.ipynb +0 -0
  181. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/transport-delay.ipynb +0 -0
  182. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/uc-prices.ipynb +0 -0
  183. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/unit-commitment.ipynb +0 -0
  184. {pypsa-1.2.2 → pypsa-1.2.3}/docs/examples/water-value.ipynb +0 -0
  185. {pypsa-1.2.2 → pypsa-1.2.3}/docs/home/citing.md +0 -0
  186. {pypsa-1.2.2 → pypsa-1.2.3}/docs/home/features.md +0 -0
  187. {pypsa-1.2.2 → pypsa-1.2.3}/docs/home/installation.md +0 -0
  188. {pypsa-1.2.2 → pypsa-1.2.3}/docs/home/license.md +0 -0
  189. {pypsa-1.2.2 → pypsa-1.2.3}/docs/home/models.md +0 -0
  190. {pypsa-1.2.2 → pypsa-1.2.3}/docs/home/users.md +0 -0
  191. {pypsa-1.2.2 → pypsa-1.2.3}/docs/hooks/cleanup.py +0 -0
  192. {pypsa-1.2.2 → pypsa-1.2.3}/docs/hooks/dynamic_inspect.py +0 -0
  193. {pypsa-1.2.2 → pypsa-1.2.3}/docs/hooks/notebook_timing.py +0 -0
  194. {pypsa-1.2.2 → pypsa-1.2.3}/docs/hooks/path_aliases.py +0 -0
  195. {pypsa-1.2.2 → pypsa-1.2.3}/docs/hooks/shortcodes.py +0 -0
  196. {pypsa-1.2.2 → pypsa-1.2.3}/docs/index.md +0 -0
  197. {pypsa-1.2.2 → pypsa-1.2.3}/docs/requirements.txt +0 -0
  198. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/clustering.ipynb +0 -0
  199. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/collection.md +0 -0
  200. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/buses.md +0 -0
  201. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/carriers.md +0 -0
  202. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/generators.md +0 -0
  203. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/global-constraints.md +0 -0
  204. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/line-types.md +0 -0
  205. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/lines.md +0 -0
  206. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/links.md +0 -0
  207. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/loads.md +0 -0
  208. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/processes.md +0 -0
  209. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/shapes.md +0 -0
  210. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/shunt-impedances.md +0 -0
  211. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/storage-units.md +0 -0
  212. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/stores.md +0 -0
  213. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/sub-networks.md +0 -0
  214. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/transformer-types.md +0 -0
  215. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components/transformers.md +0 -0
  216. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/components.md +0 -0
  217. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/design.md +0 -0
  218. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/faq.md +0 -0
  219. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/import-export.md +0 -0
  220. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/learning-materials.md +0 -0
  221. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/linear-power-flow.md +0 -0
  222. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/logging.ipynb +0 -0
  223. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/network-optimization.md +0 -0
  224. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/capacity-limits.md +0 -0
  225. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/contingencies.md +0 -0
  226. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/custom-constraints.md +0 -0
  227. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/dispatch-limits.md +0 -0
  228. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/energy-balance.md +0 -0
  229. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/global-constraints.md +0 -0
  230. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/modelling-to-generate-alternatives.md +0 -0
  231. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/objective.md +0 -0
  232. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/overview.md +0 -0
  233. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/pathway-planning.md +0 -0
  234. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/power-flow.md +0 -0
  235. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/stochastic.md +0 -0
  236. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/storage.md +0 -0
  237. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/optimization/unit-commitment.md +0 -0
  238. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/options.md +0 -0
  239. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/plotting/charts.md +0 -0
  240. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/plotting/explore.ipynb +0 -0
  241. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/plotting/static-map.ipynb +0 -0
  242. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/power-flow.md +0 -0
  243. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/statistics.md +0 -0
  244. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/support.md +0 -0
  245. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/troubleshooting.md +0 -0
  246. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/user-guide.md +0 -0
  247. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/v1-guide.md +0 -0
  248. {pypsa-1.2.2 → pypsa-1.2.3}/docs/user-guide/warnings.md +0 -0
  249. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/buses.csv +0 -0
  250. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/carriers.csv +0 -0
  251. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/crs.json +0 -0
  252. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/generators-p_max_pu.csv +0 -0
  253. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/generators.csv +0 -0
  254. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/global_constraints.csv +0 -0
  255. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/investment_periods.csv +0 -0
  256. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/lines.csv +0 -0
  257. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/links.csv +0 -0
  258. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/loads-p_set.csv +0 -0
  259. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/loads.csv +0 -0
  260. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/meta.json +0 -0
  261. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/network.csv +0 -0
  262. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed/snapshots.csv +0 -0
  263. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/ac-dc-meshed/ac-dc-meshed.nc +0 -0
  264. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/buses.csv +0 -0
  265. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/carriers.csv +0 -0
  266. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/crs.json +0 -0
  267. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/generators-p_max_pu.csv +0 -0
  268. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/generators.csv +0 -0
  269. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/investment_periods.csv +0 -0
  270. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/links.csv +0 -0
  271. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/loads-p_set.csv +0 -0
  272. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/loads.csv +0 -0
  273. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/meta.json +0 -0
  274. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/network.csv +0 -0
  275. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/snapshots.csv +0 -0
  276. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/storage_units.csv +0 -0
  277. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy/stores.csv +0 -0
  278. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/model-energy/model-energy.nc +0 -0
  279. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/buses.csv +0 -0
  280. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/carriers.csv +0 -0
  281. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/crs.json +0 -0
  282. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/generators-p_max_pu.csv +0 -0
  283. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/generators.csv +0 -0
  284. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/investment_periods.csv +0 -0
  285. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/lines.csv +0 -0
  286. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/loads-p_set.csv +0 -0
  287. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/loads.csv +0 -0
  288. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/meta.json +0 -0
  289. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/network.csv +0 -0
  290. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/snapshots.csv +0 -0
  291. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/storage_units.csv +0 -0
  292. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de/transformers.csv +0 -0
  293. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/scigrid-de/scigrid-de.nc +0 -0
  294. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/stochastic-network/stochastic-network.nc +0 -0
  295. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/buses.csv +0 -0
  296. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/carriers.csv +0 -0
  297. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/crs.json +0 -0
  298. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/generators-p_max_pu.csv +0 -0
  299. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/generators.csv +0 -0
  300. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/global_constraints.csv +0 -0
  301. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/investment_periods.csv +0 -0
  302. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/lines.csv +0 -0
  303. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/links.csv +0 -0
  304. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/loads-p_set.csv +0 -0
  305. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/loads.csv +0 -0
  306. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/meta.json +0 -0
  307. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/network.csv +0 -0
  308. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/snapshots.csv +0 -0
  309. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/storage_units-inflow.csv +0 -0
  310. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/storage_units-state_of_charge_set.csv +0 -0
  311. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc/storage_units.csv +0 -0
  312. {pypsa-1.2.2 → pypsa-1.2.3}/examples/networks/storage-hvdc/storage-hvdc.nc +0 -0
  313. {pypsa-1.2.2 → pypsa-1.2.3}/mkdocs.yml +0 -0
  314. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/__init__.py +0 -0
  315. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/clustering/__init__.py +0 -0
  316. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/clustering/temporal.py +0 -0
  317. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/collection.py +0 -0
  318. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/common.py +0 -0
  319. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/__init__.py +0 -0
  320. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/__init__.py +0 -0
  321. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/_patch.py +0 -0
  322. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/buses.py +0 -0
  323. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/carriers.py +0 -0
  324. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/generators.py +0 -0
  325. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/global_constraints.py +0 -0
  326. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/line_types.py +0 -0
  327. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/lines.py +0 -0
  328. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/links.py +0 -0
  329. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/loads.py +0 -0
  330. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/mixin/__init__.py +0 -0
  331. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/mixin/multiports.py +0 -0
  332. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/processes.py +0 -0
  333. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/shapes.py +0 -0
  334. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/shunt_impedances.py +0 -0
  335. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/storage_units.py +0 -0
  336. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/stores.py +0 -0
  337. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/sub_networks.py +0 -0
  338. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/transformer_types.py +0 -0
  339. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/_types/transformers.py +0 -0
  340. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/abstract.py +0 -0
  341. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/array.py +0 -0
  342. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/common.py +0 -0
  343. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/components.py +0 -0
  344. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/descriptors.py +0 -0
  345. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/index.py +0 -0
  346. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/legacy.py +0 -0
  347. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/store.py +0 -0
  348. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/transform.py +0 -0
  349. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/components/types.py +0 -0
  350. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/consistency.py +0 -0
  351. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/constants.py +0 -0
  352. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/costs.py +0 -0
  353. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/buses.csv +0 -0
  354. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/carriers.csv +0 -0
  355. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/generators.csv +0 -0
  356. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/global_constraints.csv +0 -0
  357. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/line_types.csv +0 -0
  358. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/lines.csv +0 -0
  359. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/links.csv +0 -0
  360. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/loads.csv +0 -0
  361. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/networks.csv +0 -0
  362. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/processes.csv +0 -0
  363. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/shapes.csv +0 -0
  364. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/shunt_impedances.csv +0 -0
  365. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/storage_units.csv +0 -0
  366. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/stores.csv +0 -0
  367. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/sub_networks.csv +0 -0
  368. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/transformer_types.csv +0 -0
  369. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/component_attrs/transformers.csv +0 -0
  370. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/components.csv +0 -0
  371. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/standard_types/line_types.csv +0 -0
  372. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/standard_types/transformer_types.csv +0 -0
  373. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/data/variables.csv +0 -0
  374. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/definitions/components.py +0 -0
  375. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/definitions/structures.py +0 -0
  376. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/deprecations.py +0 -0
  377. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/descriptors.py +0 -0
  378. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/examples.py +0 -0
  379. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/geo.py +0 -0
  380. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/guards.py +0 -0
  381. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/__init__.py +0 -0
  382. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/abstract.py +0 -0
  383. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/components.py +0 -0
  384. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/descriptors.py +0 -0
  385. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/graph.py +0 -0
  386. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/index.py +0 -0
  387. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/io.py +0 -0
  388. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/power_flow.py +0 -0
  389. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/network/transform.py +0 -0
  390. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/networks.py +0 -0
  391. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/__init__.py +0 -0
  392. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/abstract.py +0 -0
  393. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/expressions.py +0 -0
  394. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/global_constraints.py +0 -0
  395. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/optimize.py +0 -0
  396. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/optimization/variables.py +0 -0
  397. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/__init__.py +0 -0
  398. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/accessor.py +0 -0
  399. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/maps/__init__.py +0 -0
  400. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/maps/common.py +0 -0
  401. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/maps/interactive.py +0 -0
  402. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/maps/static.py +0 -0
  403. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/statistics/__init__.py +0 -0
  404. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/statistics/base.py +0 -0
  405. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/statistics/maps.py +0 -0
  406. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/statistics/plotter.py +0 -0
  407. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/plot/statistics/schema.py +0 -0
  408. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/py.typed +0 -0
  409. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/statistics/__init__.py +0 -0
  410. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/statistics/abstract.py +0 -0
  411. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/statistics/expressions.py +0 -0
  412. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/statistics/grouping.py +0 -0
  413. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/type_utils.py +0 -0
  414. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa/version.py +0 -0
  415. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa.egg-info/dependency_links.txt +0 -0
  416. {pypsa-1.2.2 → pypsa-1.2.3}/pypsa.egg-info/top_level.txt +0 -0
  417. {pypsa-1.2.2 → pypsa-1.2.3}/setup.cfg +0 -0
  418. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-capacity_factor.png +0 -0
  419. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-capex.png +0 -0
  420. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-curtailment.png +0 -0
  421. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-energy_balance.png +0 -0
  422. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-expanded_capacity.png +0 -0
  423. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-expanded_capex.png +0 -0
  424. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-installed_capacity.png +0 -0
  425. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-installed_capex.png +0 -0
  426. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-market_value.png +0 -0
  427. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-opex.png +0 -0
  428. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-optimal_capacity.png +0 -0
  429. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-prices.png +0 -0
  430. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-revenue.png +0 -0
  431. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-supply.png +0 -0
  432. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-system_cost.png +0 -0
  433. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-transmission.png +0 -0
  434. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area-withdrawal.png +0 -0
  435. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_capacity_factor.png +0 -0
  436. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_capex.png +0 -0
  437. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_curtailment.png +0 -0
  438. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_energy_balance.png +0 -0
  439. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_expanded_capacity.png +0 -0
  440. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_expanded_capex.png +0 -0
  441. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_installed_capacity.png +0 -0
  442. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_installed_capex.png +0 -0
  443. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_market_value.png +0 -0
  444. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_opex.png +0 -0
  445. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_optimal_capacity.png +0 -0
  446. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_revenue.png +0 -0
  447. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_supply.png +0 -0
  448. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_system_cost.png +0 -0
  449. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_transmission.png +0 -0
  450. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_area_withdrawal.png +0 -0
  451. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-capacity_factor.png +0 -0
  452. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-capex.png +0 -0
  453. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-curtailment.png +0 -0
  454. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-energy_balance.png +0 -0
  455. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-expanded_capacity.png +0 -0
  456. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-expanded_capex.png +0 -0
  457. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-installed_capacity.png +0 -0
  458. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-installed_capex.png +0 -0
  459. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-market_value.png +0 -0
  460. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-opex.png +0 -0
  461. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-optimal_capacity.png +0 -0
  462. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-prices.png +0 -0
  463. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-revenue.png +0 -0
  464. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-supply.png +0 -0
  465. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-system_cost.png +0 -0
  466. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-transmission.png +0 -0
  467. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar-withdrawal.png +0 -0
  468. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_capacity_factor.png +0 -0
  469. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_capex.png +0 -0
  470. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_curtailment.png +0 -0
  471. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_energy_balance.png +0 -0
  472. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_expanded_capacity.png +0 -0
  473. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_expanded_capex.png +0 -0
  474. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_installed_capacity.png +0 -0
  475. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_installed_capex.png +0 -0
  476. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_market_value.png +0 -0
  477. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_opex.png +0 -0
  478. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_optimal_capacity.png +0 -0
  479. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_revenue.png +0 -0
  480. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_supply.png +0 -0
  481. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_system_cost.png +0 -0
  482. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_transmission.png +0 -0
  483. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_bar_withdrawal.png +0 -0
  484. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-capacity_factor.png +0 -0
  485. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-capex.png +0 -0
  486. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-curtailment.png +0 -0
  487. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-energy_balance.png +0 -0
  488. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-expanded_capacity.png +0 -0
  489. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-expanded_capex.png +0 -0
  490. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-installed_capacity.png +0 -0
  491. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-installed_capex.png +0 -0
  492. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-market_value.png +0 -0
  493. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-opex.png +0 -0
  494. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-optimal_capacity.png +0 -0
  495. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-prices.png +0 -0
  496. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-revenue.png +0 -0
  497. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-supply.png +0 -0
  498. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-system_cost.png +0 -0
  499. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-transmission.png +0 -0
  500. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_box-withdrawal.png +0 -0
  501. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-capacity_factor.png +0 -0
  502. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-capex.png +0 -0
  503. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-curtailment.png +0 -0
  504. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-energy_balance.png +0 -0
  505. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-expanded_capacity.png +0 -0
  506. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-expanded_capex.png +0 -0
  507. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-installed_capacity.png +0 -0
  508. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-installed_capex.png +0 -0
  509. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-market_value.png +0 -0
  510. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-opex.png +0 -0
  511. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-optimal_capacity.png +0 -0
  512. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-prices.png +0 -0
  513. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-revenue.png +0 -0
  514. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-supply.png +0 -0
  515. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-system_cost.png +0 -0
  516. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-transmission.png +0 -0
  517. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_histogram-withdrawal.png +0 -0
  518. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-capacity_factor.png +0 -0
  519. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-capex.png +0 -0
  520. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-curtailment.png +0 -0
  521. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-energy_balance.png +0 -0
  522. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-expanded_capacity.png +0 -0
  523. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-expanded_capex.png +0 -0
  524. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-installed_capacity.png +0 -0
  525. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-installed_capex.png +0 -0
  526. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-market_value.png +0 -0
  527. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-opex.png +0 -0
  528. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-optimal_capacity.png +0 -0
  529. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-prices.png +0 -0
  530. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-revenue.png +0 -0
  531. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-supply.png +0 -0
  532. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-system_cost.png +0 -0
  533. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-transmission.png +0 -0
  534. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line-withdrawal.png +0 -0
  535. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_capacity_factor.png +0 -0
  536. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_capex.png +0 -0
  537. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_curtailment.png +0 -0
  538. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_energy_balance.png +0 -0
  539. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_expanded_capacity.png +0 -0
  540. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_expanded_capex.png +0 -0
  541. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_installed_capacity.png +0 -0
  542. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_installed_capex.png +0 -0
  543. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_market_value.png +0 -0
  544. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_opex.png +0 -0
  545. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_optimal_capacity.png +0 -0
  546. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_revenue.png +0 -0
  547. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_supply.png +0 -0
  548. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_system_cost.png +0 -0
  549. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_transmission.png +0 -0
  550. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_line_withdrawal.png +0 -0
  551. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-capacity_factor.png +0 -0
  552. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-capex.png +0 -0
  553. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-curtailment.png +0 -0
  554. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-energy_balance.png +0 -0
  555. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-expanded_capacity.png +0 -0
  556. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-expanded_capex.png +0 -0
  557. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-installed_capacity.png +0 -0
  558. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-installed_capex.png +0 -0
  559. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-market_value.png +0 -0
  560. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-opex.png +0 -0
  561. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-optimal_capacity.png +0 -0
  562. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-revenue.png +0 -0
  563. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-supply.png +0 -0
  564. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-system_cost.png +0 -0
  565. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-transmission.png +0 -0
  566. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map-withdrawal.png +0 -0
  567. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_capacity_factor.png +0 -0
  568. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_capex.png +0 -0
  569. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_curtailment.png +0 -0
  570. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_energy_balance.png +0 -0
  571. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_expanded_capacity.png +0 -0
  572. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_expanded_capex.png +0 -0
  573. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_installed_capacity.png +0 -0
  574. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_installed_capex.png +0 -0
  575. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_market_value.png +0 -0
  576. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_opex.png +0 -0
  577. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_optimal_capacity.png +0 -0
  578. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_revenue.png +0 -0
  579. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_supply.png +0 -0
  580. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_transmission.png +0 -0
  581. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_map_withdrawal.png +0 -0
  582. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-capacity_factor.png +0 -0
  583. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-capex.png +0 -0
  584. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-curtailment.png +0 -0
  585. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-energy_balance.png +0 -0
  586. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-expanded_capacity.png +0 -0
  587. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-expanded_capex.png +0 -0
  588. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-installed_capacity.png +0 -0
  589. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-installed_capex.png +0 -0
  590. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-market_value.png +0 -0
  591. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-opex.png +0 -0
  592. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-optimal_capacity.png +0 -0
  593. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-prices.png +0 -0
  594. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-revenue.png +0 -0
  595. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-supply.png +0 -0
  596. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-system_cost.png +0 -0
  597. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-transmission.png +0 -0
  598. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_scatter-withdrawal.png +0 -0
  599. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-capacity_factor.png +0 -0
  600. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-capex.png +0 -0
  601. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-curtailment.png +0 -0
  602. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-energy_balance.png +0 -0
  603. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-expanded_capacity.png +0 -0
  604. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-expanded_capex.png +0 -0
  605. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-installed_capacity.png +0 -0
  606. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-installed_capex.png +0 -0
  607. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-market_value.png +0 -0
  608. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-opex.png +0 -0
  609. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-optimal_capacity.png +0 -0
  610. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-prices.png +0 -0
  611. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-revenue.png +0 -0
  612. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-supply.png +0 -0
  613. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-system_cost.png +0 -0
  614. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-transmission.png +0 -0
  615. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_plot_types_violin-withdrawal.png +0 -0
  616. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_capacity_factor.png +0 -0
  617. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_capex.png +0 -0
  618. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_curtailment.png +0 -0
  619. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_energy_balance.png +0 -0
  620. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_expanded_capacity.png +0 -0
  621. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_expanded_capex.png +0 -0
  622. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_installed_capacity.png +0 -0
  623. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_installed_capex.png +0 -0
  624. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_market_value.png +0 -0
  625. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_opex.png +0 -0
  626. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_optimal_capacity.png +0 -0
  627. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_prices.png +0 -0
  628. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_revenue.png +0 -0
  629. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_supply.png +0 -0
  630. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_system_cost.png +0 -0
  631. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_transmission.png +0 -0
  632. {pypsa-1.2.2 → pypsa-1.2.3}/test/baseline/test_simple_plot_withdrawal.png +0 -0
  633. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/buses-marginal_price.csv +0 -0
  634. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/buses-p.csv +0 -0
  635. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/buses-v_ang.csv +0 -0
  636. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/buses-v_mag_pu.csv +0 -0
  637. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/buses.csv +0 -0
  638. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/carriers.csv +0 -0
  639. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/crs.json +0 -0
  640. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/generators-p.csv +0 -0
  641. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/generators-p_max_pu.csv +0 -0
  642. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/generators.csv +0 -0
  643. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/global_constraints.csv +0 -0
  644. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/investment_periods.csv +0 -0
  645. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/lines-p0.csv +0 -0
  646. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/lines-p1.csv +0 -0
  647. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/lines.csv +0 -0
  648. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/links-p0.csv +0 -0
  649. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/links-p1.csv +0 -0
  650. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/links.csv +0 -0
  651. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/loads-p.csv +0 -0
  652. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/loads-p_set.csv +0 -0
  653. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/loads.csv +0 -0
  654. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/meta.json +0 -0
  655. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/network.csv +0 -0
  656. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lopf/snapshots.csv +0 -0
  657. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/buses-p.csv +0 -0
  658. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/buses-v_ang.csv +0 -0
  659. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/buses-v_mag_pu.csv +0 -0
  660. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/buses.csv +0 -0
  661. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/carriers.csv +0 -0
  662. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/generators-p.csv +0 -0
  663. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/generators-p_max_pu.csv +0 -0
  664. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/generators.csv +0 -0
  665. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/global_constraints.csv +0 -0
  666. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/lines-p0.csv +0 -0
  667. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/lines-p1.csv +0 -0
  668. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/lines.csv +0 -0
  669. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/links-p0.csv +0 -0
  670. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/links-p1.csv +0 -0
  671. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/links-p_set.csv +0 -0
  672. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/links.csv +0 -0
  673. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/loads-p.csv +0 -0
  674. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/loads-p_set.csv +0 -0
  675. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/loads.csv +0 -0
  676. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/network.csv +0 -0
  677. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/ac-dc-meshed/results-lpf/snapshots.csv +0 -0
  678. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/buses-marginal_price.csv +0 -0
  679. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/buses-p.csv +0 -0
  680. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/buses.csv +0 -0
  681. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/crs.json +0 -0
  682. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/generators-p-high.csv +0 -0
  683. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/generators-p-med.csv +0 -0
  684. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/generators-p.csv +0 -0
  685. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/generators-p_max_pu.csv +0 -0
  686. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/generators.csv +0 -0
  687. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/investment_periods.csv +0 -0
  688. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/loads-p.csv +0 -0
  689. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/loads.csv +0 -0
  690. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/meta.json +0 -0
  691. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/network.csv +0 -0
  692. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/benchmark-sp/snapshots.csv +0 -0
  693. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/buses-marginal_price.csv +0 -0
  694. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/buses-p.csv +0 -0
  695. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/buses-v_ang.csv +0 -0
  696. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/buses.csv +0 -0
  697. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/carriers.csv +0 -0
  698. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/generators-p.csv +0 -0
  699. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/generators-p_max_pu.csv +0 -0
  700. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/generators.csv +0 -0
  701. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/global_constraints.csv +0 -0
  702. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/lines-p0.csv +0 -0
  703. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/lines-p1.csv +0 -0
  704. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/lines.csv +0 -0
  705. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/links-p0.csv +0 -0
  706. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/links-p1.csv +0 -0
  707. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/links.csv +0 -0
  708. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/loads-p.csv +0 -0
  709. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/loads-p_set.csv +0 -0
  710. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/loads.csv +0 -0
  711. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/network.csv +0 -0
  712. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/snapshots.csv +0 -0
  713. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/storage_units-inflow.csv +0 -0
  714. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/storage_units-p.csv +0 -0
  715. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/storage_units-spill.csv +0 -0
  716. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/storage_units-state_of_charge.csv +0 -0
  717. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/storage_units-state_of_charge_set.csv +0 -0
  718. {pypsa-1.2.2 → pypsa-1.2.3}/test/data/storage-hvdc/results-lopf/storage_units.csv +0 -0
  719. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_bugs.py +0 -0
  720. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_buses.py +0 -0
  721. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_capital_cost_split.py +0 -0
  722. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_carriers.py +0 -0
  723. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_collection.py +0 -0
  724. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_collection_statistics.py +0 -0
  725. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_committable_extendable.py +0 -0
  726. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_common.py +0 -0
  727. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_common_deprecations.py +0 -0
  728. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_compatibility_ext_and_com.py +0 -0
  729. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_components.py +0 -0
  730. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_components_array.py +0 -0
  731. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_components_custom.py +0 -0
  732. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_components_store.py +0 -0
  733. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_components_utils.py +0 -0
  734. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_consistency_check.py +0 -0
  735. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_constants.py +0 -0
  736. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_deprecations.py +0 -0
  737. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_descriptors.py +0 -0
  738. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_docs.py +0 -0
  739. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_examples.py +0 -0
  740. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_graph.py +0 -0
  741. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_guards.py +0 -0
  742. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_indices.py +0 -0
  743. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_io.py +0 -0
  744. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_io_cloudpathlib.py +0 -0
  745. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_link_post_discretization.py +0 -0
  746. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_ac_dc.py +0 -0
  747. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_activity_mask.py +0 -0
  748. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_and_subsequent_power_flow.py +0 -0
  749. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_global_constraints.py +0 -0
  750. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_iteratively.py +0 -0
  751. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_losses.py +0 -0
  752. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_mga.py +0 -0
  753. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_modularity.py +0 -0
  754. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_multiinvest.py +0 -0
  755. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_multilink.py +0 -0
  756. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_process.py +0 -0
  757. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_quadratic_costs.py +0 -0
  758. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_rolling_horizon.py +0 -0
  759. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_storage.py +0 -0
  760. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_unit_commitment.py +0 -0
  761. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lopf_varying_inputs.py +0 -0
  762. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lpf_ac_dc.py +0 -0
  763. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_lpf_against_pypower.py +0 -0
  764. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_meshed_threshold.py +0 -0
  765. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_network.py +0 -0
  766. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_network_cycles.py +0 -0
  767. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_network_index.py +0 -0
  768. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_network_transform.py +0 -0
  769. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_objective_constant.py +0 -0
  770. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_optimization_expressions.py +0 -0
  771. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_optional_dependencies.py +0 -0
  772. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_options.py +0 -0
  773. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_pf_activity_mask.py +0 -0
  774. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_pf_against_pandapower.py +0 -0
  775. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_pf_against_pypower.py +0 -0
  776. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_pf_distributed_slack.py +0 -0
  777. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_plot_maps_common.py +0 -0
  778. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_plot_maps_interactive.py +0 -0
  779. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_plot_maps_static.py +0 -0
  780. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_riskaversion.py +0 -0
  781. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_sclopf_scigrid.py +0 -0
  782. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_snapshot_weightings.py +0 -0
  783. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_spatial_clustering.py +0 -0
  784. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_stand_by_cost.py +0 -0
  785. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_statistics.py +0 -0
  786. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_statistics_plot.py +0 -0
  787. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_statistics_plot_schema.py +0 -0
  788. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_stochastic.py +0 -0
  789. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_stochastic_not_implemented.py +0 -0
  790. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_subnetwork.py +0 -0
  791. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_temporal_clustering.py +0 -0
  792. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_transmission_losses.py +0 -0
  793. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_transport_delay.py +0 -0
  794. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_version.py +0 -0
  795. {pypsa-1.2.2 → pypsa-1.2.3}/test/test_warnings_cyclic_storage.py +0 -0
@@ -82,7 +82,7 @@ jobs:
82
82
 
83
83
  - name: Setup Pixi
84
84
  if: steps.filter.outputs.src == 'true' || github.event_name == 'schedule'
85
- uses: prefix-dev/setup-pixi@v0.9.5
85
+ uses: prefix-dev/setup-pixi@v0.9.6
86
86
  with:
87
87
  pixi-version: v0.68.1
88
88
  cache: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pypsa
3
- Version: 1.2.2
3
+ Version: 1.2.3
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
@@ -82,6 +82,7 @@ Requires-Dist: pytest; extra == "dev"
82
82
  Requires-Dist: pytest-cov; extra == "dev"
83
83
  Requires-Dist: pytest-mpl; extra == "dev"
84
84
  Requires-Dist: coverage; extra == "dev"
85
+ Requires-Dist: matplotlib<3.11; extra == "dev"
85
86
  Requires-Dist: pypower; extra == "dev"
86
87
  Requires-Dist: pandapower>=2.14.11; extra == "dev"
87
88
  Requires-Dist: scikit-learn; extra == "dev"
@@ -6,7 +6,7 @@ SPDX-License-Identifier: CC-BY-4.0
6
6
 
7
7
  # Release Notes
8
8
 
9
- ## [**v1.2.2**](https://github.com/PyPSA/PyPSA/releases/tag/v1.2.2) <small>25th May 2026</small> { id="v1.2.2" }
9
+ ## [**v1.2.3**](https://github.com/PyPSA/PyPSA/releases/tag/v1.2.3) <small>12th June 2026</small> { id="v1.2.3" }
10
10
 
11
11
  <!--
12
12
  !!! info "Upcoming Release"
@@ -16,6 +16,21 @@ SPDX-License-Identifier: CC-BY-4.0
16
16
  to install the `master` branch, e.g. `pip install git+https://github.com/pypsa/pypsa`.
17
17
  -->
18
18
 
19
+ ### Features
20
+
21
+ - Added compatibility with the stricter dimension alignment handling in the upcoming linopy `>=0.8`. (<!-- md:pr 1708 -->)
22
+
23
+ ### Bug Fixes
24
+
25
+ - Fix [`n.optimize()`][pypsa.optimization.OptimizationAccessor.__call__] silently ignoring a static `p_set` attribute. (<!-- md:pr 1703 -->)
26
+
27
+ - Fix optimization results being silently zeroed for components which are not yet present in the existing dynamic result data. Regression introduced in `v1.2.0`. (<!-- md:pr 1726 -->)
28
+
29
+ - Avoid redundant traces and legends in interactive statistics bar plots when the color dimension duplicates an axis. (<!-- md:pr 1710 -->)
30
+
31
+
32
+ ## [**v1.2.2**](https://github.com/PyPSA/PyPSA/releases/tag/v1.2.2) <small>25th May 2026</small> { id="v1.2.2" }
33
+
19
34
  ### Bug Fixes
20
35
 
21
36
  - 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 -->)
@@ -74,6 +74,7 @@ dev = [
74
74
  "pytest-cov",
75
75
  "pytest-mpl",
76
76
  "coverage",
77
+ "matplotlib<3.11", # remove when uv.lock is tracked
77
78
  "pypower",
78
79
  "pandapower>=2.14.11",
79
80
  "scikit-learn",
@@ -134,6 +135,9 @@ filterwarnings = [
134
135
  # Ignore linopy warnings
135
136
  "default:Coordinates across variables not equal. Perform outer join.:UserWarning",
136
137
  "ignore:In a future version of xarray the default value for join will change:FutureWarning",
138
+
139
+ # Ignore pandas<3.0.3 usage of the deprecated `locs` attribute of matplotlib>=3.11
140
+ "ignore:The locs attribute was deprecated:DeprecationWarning",
137
141
  ]
138
142
  markers = [
139
143
  "mpl_image_compare",
@@ -301,7 +301,7 @@ class OptionsNode:
301
301
  continue
302
302
 
303
303
  # PYPSA_GENERAL__ALLOW_NETWORK_REQUESTS -> general.allow_network_requests
304
- option_path = env_var[len(prefix) :].replace("__", ".").lower()
304
+ option_path = env_var.removeprefix(prefix).replace("__", ".").lower()
305
305
 
306
306
  lower_value = env_value.lower()
307
307
  # Handle common booleans
@@ -29,11 +29,16 @@ if TYPE_CHECKING:
29
29
  logger = logging.getLogger(__name__)
30
30
 
31
31
 
32
+ def _sum_keep_na(s: Series) -> float:
33
+ """Sum keeping all nan groups as nan instead of collapsing them to 0."""
34
+ return s.sum(min_count=1)
35
+
36
+
32
37
  DEFAULT_ONE_PORT_STRATEGIES = {
33
38
  "p": "sum",
34
39
  "q": "sum",
35
- "p_set": "sum",
36
- "q_set": "sum",
40
+ "p_set": _sum_keep_na,
41
+ "q_set": _sum_keep_na,
37
42
  "p_nom": pd.Series.sum, # resolve infinities, see https://github.com/pandas-dev/pandas/issues/54161
38
43
  "p_nom_max": pd.Series.sum, # resolve infinities, see https://github.com/pandas-dev/pandas/issues/54161
39
44
  "p_nom_min": "sum",
@@ -53,7 +53,7 @@ def _set_dynamic_data(n: Network, component: str, attr: str, df: pd.DataFrame) -
53
53
  c.dynamic[attr] = df.reindex(n.snapshots)
54
54
 
55
55
  else:
56
- c.dynamic[attr].update(df)
56
+ c.dynamic[attr] = df.combine_first(c.dynamic[attr])
57
57
 
58
58
  # Reindex to match network snapshots and component names
59
59
  result = c.dynamic[attr].reindex(n.snapshots, level="snapshot", axis=0)
@@ -1574,7 +1574,8 @@ def define_fixed_operation_constraints(
1574
1574
  c = as_components(n, component)
1575
1575
  attr_set = f"{attr}_set"
1576
1576
 
1577
- if attr_set not in c.dynamic.keys() or c.dynamic[attr_set].empty:
1577
+ # Those internal guards should be removed and for Lines/ Transformers which are passive, the method should not even be called (clean up needed everywhere)
1578
+ if attr_set not in c.dynamic.keys():
1578
1579
  return
1579
1580
 
1580
1581
  fix = c.da[attr_set].sel(snapshot=sns, name=c.active_assets)
@@ -216,7 +216,6 @@ class OptimizationAbstractMGAMixin:
216
216
  coeffs = pd.Series(coeffs)
217
217
  if attr == nominal_attrs[c] and isinstance(coeffs, pd.Series):
218
218
  coeffs = coeffs.reindex(self._n.c[c].extendables, fill_value=0)
219
- coeffs.index.name = ""
220
219
  elif isinstance(coeffs, pd.Series):
221
220
  coeffs = coeffs.reindex(columns=self._n.c[c].static.index)
222
221
  elif isinstance(coeffs, pd.DataFrame):
@@ -649,6 +649,9 @@ class ChartGenerator(PlotsGenerator, ABC):
649
649
  ldata[y], categories=ldata[y].unique(), ordered=True
650
650
  )
651
651
 
652
+ if kind == "bar" and color in {x, y}:
653
+ color = None
654
+
652
655
  # Prepare color mapping if color column is provided
653
656
  if color and color_discrete_map is None and color in ldata.columns:
654
657
  color_values = ldata[color].unique()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pypsa
3
- Version: 1.2.2
3
+ Version: 1.2.3
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
@@ -82,6 +82,7 @@ Requires-Dist: pytest; extra == "dev"
82
82
  Requires-Dist: pytest-cov; extra == "dev"
83
83
  Requires-Dist: pytest-mpl; extra == "dev"
84
84
  Requires-Dist: coverage; extra == "dev"
85
+ Requires-Dist: matplotlib<3.11; extra == "dev"
85
86
  Requires-Dist: pypower; extra == "dev"
86
87
  Requires-Dist: pandapower>=2.14.11; extra == "dev"
87
88
  Requires-Dist: scikit-learn; extra == "dev"
@@ -462,6 +462,7 @@ test/test_network_cycles.py
462
462
  test/test_network_index.py
463
463
  test/test_network_transform.py
464
464
  test/test_objective_constant.py
465
+ test/test_optimization_common.py
465
466
  test/test_optimization_expressions.py
466
467
  test/test_optional_dependencies.py
467
468
  test/test_options.py
@@ -28,6 +28,7 @@ pytest
28
28
  pytest-cov
29
29
  pytest-mpl
30
30
  coverage
31
+ matplotlib<3.11
31
32
  pypower
32
33
  pandapower>=2.14.11
33
34
  scikit-learn
@@ -141,7 +141,7 @@ def stochastic_network():
141
141
  def ac_dc_solved():
142
142
  n = pypsa.examples.ac_dc_meshed()
143
143
  n.optimize()
144
- del n.model.solver_model
144
+ n.model.solver_model = None
145
145
  return n
146
146
 
147
147
 
@@ -326,9 +326,11 @@ def test_define_generator_constraints():
326
326
  )
327
327
 
328
328
 
329
- def test_define_fixed_operational_constraints_positive():
329
+ @pytest.mark.parametrize("mode", ["dynamic", "static", "mixed"])
330
+ def test_define_fixed_operational_constraints_positive(mode):
330
331
  """
331
- Test fixed operational constraints: fix to a positive value
332
+ Test fixed operational constraints: fix to a positive value, set statically,
333
+ dynamically, or both on the same snapshot
332
334
  """
333
335
  n = pypsa.Network()
334
336
  n.add("Bus", "bus0")
@@ -337,15 +339,26 @@ def test_define_fixed_operational_constraints_positive():
337
339
  n.add("Generator", "gen1", bus="bus0", p_nom=5, marginal_cost=5)
338
340
  n.add("Generator", "gen2", bus="bus0", p_nom=10, marginal_cost=9)
339
341
 
340
- n.c.generators.dynamic.p_set["gen2"] = 10
342
+ if mode == "dynamic":
343
+ n.c.generators.dynamic.p_set["gen2"] = 8
344
+ elif mode == "static":
345
+ n.c.generators.static.loc["gen2", "p_set"] = 8
346
+ elif mode == "mixed":
347
+ n.c.generators.static.loc["gen2", "p_set"] = 8
348
+ n.c.generators.dynamic.p_set["gen1"] = 1
341
349
 
342
350
  n.optimize()
343
351
 
344
- assert n.c.generators.dynamic.p["gen2"].eq(10).all()
345
- assert n.c.generators.dynamic.p["gen0"].eq(0).all()
352
+ assert n.c.generators.dynamic.p["gen2"].eq(8).all()
353
+ if mode == "mixed":
354
+ assert n.c.generators.dynamic.p["gen1"].eq(1).all()
355
+ assert n.c.generators.dynamic.p["gen0"].eq(1).all()
356
+ else:
357
+ assert n.c.generators.dynamic.p["gen0"].eq(2).all()
346
358
 
347
359
 
348
- def test_define_fixed_operational_constraints_zero():
360
+ @pytest.mark.parametrize("static", [False, True])
361
+ def test_define_fixed_operational_constraints_zero(static):
349
362
  """
350
363
  Test fixed operational constraints: fix to a zero value
351
364
  """
@@ -356,7 +369,10 @@ def test_define_fixed_operational_constraints_zero():
356
369
  n.add("Generator", "gen1", bus="bus0", p_nom=5, marginal_cost=5)
357
370
  n.add("Generator", "gen2", bus="bus0", p_nom=10, marginal_cost=9)
358
371
 
359
- n.c.generators.dynamic.p_set["gen0"] = 0
372
+ if static:
373
+ n.c.generators.static.loc["gen0", "p_set"] = 0
374
+ else:
375
+ n.c.generators.dynamic.p_set["gen0"] = 0
360
376
 
361
377
  n.optimize()
362
378
 
@@ -365,6 +381,36 @@ def test_define_fixed_operational_constraints_zero():
365
381
  assert n.c.generators.dynamic.p["gen2"].eq(5).all()
366
382
 
367
383
 
384
+ @pytest.mark.parametrize("static", [False, True])
385
+ def test_define_fixed_operational_constraints_storage_unit(static):
386
+ """
387
+ Test fixed operational constraints: StorageUnit p_set fixes the net power
388
+ p_dispatch - p_store
389
+ """
390
+ n = pypsa.Network()
391
+ n.add("Bus", "bus0")
392
+ n.add("Load", "load0", bus="bus0", p_set=10)
393
+ n.add("Generator", "gen0", bus="bus0", p_nom=20, marginal_cost=5)
394
+ n.add(
395
+ "StorageUnit",
396
+ "su0",
397
+ bus="bus0",
398
+ p_nom=10,
399
+ state_of_charge_initial=10,
400
+ marginal_cost=9,
401
+ )
402
+
403
+ if static:
404
+ n.c.storage_units.static.loc["su0", "p_set"] = 4
405
+ else:
406
+ n.c.storage_units.dynamic.p_set["su0"] = 4
407
+
408
+ n.optimize()
409
+
410
+ assert n.c.storage_units.dynamic.p["su0"].eq(4).all()
411
+ assert n.c.generators.dynamic.p["gen0"].eq(6).all()
412
+
413
+
368
414
  def test_define_fixed_operational_constraints_extendable():
369
415
  """
370
416
  Test fixed operational constraints: extendable component"
@@ -0,0 +1,25 @@
1
+ # SPDX-FileCopyrightText: PyPSA Contributors
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ import pandas as pd
6
+
7
+ import pypsa
8
+ from pypsa.optimization.common import _set_dynamic_data
9
+
10
+
11
+ def test_set_dynamic_data_preserves_and_extends_columns():
12
+ """Dynamic data of components added after a previous assignment must not be lost.
13
+
14
+ See https://github.com/PyPSA/PyPSA/issues/1723.
15
+ """
16
+ n = pypsa.Network()
17
+ n.set_snapshots(range(3))
18
+ n.add("Bus", "b")
19
+ n.add("Load", ["old", "new"], bus="b")
20
+ n.c.loads.dynamic.p = pd.DataFrame({"old": 1.0}, index=n.snapshots)
21
+
22
+ df = pd.DataFrame({"old": 3.0, "new": 2.0}, index=n.snapshots)
23
+ _set_dynamic_data(n, "Load", "p", df)
24
+
25
+ pd.testing.assert_frame_equal(n.c.loads.dynamic.p, df, check_names=False)
@@ -124,6 +124,15 @@ def test_iplot_stacked_parameter(ac_dc_network_r, stacked):
124
124
  assert isinstance(fig, go.Figure)
125
125
 
126
126
 
127
+ def test_iplot_bar_drops_redundant_axis_color(ac_dc_network_r):
128
+ """Bar charts should not split traces when color duplicates an axis."""
129
+ fig = ac_dc_network_r.statistics.energy_balance.iplot.bar()
130
+
131
+ assert isinstance(fig, go.Figure)
132
+ assert len(fig.data) == 1
133
+ assert fig.data[0].showlegend is False
134
+
135
+
127
136
  def test_iplot_category_orders(ac_dc_network_r):
128
137
  """Test creating a plot with specified category orders."""
129
138
  # Create plot with specified orders if applicable columns exist
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes