fmu-manipulation-toolbox 1.9rc8__py3-none-any.whl → 1.9rc10__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.
- fmu_manipulation_toolbox/__version__.py +1 -1
- fmu_manipulation_toolbox/cli/fmutool.py +1 -0
- fmu_manipulation_toolbox/help.py +3 -0
- fmu_manipulation_toolbox/operations.py +81 -18
- fmu_manipulation_toolbox/resources/darwin64/container.dylib +0 -0
- fmu_manipulation_toolbox/resources/linux32/client_sm.so +0 -0
- fmu_manipulation_toolbox/resources/linux64/client_sm.so +0 -0
- fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
- fmu_manipulation_toolbox/resources/win32/client_sm.dll +0 -0
- fmu_manipulation_toolbox/resources/win32/server_sm.exe +0 -0
- fmu_manipulation_toolbox/resources/win64/client_sm.dll +0 -0
- fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
- fmu_manipulation_toolbox/resources/win64/server_sm.exe +0 -0
- fmu_manipulation_toolbox/split.py +27 -23
- {fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/METADATA +1 -1
- {fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/RECORD +20 -20
- {fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/WHEEL +0 -0
- {fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/entry_points.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/licenses/LICENSE.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/top_level.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'V1.9-
|
|
1
|
+
'V1.9-rc10'
|
|
@@ -66,6 +66,7 @@ def fmutool(command_options: Sequence[str]):
|
|
|
66
66
|
add_option('-only-parameters', action='append_const', dest='apply_on', const='parameter')
|
|
67
67
|
add_option('-only-inputs', action='append_const', dest='apply_on', const='input')
|
|
68
68
|
add_option('-only-outputs', action='append_const', dest='apply_on', const='output')
|
|
69
|
+
add_option('-only-locals', action='append_const', dest='apply_on', const='local')
|
|
69
70
|
# Checker
|
|
70
71
|
add_option('-summary', action='append_const', dest='operations_list', const=OperationSummary())
|
|
71
72
|
add_option('-check', action='append_const', dest='operations_list', const=[checker() for checker in checker_list])
|
fmu_manipulation_toolbox/help.py
CHANGED
|
@@ -73,6 +73,9 @@ class Help:
|
|
|
73
73
|
'-only-outputs': "apply operation only on ports with causality = 'output'. This "
|
|
74
74
|
"option is available from version 1.3.",
|
|
75
75
|
|
|
76
|
+
'-only-locals': "apply operation only on ports with causality = 'local'. This "
|
|
77
|
+
"option is available from version 1.9.",
|
|
78
|
+
|
|
76
79
|
'-summary': "display useful information regarding the FMU.",
|
|
77
80
|
|
|
78
81
|
'-check': "performs some check of FMU and display Errors or Warnings. This is useful to avoid later "
|
|
@@ -112,6 +112,8 @@ class FMUError(Exception):
|
|
|
112
112
|
|
|
113
113
|
class Manipulation:
|
|
114
114
|
"""Parse modelDescription.xml file and create a modified version"""
|
|
115
|
+
TAGS_MODEL_STRUCTURE = ("InitialUnknowns", "Derivatives", "Outputs")
|
|
116
|
+
|
|
115
117
|
def __init__(self, operation, fmu):
|
|
116
118
|
self.output_filename = tempfile.mktemp()
|
|
117
119
|
self.out = None
|
|
@@ -120,7 +122,14 @@ class Manipulation:
|
|
|
120
122
|
self.parser.StartElementHandler = self.start_element
|
|
121
123
|
self.parser.EndElementHandler = self.end_element
|
|
122
124
|
self.parser.CharacterDataHandler = self.char_data
|
|
125
|
+
|
|
126
|
+
# used for filter
|
|
123
127
|
self.skip_until: Optional[str] = None
|
|
128
|
+
|
|
129
|
+
# used to remove empty sections
|
|
130
|
+
self.delayed_tag = None
|
|
131
|
+
self.delayed_tag_open = False
|
|
132
|
+
|
|
124
133
|
self.operation.set_fmu(fmu)
|
|
125
134
|
self.fmu = fmu
|
|
126
135
|
|
|
@@ -155,6 +164,7 @@ class Manipulation:
|
|
|
155
164
|
def start_element(self, name, attrs):
|
|
156
165
|
if self.skip_until:
|
|
157
166
|
return
|
|
167
|
+
|
|
158
168
|
try:
|
|
159
169
|
if name == 'ScalarVariable': # FMI 2.0 only
|
|
160
170
|
self.current_port = FMUPort()
|
|
@@ -176,7 +186,7 @@ class Manipulation:
|
|
|
176
186
|
self.operation.fmi_attrs(attrs)
|
|
177
187
|
elif name == 'Unknown': # FMI-2.0 only
|
|
178
188
|
self.unknown_attrs(attrs)
|
|
179
|
-
elif name == 'Output' or name == "ContinuousStateDerivative" or "InitialUnknown":
|
|
189
|
+
elif name == 'Output' or name == "ContinuousStateDerivative" or "InitialUnknown": # FMI-3.0 only
|
|
180
190
|
self.handle_structure(attrs)
|
|
181
191
|
|
|
182
192
|
except ManipulationSkipTag:
|
|
@@ -184,11 +194,19 @@ class Manipulation:
|
|
|
184
194
|
return
|
|
185
195
|
|
|
186
196
|
if self.current_port is None:
|
|
197
|
+
if self.delayed_tag and not self.delayed_tag_open:
|
|
198
|
+
print(f"<{self.delayed_tag}>", end='', file=self.out)
|
|
199
|
+
self.delayed_tag_open = True
|
|
200
|
+
|
|
187
201
|
if attrs:
|
|
188
202
|
attrs_list = [f'{key}="{self.escape(value)}"' for (key, value) in attrs.items()]
|
|
189
203
|
print(f"<{name}", " ".join(attrs_list), ">", end='', file=self.out)
|
|
190
204
|
else:
|
|
191
|
-
|
|
205
|
+
if name in self.TAGS_MODEL_STRUCTURE:
|
|
206
|
+
self.delayed_tag = name
|
|
207
|
+
self.delayed_tag_open = False
|
|
208
|
+
else:
|
|
209
|
+
print(f"<{name}>", end='', file=self.out)
|
|
192
210
|
|
|
193
211
|
def end_element(self, name):
|
|
194
212
|
if self.skip_until:
|
|
@@ -205,7 +223,14 @@ class Manipulation:
|
|
|
205
223
|
self.current_port = None
|
|
206
224
|
|
|
207
225
|
elif self.current_port is None:
|
|
208
|
-
|
|
226
|
+
if self.delayed_tag and name == self.delayed_tag:
|
|
227
|
+
if self.delayed_tag_open:
|
|
228
|
+
print(f"</{self.delayed_tag}>", end='', file=self.out)
|
|
229
|
+
else:
|
|
230
|
+
logger.debug(f"Remove tag <{self.delayed_tag}> from modelDescription.xml")
|
|
231
|
+
self.delayed_tag = None
|
|
232
|
+
else:
|
|
233
|
+
print(f"</{name}>", end='', file=self.out)
|
|
209
234
|
|
|
210
235
|
def char_data(self, data):
|
|
211
236
|
if not self.skip_until:
|
|
@@ -223,33 +248,71 @@ class Manipulation:
|
|
|
223
248
|
self.port_translation.append(self.current_port_number)
|
|
224
249
|
|
|
225
250
|
def unknown_attrs(self, attrs):
|
|
226
|
-
index = int(attrs['index'])
|
|
227
|
-
new_index = self.port_translation[index]
|
|
228
|
-
if new_index:
|
|
229
|
-
attrs['index'] =
|
|
251
|
+
index = int(attrs['index'])
|
|
252
|
+
new_index = self.port_translation[index-1]
|
|
253
|
+
if new_index is not None:
|
|
254
|
+
attrs['index'] = str(new_index)
|
|
255
|
+
if attrs.get('dependencies', ""):
|
|
256
|
+
if 'dependenciesKind' in attrs:
|
|
257
|
+
new_dependencies = []
|
|
258
|
+
new_kinds = []
|
|
259
|
+
for dependency, kind in zip(attrs['dependencies'].split(' '), attrs['dependenciesKind'].split(' ')):
|
|
260
|
+
new_dependency = self.port_translation[int(dependency)-1]
|
|
261
|
+
if new_dependency is not None:
|
|
262
|
+
new_dependencies.append(str(new_dependency))
|
|
263
|
+
new_kinds.append(kind)
|
|
264
|
+
if new_dependencies:
|
|
265
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
266
|
+
attrs['dependenciesKind'] = " ".join(new_kinds)
|
|
267
|
+
else:
|
|
268
|
+
attrs.pop('dependencies')
|
|
269
|
+
attrs.pop('dependenciesKind')
|
|
270
|
+
else:
|
|
271
|
+
new_dependencies = []
|
|
272
|
+
for dependency in attrs['dependencies'].split(' '):
|
|
273
|
+
new_dependency = self.port_translation[int(dependency)-1]
|
|
274
|
+
if new_dependency is not None:
|
|
275
|
+
new_dependencies.append(str(new_dependency))
|
|
276
|
+
if new_dependencies:
|
|
277
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
278
|
+
else:
|
|
279
|
+
attrs.pop('dependencies')
|
|
230
280
|
else:
|
|
231
|
-
logger.warning(f"Removed port '{self.port_names_list[index]}' is involved in dependencies tree.")
|
|
281
|
+
logger.warning(f"Removed port '{self.port_names_list[index-1]}' is involved in dependencies tree.")
|
|
232
282
|
raise ManipulationSkipTag
|
|
233
283
|
|
|
234
284
|
def handle_structure(self, attrs):
|
|
235
285
|
try:
|
|
236
286
|
vr = attrs['valueReference']
|
|
237
287
|
if vr in self.port_removed_vr:
|
|
288
|
+
logger.warning(f"Removed port vr={vr} is involved in dependencies tree.")
|
|
238
289
|
raise ManipulationSkipTag
|
|
239
290
|
except KeyError:
|
|
240
291
|
return
|
|
241
292
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
293
|
+
if attrs.get('dependencies', ""):
|
|
294
|
+
if 'dependenciesKind' in attrs:
|
|
295
|
+
new_dependencies = []
|
|
296
|
+
new_kinds = []
|
|
297
|
+
for dependency, kind in zip(attrs['dependencies'].split(' '), attrs['dependenciesKind'].split(' ')):
|
|
298
|
+
if dependency not in self.port_removed_vr:
|
|
299
|
+
new_dependencies.append(dependency)
|
|
300
|
+
new_kinds.append(kind)
|
|
301
|
+
if new_dependencies:
|
|
302
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
303
|
+
attrs['dependenciesKind'] = " ".join(new_kinds)
|
|
248
304
|
else:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
305
|
+
attrs.pop('dependencies')
|
|
306
|
+
attrs.pop('dependenciesKind')
|
|
307
|
+
else:
|
|
308
|
+
new_dependencies = []
|
|
309
|
+
for dependency in attrs['dependencies'].split(' '):
|
|
310
|
+
if dependency not in self.port_removed_vr:
|
|
311
|
+
new_dependencies.append(dependency)
|
|
312
|
+
if new_dependencies:
|
|
313
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
314
|
+
else:
|
|
315
|
+
attrs.pop('dependencies')
|
|
253
316
|
|
|
254
317
|
def manipulate(self, descriptor_filename, apply_on=None):
|
|
255
318
|
self.apply_on = apply_on
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -111,16 +111,10 @@ class FMUSplitter:
|
|
|
111
111
|
fmu_file.writestr(file[len(directory):], data)
|
|
112
112
|
logger.info(f"FMU Extraction of '{filename}'")
|
|
113
113
|
|
|
114
|
-
|
|
115
114
|
class FMUSplitterDescription:
|
|
116
115
|
def __init__(self, zip):
|
|
117
116
|
self.zip = zip
|
|
118
|
-
self.links: Dict[str, Dict[int, FMUSplitterLink]] = {
|
|
119
|
-
"Real": {},
|
|
120
|
-
"Integer": {},
|
|
121
|
-
"Boolean": {},
|
|
122
|
-
"String": {}
|
|
123
|
-
}
|
|
117
|
+
self.links: Dict[str, Dict[int, FMUSplitterLink]] = dict((el, {}) for el in EmbeddedFMUPort.ALL_TYPES)
|
|
124
118
|
self.vr_to_name: Dict[str, Dict[str, Dict[int, Dict[str, str]]]] = {} # name, fmi_type, vr <-> {name, causality}
|
|
125
119
|
self.config: Dict[str, Any] = {
|
|
126
120
|
"auto_input": False,
|
|
@@ -133,10 +127,11 @@ class FMUSplitterDescription:
|
|
|
133
127
|
|
|
134
128
|
# used for modelDescription.xml parsing
|
|
135
129
|
self.current_fmu_filename = None
|
|
130
|
+
self.current_fmi_version = None
|
|
136
131
|
self.current_vr = None
|
|
137
132
|
self.current_name = None
|
|
138
133
|
self.current_causality = None
|
|
139
|
-
self.supported_fmi_types: Tuple[str] = ()
|
|
134
|
+
self.supported_fmi_types: Tuple[str] = tuple()
|
|
140
135
|
|
|
141
136
|
@staticmethod
|
|
142
137
|
def get_line(file):
|
|
@@ -146,14 +141,23 @@ class FMUSplitterDescription:
|
|
|
146
141
|
return line
|
|
147
142
|
raise StopIteration
|
|
148
143
|
|
|
149
|
-
def start_element(self,
|
|
150
|
-
if
|
|
144
|
+
def start_element(self, tag, attrs):
|
|
145
|
+
if tag == "fmiModelDescription":
|
|
146
|
+
self.current_fmi_version = attrs["fmiVersion"]
|
|
147
|
+
elif tag == "ScalarVariable":
|
|
151
148
|
self.current_name = attrs["name"]
|
|
152
149
|
self.current_vr = int(attrs["valueReference"])
|
|
153
150
|
self.current_causality = attrs["causality"]
|
|
154
|
-
elif
|
|
155
|
-
|
|
156
|
-
|
|
151
|
+
elif self.current_fmi_version == "2.0" and tag in EmbeddedFMUPort.FMI_TO_CONTAINER[2]:
|
|
152
|
+
fmi_type = EmbeddedFMUPort.FMI_TO_CONTAINER[2][tag]
|
|
153
|
+
self.vr_to_name[self.current_fmu_filename][fmi_type][self.current_vr] = {
|
|
154
|
+
"name": self.current_name,
|
|
155
|
+
"causality": self.current_causality}
|
|
156
|
+
elif self.current_fmi_version == "3.0" and tag in EmbeddedFMUPort.FMI_TO_CONTAINER[3]:
|
|
157
|
+
fmi_type = EmbeddedFMUPort.FMI_TO_CONTAINER[3][tag]
|
|
158
|
+
self.vr_to_name[self.current_fmu_filename][fmi_type][int(attrs["valueReference"])] = {
|
|
159
|
+
"name": attrs["name"],
|
|
160
|
+
"causality": attrs["causality"]}
|
|
157
161
|
else:
|
|
158
162
|
self.current_vr = None
|
|
159
163
|
self.current_name = None
|
|
@@ -166,14 +170,10 @@ class FMUSplitterDescription:
|
|
|
166
170
|
else:
|
|
167
171
|
filename = f"{directory}/modelDescription.xml"
|
|
168
172
|
|
|
169
|
-
self.vr_to_name[fmu_filename] = {
|
|
170
|
-
"Real": {},
|
|
171
|
-
"Integer": {},
|
|
172
|
-
"Boolean": {},
|
|
173
|
-
"String": {}
|
|
174
|
-
}
|
|
173
|
+
self.vr_to_name[fmu_filename] = dict((el, {}) for el in EmbeddedFMUPort.ALL_TYPES)
|
|
175
174
|
parser = xml.parsers.expat.ParserCreate()
|
|
176
175
|
self.current_fmu_filename = fmu_filename
|
|
176
|
+
self.current_fmi_version = None
|
|
177
177
|
self.current_vr = None
|
|
178
178
|
self.current_name = None
|
|
179
179
|
self.current_causality = None
|
|
@@ -266,14 +266,14 @@ class FMUSplitterDescription:
|
|
|
266
266
|
def parse_txt_file(self, txt_filename: str):
|
|
267
267
|
self.parse_model_description(str(Path(txt_filename).parent.parent), ".")
|
|
268
268
|
logger.debug(f"Parsing container file '{txt_filename}'")
|
|
269
|
-
|
|
270
269
|
with (self.zip.open(txt_filename) as file):
|
|
271
270
|
self.parse_txt_file_header(file, txt_filename)
|
|
272
271
|
self.parse_txt_file_ports(file)
|
|
273
272
|
|
|
274
273
|
for fmu_filename in self.config["candidate_fmu"]:
|
|
275
274
|
# Inputs per FMUs
|
|
276
|
-
|
|
275
|
+
|
|
276
|
+
for fmi_type in self.supported_fmi_types:
|
|
277
277
|
nb_input = int(self.get_line(file))
|
|
278
278
|
for i in range(nb_input):
|
|
279
279
|
local, vr = self.get_line(file).split(" ")
|
|
@@ -285,7 +285,7 @@ class FMUSplitterDescription:
|
|
|
285
285
|
link.to_port.append(FMUSplitterPort(fmu_filename,
|
|
286
286
|
self.vr_to_name[fmu_filename][fmi_type][int(vr)]["name"]))
|
|
287
287
|
|
|
288
|
-
for fmi_type in
|
|
288
|
+
for fmi_type in self.supported_fmi_types:
|
|
289
289
|
nb_start = int(self.get_line(file))
|
|
290
290
|
for i in range(nb_start):
|
|
291
291
|
tokens = self.get_line(file).split(" ")
|
|
@@ -299,7 +299,7 @@ class FMUSplitterDescription:
|
|
|
299
299
|
self.config["start"] = [start_definition]
|
|
300
300
|
|
|
301
301
|
# Output per FMUs
|
|
302
|
-
for fmi_type in
|
|
302
|
+
for fmi_type in self.supported_fmi_types:
|
|
303
303
|
nb_output = int(self.get_line(file))
|
|
304
304
|
|
|
305
305
|
for i in range(nb_output):
|
|
@@ -311,6 +311,10 @@ class FMUSplitterDescription:
|
|
|
311
311
|
self.links[fmi_type][local] = link
|
|
312
312
|
link.from_port = FMUSplitterPort(fmu_filename,
|
|
313
313
|
self.vr_to_name[fmu_filename][fmi_type][int(vr)]["name"])
|
|
314
|
+
#conversion
|
|
315
|
+
nb_conversion = int(self.get_line(file))
|
|
316
|
+
for i in range(nb_conversion):
|
|
317
|
+
self.get_line(file)
|
|
314
318
|
|
|
315
319
|
logger.debug("End of parsing.")
|
|
316
320
|
|
{fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmu_manipulation_toolbox
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9rc10
|
|
4
4
|
Summary: FMU Manipulation Toolbox is a python application for modifying Functional Mock-up Units (FMUs) without recompilation or bundling them into FMU Containers
|
|
5
5
|
Home-page: https://github.com/grouperenault/fmu_manipulation_toolbox/
|
|
6
6
|
Author: Nicolas.LAURENT@Renault.com
|
{fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/RECORD
RENAMED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
fmu_manipulation_toolbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
fmu_manipulation_toolbox/__main__.py,sha256=FpG0ITBz5q-AvIbXplVh_1g1zla5souFGtpiDdECxEw,352
|
|
3
|
-
fmu_manipulation_toolbox/__version__.py,sha256=
|
|
3
|
+
fmu_manipulation_toolbox/__version__.py,sha256=qsgfXycp13M4xRN0pMnvl2so7SqkBob6ChBzoU2KO50,12
|
|
4
4
|
fmu_manipulation_toolbox/assembly.py,sha256=XQ_1sB6K1Dk2mnNe-E3_6Opoeub7F9Qaln0EUDzsop8,26553
|
|
5
5
|
fmu_manipulation_toolbox/checker.py,sha256=jw1omfrMMIMHlIpHXpWBcQgIiS9hnHe5T9CZ5KlbVGs,2422
|
|
6
6
|
fmu_manipulation_toolbox/container.py,sha256=Ed6JsWM2oMs-jyGyKmrHHebNuG4qwiGLYtx0BREIiBE,45710
|
|
7
7
|
fmu_manipulation_toolbox/gui.py,sha256=ax-IbGO7GyBG0Mb5okN588CKQDfMxoF1uZtD1_CYnjc,29199
|
|
8
8
|
fmu_manipulation_toolbox/gui_style.py,sha256=s6WdrnNd_lCMWhuBf5LKK8wrfLXCU7pFTLUfvqkJVno,6633
|
|
9
|
-
fmu_manipulation_toolbox/help.py,sha256=
|
|
10
|
-
fmu_manipulation_toolbox/operations.py,sha256=
|
|
9
|
+
fmu_manipulation_toolbox/help.py,sha256=j8xmnCrwQpaW-SZ8hSqA1dlTXgaqzQWc4Yr3RH_oqck,6012
|
|
10
|
+
fmu_manipulation_toolbox/operations.py,sha256=VQvFXRHF48e-ZLqoG8nbz61iB5lX6qAkqZHQ0m0lUPw,20577
|
|
11
11
|
fmu_manipulation_toolbox/remoting.py,sha256=N25MDFkIcEWe9CIT1M4L9kea3j-8E7i2I1VOI6zIAdw,3876
|
|
12
|
-
fmu_manipulation_toolbox/split.py,sha256=
|
|
12
|
+
fmu_manipulation_toolbox/split.py,sha256=yFaW6yhvFjOXpRynWzitR7o7uSrxb-RxeFzmQNxUFHI,14147
|
|
13
13
|
fmu_manipulation_toolbox/version.py,sha256=OhBLkZ1-nhC77kyvffPNAf6m8OZe1bYTnNf_PWs1NvM,392
|
|
14
14
|
fmu_manipulation_toolbox/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
fmu_manipulation_toolbox/cli/fmucontainer.py,sha256=6UaSSY6UGGlOfIh_CTG-Gk3ZPSd88Pi2cFCuzb87eks,4839
|
|
16
16
|
fmu_manipulation_toolbox/cli/fmusplit.py,sha256=VMDYjmvIsjPHJINZaOt1Zy8D0so6d99285LbS8v-Tro,1734
|
|
17
|
-
fmu_manipulation_toolbox/cli/fmutool.py,sha256=
|
|
17
|
+
fmu_manipulation_toolbox/cli/fmutool.py,sha256=QRe6xQxQMD8FtEzoT5421Bq0YasgdIwOd9Too5TX5zg,6086
|
|
18
18
|
fmu_manipulation_toolbox/cli/utils.py,sha256=gNhdlFYSSNSb0fovzS0crnxgmqqKXe0KtoZZFhRKhfg,1375
|
|
19
19
|
fmu_manipulation_toolbox/resources/checkbox-checked-disabled.png,sha256=FWIuyrXlaNLLePHfXj7j9ca5rT8Hgr14KCe1EqTCZyk,2288
|
|
20
20
|
fmu_manipulation_toolbox/resources/checkbox-checked-hover.png,sha256=KNlV-d_aJNTTvUVXKGT9DBY30sIs2LwocLJrFKNKv8k,2419
|
|
@@ -33,7 +33,7 @@ fmu_manipulation_toolbox/resources/icon_fmu.png,sha256=EuygB2xcoM2WAfKKdyKG_UvTL
|
|
|
33
33
|
fmu_manipulation_toolbox/resources/license.txt,sha256=5ODuU8g8pIkK-NMWXu_rjZ6k7gM7b-N2rmg87-2Kmqw,1583
|
|
34
34
|
fmu_manipulation_toolbox/resources/mask.png,sha256=px1U4hQGL0AmZ4BQPknOVREpMpTSejbah3ntkpqAzFA,3008
|
|
35
35
|
fmu_manipulation_toolbox/resources/model.png,sha256=EAf_HnZJe8zYGZygerG1MMt2U-tMMZlifzXPj4_iORA,208788
|
|
36
|
-
fmu_manipulation_toolbox/resources/darwin64/container.dylib,sha256=
|
|
36
|
+
fmu_manipulation_toolbox/resources/darwin64/container.dylib,sha256=Qr6zN0nLpe3PgpYk8rXvAS_1se9qyj_06cCd9443n08,161560
|
|
37
37
|
fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Annotation.xsd,sha256=OGfyJtaJntKypX5KDpuZ-nV1oYLZ6HV16pkpKOmYox4,2731
|
|
38
38
|
fmu_manipulation_toolbox/resources/fmi-2.0/fmi2AttributeGroups.xsd,sha256=HwyV7LBse-PQSv4z1xjmtzPU3Hjnv4mluq9YdSBNHMQ,3704
|
|
39
39
|
fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ModelDescription.xsd,sha256=JM4j_9q-pc40XYHb28jfT3iV3aYM5JLqD5aRjO72K1E,18939
|
|
@@ -53,19 +53,19 @@ fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Type.xsd,sha256=TaHRoUBIFtmdEwBKB
|
|
|
53
53
|
fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Unit.xsd,sha256=CK_F2t5LfyQ6eSNJ8soTFMVK9DU8vD2WiMi2MQvjB0g,3746
|
|
54
54
|
fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Variable.xsd,sha256=3YU-3q1-c-namz7sMe5cxnmOVOJsRSmfWR02PKv3xaU,19171
|
|
55
55
|
fmu_manipulation_toolbox/resources/fmi-3.0/fmi3VariableDependency.xsd,sha256=YQSBwXt4IsDlyegY8bX-qQHGSfE5TipTPfo2g2yqq1c,3082
|
|
56
|
-
fmu_manipulation_toolbox/resources/linux32/client_sm.so,sha256=
|
|
56
|
+
fmu_manipulation_toolbox/resources/linux32/client_sm.so,sha256=TMVU2DhAnec90k0UvXkonybGGZlskonW-BIZ6qE9koM,34756
|
|
57
57
|
fmu_manipulation_toolbox/resources/linux32/server_sm,sha256=gzKU0BTeaRkvhTMQtHHj3K8uYFyEdyGGn_mZy_jG9xo,21304
|
|
58
|
-
fmu_manipulation_toolbox/resources/linux64/client_sm.so,sha256=
|
|
59
|
-
fmu_manipulation_toolbox/resources/linux64/container.so,sha256=
|
|
58
|
+
fmu_manipulation_toolbox/resources/linux64/client_sm.so,sha256=CSQBv69pCLIzTtwu9gGMepzGRUoBoUU-j-Vr1jAncjc,32592
|
|
59
|
+
fmu_manipulation_toolbox/resources/linux64/container.so,sha256=T_y9zagScUszMN12RJ4EERwCF2ssipD89ePdoWnZLmQ,135520
|
|
60
60
|
fmu_manipulation_toolbox/resources/linux64/server_sm,sha256=MZn6vITN2qpBHYt_RaK2VnFFp00hk8fTALBHmXPtLwc,22608
|
|
61
|
-
fmu_manipulation_toolbox/resources/win32/client_sm.dll,sha256=
|
|
62
|
-
fmu_manipulation_toolbox/resources/win32/server_sm.exe,sha256=
|
|
63
|
-
fmu_manipulation_toolbox/resources/win64/client_sm.dll,sha256=
|
|
64
|
-
fmu_manipulation_toolbox/resources/win64/container.dll,sha256
|
|
65
|
-
fmu_manipulation_toolbox/resources/win64/server_sm.exe,sha256=
|
|
66
|
-
fmu_manipulation_toolbox-1.
|
|
67
|
-
fmu_manipulation_toolbox-1.
|
|
68
|
-
fmu_manipulation_toolbox-1.
|
|
69
|
-
fmu_manipulation_toolbox-1.
|
|
70
|
-
fmu_manipulation_toolbox-1.
|
|
71
|
-
fmu_manipulation_toolbox-1.
|
|
61
|
+
fmu_manipulation_toolbox/resources/win32/client_sm.dll,sha256=q7lMEHcmNgV3zsHzjGSMLnFO0KcolGSWTAr7WCb2EsI,17920
|
|
62
|
+
fmu_manipulation_toolbox/resources/win32/server_sm.exe,sha256=tNUKn-KrTQfiM-9_H-HDgovI_okt2lnnErt7Mw1ATYQ,15360
|
|
63
|
+
fmu_manipulation_toolbox/resources/win64/client_sm.dll,sha256=XTe0zd8CDxg3NmP2G91z2F6J3HfzEuRya-xAEEoV94g,21504
|
|
64
|
+
fmu_manipulation_toolbox/resources/win64/container.dll,sha256=aj9N02L8cysKZSR2RPvPKV5e9eMV2aHUz0-XNq6iKK8,98816
|
|
65
|
+
fmu_manipulation_toolbox/resources/win64/server_sm.exe,sha256=hLmKvTddvh8q0iIpySMAhAebv1LZkf53uMpKKIJn3Fs,18432
|
|
66
|
+
fmu_manipulation_toolbox-1.9rc10.dist-info/licenses/LICENSE.txt,sha256=c_862mzyk6ownO3Gt6cVs0-53IXLi_-ZEQFNDVabESw,1285
|
|
67
|
+
fmu_manipulation_toolbox-1.9rc10.dist-info/METADATA,sha256=QV7q42tQJ29jmn9Xz07jOg0gI_g_8LPqy5XYgMcSjb4,1157
|
|
68
|
+
fmu_manipulation_toolbox-1.9rc10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
+
fmu_manipulation_toolbox-1.9rc10.dist-info/entry_points.txt,sha256=HjOZkflbI1IuSY8BpOZre20m24M4GDQGCJfPIa7NrlY,264
|
|
70
|
+
fmu_manipulation_toolbox-1.9rc10.dist-info/top_level.txt,sha256=9D_h-5BMjSqf9z-XFkbJL_bMppR2XNYW3WNuPkXou0k,25
|
|
71
|
+
fmu_manipulation_toolbox-1.9rc10.dist-info/RECORD,,
|
{fmu_manipulation_toolbox-1.9rc8.dist-info → fmu_manipulation_toolbox-1.9rc10.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|