fameio 2.1.1__py3-none-any.whl → 2.2.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.
- CHANGELOG.md +12 -3
- fameio/scripts/convert_results.py +1 -1
- fameio/scripts/make_config.py +1 -1
- fameio/source/cli/make_config.py +7 -0
- fameio/source/cli/options.py +1 -0
- fameio/source/cli/parser.py +6 -0
- fameio/source/loader.py +13 -10
- fameio/source/scenario/generalproperties.py +10 -7
- fameio/source/series.py +15 -2
- fameio/source/writer.py +13 -3
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/METADATA +9 -6
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/RECORD +18 -18
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/LICENSE.txt +0 -0
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/LICENSES/Apache-2.0.txt +0 -0
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/LICENSES/CC-BY-4.0.txt +0 -0
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/LICENSES/CC0-1.0.txt +0 -0
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/WHEEL +0 -0
- {fameio-2.1.1.dist-info → fameio-2.2.0.dist-info}/entry_points.txt +0 -0
CHANGELOG.md
CHANGED
@@ -3,15 +3,24 @@
|
|
3
3
|
SPDX-License-Identifier: CC0-1.0 -->
|
4
4
|
|
5
5
|
# Changelog
|
6
|
+
## [2.2.0](https://gitlab.com/fame-framework/fame-io/-/tags/v2.2.0) - TBA
|
7
|
+
### Changed
|
8
|
+
- New command line option `-enc --encoding` to change encoding when reading yaml-files
|
9
|
+
- Improve error message when timeseries is not found and is number string #178 (@dlr-cjs)
|
10
|
+
|
11
|
+
### Added
|
12
|
+
- Add writing of FAME-Io and FAME-Protobuf versions to created input protobuf #192 (@dlr-cjs)
|
13
|
+
- Add deprecation warning for section `GeneralProperties.Output` in scenario #203 (@dlr-cjs)
|
14
|
+
|
6
15
|
## [2.1.1](https://gitlab.com/fame-framework/fame-io/-/tags/v2.1.1) - 2024-05-28
|
7
16
|
### Fixed
|
8
17
|
- ConvertFameResults: Fix crash on complex column conversion if Agent has no simple columns #204 (@dlr_fn @dlr-cjs)
|
9
18
|
|
10
19
|
## [2.1.0](https://gitlab.com/fame-framework/fame-io/-/tags/v2.1.0) - 2024-05-11
|
11
20
|
### Changed
|
12
|
-
-
|
13
|
-
-
|
14
|
-
-
|
21
|
+
- Change format of auto-created timeseries from constant values #196 (@dlr-cjs)
|
22
|
+
- Change default log level to "WARNING" #191 (@dlr_fn @dlr-cjs)
|
23
|
+
- Adapt link-formatting in Changelog !155 (@dlr-cjs)
|
15
24
|
|
16
25
|
### Added
|
17
26
|
- Read java package names from Schema and write to input.pb #198 (@dlr-cjs)
|
@@ -17,7 +17,7 @@ from fameio.source.results.reader import Reader
|
|
17
17
|
from fameio.source.results.yaml_writer import data_to_yaml_file
|
18
18
|
|
19
19
|
ERR_MEMORY_ERROR = "Out of memory. Try using `-m` or `--memory-saving` option."
|
20
|
-
ERR_MEMORY_SEVERE = "Out of memory despite memory-saving mode. Reduce output interval in `FAME-Core` and rerun model"
|
20
|
+
ERR_MEMORY_SEVERE = "Out of memory despite memory-saving mode. Reduce output interval in `FAME-Core` and rerun model."
|
21
21
|
|
22
22
|
|
23
23
|
def run(config: dict = None) -> None:
|
fameio/scripts/make_config.py
CHANGED
@@ -19,7 +19,7 @@ def run(config: dict = None) -> None:
|
|
19
19
|
|
20
20
|
file = config[Options.FILE]
|
21
21
|
check_for_yaml_file_type(Path(file))
|
22
|
-
scenario = Scenario.from_dict(load_yaml(Path(file)))
|
22
|
+
scenario = Scenario.from_dict(load_yaml(Path(file), encoding=config[Options.INPUT_ENCODING]))
|
23
23
|
SchemaValidator.check_agents_have_contracts(scenario)
|
24
24
|
|
25
25
|
timeseries_manager = SchemaValidator.validate_scenario_and_timeseries(scenario)
|
fameio/source/cli/make_config.py
CHANGED
@@ -12,6 +12,7 @@ from fameio.source.cli.parser import (
|
|
12
12
|
add_logfile_argument,
|
13
13
|
add_output_argument,
|
14
14
|
map_namespace_to_options_dict,
|
15
|
+
add_encoding_argument,
|
15
16
|
)
|
16
17
|
|
17
18
|
CLI_DEFAULTS = {
|
@@ -19,10 +20,15 @@ CLI_DEFAULTS = {
|
|
19
20
|
Options.LOG_LEVEL: "WARN",
|
20
21
|
Options.LOG_FILE: None,
|
21
22
|
Options.OUTPUT: Path("config.pb"),
|
23
|
+
Options.INPUT_ENCODING: None,
|
22
24
|
}
|
23
25
|
|
24
26
|
_INFILE_PATH_HELP = "provide path to configuration file"
|
25
27
|
_OUTFILE_PATH_HELP = "provide file-path for the file to generate"
|
28
|
+
_ENCODING_HELP = (
|
29
|
+
"provide encoding; will be applied to all input yaml files, "
|
30
|
+
"for available encodings see https://docs.python.org/3.9/library/codecs.html#standard-encodings"
|
31
|
+
)
|
26
32
|
|
27
33
|
|
28
34
|
def handle_args(args: List[str], defaults: Optional[Dict[Options, Any]] = None) -> Dict[Options, Any]:
|
@@ -54,6 +60,7 @@ def _prepare_parser(defaults: Optional[Dict[Options, Any]]) -> argparse.Argument
|
|
54
60
|
add_log_level_argument(parser, _get_default(defaults, Options.LOG_LEVEL))
|
55
61
|
add_logfile_argument(parser, _get_default(defaults, Options.LOG_FILE))
|
56
62
|
add_output_argument(parser, _get_default(defaults, Options.OUTPUT), _OUTFILE_PATH_HELP)
|
63
|
+
add_encoding_argument(parser, _get_default(defaults, Options.INPUT_ENCODING), _ENCODING_HELP)
|
57
64
|
return parser
|
58
65
|
|
59
66
|
|
fameio/source/cli/options.py
CHANGED
fameio/source/cli/parser.py
CHANGED
@@ -17,6 +17,7 @@ _OPTION_ARGUMENT_NAME: Dict[str, Union[Options, Dict]] = {
|
|
17
17
|
"log": Options.LOG_LEVEL,
|
18
18
|
"logfile": Options.LOG_FILE,
|
19
19
|
"output": Options.OUTPUT,
|
20
|
+
"encoding": Options.INPUT_ENCODING,
|
20
21
|
"agents": Options.AGENT_LIST,
|
21
22
|
"single_export": Options.SINGLE_AGENT_EXPORT,
|
22
23
|
"memory_saving": Options.MEMORY_SAVING,
|
@@ -80,6 +81,11 @@ def add_log_level_argument(parser: ArgumentParser, default_value: str) -> None:
|
|
80
81
|
)
|
81
82
|
|
82
83
|
|
84
|
+
def add_encoding_argument(parser: ArgumentParser, default_value: Optional[str], help_text: str) -> None:
|
85
|
+
"""Adds optional argument `enc` to given parser"""
|
86
|
+
parser.add_argument("-enc", "--encoding", type=str, default=default_value, help=help_text)
|
87
|
+
|
88
|
+
|
83
89
|
def add_single_export_argument(parser: ArgumentParser, default_value: bool) -> None:
|
84
90
|
"""Adds optional repeatable string argument 'agent' to given `parser`"""
|
85
91
|
help_text = "Enable export of single agents (default=False)"
|
fameio/source/loader.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# SPDX-FileCopyrightText:
|
1
|
+
# SPDX-FileCopyrightText: 2024 German Aerospace Center <fame@dlr.de>
|
2
2
|
#
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
4
|
|
@@ -13,7 +13,9 @@ from fameio.source.path_resolver import PathResolver
|
|
13
13
|
|
14
14
|
DISABLING_YAML_FILE_PREFIX = "IGNORE_"
|
15
15
|
|
16
|
-
|
16
|
+
CRIT_NO_YAML_SUFFIX = "File must have a `.yaml` or `.yml` suffix. Received `-f/--file {}` instead."
|
17
|
+
|
18
|
+
FILE_ENCODINGS = [None]
|
17
19
|
|
18
20
|
|
19
21
|
class Args:
|
@@ -153,7 +155,7 @@ def construct_include(loader: FameYamlLoader, args: yaml.Node) -> Any:
|
|
153
155
|
|
154
156
|
joined_data = None
|
155
157
|
for file_name in files:
|
156
|
-
with open(file_name, "r") as open_file:
|
158
|
+
with open(file_name, "r", encoding=FILE_ENCODINGS[0]) as open_file:
|
157
159
|
data = read_data_from_file(open_file, nodes, loader.path_resolver)
|
158
160
|
joined_data = join_data(data, joined_data)
|
159
161
|
log().debug("Joined all files `{}` to joined data `{}`".format(files, joined_data))
|
@@ -163,16 +165,17 @@ def construct_include(loader: FameYamlLoader, args: yaml.Node) -> Any:
|
|
163
165
|
FameYamlLoader.add_constructor("!include", construct_include)
|
164
166
|
|
165
167
|
|
166
|
-
def load_yaml(yaml_file_path: Path, path_resolver=PathResolver()):
|
168
|
+
def load_yaml(yaml_file_path: Path, path_resolver=PathResolver(), encoding: str = None) -> dict:
|
167
169
|
"""Loads the yaml file from given `yaml_file_path` and returns its content"""
|
168
170
|
log().info("Loading yaml from {}".format(yaml_file_path))
|
169
|
-
|
171
|
+
FILE_ENCODINGS[0] = encoding
|
172
|
+
with open(yaml_file_path, "r", encoding=encoding) as configfile:
|
170
173
|
data = yaml.load(configfile, make_yaml_loader_builder(path_resolver))
|
174
|
+
FILE_ENCODINGS[0] = None
|
171
175
|
return data
|
172
176
|
|
173
177
|
|
174
|
-
def check_for_yaml_file_type(
|
175
|
-
"""Raises Exception if given `
|
176
|
-
|
177
|
-
|
178
|
-
log_and_raise_critical(CRIT_ERR_NO_YAML_GIVEN.format(yaml_file_path))
|
178
|
+
def check_for_yaml_file_type(yaml_file: Path) -> None:
|
179
|
+
"""Raises Exception if given `yaml_file` has no YAML-associated file suffix"""
|
180
|
+
if yaml_file.suffix.lower() not in [".yaml", ".yml"]:
|
181
|
+
log_and_raise_critical(CRIT_NO_YAML_SUFFIX.format(yaml_file))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# SPDX-FileCopyrightText:
|
1
|
+
# SPDX-FileCopyrightText: 2024 German Aerospace Center <fame@dlr.de>
|
2
2
|
#
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
4
|
from __future__ import annotations
|
@@ -21,8 +21,9 @@ class GeneralProperties:
|
|
21
21
|
_KEY_INTERVAL = "Interval".lower()
|
22
22
|
_KEY_PROCESS = "Process".lower()
|
23
23
|
|
24
|
-
|
25
|
-
|
24
|
+
_ERR_MISSING_KEY = "General Properties requires key '{}' but it is missing."
|
25
|
+
_ERR_SIMULATION_DURATION = "Simulation starts after its end time - check start and stop times."
|
26
|
+
_WARN_OUTPUT_DEPRECATED = "Deprecation warning: GeneralProperties.Output will be removed with FAME-Io version > 3.0"
|
26
27
|
|
27
28
|
def __init__(
|
28
29
|
self,
|
@@ -34,7 +35,7 @@ class GeneralProperties:
|
|
34
35
|
output_process: int,
|
35
36
|
) -> None:
|
36
37
|
if simulation_stop_time < simulation_start_time:
|
37
|
-
log().warning(GeneralProperties.
|
38
|
+
log().warning(GeneralProperties._ERR_SIMULATION_DURATION)
|
38
39
|
self._run_id = run_id
|
39
40
|
self._simulation_start_time = simulation_start_time
|
40
41
|
self._simulation_stop_time = simulation_stop_time
|
@@ -52,26 +53,28 @@ class GeneralProperties:
|
|
52
53
|
get_or_raise(
|
53
54
|
definitions,
|
54
55
|
GeneralProperties._KEY_SIMULATION,
|
55
|
-
GeneralProperties.
|
56
|
+
GeneralProperties._ERR_MISSING_KEY,
|
56
57
|
)
|
57
58
|
)
|
58
59
|
start_time = FameTime.convert_string_if_is_datetime(
|
59
60
|
get_or_raise(
|
60
61
|
simulation_definition,
|
61
62
|
GeneralProperties._KEY_START,
|
62
|
-
GeneralProperties.
|
63
|
+
GeneralProperties._ERR_MISSING_KEY,
|
63
64
|
)
|
64
65
|
)
|
65
66
|
stop_time = FameTime.convert_string_if_is_datetime(
|
66
67
|
get_or_raise(
|
67
68
|
simulation_definition,
|
68
69
|
GeneralProperties._KEY_STOP,
|
69
|
-
GeneralProperties.
|
70
|
+
GeneralProperties._ERR_MISSING_KEY,
|
70
71
|
)
|
71
72
|
)
|
72
73
|
random_seed = get_or_default(simulation_definition, GeneralProperties._KEY_SEED, 1)
|
73
74
|
|
74
75
|
output_definitions = keys_to_lower(get_or_default(definitions, GeneralProperties._KEY_OUTPUT, dict()))
|
76
|
+
if len(output_definitions) > 1:
|
77
|
+
log().warning(GeneralProperties._WARN_OUTPUT_DEPRECATED)
|
75
78
|
output_interval = get_or_default(output_definitions, GeneralProperties._KEY_INTERVAL, 100)
|
76
79
|
output_process = get_or_default(output_definitions, GeneralProperties._KEY_PROCESS, 0)
|
77
80
|
|
fameio/source/series.py
CHANGED
@@ -37,7 +37,8 @@ class TimeSeriesManager:
|
|
37
37
|
_KEY_ROW_TIME = "timeStep"
|
38
38
|
_KEY_ROW_VALUE = "value"
|
39
39
|
|
40
|
-
_ERR_FILE_NOT_FOUND = "Cannot find Timeseries file '{}'"
|
40
|
+
_ERR_FILE_NOT_FOUND = "Cannot find Timeseries file '{}'."
|
41
|
+
_ERR_NUMERIC_STRING = " Remove quotes to use a constant numeric value instead of a timeseries file."
|
41
42
|
_ERR_CORRUPT_TIME_SERIES_KEY = "TimeSeries file '{}' corrupt: At least one entry in first column isn't a timestamp."
|
42
43
|
_ERR_CORRUPT_TIME_SERIES_VALUE = "TimeSeries file '{}' corrupt: At least one entry in value column isn't numeric."
|
43
44
|
_ERR_NON_NUMERIC = "Values in TimeSeries must be numeric but was: '{}'"
|
@@ -86,7 +87,10 @@ class TimeSeriesManager:
|
|
86
87
|
except ConversionException:
|
87
88
|
log_error_and_raise(TimeSeriesException(self._ERR_CORRUPT_TIME_SERIES_KEY.format(identifier)))
|
88
89
|
else:
|
89
|
-
|
90
|
+
message = self._ERR_FILE_NOT_FOUND.format(identifier)
|
91
|
+
if self._is_number_string(identifier):
|
92
|
+
message += self._ERR_NUMERIC_STRING
|
93
|
+
log_error_and_raise(TimeSeriesException(message))
|
90
94
|
else:
|
91
95
|
return self._create_timeseries_from_value(identifier)
|
92
96
|
|
@@ -110,6 +114,15 @@ class TimeSeriesManager:
|
|
110
114
|
log_error_and_raise(TypeError(TimeSeriesManager._ERR_NAN_VALUE))
|
111
115
|
return value
|
112
116
|
|
117
|
+
@staticmethod
|
118
|
+
def _is_number_string(identifier: str) -> bool:
|
119
|
+
"""Returns True if given identifier can be cast to float"""
|
120
|
+
try:
|
121
|
+
float(identifier)
|
122
|
+
return True
|
123
|
+
except ValueError:
|
124
|
+
return False
|
125
|
+
|
113
126
|
@staticmethod
|
114
127
|
def _create_timeseries_from_value(value: Union[int, float]) -> Tuple[str, pd.DataFrame]:
|
115
128
|
"""Returns name and dataframe for a new static timeseries created from the given `value`"""
|
fameio/source/writer.py
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
# SPDX-FileCopyrightText: 2024 German Aerospace Center <fame@dlr.de>
|
2
2
|
#
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
4
|
-
|
4
|
+
import sys
|
5
|
+
from importlib.metadata import version
|
5
6
|
from pathlib import Path
|
6
7
|
from typing import Any, Dict, List, Union
|
7
8
|
|
9
|
+
from fameprotobuf.Contract_pb2 import ProtoContract
|
8
10
|
from fameprotobuf.DataStorage_pb2 import DataStorage
|
9
|
-
from fameprotobuf.
|
11
|
+
from fameprotobuf.ExecutionData_pb2 import ExecutionData
|
10
12
|
from fameprotobuf.Field_pb2 import NestedField
|
11
|
-
from fameprotobuf.
|
13
|
+
from fameprotobuf.InputFile_pb2 import InputData
|
12
14
|
from fameprotobuf.Model_pb2 import ModelData
|
13
15
|
|
14
16
|
from fameio.source.logs import log_error_and_raise, log
|
@@ -72,6 +74,7 @@ class ProtoWriter:
|
|
72
74
|
self._set_schema(pb_input, scenario.schema)
|
73
75
|
|
74
76
|
self._set_java_package_names(pb_data_storage.model, scenario.schema.packages)
|
77
|
+
self._set_execution_versions(pb_data_storage.execution.versions)
|
75
78
|
return pb_data_storage
|
76
79
|
|
77
80
|
@staticmethod
|
@@ -239,3 +242,10 @@ class ProtoWriter:
|
|
239
242
|
except OSError as e:
|
240
243
|
log_error_and_raise(ProtoWriterException(ProtoWriter._NO_FILE_SPECIFIED.format(self.file_path), e))
|
241
244
|
log().info(self._INFO_WRITING_COMPLETED.format(self.file_path))
|
245
|
+
|
246
|
+
@staticmethod
|
247
|
+
def _set_execution_versions(pb_versions: ExecutionData.Versions) -> None:
|
248
|
+
"""Adds version strings for fameio, fameprotobuf, and python to the given Versions message"""
|
249
|
+
pb_versions.fameProtobuf = version("fameprotobuf")
|
250
|
+
pb_versions.fameIo = version("fameio")
|
251
|
+
pb_versions.python = sys.version
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fameio
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.2.0
|
4
4
|
Summary: Python scripts for operation of FAME models
|
5
5
|
Home-page: https://gitlab.com/fame-framework/wiki/-/wikis/home
|
6
6
|
License: Apache-2.0
|
@@ -75,11 +75,12 @@ Call structure:
|
|
75
75
|
|
76
76
|
You may also specify any of the following arguments:
|
77
77
|
|
78
|
-
| Command
|
79
|
-
|
80
|
-
| `-l` or `--log`
|
81
|
-
| `-lf` or `--logfile`
|
82
|
-
| `-o` or `--output`
|
78
|
+
| Command | Action |
|
79
|
+
|------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
|
80
|
+
| `-l` or `--log` | Sets the logging level. Default is `info`. Options are `debug`, `info`, `warning`, `warn`, `error`, `critical`. |
|
81
|
+
| `-lf` or `--logfile` | Sets the logging file. Default is `None`. If `None` is provided, all logs get only printed to the console. |
|
82
|
+
| `-o` or `--output` | Sets the path of the compiled protobuf output file. Default is `config.pb`. |
|
83
|
+
| `-enc` or `--encoding` | Sets the encoding of all yaml files to the given one (e.g. 'utf8' or 'cp1252'. Default is `None`, i.e. your operating system's standard. |
|
83
84
|
|
84
85
|
This could look as follows:
|
85
86
|
|
@@ -259,6 +260,8 @@ Parameters:
|
|
259
260
|
* `StopTime` time stamp in the format YYYY-MM-DD_hh:mm:ss; last moment of the simulation - i.e. simulation terminates
|
260
261
|
after passing that time stamp
|
261
262
|
* `RandomSeed` seed to initialise random number generation; each value leads to a unique series of random numbers.
|
263
|
+
|
264
|
+
Parameters in section `Output` are deprecated and will be removed in FAME-Io v3.0
|
262
265
|
* `Interval` number of simulation ticks in between write-to-disk events; may be used for performance optimisations;
|
263
266
|
* `Process` id of process that performs write-to-disk operations; leave at 0 to be compatible with single-processes;
|
264
267
|
|
@@ -1,18 +1,18 @@
|
|
1
|
-
CHANGELOG.md,sha256=
|
1
|
+
CHANGELOG.md,sha256=H8YzcsZiM8WHQSzP9TOrah5y7nH4fuP4M6SHN4VszYY,11358
|
2
2
|
fameio/__init__.py,sha256=IQm0MNOXkhBexiMXBoNZDK5xHUYgazH7oXm-lc0Vm04,109
|
3
3
|
fameio/scripts/__init__.py,sha256=Bdu79kajJvvmPWdSP82Y6G8MCpP4n9ftTR-snWSbMJY,741
|
4
4
|
fameio/scripts/__init__.py.license,sha256=2-OqCNxP4504xY2XQqseYypJi1_Qx4xJSzO3t7c3ACM,107
|
5
|
-
fameio/scripts/convert_results.py,sha256=
|
5
|
+
fameio/scripts/convert_results.py,sha256=UHTRnE8LkhO6lHEkfgettdbhRcRHeZqQw5MkxYpD8T8,3616
|
6
6
|
fameio/scripts/convert_results.py.license,sha256=2-OqCNxP4504xY2XQqseYypJi1_Qx4xJSzO3t7c3ACM,107
|
7
|
-
fameio/scripts/make_config.py,sha256=
|
7
|
+
fameio/scripts/make_config.py,sha256=KQsj-aPXXtch8ITITCOcQUj6nYhvDs9LO7tdSikUe6w,1388
|
8
8
|
fameio/scripts/make_config.py.license,sha256=2-OqCNxP4504xY2XQqseYypJi1_Qx4xJSzO3t7c3ACM,107
|
9
9
|
fameio/source/__init__.py,sha256=14CnWOIkdSeKQg6FioQSgO7UtEFF6pO4MUtDAUfwNmA,278
|
10
10
|
fameio/source/cli/__init__.py,sha256=UqrdWnYMoy-o2--m0a4c-MtAorsc4eILXaPq27EXM1Q,112
|
11
11
|
fameio/source/cli/convert_results.py,sha256=LY9ySXs3dAyyos0yoc-bY8M1Z9Oti-AgGYEEK5K-Ctg,3412
|
12
|
-
fameio/source/cli/make_config.py,sha256=
|
13
|
-
fameio/source/cli/options.py,sha256=
|
14
|
-
fameio/source/cli/parser.py,sha256=
|
15
|
-
fameio/source/loader.py,sha256
|
12
|
+
fameio/source/cli/make_config.py,sha256=phZKimvItl538xnwv9IhBoDkh__YqNlRk4YNDyTOFaA,2738
|
13
|
+
fameio/source/cli/options.py,sha256=5DOFq4LMcObrSOlbt74HGE1vghByn-I30YY46tm5Snc,1422
|
14
|
+
fameio/source/cli/parser.py,sha256=cVC6j_oy3lBQOC7nrk5oF2m5CpcohOh5y689lhvu4gw,9726
|
15
|
+
fameio/source/loader.py,sha256=-Y0j3OrV2MwAlfxFP2YA3ZwZhP-eFVlT6hdHO4Qze2U,7536
|
16
16
|
fameio/source/logs.py,sha256=9Iq9jcglGyALYir-Luxfa-m4uUJX074JkUM0uMwzPNc,3684
|
17
17
|
fameio/source/path_resolver.py,sha256=cIEVvz7Eh4e3Rh87XkwyGiyj9iKxUI7TzWtq6ClhLd8,1321
|
18
18
|
fameio/source/results/__init__.py,sha256=IQm0MNOXkhBexiMXBoNZDK5xHUYgazH7oXm-lc0Vm04,109
|
@@ -30,7 +30,7 @@ fameio/source/scenario/attribute.py,sha256=-Ed6jHlztwf9NhvpfRNt6ohGKKqkPBx_hLvGF
|
|
30
30
|
fameio/source/scenario/contract.py,sha256=lM2NN_CUDh9iqDghq_F6JE9rEW3ZGUhBJOD0qkjuKBU,9442
|
31
31
|
fameio/source/scenario/exception.py,sha256=7MYN4h40ptMZFD1lLtnK5PWXbAGlsmUSDmUQ5FAKeN8,1554
|
32
32
|
fameio/source/scenario/fameiofactory.py,sha256=7P-x8i9sSU9sIkOlgF6gVRFuNacFMUBrBh4KdHoAUtU,1376
|
33
|
-
fameio/source/scenario/generalproperties.py,sha256=
|
33
|
+
fameio/source/scenario/generalproperties.py,sha256=TkQV9dEo5zMfNiFITolJU1rQUBi-yDJLpoello39e_0,4796
|
34
34
|
fameio/source/scenario/scenario.py,sha256=j2IVVZlpBJjYECXzBouFtrDXPPES0uSf_Q2l0MzcQkQ,3727
|
35
35
|
fameio/source/schema/__init__.py,sha256=ZGTyliDbjlYGPAjB9bbggzACOYWdhm4I1VSmm7YGmTk,270
|
36
36
|
fameio/source/schema/agenttype.py,sha256=fe6GWJwl2S-J7KmH_eR5Y8Ieez1difez1w7v-r26yGU,5183
|
@@ -38,16 +38,16 @@ fameio/source/schema/attribute.py,sha256=o2eZjurrYfvBiaZm1WE1XW0u8joHSbbXEKu-385
|
|
38
38
|
fameio/source/schema/exception.py,sha256=NMftGnrFOaS3MwrjZl8qbx3bi6KYUxhzHJIX1v--B5M,224
|
39
39
|
fameio/source/schema/java_packages.py,sha256=-2ZbAG_htEowB-fBSMizsLWrphyiKfESDDHspzdEQP4,2656
|
40
40
|
fameio/source/schema/schema.py,sha256=-J8VtO4W9Z-OnTV7MFO1umZWIC_epbLCYd6-q4lNQ8Y,2975
|
41
|
-
fameio/source/series.py,sha256=
|
41
|
+
fameio/source/series.py,sha256=o5tNcZfzfWEmhtzqXeR6hLaX3Wb1lvHLokSHnbvCP3Y,8754
|
42
42
|
fameio/source/time.py,sha256=Vsd95nTubL8x5cwiznJYeti6clZCCHHJv7xjSpYqkF0,6984
|
43
43
|
fameio/source/tools.py,sha256=7YxX-CmsakJJB2RbBhf2u8y1-RyhDhsASHXFztkDIKE,1052
|
44
44
|
fameio/source/validator.py,sha256=cXTDl75zt6NVVyHUUFDL9Y_lg3QuJJfTdW83lv4Krvs,15719
|
45
|
-
fameio/source/writer.py,sha256=
|
46
|
-
fameio-2.
|
47
|
-
fameio-2.
|
48
|
-
fameio-2.
|
49
|
-
fameio-2.
|
50
|
-
fameio-2.
|
51
|
-
fameio-2.
|
52
|
-
fameio-2.
|
53
|
-
fameio-2.
|
45
|
+
fameio/source/writer.py,sha256=n9ZGRqzkPsuY-hrjGlSeQDuc6OHtgeK9hzM_d_Bvs_U,12456
|
46
|
+
fameio-2.2.0.dist-info/entry_points.txt,sha256=jvQVfwJjZXPWQjJlhj1Dt6PTeblryTc1GxjKeK90twI,123
|
47
|
+
fameio-2.2.0.dist-info/LICENSE.txt,sha256=eGHBZnhr9CWjE95SWjRfmhtK1lvVn5X4Fpf3KrrAZDg,10391
|
48
|
+
fameio-2.2.0.dist-info/LICENSES/Apache-2.0.txt,sha256=eGHBZnhr9CWjE95SWjRfmhtK1lvVn5X4Fpf3KrrAZDg,10391
|
49
|
+
fameio-2.2.0.dist-info/LICENSES/CC-BY-4.0.txt,sha256=y9WvMYKGt0ZW8UXf9QkZB8wj1tjJrQngKR7CSXeSukE,19051
|
50
|
+
fameio-2.2.0.dist-info/LICENSES/CC0-1.0.txt,sha256=9Ofzc7m5lpUDN-jUGkopOcLZC3cl6brz1QhKInF60yg,7169
|
51
|
+
fameio-2.2.0.dist-info/METADATA,sha256=8T_pXeAjdSsE1A24QKLpyWNWnKdUimDiZgMwi0wMa0o,31231
|
52
|
+
fameio-2.2.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
53
|
+
fameio-2.2.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|