fameio 1.8.2__py3-none-any.whl → 2.0.0__py3-none-any.whl

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 (46) hide show
  1. CHANGELOG.md +204 -0
  2. fameio/scripts/__init__.py +8 -6
  3. fameio/scripts/__init__.py.license +3 -0
  4. fameio/scripts/convert_results.py +30 -34
  5. fameio/scripts/convert_results.py.license +3 -0
  6. fameio/scripts/make_config.py +13 -16
  7. fameio/scripts/make_config.py.license +3 -0
  8. fameio/source/cli/__init__.py +3 -0
  9. fameio/source/cli/convert_results.py +75 -0
  10. fameio/source/cli/make_config.py +62 -0
  11. fameio/source/cli/options.py +59 -0
  12. fameio/source/cli/parser.py +238 -0
  13. fameio/source/loader.py +10 -11
  14. fameio/source/logs.py +49 -25
  15. fameio/source/results/conversion.py +11 -13
  16. fameio/source/results/csv_writer.py +16 -5
  17. fameio/source/results/data_transformer.py +3 -2
  18. fameio/source/results/input_dao.py +163 -0
  19. fameio/source/results/reader.py +25 -14
  20. fameio/source/results/yaml_writer.py +28 -0
  21. fameio/source/scenario/agent.py +56 -39
  22. fameio/source/scenario/attribute.py +9 -12
  23. fameio/source/scenario/contract.py +55 -40
  24. fameio/source/scenario/exception.py +11 -9
  25. fameio/source/scenario/generalproperties.py +11 -17
  26. fameio/source/scenario/scenario.py +19 -14
  27. fameio/source/schema/agenttype.py +75 -27
  28. fameio/source/schema/attribute.py +8 -7
  29. fameio/source/schema/schema.py +24 -11
  30. fameio/source/series.py +146 -25
  31. fameio/source/time.py +8 -8
  32. fameio/source/tools.py +13 -2
  33. fameio/source/validator.py +138 -58
  34. fameio/source/writer.py +108 -112
  35. fameio-2.0.0.dist-info/LICENSES/Apache-2.0.txt +178 -0
  36. fameio-2.0.0.dist-info/LICENSES/CC-BY-4.0.txt +395 -0
  37. fameio-2.0.0.dist-info/LICENSES/CC0-1.0.txt +121 -0
  38. {fameio-1.8.2.dist-info → fameio-2.0.0.dist-info}/METADATA +694 -660
  39. fameio-2.0.0.dist-info/RECORD +52 -0
  40. {fameio-1.8.2.dist-info → fameio-2.0.0.dist-info}/WHEEL +1 -2
  41. fameio-2.0.0.dist-info/entry_points.txt +4 -0
  42. fameio/source/cli.py +0 -253
  43. fameio-1.8.2.dist-info/RECORD +0 -40
  44. fameio-1.8.2.dist-info/entry_points.txt +0 -3
  45. fameio-1.8.2.dist-info/top_level.txt +0 -1
  46. {fameio-1.8.2.dist-info → fameio-2.0.0.dist-info}/LICENSE.txt +0 -0
@@ -0,0 +1,52 @@
1
+ CHANGELOG.md,sha256=HzXg9-Yd8w0npG0ZJfmcGQNbP59XQchdOpZlWvFHIWI,9874
2
+ fameio/__init__.py,sha256=IQm0MNOXkhBexiMXBoNZDK5xHUYgazH7oXm-lc0Vm04,109
3
+ fameio/scripts/__init__.py,sha256=Bdu79kajJvvmPWdSP82Y6G8MCpP4n9ftTR-snWSbMJY,741
4
+ fameio/scripts/__init__.py.license,sha256=2-OqCNxP4504xY2XQqseYypJi1_Qx4xJSzO3t7c3ACM,107
5
+ fameio/scripts/convert_results.py,sha256=Ddv40nIK4fuFgGd_l81KtCg7rzAuH_sNzjuqL2w7xfQ,3635
6
+ fameio/scripts/convert_results.py.license,sha256=2-OqCNxP4504xY2XQqseYypJi1_Qx4xJSzO3t7c3ACM,107
7
+ fameio/scripts/make_config.py,sha256=s5UfsGT93vfwEBXTmmhJTw0HwNvk7d5iDAbbL5u7o2c,1349
8
+ fameio/scripts/make_config.py.license,sha256=2-OqCNxP4504xY2XQqseYypJi1_Qx4xJSzO3t7c3ACM,107
9
+ fameio/source/__init__.py,sha256=14CnWOIkdSeKQg6FioQSgO7UtEFF6pO4MUtDAUfwNmA,278
10
+ fameio/source/cli/__init__.py,sha256=UqrdWnYMoy-o2--m0a4c-MtAorsc4eILXaPq27EXM1Q,112
11
+ fameio/source/cli/convert_results.py,sha256=VmGBTCXlr6G2AziS3RRGUk4g0agf6MVuMxlWq3fbzZ0,3072
12
+ fameio/source/cli/make_config.py,sha256=_PsQTQNYqRKr8PyGZtMDQskK_qn-tH_rsUZqesYK0UI,2369
13
+ fameio/source/cli/options.py,sha256=zprTvGVNF8Nm71XJ3eMKrwb5pn2ait8VdDwwP5UYLNA,1413
14
+ fameio/source/cli/parser.py,sha256=gFkWDjTj2e08ZbIWio7d4KOLHFJiCDq-tsL-oP2y_00,9366
15
+ fameio/source/loader.py,sha256=SzExknxxrMoL5RG_7TAJ1jVxm93r9VrwT3bzJ196zO4,7433
16
+ fameio/source/logs.py,sha256=sg8MYTm1lquUA8mJSfhaYsC9Dm78fpHstQbQWAM41E8,2806
17
+ fameio/source/path_resolver.py,sha256=cIEVvz7Eh4e3Rh87XkwyGiyj9iKxUI7TzWtq6ClhLd8,1321
18
+ fameio/source/results/__init__.py,sha256=IQm0MNOXkhBexiMXBoNZDK5xHUYgazH7oXm-lc0Vm04,109
19
+ fameio/source/results/agent_type.py,sha256=pW5cLduLlNOcBBvS6sCLpTpZt3D6B8UMsizEZhe5lJ0,4321
20
+ fameio/source/results/conversion.py,sha256=ZaTM3kejkmAr8INdI7FTHoJglFm6MlEGd7phJt1Po1c,3721
21
+ fameio/source/results/csv_writer.py,sha256=txs26dqThagTseCC6UCjBK2ByQZYbNR_sPldUIGPnow,4868
22
+ fameio/source/results/data_transformer.py,sha256=KP2Z-R0Na5JjOvI_DWgmaAdR5wdXKOxbIuUxsIXZ5nY,6264
23
+ fameio/source/results/input_dao.py,sha256=VDIbcq0z600kptyktLPM7RsvZWsx6KBJvvViCL2jOdI,6928
24
+ fameio/source/results/output_dao.py,sha256=8FocGe4yyH3EdHD5Chw9uCGnDetfJoSglBga0o3lnWE,3960
25
+ fameio/source/results/reader.py,sha256=OH18c-IBR7j0uKp2ZU_j5vPIFfasv3ziipjcgXDXYl0,5078
26
+ fameio/source/results/yaml_writer.py,sha256=9BjS0hMcGr2qgtcpwoY3Mmh-XyG3kjkTYqDI-xSAXww,843
27
+ fameio/source/scenario/__init__.py,sha256=YfJvz275GWX8kVWMSMRcF3KsUQNqSAPrwBgNV7tqBTY,372
28
+ fameio/source/scenario/agent.py,sha256=Z8jfMfUjrTJ4R1rEpwNdKCblhEx6-9xioewxGuajuqw,4713
29
+ fameio/source/scenario/attribute.py,sha256=-Ed6jHlztwf9NhvpfRNt6ohGKKqkPBx_hLvGFE6O6K0,4834
30
+ fameio/source/scenario/contract.py,sha256=WI9dY8xWEXB5vGvXWDye6LAA9P-8GXFAep8Z-QTbhjg,9448
31
+ fameio/source/scenario/exception.py,sha256=2mJC8EuZqyZsb31qw6ZtOBZWKm9kILgB3n3JHrIYmAc,1560
32
+ fameio/source/scenario/fameiofactory.py,sha256=7P-x8i9sSU9sIkOlgF6gVRFuNacFMUBrBh4KdHoAUtU,1376
33
+ fameio/source/scenario/generalproperties.py,sha256=CaFny6xyGs3sHqSHNKyWUB68lWOrTOnYfAnIcPaSusQ,4545
34
+ fameio/source/scenario/scenario.py,sha256=j2IVVZlpBJjYECXzBouFtrDXPPES0uSf_Q2l0MzcQkQ,3727
35
+ fameio/source/schema/__init__.py,sha256=ZGTyliDbjlYGPAjB9bbggzACOYWdhm4I1VSmm7YGmTk,270
36
+ fameio/source/schema/agenttype.py,sha256=x4A5eLDC9SfC2PwUUUg0U6OdFJ49oLH61CwSWDoIKZc,5198
37
+ fameio/source/schema/attribute.py,sha256=rcltVycTipwnrQNiKFJTifhuDZHgLOcVtcYjOwHDo2A,8308
38
+ fameio/source/schema/exception.py,sha256=NMftGnrFOaS3MwrjZl8qbx3bi6KYUxhzHJIX1v--B5M,224
39
+ fameio/source/schema/schema.py,sha256=TmlIwnVUjKbNx6ZH8soe2tbiQ0-X7oqIsrSNBGlOwWk,2240
40
+ fameio/source/series.py,sha256=g2nwFqED-TQhHP5YraWcavmLBXmVxEKEF4HKa9C5n4I,8120
41
+ fameio/source/time.py,sha256=Vsd95nTubL8x5cwiznJYeti6clZCCHHJv7xjSpYqkF0,6984
42
+ fameio/source/tools.py,sha256=7YxX-CmsakJJB2RbBhf2u8y1-RyhDhsASHXFztkDIKE,1052
43
+ fameio/source/validator.py,sha256=bk1tkz4eu_LG28Sey9PNNT5KqQKQuokdf9OSorSJJgo,15734
44
+ fameio/source/writer.py,sha256=9v4GGKc-5d65K48f0IlqgB0UTYu4XTwPzzLS_JD7Wp8,11353
45
+ fameio-2.0.0.dist-info/entry_points.txt,sha256=jvQVfwJjZXPWQjJlhj1Dt6PTeblryTc1GxjKeK90twI,123
46
+ fameio-2.0.0.dist-info/LICENSE.txt,sha256=eGHBZnhr9CWjE95SWjRfmhtK1lvVn5X4Fpf3KrrAZDg,10391
47
+ fameio-2.0.0.dist-info/LICENSES/Apache-2.0.txt,sha256=eGHBZnhr9CWjE95SWjRfmhtK1lvVn5X4Fpf3KrrAZDg,10391
48
+ fameio-2.0.0.dist-info/LICENSES/CC-BY-4.0.txt,sha256=y9WvMYKGt0ZW8UXf9QkZB8wj1tjJrQngKR7CSXeSukE,19051
49
+ fameio-2.0.0.dist-info/LICENSES/CC0-1.0.txt,sha256=9Ofzc7m5lpUDN-jUGkopOcLZC3cl6brz1QhKInF60yg,7169
50
+ fameio-2.0.0.dist-info/METADATA,sha256=V2Z4AkAJLlyCbFml9ZF6B9_0TzsrtkBr0F-5ZWWHwWs,30769
51
+ fameio-2.0.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
52
+ fameio-2.0.0.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: poetry-core 1.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -0,0 +1,4 @@
1
+ [console_scripts]
2
+ convertFameResults=fameio.scripts:convertFameResults
3
+ makeFameRunConfig=fameio.scripts:makeFameRunConfig
4
+
fameio/source/cli.py DELETED
@@ -1,253 +0,0 @@
1
- # SPDX-FileCopyrightText: 2023 German Aerospace Center <fame@dlr.de>
2
- #
3
- # SPDX-License-Identifier: Apache-2.0
4
-
5
- import argparse
6
- import copy
7
- from enum import Enum, auto
8
- from pathlib import Path
9
- from typing import Optional, Dict, Any, List, Tuple
10
-
11
- from fameio.source.logs import LOG_LEVELS
12
-
13
- ERR_NEGATIVE_INT = "Given value `{}` is not a non-negative int."
14
-
15
-
16
- class Options(Enum):
17
- """Specifies command line configuration options"""
18
-
19
- FILE = auto()
20
- LOG_LEVEL = auto()
21
- LOG_FILE = auto()
22
- OUTPUT = auto()
23
- AGENT_LIST = auto()
24
- SINGLE_AGENT_EXPORT = auto()
25
- MEMORY_SAVING = auto()
26
- RESOLVE_COMPLEX_FIELD = auto()
27
- TIME = auto()
28
- TIME_MERGING = auto()
29
-
30
-
31
- class TimeOptions(Enum):
32
- """Specifies options for conversion of time in output"""
33
-
34
- INT = auto()
35
- UTC = auto()
36
- FAME = auto()
37
-
38
-
39
- class ResolveOptions(Enum):
40
- """Specifies options for resolving complex fields in output files"""
41
-
42
- IGNORE = auto()
43
- SPLIT = auto()
44
- MERGE = auto()
45
-
46
-
47
- class MergingOptions(Enum):
48
- """Specifies options for merging TimeSteps"""
49
-
50
- FOCAL_POINT = auto()
51
- STEPS_BEFORE = auto()
52
- STEPS_AFTER = auto()
53
-
54
-
55
- def arg_handling_make_config(args: List[str], defaults: Dict) -> Tuple[str, Dict]:
56
- """Handles command line arguments and returns `input_file` and `run_config` for make_config script"""
57
- parser = argparse.ArgumentParser()
58
-
59
- add_file_argument(parser, "provide path to configuration file")
60
- add_log_level_argument(parser, defaults[Options.LOG_LEVEL])
61
- add_logfile_argument(parser)
62
- add_output_argument(parser, defaults[Options.OUTPUT], "provide file-path for the file to generate")
63
-
64
- args = parser.parse_args(args)
65
- run_config = {
66
- Options.LOG_LEVEL: args.log,
67
- Options.LOG_FILE: args.logfile,
68
- Options.OUTPUT: args.output,
69
- }
70
- return args.file, run_config
71
-
72
-
73
- def arg_handling_convert_results(args: List[str], defaults: Dict) -> Tuple[str, Dict]:
74
- """Handles command line arguments and returns `input_file` and `run_config` for convert_results script"""
75
- parser = argparse.ArgumentParser()
76
-
77
- add_file_argument(parser, "provide path to protobuf file")
78
- add_log_level_argument(parser, defaults[Options.LOG_LEVEL])
79
- add_logfile_argument(parser)
80
- add_output_argument(
81
- parser,
82
- defaults[Options.OUTPUT],
83
- "provide path to folder to store output .csv files",
84
- )
85
- add_select_agents_argument(parser)
86
- add_single_export_argument(parser, defaults[Options.SINGLE_AGENT_EXPORT])
87
- add_memory_saving_argument(parser, defaults[Options.MEMORY_SAVING])
88
- add_resolve_complex_argument(parser, defaults[Options.RESOLVE_COMPLEX_FIELD])
89
- add_time_argument(parser, defaults[Options.TIME])
90
- add_merge_time_parser(parser)
91
-
92
- args = parser.parse_args(args)
93
-
94
- run_config = {
95
- Options.LOG_LEVEL: args.log,
96
- Options.LOG_FILE: args.logfile,
97
- Options.OUTPUT: args.output,
98
- Options.AGENT_LIST: args.agents,
99
- Options.SINGLE_AGENT_EXPORT: args.single_export,
100
- Options.MEMORY_SAVING: args.memory_saving,
101
- Options.RESOLVE_COMPLEX_FIELD: ResolveOptions[args.complex_column],
102
- Options.TIME: args.time,
103
- Options.TIME_MERGING: get_merging_args(args),
104
- }
105
- return args.file, run_config
106
-
107
-
108
- def add_file_argument(parser: argparse.ArgumentParser, help_text: str) -> None:
109
- """Adds required 'file' argument to the provided `parser` with the provided `help_text`"""
110
- parser.add_argument("-f", "--file", type=Path, required=True, help=help_text)
111
-
112
-
113
- def add_select_agents_argument(parser: argparse.ArgumentParser) -> None:
114
- """Adds optional repeatable string argument 'agent' to given `parser`"""
115
- help_text = "Provide list of agents to extract (default=None)"
116
- parser.add_argument("-a", "--agents", nargs="*", type=str, help=help_text)
117
-
118
-
119
- def add_logfile_argument(parser: argparse.ArgumentParser) -> None:
120
- """Adds optional argument 'logfile' to given `parser`"""
121
- help_text = "provide logging file (default=None)"
122
- parser.add_argument("-lf", "--logfile", type=Path, help=help_text)
123
-
124
-
125
- def add_output_argument(parser: argparse.ArgumentParser, default_value, help_text: str) -> None:
126
- """Adds optional argument 'output' to given `parser` using the given `help_text` and `default_value`"""
127
- parser.add_argument("-o", "--output", type=Path, default=default_value, help=help_text)
128
-
129
-
130
- def add_log_level_argument(parser: argparse.ArgumentParser, default_value: str) -> None:
131
- """Adds optional argument 'log' to given `parser`"""
132
- help_text = "choose logging level (default: {})".format(default_value)
133
- parser.add_argument(
134
- "-l",
135
- "--log",
136
- default=default_value,
137
- choices=list(LOG_LEVELS.keys()),
138
- type=str.lower,
139
- help=help_text,
140
- )
141
-
142
-
143
- def add_single_export_argument(parser: argparse.ArgumentParser, default_value: bool) -> None:
144
- """Adds optional repeatable string argument 'agent' to given `parser`"""
145
- help_text = "Enable export of single agents (default=False)"
146
- parser.add_argument(
147
- "-se",
148
- "--single-export",
149
- default=default_value,
150
- action="store_true",
151
- help=help_text,
152
- )
153
-
154
-
155
- def add_memory_saving_argument(parser: argparse.ArgumentParser, default_value: bool) -> None:
156
- """Adds optional bool argument to given `parser` to enable memory saving mode"""
157
- help_text = "Reduces memory usage profile at the cost of runtime (default=False)"
158
- parser.add_argument(
159
- "-m",
160
- "--memory-saving",
161
- default=default_value,
162
- action="store_true",
163
- help=help_text,
164
- )
165
-
166
-
167
- def add_resolve_complex_argument(parser, default_value: str):
168
- """Instructs given `parser` how to deal with complex field outputs"""
169
- help_text = f"How to deal with complex index columns? (default={default_value})"
170
- parser.add_argument(
171
- "-cc",
172
- "--complex-column",
173
- default=default_value,
174
- choices=[e.name for e in ResolveOptions],
175
- help=help_text,
176
- type=str.upper,
177
- )
178
-
179
-
180
- def add_time_argument(parser: argparse.ArgumentParser, default_value: str) -> None:
181
- """Adds optional argument to given `parser` to define conversion of TimeSteps"""
182
- help_text = "Apply conversion of time steps to given format (default=UTC)"
183
- parser.add_argument(
184
- "-t", "--time", default=default_value, choices=[e.name for e in TimeOptions], help=help_text, type=str.upper
185
- )
186
-
187
-
188
- def add_merge_time_parser(parser: argparse.ArgumentParser) -> None:
189
- """Adds subparser for merging of TimeSteps to given `parser`"""
190
- subparser = parser.add_subparsers(dest="time_merging", required=False, help="Optional merging of TimeSteps")
191
- group_parser = subparser.add_parser("merge-times")
192
- add_focal_point_argument(group_parser)
193
- add_steps_before_argument(group_parser)
194
- add_steps_after_argument(group_parser)
195
-
196
-
197
- def add_focal_point_argument(parser: argparse.ArgumentParser) -> None:
198
- """Adds `focal-point` argument to given `parser`"""
199
- help_text = "TimeStep on which `steps_before` earlier and `steps_after` later TimeSteps are merged on"
200
- parser.add_argument("-fp", "--focal-point", required=True, type=int, help=help_text)
201
-
202
-
203
- def add_steps_before_argument(parser: argparse.ArgumentParser) -> None:
204
- """Adds `steps-before` argument to given `parser`"""
205
- help_text = "Range of TimeSteps before the `focal-point` they get merged to"
206
- parser.add_argument("-sb", "--steps-before", required=True, type=non_negative_int, help=help_text)
207
-
208
-
209
- def non_negative_int(value: Any) -> int:
210
- """
211
- Casts a given ´value` to int and checks it for non-negativity
212
-
213
- Args:
214
- value: to check and parse
215
-
216
- Returns:
217
- `value` parsed to int if it is a non-negative integer
218
-
219
- Raises:
220
- TypeError: if `value` is None
221
- ValueError: if `value` cannot be parsed to int
222
- argparse.ArgumentTypeError: if `value` is a negative int
223
-
224
- """
225
- value = int(value)
226
- if value < 0:
227
- raise argparse.ArgumentTypeError(ERR_NEGATIVE_INT.format(value))
228
- return value
229
-
230
-
231
- def add_steps_after_argument(parser: argparse.ArgumentParser) -> None:
232
- """Adds `steps-after` argument to given `parser`"""
233
- help_text = "Range of TimeSteps after the `focal-point` they get merged to"
234
- parser.add_argument("-sa", "--steps-after", required=True, type=non_negative_int, help=help_text)
235
-
236
-
237
- def get_merging_args(args: argparse.Namespace) -> Dict[MergingOptions, int]:
238
- """Returns a dictionary of GroupingOptions with their values if `time_merging` entry exists"""
239
- merging_args = {}
240
- if vars(args).get("time_merging"):
241
- merging_args[MergingOptions.FOCAL_POINT] = args.focal_point
242
- merging_args[MergingOptions.STEPS_BEFORE] = args.steps_before
243
- merging_args[MergingOptions.STEPS_AFTER] = args.steps_after
244
- return merging_args
245
-
246
-
247
- def update_default_config(config: Optional[dict], default: dict) -> dict:
248
- """Returns `default` config with updated fields received from `config`"""
249
- result = copy.deepcopy(default)
250
- if config:
251
- for name, option in config.items():
252
- result[name] = option
253
- return result
@@ -1,40 +0,0 @@
1
- fameio/__init__.py,sha256=IQm0MNOXkhBexiMXBoNZDK5xHUYgazH7oXm-lc0Vm04,109
2
- fameio/scripts/__init__.py,sha256=9WB1NgbuF-CoBLL_FhWJMtEAO7hUV6GUM_Grx3Y4OL8,746
3
- fameio/scripts/convert_results.py,sha256=LKqSP-jG0rEf4jK3eRxkOXOtYNo1c-WvbkYS5rXyE18,3296
4
- fameio/scripts/make_config.py,sha256=F2cmYNmWtLbLO-bHS6i8YlBtZ67JPXaKEPkiblX-QqU,1339
5
- fameio/source/__init__.py,sha256=14CnWOIkdSeKQg6FioQSgO7UtEFF6pO4MUtDAUfwNmA,278
6
- fameio/source/cli.py,sha256=UuIrC3cB-HehuoQwwjsVn86qdNdqSL5m0jmyiboKdtc,9384
7
- fameio/source/loader.py,sha256=Ol_Q83OD2HeSPD3lX8XP3bGHef-E7YvCXGEspddoAyA,7403
8
- fameio/source/logs.py,sha256=lO11JHAl6iWr_d6-ETD_IVwkeL__ZIhi27wSvSuWKnI,1929
9
- fameio/source/path_resolver.py,sha256=cIEVvz7Eh4e3Rh87XkwyGiyj9iKxUI7TzWtq6ClhLd8,1321
10
- fameio/source/series.py,sha256=BgJLmxGGzrZmWjXMYrUcj53-y3VwV8PbAaqsa1TuiRQ,1924
11
- fameio/source/time.py,sha256=TCcGl0BYVJztiptqh8uagIvYEUlKbY9FMtkxnPYM884,6943
12
- fameio/source/tools.py,sha256=SyR1VoWRos64zp7zieQ9JWnB3qP9Zh2Ig-VI9J9w5Pw,630
13
- fameio/source/validator.py,sha256=hSKogx2mQpIDlIZdi5OEa9h39dOqL9rzNW4wJS6imgE,11409
14
- fameio/source/writer.py,sha256=HqRbNOwHK-367sOi3sA1JP3ZHCS6te55Fk9T9FjlSyc,11633
15
- fameio/source/results/__init__.py,sha256=IQm0MNOXkhBexiMXBoNZDK5xHUYgazH7oXm-lc0Vm04,109
16
- fameio/source/results/agent_type.py,sha256=pW5cLduLlNOcBBvS6sCLpTpZt3D6B8UMsizEZhe5lJ0,4321
17
- fameio/source/results/conversion.py,sha256=rNf6cxWH8ewPS2hS6m9QvESMcyRVwCNU14AIVSpmzFE,3785
18
- fameio/source/results/csv_writer.py,sha256=OHjglOdEzQcWrupVMlt7ya5jC3prPP2FaX6D_yLP_xY,4216
19
- fameio/source/results/data_transformer.py,sha256=Elbb5tHzvGeGGXgw7O-mvM5IzGlddY858d3lEImBZGA,6222
20
- fameio/source/results/output_dao.py,sha256=8FocGe4yyH3EdHD5Chw9uCGnDetfJoSglBga0o3lnWE,3960
21
- fameio/source/results/reader.py,sha256=hluy_hPCbq-bbu6qyRUuph710ANXPfEv9B5Y0YyzBO0,4791
22
- fameio/source/scenario/__init__.py,sha256=YfJvz275GWX8kVWMSMRcF3KsUQNqSAPrwBgNV7tqBTY,372
23
- fameio/source/scenario/agent.py,sha256=YbzEP-mahBPkKCbyAKm9u-JTmoIrmo36ql9VhWcOtTw,3830
24
- fameio/source/scenario/attribute.py,sha256=iRGVkH33wKgB-B2GcmaDo2P4Mcj_qzzGryE_0YPhC3M,5002
25
- fameio/source/scenario/contract.py,sha256=4ewwtX9bXgM5dczKbiXvafQKloxkeG_A21_ZrcTC5cI,8853
26
- fameio/source/scenario/exception.py,sha256=0dkBAs2pcV5zeqEUF8eYVZ51b-2pewWyLDjggjANQyo,1455
27
- fameio/source/scenario/fameiofactory.py,sha256=7P-x8i9sSU9sIkOlgF6gVRFuNacFMUBrBh4KdHoAUtU,1376
28
- fameio/source/scenario/generalproperties.py,sha256=SIRmIyDFMhdzNtHfGnK4jdsZZtS8fxtKizqL6XzANyA,4593
29
- fameio/source/scenario/scenario.py,sha256=z5SaEXhfJcEDtQv_WtAo8YJVYexypz0JQdcN5d1LLOo,3582
30
- fameio/source/schema/__init__.py,sha256=ZGTyliDbjlYGPAjB9bbggzACOYWdhm4I1VSmm7YGmTk,270
31
- fameio/source/schema/agenttype.py,sha256=vXzcSGz-swftDESy5GL_6p4FXBU5kYg1bkzVnISQiXA,3331
32
- fameio/source/schema/attribute.py,sha256=pgxUjacqRhIJRgIrkBz3_r1LbbsRe9KssajRMyVRYFo,8214
33
- fameio/source/schema/exception.py,sha256=NMftGnrFOaS3MwrjZl8qbx3bi6KYUxhzHJIX1v--B5M,224
34
- fameio/source/schema/schema.py,sha256=mJyPlIhw_5AJZwNnsPCKhtfbjXKsTozBgFz5Xrkowic,1715
35
- fameio-1.8.2.dist-info/LICENSE.txt,sha256=eGHBZnhr9CWjE95SWjRfmhtK1lvVn5X4Fpf3KrrAZDg,10391
36
- fameio-1.8.2.dist-info/METADATA,sha256=0UzRgeK865VG_2AH_q2UxcfGNUrpW083UjBzqfz31J0,30295
37
- fameio-1.8.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
38
- fameio-1.8.2.dist-info/entry_points.txt,sha256=9pwKjYQ6B5n1umD1wjrGU3t9jUJ0fawThOt0wTKoqUA,126
39
- fameio-1.8.2.dist-info/top_level.txt,sha256=awP3PJ9u2oNrXHwVGcSaXYYnpCa1-4OXrUuYhnWjlMA,7
40
- fameio-1.8.2.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- convertFameResults = fameio.scripts:convertFameResults
3
- makeFameRunConfig = fameio.scripts:makeFameRunConfig
@@ -1 +0,0 @@
1
- fameio