fmu-manipulation-toolbox 1.8.4.1rc1__tar.gz → 1.8.4.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.
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/PKG-INFO +1 -1
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/README.md +13 -4
- fmu_manipulation_toolbox-1.8.4.2/fmu_manipulation_toolbox/__version__.py +1 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/fmu_container.py +4 -3
- fmu_manipulation_toolbox-1.8.4.2/fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win32/client_sm.dll +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win32/server_sm.exe +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win64/client_sm.dll +0 -0
- fmu_manipulation_toolbox-1.8.4.2/fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win64/server_sm.exe +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/PKG-INFO +1 -1
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/tests/test_suite.py +28 -0
- fmu_manipulation_toolbox-1.8.4.1rc1/fmu_manipulation_toolbox/__version__.py +0 -1
- fmu_manipulation_toolbox-1.8.4.1rc1/fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
- fmu_manipulation_toolbox-1.8.4.1rc1/fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/LICENSE.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/__init__.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/__main__.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/assembly.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/checker.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/cli.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/fmu_operations.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/gui.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/gui_style.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/help.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-checked-disabled.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-checked-hover.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-checked.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-unchecked-disabled.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-unchecked-hover.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-unchecked.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/container.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/drop_fmu.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Annotation.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2AttributeGroups.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ModelDescription.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ScalarVariable.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Type.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Unit.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2VariableDependency.xsd +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmu.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmu_manipulation_toolbox.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/help.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/icon-round.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/icon.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/icon_fmu.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/license.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux32/client_sm.so +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux32/server_sm +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux64/client_sm.so +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux64/server_sm +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/mask.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/model.png +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/version.py +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/SOURCES.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/dependency_links.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/entry_points.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/requires.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/top_level.txt +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/setup.cfg +0 -0
- {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmu_manipulation_toolbox
|
|
3
|
-
Version: 1.8.4.
|
|
3
|
+
Version: 1.8.4.2
|
|
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
|
|
@@ -12,12 +12,21 @@ FMU Manipulation Toolbox also allows to group FMU's inside FMU Containers. (see
|
|
|
12
12
|
|
|
13
13
|
Two options available to install FMU Manipulation Toolbox:
|
|
14
14
|
|
|
15
|
-
- (Easiest option) Install with from PyPI: `
|
|
15
|
+
- (*Easiest option*) Install with from PyPI: `pip install fmu-manipulation-toolbox`. This will install the latest
|
|
16
|
+
version of FMU Manipulation Toolbox and all its dependencies. See [PyPI page](https://pypi.org/project/fmu-manipulation-toolbox/).
|
|
16
17
|
- Compile and install from [github repository](https://github.com/grouperenault/fmu_manipulation_toolbox). You will need
|
|
17
|
-
- Python required packages. See `requirements.txt
|
|
18
|
-
- C compiler
|
|
18
|
+
- Python required packages. See [`requirements.txt`](requirements.txt).
|
|
19
|
+
- C compiler (C99 or later)
|
|
20
|
+
- CMake (>= 3.16)
|
|
21
|
+
|
|
22
|
+
### Supported platforms
|
|
23
|
+
FMU Manipulation Toolbox is tested on:
|
|
24
|
+
- Windows 10/11
|
|
25
|
+
- Linux (Ubuntu 22.04)
|
|
26
|
+
|
|
27
|
+
Compilation is reported to work on:
|
|
28
|
+
- MacOS (Apple Silicon and Intel)
|
|
19
29
|
|
|
20
|
-
|
|
21
30
|
## Graphical User Interface
|
|
22
31
|
|
|
23
32
|
FMU Manipulation Toolbox is released with a GUI. You can launch it with the following command `fmutool`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'V1.8.4.2'
|
|
@@ -663,7 +663,7 @@ class FMUContainer:
|
|
|
663
663
|
nb += len(self.execution_order)
|
|
664
664
|
print(f"{nb} {nb+nb_input_link}", file=txt_file)
|
|
665
665
|
for profiling_port, _ in enumerate(self.execution_order):
|
|
666
|
-
print(f"{profiling_port} -2 {profiling_port}", file=txt_file)
|
|
666
|
+
print(f"{profiling_port} 1 -2 {profiling_port}", file=txt_file)
|
|
667
667
|
else:
|
|
668
668
|
print(f"{nb} {nb+nb_input_link}", file=txt_file)
|
|
669
669
|
for input_port in inputs_per_type[type_name]:
|
|
@@ -683,10 +683,11 @@ class FMUContainer:
|
|
|
683
683
|
print(f"{vr} {cport.port.vr}", file=txt_file)
|
|
684
684
|
|
|
685
685
|
for type_name in type_names_list:
|
|
686
|
-
print(f"# Start values of {fmu.name} - {type_name}: <FMU_VR> <VALUE>", file=txt_file)
|
|
686
|
+
print(f"# Start values of {fmu.name} - {type_name}: <FMU_VR> <RESET> <VALUE>", file=txt_file)
|
|
687
687
|
print(len(start_values_fmu_per_type[type_name][fmu.name]), file=txt_file)
|
|
688
688
|
for cport, value in start_values_fmu_per_type[type_name][fmu.name].items():
|
|
689
|
-
|
|
689
|
+
reset = 1 if cport.port.causality == "input" else 0
|
|
690
|
+
print(f"{cport.port.vr} {reset} {value}", file=txt_file)
|
|
690
691
|
|
|
691
692
|
for type_name in type_names_list:
|
|
692
693
|
print(f"# Outputs of {fmu.name} - {type_name}: <VR> <FMU_VR>", file=txt_file)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmu_manipulation_toolbox
|
|
3
|
-
Version: 1.8.4.
|
|
3
|
+
Version: 1.8.4.2
|
|
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.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/tests/test_suite.py
RENAMED
|
@@ -17,6 +17,13 @@ class FMUManipulationToolboxTestSuite(unittest.TestCase):
|
|
|
17
17
|
with open(filename1, mode="rt", newline=None) as a, open(filename2, mode="rt", newline=None) as b:
|
|
18
18
|
self.assertTrue(all(lineA == lineB for lineA, lineB in zip(a, b)))
|
|
19
19
|
|
|
20
|
+
def assert_identical_files_but_guid(self, filename1, filename2):
|
|
21
|
+
with open(filename1, mode="rt", newline=None) as a, open(filename2, mode="rt", newline=None) as b:
|
|
22
|
+
for lineA, lineB in zip(a, b):
|
|
23
|
+
if not "guid" in lineA and not lineA == lineB:
|
|
24
|
+
return False
|
|
25
|
+
return True
|
|
26
|
+
|
|
20
27
|
def assert_names_match_ref(self, fmu_filename):
|
|
21
28
|
fmu = FMU(fmu_filename)
|
|
22
29
|
csv_filename = Path(fmu_filename).with_suffix(".csv")
|
|
@@ -65,6 +72,19 @@ class FMUManipulationToolboxTestSuite(unittest.TestCase):
|
|
|
65
72
|
self.assert_identical_files("containers/bouncing_ball/REF-bouncing.json",
|
|
66
73
|
"containers/bouncing_ball/bouncing.json")
|
|
67
74
|
|
|
75
|
+
def test_container_bouncing_ball_profiling(self):
|
|
76
|
+
assembly = Assembly("bouncing-profiling.csv", fmu_directory=Path("containers/bouncing_ball"), profiling=True,
|
|
77
|
+
debug=True)
|
|
78
|
+
assembly.write_json("bouncing-profiling.json")
|
|
79
|
+
assembly.make_fmu()
|
|
80
|
+
self.assert_identical_files("containers/bouncing_ball/REF-container-profiling.txt",
|
|
81
|
+
"containers/bouncing_ball/bouncing-profiling/resources/container.txt")
|
|
82
|
+
self.assert_identical_files("containers/bouncing_ball/REF-bouncing-profiling.json",
|
|
83
|
+
"containers/bouncing_ball/bouncing-profiling.json")
|
|
84
|
+
self.assert_identical_files_but_guid("containers/bouncing_ball/REF-modelDescription-profiling.xml",
|
|
85
|
+
"containers/bouncing_ball/bouncing-profiling/modelDescription.xml")
|
|
86
|
+
|
|
87
|
+
|
|
68
88
|
def test_container_ssp(self):
|
|
69
89
|
assembly = Assembly("bouncing.ssp", fmu_directory=Path("containers/ssp"))
|
|
70
90
|
assembly.make_fmu(dump_json=True)
|
|
@@ -97,6 +117,14 @@ class FMUManipulationToolboxTestSuite(unittest.TestCase):
|
|
|
97
117
|
self.assert_identical_files("containers/arch/REF-reversed-dump.json",
|
|
98
118
|
"containers/arch/reversed-dump.json")
|
|
99
119
|
|
|
120
|
+
def test_container_start(self):
|
|
121
|
+
assembly = Assembly("slx.json", fmu_directory=Path("containers/start"), debug=True)
|
|
122
|
+
assembly.make_fmu()
|
|
123
|
+
self.assert_identical_files("containers/start/REF-container.txt",
|
|
124
|
+
"containers/start/container-slx/resources/container.txt")
|
|
125
|
+
self.assert_identical_files_but_guid("containers/start/REF-modelDescription.xml",
|
|
126
|
+
"containers/start/container-slx/modelDescription.xml")
|
|
127
|
+
|
|
100
128
|
def test_container_move(self):
|
|
101
129
|
#bb = Assembly("bouncing.csv", fmu_directory=Path("containers/bouncing_ball"))
|
|
102
130
|
#links = bb.root.get_fmu_connections("bb_position.fmu")
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'V1.8.4.1-rc1'
|
|
Binary file
|
|
Binary file
|
|
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
|
|
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
|