zen-garden 2.8.0__tar.gz → 2.8.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.
Files changed (39) hide show
  1. {zen_garden-2.8.0 → zen_garden-2.8.2}/PKG-INFO +1 -1
  2. {zen_garden-2.8.0 → zen_garden-2.8.2}/pyproject.toml +4 -4
  3. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/__init__.py +2 -1
  4. zen_garden-2.8.0/zen_garden/cli/zen_example.py → zen_garden-2.8.2/zen_garden/cli/zen_example_cli.py +1 -1
  5. zen_garden-2.8.0/zen_garden/cli/zen_garden.py → zen_garden-2.8.2/zen_garden/cli/zen_garden_cli.py +5 -5
  6. zen_garden-2.8.0/zen_garden/cli/zen_visualization.py → zen_garden-2.8.2/zen_garden/cli/zen_visualization_cli.py +1 -1
  7. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/utils.py +2 -0
  8. {zen_garden-2.8.0 → zen_garden-2.8.2}/LICENSE.txt +0 -0
  9. {zen_garden-2.8.0 → zen_garden-2.8.2}/README.md +0 -0
  10. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/__main__.py +0 -0
  11. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/cli/__init__.py +0 -0
  12. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/default_config.py +0 -0
  13. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/__init__.py +0 -0
  14. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/carrier/__init__.py +0 -0
  15. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/carrier/carrier.py +0 -0
  16. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/component.py +0 -0
  17. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/element.py +0 -0
  18. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/energy_system.py +0 -0
  19. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/technology/__init__.py +0 -0
  20. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/technology/conversion_technology.py +0 -0
  21. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/technology/retrofitting_technology.py +0 -0
  22. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/technology/storage_technology.py +0 -0
  23. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/technology/technology.py +0 -0
  24. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/technology/transport_technology.py +0 -0
  25. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/model/time_steps.py +0 -0
  26. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/optimization_setup.py +0 -0
  27. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/.gitkeep +0 -0
  28. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/__init__.py +0 -0
  29. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/comparisons.py +0 -0
  30. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/postprocess.py +0 -0
  31. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/results/__init__.py +0 -0
  32. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/results/results.py +0 -0
  33. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/postprocess/results/solution_loader.py +0 -0
  34. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/preprocess/__init__.py +0 -0
  35. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/preprocess/extract_input_data.py +0 -0
  36. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/preprocess/parameter_change_log.py +0 -0
  37. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/preprocess/time_series_aggregation.py +0 -0
  38. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/preprocess/unit_handling.py +0 -0
  39. {zen_garden-2.8.0 → zen_garden-2.8.2}/zen_garden/runner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zen_garden
3
- Version: 2.8.0
3
+ Version: 2.8.2
4
4
  Summary: ZEN-garden is an optimization model of energy systems and value chains.
5
5
  Author: Alissa Ganter, Johannes Burger, Francesco De Marco, Lukas Kunz, Lukas Schmidt-Engelbertz, Christoph Funke, Paolo Gabrielli, Giovanni Sansavini
6
6
  Author-email: Jacob Mannhardt <zen-garden@ethz.ch>
@@ -16,7 +16,7 @@ authors = [
16
16
  {name = "Giovanni Sansavini"},
17
17
  ]
18
18
  # do not change version manually! Done by bump2version
19
- version = "2.8.0"
19
+ version = "2.8.2"
20
20
  requires-python= ">=3.11,<3.14"
21
21
  description="ZEN-garden is an optimization model of energy systems and value chains."
22
22
  readme = "README.md"
@@ -78,6 +78,6 @@ Zenodo = "https://zenodo.org/api/records/13385110"
78
78
  addopts = "-n auto"
79
79
 
80
80
  [project.scripts]
81
- zen-garden = "zen_garden.cli.zen_garden:cli_zen_garden"
82
- zen-visualization = "zen_garden.cli.zen_visualization:cli_zen_visualization"
83
- zen-example = "zen_garden.cli.zen_example:cli_zen_example"
81
+ zen-garden = "zen_garden.cli.zen_garden_cli:create_zen_garden_cli"
82
+ zen-visualization = "zen_garden.cli.zen_visualization_cli:create_zen_visualization_cli"
83
+ zen-example = "zen_garden.cli.zen_example_cli:create_zen_example_cli"
@@ -7,8 +7,9 @@ from .optimization_setup import OptimizationSetup
7
7
  from .runner import run
8
8
  from .postprocess.results.results import Results
9
9
  from .utils import download_example_dataset
10
+ from .postprocess.comparisons import compare_model_values, compare_configs, compare_dicts
10
11
 
11
- __all__ = ["run", "Results", "download_example_dataset"]
12
+ __all__ = ["run", "Results", "download_example_dataset", "compare_model_value", "compare_configs", "compare_dicts"]
12
13
 
13
14
 
14
15
  # set the element classes of the EnergySystem class
@@ -2,7 +2,7 @@ import argparse
2
2
  import sys
3
3
  from zen_garden.utils import download_example_dataset
4
4
 
5
- def cli_zen_example():
5
+ def create_zen_example_cli():
6
6
  """
7
7
  Entry point for the `zen-example` command-line interface.
8
8
 
@@ -39,8 +39,8 @@ def build_parser() -> argparse.ArgumentParser:
39
39
  Returns:
40
40
  argparse.ArgumentParser: An argument parser configured for the
41
41
  ZEN-Garden command-line interface.
42
- """
43
42
 
43
+ """
44
44
  description = (
45
45
  "Run ZEN-Garden with a given config file. By default, the config file "
46
46
  "is read from the current working directory. You may specify a config "
@@ -103,8 +103,8 @@ def resolve_job_index(job_index:str, job_index_var:str) -> list[int]:
103
103
  Returns:
104
104
  list[int] | None: List of job indices to run in the current instance of
105
105
  ZEN-garden, or ``None`` if no job index is specified.
106
- """
107
106
 
107
+ """
108
108
  if job_index:
109
109
  return [int(i) for i in job_index.split(",")]
110
110
  elif ((env_value := os.environ.get(job_index_var)) is not None):
@@ -112,7 +112,7 @@ def resolve_job_index(job_index:str, job_index_var:str) -> list[int]:
112
112
  else:
113
113
  return None
114
114
 
115
- def cli_zen_garden():
115
+ def create_zen_garden_cli():
116
116
  """
117
117
  Entry point for the `zen-garden` command-line interface.
118
118
 
@@ -154,9 +154,9 @@ def cli_zen_garden():
154
154
  Examples:
155
155
  Basic usage in a command line prompt:
156
156
 
157
- >>> zen-garden --config=".\config.json" --dataset="1_base_case"
158
- """
157
+ >>> zen-garden --config=".\\config.json" --dataset="1_base_case"
159
158
 
159
+ """
160
160
  # parse command line arguments
161
161
  parser = build_parser()
162
162
  args = parser.parse_args()
@@ -1,6 +1,6 @@
1
1
  from zen_temple.main import parse_arguments_and_run
2
2
 
3
- def cli_zen_visualization():
3
+ def create_zen_visualization_cli():
4
4
  """
5
5
  Entry point for the `zen-visualization` command-line interface.
6
6
 
@@ -351,6 +351,8 @@ def slice_df_by_index(df,index_tuple) -> dict:
351
351
  if isinstance(index[key], list):
352
352
  df = df.loc[df.index.get_level_values(key).isin(index[key])]
353
353
  else:
354
+ if index[key] not in df.index.get_level_values(key):
355
+ df = pd.DataFrame(columns=df.columns) # return empty dataframe if value not in index
354
356
  df = df.xs(index[key], level=key, drop_level=False)
355
357
  return df
356
358
 
File without changes
File without changes