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.
Files changed (61) hide show
  1. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/PKG-INFO +1 -1
  2. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/README.md +13 -4
  3. fmu_manipulation_toolbox-1.8.4.2/fmu_manipulation_toolbox/__version__.py +1 -0
  4. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/fmu_container.py +4 -3
  5. fmu_manipulation_toolbox-1.8.4.2/fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
  6. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win32/client_sm.dll +0 -0
  7. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win32/server_sm.exe +0 -0
  8. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win64/client_sm.dll +0 -0
  9. fmu_manipulation_toolbox-1.8.4.2/fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
  10. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/win64/server_sm.exe +0 -0
  11. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/PKG-INFO +1 -1
  12. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/tests/test_suite.py +28 -0
  13. fmu_manipulation_toolbox-1.8.4.1rc1/fmu_manipulation_toolbox/__version__.py +0 -1
  14. fmu_manipulation_toolbox-1.8.4.1rc1/fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
  15. fmu_manipulation_toolbox-1.8.4.1rc1/fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
  16. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/LICENSE.txt +0 -0
  17. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/__init__.py +0 -0
  18. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/__main__.py +0 -0
  19. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/assembly.py +0 -0
  20. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/checker.py +0 -0
  21. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/cli.py +0 -0
  22. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/fmu_operations.py +0 -0
  23. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/gui.py +0 -0
  24. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/gui_style.py +0 -0
  25. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/help.py +0 -0
  26. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-checked-disabled.png +0 -0
  27. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-checked-hover.png +0 -0
  28. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-checked.png +0 -0
  29. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-unchecked-disabled.png +0 -0
  30. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-unchecked-hover.png +0 -0
  31. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/checkbox-unchecked.png +0 -0
  32. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/container.png +0 -0
  33. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/drop_fmu.png +0 -0
  34. {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
  35. {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
  36. {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
  37. {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
  38. {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
  39. {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
  40. {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
  41. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmu.png +0 -0
  42. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/fmu_manipulation_toolbox.png +0 -0
  43. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/help.png +0 -0
  44. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/icon-round.png +0 -0
  45. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/icon.png +0 -0
  46. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/icon_fmu.png +0 -0
  47. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/license.txt +0 -0
  48. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux32/client_sm.so +0 -0
  49. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux32/server_sm +0 -0
  50. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux64/client_sm.so +0 -0
  51. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/linux64/server_sm +0 -0
  52. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/mask.png +0 -0
  53. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/resources/model.png +0 -0
  54. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox/version.py +0 -0
  55. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/SOURCES.txt +0 -0
  56. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/dependency_links.txt +0 -0
  57. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/entry_points.txt +0 -0
  58. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/requires.txt +0 -0
  59. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/fmu_manipulation_toolbox.egg-info/top_level.txt +0 -0
  60. {fmu_manipulation_toolbox-1.8.4.1rc1 → fmu_manipulation_toolbox-1.8.4.2}/setup.cfg +0 -0
  61. {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.1rc1
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: `python -m pip install fmu_manipulation`
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`
@@ -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
- print(f"{cport.port.vr} {value}", file=txt_file)
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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmu_manipulation_toolbox
3
- Version: 1.8.4.1rc1
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
@@ -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")