MTPPy2.0 0.1.5__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 (221) hide show
  1. mtppy2_0-0.1.5/LICENSE +21 -0
  2. mtppy2_0-0.1.5/PKG-INFO +75 -0
  3. mtppy2_0-0.1.5/README.md +48 -0
  4. mtppy2_0-0.1.5/pyproject.toml +112 -0
  5. mtppy2_0-0.1.5/setup.cfg +4 -0
  6. mtppy2_0-0.1.5/src/MTPPy2.0.egg-info/PKG-INFO +75 -0
  7. mtppy2_0-0.1.5/src/MTPPy2.0.egg-info/SOURCES.txt +219 -0
  8. mtppy2_0-0.1.5/src/MTPPy2.0.egg-info/dependency_links.txt +1 -0
  9. mtppy2_0-0.1.5/src/MTPPy2.0.egg-info/entry_points.txt +3 -0
  10. mtppy2_0-0.1.5/src/MTPPy2.0.egg-info/requires.txt +5 -0
  11. mtppy2_0-0.1.5/src/MTPPy2.0.egg-info/top_level.txt +5 -0
  12. mtppy2_0-0.1.5/src/examples/__init__.py +0 -0
  13. mtppy2_0-0.1.5/src/examples/minimal+pid.py +82 -0
  14. mtppy2_0-0.1.5/src/examples/minimal.py +32 -0
  15. mtppy2_0-0.1.5/src/examples/minimal_recipe.py +117 -0
  16. mtppy2_0-0.1.5/src/examples/pea_alarm_base.py +47 -0
  17. mtppy2_0-0.1.5/src/examples/pea_minimal.py +258 -0
  18. mtppy2_0-0.1.5/src/mtppy/__init__.py +1 -0
  19. mtppy2_0-0.1.5/src/mtppy/part1/__init__.py +4 -0
  20. mtppy2_0-0.1.5/src/mtppy/part1/empty_folder_test.py +7 -0
  21. mtppy2_0-0.1.5/src/mtppy/part3/__init__.py +4 -0
  22. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/__init__.py +4 -0
  23. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/__init__.py +4 -0
  24. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/active_element.py +22 -0
  25. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/__init__.py +4 -0
  26. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/ana_drv.py +446 -0
  27. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/ana_drv_test.py +567 -0
  28. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/bin_drv.py +365 -0
  29. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/bin_drv_test.py +503 -0
  30. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/mon_ana_drv.py +469 -0
  31. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/mon_ana_drv_test.py +418 -0
  32. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/mon_bin_drv.py +295 -0
  33. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/drives/mon_bin_drv_test.py +265 -0
  34. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/pid/__init__.py +4 -0
  35. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/pid/pid_ctrl.py +333 -0
  36. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/pid/pid_ctrl_test.py +156 -0
  37. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/__init__.py +4 -0
  38. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/ana_vlv.py +402 -0
  39. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/ana_vlv_test.py +732 -0
  40. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/bin_vlv.py +279 -0
  41. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/bin_vlv_test.py +585 -0
  42. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/mon_ana_vlv.py +402 -0
  43. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/mon_ana_vlv_test.py +270 -0
  44. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/mon_bin_vlv.py +286 -0
  45. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/active_elements/valves/mon_bin_vlv_test.py +224 -0
  46. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/__init__.py +4 -0
  47. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/operation_mode.py +252 -0
  48. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/operation_mode_test.py +260 -0
  49. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/oslevel.py +35 -0
  50. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/source_mode.py +189 -0
  51. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/source_mode_test.py +112 -0
  52. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/wqc.py +75 -0
  53. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/base_functions/wqc_test.py +86 -0
  54. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/data_assembly.py +65 -0
  55. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/diagnostic_elements/__init__.py +4 -0
  56. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/diagnostic_elements/diagnostic_element.py +19 -0
  57. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/__init__.py +4 -0
  58. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/indicator_element.py +22 -0
  59. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/views/__init__.py +4 -0
  60. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/views/ana_view.py +68 -0
  61. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/views/bin_view.py +73 -0
  62. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/views/dint_view.py +76 -0
  63. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/indicator_elements/views/string_view.py +55 -0
  64. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/operation_elements/__init__.py +4 -0
  65. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/operation_elements/operation_element.py +19 -0
  66. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/pea_elements/__init__.py +4 -0
  67. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/pea_elements/pea_element.py +28 -0
  68. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/pea_elements/pea_information_label/__init__.py +4 -0
  69. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/pea_elements/pea_information_label/pea_information_label.py +231 -0
  70. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/pea_elements/web_server_url_info/__init__.py +4 -0
  71. mtppy2_0-0.1.5/src/mtppy/part3/data_assembly_set/pea_elements/web_server_url_info/web_server_url_info.py +42 -0
  72. mtppy2_0-0.1.5/src/mtppy/part3/definitions/__init__.py +4 -0
  73. mtppy2_0-0.1.5/src/mtppy/part3/definitions/mtp_access.py +15 -0
  74. mtppy2_0-0.1.5/src/mtppy/part4/__init__.py +4 -0
  75. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/__init__.py +4 -0
  76. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/base_functions/__init__.py +4 -0
  77. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/base_functions/service_operation_mode.py +368 -0
  78. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/base_functions/service_operation_mode_test.py +242 -0
  79. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/base_functions/service_operator_interaction.py +62 -0
  80. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/base_functions/service_source_mode.py +138 -0
  81. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/base_functions/service_source_mode_test.py +179 -0
  82. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/__init__.py +4 -0
  83. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/command_en_control.py +330 -0
  84. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/command_en_control_test.py +302 -0
  85. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/state_machine.py +167 -0
  86. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/state_machine_test.py +294 -0
  87. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/thread_control.py +39 -0
  88. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/helpers/thread_control_test.py +80 -0
  89. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/procedure.py +111 -0
  90. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/procedure_test.py +185 -0
  91. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service.py +463 -0
  92. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/__init__.py +4 -0
  93. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/__init__.py +4 -0
  94. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/ana_serv_param.py +108 -0
  95. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/ana_serv_param_test.py +59 -0
  96. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/bin_serv_param.py +70 -0
  97. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/bin_serv_param_test.py +39 -0
  98. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/common_serv_param.py +111 -0
  99. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/dint_serv_param.py +77 -0
  100. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/dint_serv_param_test.py +58 -0
  101. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/parameter_element.py +175 -0
  102. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/parameter_element_test.py +246 -0
  103. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/string_serv_param.py +48 -0
  104. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/parameter_elements/string_serv_param_test.py +37 -0
  105. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/procedure_health_view.py +36 -0
  106. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/service_control.py +473 -0
  107. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/service_control_test.py +150 -0
  108. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_elements/service_element.py +20 -0
  109. mtppy2_0-0.1.5/src/mtppy/part4/automation_services/service_test.py +407 -0
  110. mtppy2_0-0.1.5/src/mtppy/part4/definitions/__init__.py +4 -0
  111. mtppy2_0-0.1.5/src/mtppy/part4/definitions/command_codes.py +58 -0
  112. mtppy2_0-0.1.5/src/mtppy/part4/definitions/command_codes_test.py +44 -0
  113. mtppy2_0-0.1.5/src/mtppy/part4/definitions/state_codes.py +65 -0
  114. mtppy2_0-0.1.5/src/mtppy/part4/definitions/state_codes_test.py +44 -0
  115. mtppy2_0-0.1.5/src/mtppy/part4/process_values/__init__.py +4 -0
  116. mtppy2_0-0.1.5/src/mtppy/part4/process_values/base_functions/__init__.py +4 -0
  117. mtppy2_0-0.1.5/src/mtppy/part4/process_values/base_functions/vqc.py +48 -0
  118. mtppy2_0-0.1.5/src/mtppy/part4/process_values/input_elements/__init__.py +4 -0
  119. mtppy2_0-0.1.5/src/mtppy/part4/process_values/input_elements/ana_process_value_in.py +160 -0
  120. mtppy2_0-0.1.5/src/mtppy/part4/process_values/input_elements/bin_process_value_in.py +83 -0
  121. mtppy2_0-0.1.5/src/mtppy/part4/process_values/input_elements/dint_process_value_in.py +159 -0
  122. mtppy2_0-0.1.5/src/mtppy/part4/process_values/input_elements/input_element.py +40 -0
  123. mtppy2_0-0.1.5/src/mtppy/part4/process_values/input_elements/string_process_value_in.py +45 -0
  124. mtppy2_0-0.1.5/src/mtppy/part5/__init__.py +4 -0
  125. mtppy2_0-0.1.5/src/mtppy/part5/communication_object.py +99 -0
  126. mtppy2_0-0.1.5/src/mtppy/part5/communication_object_test.py +59 -0
  127. mtppy2_0-0.1.5/src/mtppy/part5/definitions/__init__.py +4 -0
  128. mtppy2_0-0.1.5/src/mtppy/part5/definitions/iec61131_data_types.py +31 -0
  129. mtppy2_0-0.1.5/src/mtppy/part5/definitions/iec61131_data_types_test.py +82 -0
  130. mtppy2_0-0.1.5/src/mtppy/part5/definitions/opcua_data_types.py +36 -0
  131. mtppy2_0-0.1.5/src/mtppy/part5/definitions/opcua_data_types_test.py +90 -0
  132. mtppy2_0-0.1.5/src/mtppy/part5/definitions/w3c_xml_data_types.py +177 -0
  133. mtppy2_0-0.1.5/src/mtppy/part5/definitions/w3c_xml_data_types_test.py +143 -0
  134. mtppy2_0-0.1.5/src/mtppy/part5/server_assembly_set/__init__.py +5 -0
  135. mtppy2_0-0.1.5/src/mtppy/part6/__init__.py +4 -0
  136. mtppy2_0-0.1.5/src/mtppy/part6/alarm_set/__init__.py +4 -0
  137. mtppy2_0-0.1.5/src/mtppy/part6/alarm_set/alarm.py +132 -0
  138. mtppy2_0-0.1.5/src/mtppy/part6/alarm_set/alarm_test.py +265 -0
  139. mtppy2_0-0.1.5/src/mtppy/pea/__init__.py +19 -0
  140. mtppy2_0-0.1.5/src/mtppy/pea/data_assembly_factory.py +124 -0
  141. mtppy2_0-0.1.5/src/mtppy/pea/data_assembly_factory_test.py +229 -0
  142. mtppy2_0-0.1.5/src/mtppy/pea/mtp_generator/__init__.py +4 -0
  143. mtppy2_0-0.1.5/src/mtppy/pea/mtp_generator/mtp_generator.py +1183 -0
  144. mtppy2_0-0.1.5/src/mtppy/pea/mtp_generator/mtp_generator_test.py +518 -0
  145. mtppy2_0-0.1.5/src/mtppy/pea/pea.py +139 -0
  146. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/__init__.py +4 -0
  147. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/marshalling.py +60 -0
  148. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/opcua_options_provider/__init__.py +4 -0
  149. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/opcua_options_provider/instances/basic_opcua_options_provider.py +50 -0
  150. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/opcua_options_provider/opcua_options_provider.py +103 -0
  151. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/pea_opcua_server.py +492 -0
  152. mtppy2_0-0.1.5/src/mtppy/pea/pea_opcua_server/subscription_list.py +55 -0
  153. mtppy2_0-0.1.5/src/mtppy/pea/pea_test.py +59 -0
  154. mtppy2_0-0.1.5/src/mtppy/pea/rmtp_pea.py +155 -0
  155. mtppy2_0-0.1.5/src/mtppy/pea/rmtp_pea_test.py +27 -0
  156. mtppy2_0-0.1.5/src/mtppy/pea/service_factory.py +178 -0
  157. mtppy2_0-0.1.5/src/mtppy/pea/service_factory_test.py +156 -0
  158. mtppy2_0-0.1.5/src/mtppy/pea/user_logic/__init__.py +4 -0
  159. mtppy2_0-0.1.5/src/mtppy/pea/user_logic/user_logic_pea.py +72 -0
  160. mtppy2_0-0.1.5/src/mtppy/pea/user_logic/user_logic_registry.py +106 -0
  161. mtppy2_0-0.1.5/src/mtppy/pea/user_logic/user_logic_registry_test.py +167 -0
  162. mtppy2_0-0.1.5/src/mtppy/pea/user_logic/user_logic_service.py +228 -0
  163. mtppy2_0-0.1.5/src/mtppy/pea/user_logic/user_logic_service_test.py +289 -0
  164. mtppy2_0-0.1.5/src/mtppy/utils/__init__.py +4 -0
  165. mtppy2_0-0.1.5/src/mtppy/utils/data_assembly_dict.py +61 -0
  166. mtppy2_0-0.1.5/src/mtppy/utils/data_assembly_dict_test.py +107 -0
  167. mtppy2_0-0.1.5/src/mtppy/utils/data_item.py +446 -0
  168. mtppy2_0-0.1.5/src/mtppy/utils/data_item_com_test.py +82 -0
  169. mtppy2_0-0.1.5/src/mtppy/utils/data_item_test.py +325 -0
  170. mtppy2_0-0.1.5/src/mtppy/utils/logging.py +23 -0
  171. mtppy2_0-0.1.5/src/mtppy/utils/logging_test.py +26 -0
  172. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/__init__.py +4 -0
  173. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/extract_manifest_from_mtp_file.py +22 -0
  174. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/extract_mtp_file.py +22 -0
  175. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/is_valid_mtp.py +22 -0
  176. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/is_valid_path_for_manifest.py +15 -0
  177. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/is_valid_path_to_manifest.py +17 -0
  178. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/is_valid_path_to_mtp.py +17 -0
  179. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/load_manifest_file.py +24 -0
  180. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_reader/__init__.py +4 -0
  181. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_reader.py +103 -0
  182. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_reader_test.py +96 -0
  183. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_xml.py +226 -0
  184. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_xml_test.py +108 -0
  185. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_writer/__init__.py +4 -0
  186. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_writer/mtp_writer.py +77 -0
  187. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_writer/ressources/get_content_types.py +10 -0
  188. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_writer/ressources/get_rels.py +11 -0
  189. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/mtp_writer/test_mtp_writer.py +25 -0
  190. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/write_manifest_file.py +29 -0
  191. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/write_manifest_file_test.py +22 -0
  192. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/write_mtp_file.py +43 -0
  193. mtppy2_0-0.1.5/src/mtppy/utils/mtp_file_handling/write_mtp_file_test.py +22 -0
  194. mtppy2_0-0.1.5/src/mtppy/utils/testing.py +31 -0
  195. mtppy2_0-0.1.5/src/tools/__init__.py +0 -0
  196. mtppy2_0-0.1.5/src/tools/create_bugreport.py +150 -0
  197. mtppy2_0-0.1.5/src/tools/inspect_mtp.py +110 -0
  198. mtppy2_0-0.1.5/src/utils/__init__.py +1 -0
  199. mtppy2_0-0.1.5/src/utils/file_handling/__init__.py +4 -0
  200. mtppy2_0-0.1.5/src/utils/file_handling/cleanup_folder.py +9 -0
  201. mtppy2_0-0.1.5/src/utils/file_handling/get_utc_foldername_with_ms.py +15 -0
  202. mtppy2_0-0.1.5/src/utils/file_handling/get_work_dir.py +9 -0
  203. mtppy2_0-0.1.5/src/utils/file_handling/is_valid_path_for_json.py +11 -0
  204. mtppy2_0-0.1.5/src/utils/file_handling/is_valid_path_to_json.py +17 -0
  205. mtppy2_0-0.1.5/src/utils/file_handling/load_json_file.py +18 -0
  206. mtppy2_0-0.1.5/src/utils/file_handling/read_file_from_file_archive.py +43 -0
  207. mtppy2_0-0.1.5/src/utils/file_handling/read_file_string.py +10 -0
  208. mtppy2_0-0.1.5/src/utils/file_handling/validate_json_data.py +28 -0
  209. mtppy2_0-0.1.5/src/utils/file_handling/write_json_file.py +23 -0
  210. mtppy2_0-0.1.5/src/utils/get_uuid.py +18 -0
  211. mtppy2_0-0.1.5/src/utils/get_uuid_test.py +17 -0
  212. mtppy2_0-0.1.5/src/utils/logging.py +100 -0
  213. mtppy2_0-0.1.5/src/utils/logging_test.py +67 -0
  214. mtppy2_0-0.1.5/src/utils/opcua/check_node.py +79 -0
  215. mtppy2_0-0.1.5/src/utils/resolve_unit/resolve_unit.py +11 -0
  216. mtppy2_0-0.1.5/src/utils/resolve_unit/unit_lib.py +2101 -0
  217. mtppy2_0-0.1.5/src/utils/resolve_unit/unit_lib_test.py +36 -0
  218. mtppy2_0-0.1.5/src/utils/type_conversion.py +236 -0
  219. mtppy2_0-0.1.5/src/utils/type_conversion_test.py +114 -0
  220. mtppy2_0-0.1.5/tests/test_data_item_handshake.py +81 -0
  221. mtppy2_0-0.1.5/tests/test_examples.py +161 -0
mtppy2_0-0.1.5/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Dresden University of Technology, Process-to-Order Group
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,75 @@
1
+ Metadata-Version: 2.4
2
+ Name: MTPPy2.0
3
+ Version: 0.1.5
4
+ Summary: Open-source modular automation with MTP 2.0
5
+ Author: Dresden University of Technology, Process-to-Order Group
6
+ Author-email: Julius Lorenz <julius.lorenz@tu-dresden.de>, Leon Urbas <leon.urbas@tu-dresden.de>
7
+ License-Expression: MIT
8
+ Project-URL: Homepage, https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0
9
+ Project-URL: Issues, https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Intended Audience :: Education
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Intended Audience :: Manufacturing
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Requires-Python: >=3.13
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: opcua~=0.98.13
22
+ Requires-Dist: jsonschema>=4.26.0
23
+ Requires-Dist: chardet>=7.6.0
24
+ Requires-Dist: simple-pid>=2.0.1
25
+ Requires-Dist: pymodbus>=3.15.0
26
+ Dynamic: license-file
27
+
28
+ # MTPPy2.0
29
+
30
+ MTPPy2.0 is a redesign and evolution of the famous MTPPy1.0 repository. The objectives of this project are to provide
31
+
32
+ 1. a playground that helps to getting started with the MTP, and
33
+ 2. a reference implementation for the MTP 2.0 which allows discussions on the advancement of the specification based on accessible and sharable evidence and experience.
34
+
35
+ Towards that end MTPPy2.0 implements several parts of the PNO MTP 2.0 specification, namely Part 1 (Definitions), Part 3 (Data Object Library), Part 4 (Services), and an initial static `AlarmSet.Base` subset of Part 6 (Alarms and Events). See the [docs](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/index.html) for further details.
36
+
37
+ ## Status
38
+ [![Latest Release](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/badges/release.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/releases)
39
+ [![coverage report](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/badges/main/coverage.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/commits/main)
40
+
41
+ ## License
42
+ MTPPy2.0 is licensed under the [MIT license](./LICENSE).
43
+
44
+ ## Getting Started
45
+
46
+ ### End-Users
47
+ - create a virtual environment and install the MTTPy package from PyPI
48
+ ```shell
49
+ uv init
50
+ uv add MTPPy2.0
51
+ ```
52
+ - Visit the [tutorial](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/tutorial/)
53
+ that allows you to dive right in into PEA development without needing to
54
+ read 10000+ pages of specification.
55
+ - Have fun and support the MTP community with your feedback.
56
+
57
+ ### Developers
58
+ - Check out ``main`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
59
+ - Run `uv sync --all-groups` to setup the virtual environment `mtppy2-0` and install
60
+ all the required packages for running and development
61
+ - You might want to inspect the examples in ``./examples`` and perhaps the jupyter-notebook snippets in
62
+ ``./snippets``
63
+
64
+ ### Contributors
65
+ - Check out ``next_release`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
66
+ - Run `uv sync --all-groups` to to setup the virtual environment `mtppy2-0` and install
67
+ all the required packages for running and development
68
+ - Study the [developer handbook](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/developer/developer/)
69
+ - Feel invited to contribute by
70
+ - joining the development on a certain [branch](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/branches), or by
71
+ - selecting an [open issue](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards?milestone_title=Started&types=ISSUE) an creating a branch
72
+
73
+
74
+
75
+
@@ -0,0 +1,48 @@
1
+ # MTPPy2.0
2
+
3
+ MTPPy2.0 is a redesign and evolution of the famous MTPPy1.0 repository. The objectives of this project are to provide
4
+
5
+ 1. a playground that helps to getting started with the MTP, and
6
+ 2. a reference implementation for the MTP 2.0 which allows discussions on the advancement of the specification based on accessible and sharable evidence and experience.
7
+
8
+ Towards that end MTPPy2.0 implements several parts of the PNO MTP 2.0 specification, namely Part 1 (Definitions), Part 3 (Data Object Library), Part 4 (Services), and an initial static `AlarmSet.Base` subset of Part 6 (Alarms and Events). See the [docs](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/index.html) for further details.
9
+
10
+ ## Status
11
+ [![Latest Release](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/badges/release.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/releases)
12
+ [![coverage report](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/badges/main/coverage.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/commits/main)
13
+
14
+ ## License
15
+ MTPPy2.0 is licensed under the [MIT license](./LICENSE).
16
+
17
+ ## Getting Started
18
+
19
+ ### End-Users
20
+ - create a virtual environment and install the MTTPy package from PyPI
21
+ ```shell
22
+ uv init
23
+ uv add MTPPy2.0
24
+ ```
25
+ - Visit the [tutorial](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/tutorial/)
26
+ that allows you to dive right in into PEA development without needing to
27
+ read 10000+ pages of specification.
28
+ - Have fun and support the MTP community with your feedback.
29
+
30
+ ### Developers
31
+ - Check out ``main`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
32
+ - Run `uv sync --all-groups` to setup the virtual environment `mtppy2-0` and install
33
+ all the required packages for running and development
34
+ - You might want to inspect the examples in ``./examples`` and perhaps the jupyter-notebook snippets in
35
+ ``./snippets``
36
+
37
+ ### Contributors
38
+ - Check out ``next_release`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
39
+ - Run `uv sync --all-groups` to to setup the virtual environment `mtppy2-0` and install
40
+ all the required packages for running and development
41
+ - Study the [developer handbook](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/developer/developer/)
42
+ - Feel invited to contribute by
43
+ - joining the development on a certain [branch](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/branches), or by
44
+ - selecting an [open issue](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards?milestone_title=Started&types=ISSUE) an creating a branch
45
+
46
+
47
+
48
+
@@ -0,0 +1,112 @@
1
+ [project]
2
+ name = "MTPPy2.0"
3
+ version = "0.1.5"
4
+ description = "Open-source modular automation with MTP 2.0"
5
+ readme="README.md"
6
+ license = "MIT"
7
+ license-files = ["LICENSE" ]
8
+ requires-python = ">=3.13"
9
+ authors = [
10
+ { name = "Dresden University of Technology, Process-to-Order Group" },
11
+ { name = "Julius Lorenz", email="julius.lorenz@tu-dresden.de" },
12
+ { name = "Leon Urbas", email="leon.urbas@tu-dresden.de" },
13
+ ]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Intended Audience :: Developers",
17
+ "Intended Audience :: Education",
18
+ "Intended Audience :: Science/Research",
19
+ "Intended Audience :: Manufacturing",
20
+ "Operating System :: OS Independent",
21
+ "Programming Language :: Python :: 3.13",
22
+ "Topic :: Scientific/Engineering",
23
+ ]
24
+ dependencies = [
25
+ "opcua~=0.98.13",
26
+ "jsonschema>=4.26.0",
27
+ "chardet>=7.6.0",
28
+ "simple-pid>=2.0.1",
29
+ "pymodbus>=3.15.0",
30
+ ]
31
+
32
+ [project.urls]
33
+ Homepage = "https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0"
34
+ Issues= "https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards"
35
+
36
+
37
+ [build-system]
38
+ requires = ["setuptools~=82.0.1"]
39
+ build-backend = "setuptools.build_meta"
40
+
41
+ [project.scripts]
42
+ inspect_mtp = "tools.inspect_mtp:main"
43
+ rmtp_pea = "mtppy.pea.rmtp_pea:main"
44
+
45
+
46
+ [dependency-groups]
47
+ dev = [
48
+ "black>=26.5.1",
49
+ "circular-import-detector>=1.0.18",
50
+ "ipykernel>=7.3.0",
51
+ "linkchecker>=10.6.0",
52
+ "mkdocstrings[python]>=1.0.6",
53
+ "opcua-client>=0.8.4",
54
+ "py-spy>=0.4.2",
55
+ "pytest~=9.1.1",
56
+ "pytest-console-scripts>=1.4.1",
57
+ "pytest-cov>=7.1.0",
58
+ "pytest-coverage>=0.0",
59
+ "pytest-mock>=3.15.1",
60
+ "pytest-timeout>=2.4.0",
61
+ "ruff>=0.16.0",
62
+ "setuptools~=82.0.1",
63
+ "zensical>=0.0.51",
64
+ ]
65
+
66
+ [tool.setuptools.dynamic]
67
+ version = { attr = "mtppy.__version__" }
68
+
69
+ [tool.setuptools.packages.find]
70
+ where = ["src"]
71
+
72
+ [tool.setuptools]
73
+ package-dir = { "" = "src" }
74
+
75
+ [tool.coverage.run]
76
+ include = [
77
+ "*/src/mtppy/*",
78
+ "examples/*",
79
+ ]
80
+ omit = [
81
+ "*/examples/*",
82
+ "*/venv/*",
83
+ "*/.venv/*",
84
+ "*/__pycache__/*",
85
+ "*/setup.py",
86
+ "*/distutils/*",
87
+ "*/build/*",
88
+ "*/*_test.py",
89
+ "*/test_*.py",
90
+ ]
91
+
92
+ [tool.uv]
93
+
94
+ [tool.pytest]
95
+ pythonpath = ["src"]
96
+ testpaths = ["src", "tests"]
97
+ filterwarnings = [
98
+ "ignore::UserWarning",
99
+ 'ignore:datetime.datetime.utcnow\(\) is deprecated:DeprecationWarning',
100
+ ]
101
+
102
+ [tool.ruff]
103
+ lint.select = ["ALL"]
104
+ # ANN001 - Missing type annotation for function argument
105
+ # `incorrect-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible. Ignoring `incorrect-blank-line-before-class`.
106
+ # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible. Ignoring `multi-line-summary-second-line`.
107
+ # `missing-blank-line-after-summary (D205)
108
+ # `missing-type-args` (ANN002)
109
+ # `missing-type-kwargs` (ANN003)
110
+ # `Missing blank line after last section` (D413)
111
+ # `Too many arguments in function definition` (PLR0913)
112
+ lint.ignore = ["ANN002","ANN003","D203","D213","D205","D413","PLR0913"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,75 @@
1
+ Metadata-Version: 2.4
2
+ Name: MTPPy2.0
3
+ Version: 0.1.5
4
+ Summary: Open-source modular automation with MTP 2.0
5
+ Author: Dresden University of Technology, Process-to-Order Group
6
+ Author-email: Julius Lorenz <julius.lorenz@tu-dresden.de>, Leon Urbas <leon.urbas@tu-dresden.de>
7
+ License-Expression: MIT
8
+ Project-URL: Homepage, https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0
9
+ Project-URL: Issues, https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Intended Audience :: Education
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Intended Audience :: Manufacturing
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Requires-Python: >=3.13
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: opcua~=0.98.13
22
+ Requires-Dist: jsonschema>=4.26.0
23
+ Requires-Dist: chardet>=7.6.0
24
+ Requires-Dist: simple-pid>=2.0.1
25
+ Requires-Dist: pymodbus>=3.15.0
26
+ Dynamic: license-file
27
+
28
+ # MTPPy2.0
29
+
30
+ MTPPy2.0 is a redesign and evolution of the famous MTPPy1.0 repository. The objectives of this project are to provide
31
+
32
+ 1. a playground that helps to getting started with the MTP, and
33
+ 2. a reference implementation for the MTP 2.0 which allows discussions on the advancement of the specification based on accessible and sharable evidence and experience.
34
+
35
+ Towards that end MTPPy2.0 implements several parts of the PNO MTP 2.0 specification, namely Part 1 (Definitions), Part 3 (Data Object Library), Part 4 (Services), and an initial static `AlarmSet.Base` subset of Part 6 (Alarms and Events). See the [docs](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/index.html) for further details.
36
+
37
+ ## Status
38
+ [![Latest Release](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/badges/release.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/releases)
39
+ [![coverage report](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/badges/main/coverage.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/commits/main)
40
+
41
+ ## License
42
+ MTPPy2.0 is licensed under the [MIT license](./LICENSE).
43
+
44
+ ## Getting Started
45
+
46
+ ### End-Users
47
+ - create a virtual environment and install the MTTPy package from PyPI
48
+ ```shell
49
+ uv init
50
+ uv add MTPPy2.0
51
+ ```
52
+ - Visit the [tutorial](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/tutorial/)
53
+ that allows you to dive right in into PEA development without needing to
54
+ read 10000+ pages of specification.
55
+ - Have fun and support the MTP community with your feedback.
56
+
57
+ ### Developers
58
+ - Check out ``main`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
59
+ - Run `uv sync --all-groups` to setup the virtual environment `mtppy2-0` and install
60
+ all the required packages for running and development
61
+ - You might want to inspect the examples in ``./examples`` and perhaps the jupyter-notebook snippets in
62
+ ``./snippets``
63
+
64
+ ### Contributors
65
+ - Check out ``next_release`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
66
+ - Run `uv sync --all-groups` to to setup the virtual environment `mtppy2-0` and install
67
+ all the required packages for running and development
68
+ - Study the [developer handbook](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/developer/developer/)
69
+ - Feel invited to contribute by
70
+ - joining the development on a certain [branch](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/branches), or by
71
+ - selecting an [open issue](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards?milestone_title=Started&types=ISSUE) an creating a branch
72
+
73
+
74
+
75
+
@@ -0,0 +1,219 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/MTPPy2.0.egg-info/PKG-INFO
5
+ src/MTPPy2.0.egg-info/SOURCES.txt
6
+ src/MTPPy2.0.egg-info/dependency_links.txt
7
+ src/MTPPy2.0.egg-info/entry_points.txt
8
+ src/MTPPy2.0.egg-info/requires.txt
9
+ src/MTPPy2.0.egg-info/top_level.txt
10
+ src/examples/__init__.py
11
+ src/examples/minimal+pid.py
12
+ src/examples/minimal.py
13
+ src/examples/minimal_recipe.py
14
+ src/examples/pea_alarm_base.py
15
+ src/examples/pea_minimal.py
16
+ src/mtppy/__init__.py
17
+ src/mtppy/part1/__init__.py
18
+ src/mtppy/part1/empty_folder_test.py
19
+ src/mtppy/part3/__init__.py
20
+ src/mtppy/part3/data_assembly_set/__init__.py
21
+ src/mtppy/part3/data_assembly_set/data_assembly.py
22
+ src/mtppy/part3/data_assembly_set/active_elements/__init__.py
23
+ src/mtppy/part3/data_assembly_set/active_elements/active_element.py
24
+ src/mtppy/part3/data_assembly_set/active_elements/drives/__init__.py
25
+ src/mtppy/part3/data_assembly_set/active_elements/drives/ana_drv.py
26
+ src/mtppy/part3/data_assembly_set/active_elements/drives/ana_drv_test.py
27
+ src/mtppy/part3/data_assembly_set/active_elements/drives/bin_drv.py
28
+ src/mtppy/part3/data_assembly_set/active_elements/drives/bin_drv_test.py
29
+ src/mtppy/part3/data_assembly_set/active_elements/drives/mon_ana_drv.py
30
+ src/mtppy/part3/data_assembly_set/active_elements/drives/mon_ana_drv_test.py
31
+ src/mtppy/part3/data_assembly_set/active_elements/drives/mon_bin_drv.py
32
+ src/mtppy/part3/data_assembly_set/active_elements/drives/mon_bin_drv_test.py
33
+ src/mtppy/part3/data_assembly_set/active_elements/pid/__init__.py
34
+ src/mtppy/part3/data_assembly_set/active_elements/pid/pid_ctrl.py
35
+ src/mtppy/part3/data_assembly_set/active_elements/pid/pid_ctrl_test.py
36
+ src/mtppy/part3/data_assembly_set/active_elements/valves/__init__.py
37
+ src/mtppy/part3/data_assembly_set/active_elements/valves/ana_vlv.py
38
+ src/mtppy/part3/data_assembly_set/active_elements/valves/ana_vlv_test.py
39
+ src/mtppy/part3/data_assembly_set/active_elements/valves/bin_vlv.py
40
+ src/mtppy/part3/data_assembly_set/active_elements/valves/bin_vlv_test.py
41
+ src/mtppy/part3/data_assembly_set/active_elements/valves/mon_ana_vlv.py
42
+ src/mtppy/part3/data_assembly_set/active_elements/valves/mon_ana_vlv_test.py
43
+ src/mtppy/part3/data_assembly_set/active_elements/valves/mon_bin_vlv.py
44
+ src/mtppy/part3/data_assembly_set/active_elements/valves/mon_bin_vlv_test.py
45
+ src/mtppy/part3/data_assembly_set/base_functions/__init__.py
46
+ src/mtppy/part3/data_assembly_set/base_functions/operation_mode.py
47
+ src/mtppy/part3/data_assembly_set/base_functions/operation_mode_test.py
48
+ src/mtppy/part3/data_assembly_set/base_functions/oslevel.py
49
+ src/mtppy/part3/data_assembly_set/base_functions/source_mode.py
50
+ src/mtppy/part3/data_assembly_set/base_functions/source_mode_test.py
51
+ src/mtppy/part3/data_assembly_set/base_functions/wqc.py
52
+ src/mtppy/part3/data_assembly_set/base_functions/wqc_test.py
53
+ src/mtppy/part3/data_assembly_set/diagnostic_elements/__init__.py
54
+ src/mtppy/part3/data_assembly_set/diagnostic_elements/diagnostic_element.py
55
+ src/mtppy/part3/data_assembly_set/indicator_elements/__init__.py
56
+ src/mtppy/part3/data_assembly_set/indicator_elements/indicator_element.py
57
+ src/mtppy/part3/data_assembly_set/indicator_elements/views/__init__.py
58
+ src/mtppy/part3/data_assembly_set/indicator_elements/views/ana_view.py
59
+ src/mtppy/part3/data_assembly_set/indicator_elements/views/bin_view.py
60
+ src/mtppy/part3/data_assembly_set/indicator_elements/views/dint_view.py
61
+ src/mtppy/part3/data_assembly_set/indicator_elements/views/string_view.py
62
+ src/mtppy/part3/data_assembly_set/operation_elements/__init__.py
63
+ src/mtppy/part3/data_assembly_set/operation_elements/operation_element.py
64
+ src/mtppy/part3/data_assembly_set/pea_elements/__init__.py
65
+ src/mtppy/part3/data_assembly_set/pea_elements/pea_element.py
66
+ src/mtppy/part3/data_assembly_set/pea_elements/pea_information_label/__init__.py
67
+ src/mtppy/part3/data_assembly_set/pea_elements/pea_information_label/pea_information_label.py
68
+ src/mtppy/part3/data_assembly_set/pea_elements/web_server_url_info/__init__.py
69
+ src/mtppy/part3/data_assembly_set/pea_elements/web_server_url_info/web_server_url_info.py
70
+ src/mtppy/part3/definitions/__init__.py
71
+ src/mtppy/part3/definitions/mtp_access.py
72
+ src/mtppy/part4/__init__.py
73
+ src/mtppy/part4/automation_services/__init__.py
74
+ src/mtppy/part4/automation_services/procedure.py
75
+ src/mtppy/part4/automation_services/procedure_test.py
76
+ src/mtppy/part4/automation_services/service.py
77
+ src/mtppy/part4/automation_services/service_test.py
78
+ src/mtppy/part4/automation_services/base_functions/__init__.py
79
+ src/mtppy/part4/automation_services/base_functions/service_operation_mode.py
80
+ src/mtppy/part4/automation_services/base_functions/service_operation_mode_test.py
81
+ src/mtppy/part4/automation_services/base_functions/service_operator_interaction.py
82
+ src/mtppy/part4/automation_services/base_functions/service_source_mode.py
83
+ src/mtppy/part4/automation_services/base_functions/service_source_mode_test.py
84
+ src/mtppy/part4/automation_services/helpers/__init__.py
85
+ src/mtppy/part4/automation_services/helpers/command_en_control.py
86
+ src/mtppy/part4/automation_services/helpers/command_en_control_test.py
87
+ src/mtppy/part4/automation_services/helpers/state_machine.py
88
+ src/mtppy/part4/automation_services/helpers/state_machine_test.py
89
+ src/mtppy/part4/automation_services/helpers/thread_control.py
90
+ src/mtppy/part4/automation_services/helpers/thread_control_test.py
91
+ src/mtppy/part4/automation_services/service_elements/__init__.py
92
+ src/mtppy/part4/automation_services/service_elements/procedure_health_view.py
93
+ src/mtppy/part4/automation_services/service_elements/service_control.py
94
+ src/mtppy/part4/automation_services/service_elements/service_control_test.py
95
+ src/mtppy/part4/automation_services/service_elements/service_element.py
96
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/__init__.py
97
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/ana_serv_param.py
98
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/ana_serv_param_test.py
99
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/bin_serv_param.py
100
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/bin_serv_param_test.py
101
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/common_serv_param.py
102
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/dint_serv_param.py
103
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/dint_serv_param_test.py
104
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/parameter_element.py
105
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/parameter_element_test.py
106
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/string_serv_param.py
107
+ src/mtppy/part4/automation_services/service_elements/parameter_elements/string_serv_param_test.py
108
+ src/mtppy/part4/definitions/__init__.py
109
+ src/mtppy/part4/definitions/command_codes.py
110
+ src/mtppy/part4/definitions/command_codes_test.py
111
+ src/mtppy/part4/definitions/state_codes.py
112
+ src/mtppy/part4/definitions/state_codes_test.py
113
+ src/mtppy/part4/process_values/__init__.py
114
+ src/mtppy/part4/process_values/base_functions/__init__.py
115
+ src/mtppy/part4/process_values/base_functions/vqc.py
116
+ src/mtppy/part4/process_values/input_elements/__init__.py
117
+ src/mtppy/part4/process_values/input_elements/ana_process_value_in.py
118
+ src/mtppy/part4/process_values/input_elements/bin_process_value_in.py
119
+ src/mtppy/part4/process_values/input_elements/dint_process_value_in.py
120
+ src/mtppy/part4/process_values/input_elements/input_element.py
121
+ src/mtppy/part4/process_values/input_elements/string_process_value_in.py
122
+ src/mtppy/part5/__init__.py
123
+ src/mtppy/part5/communication_object.py
124
+ src/mtppy/part5/communication_object_test.py
125
+ src/mtppy/part5/definitions/__init__.py
126
+ src/mtppy/part5/definitions/iec61131_data_types.py
127
+ src/mtppy/part5/definitions/iec61131_data_types_test.py
128
+ src/mtppy/part5/definitions/opcua_data_types.py
129
+ src/mtppy/part5/definitions/opcua_data_types_test.py
130
+ src/mtppy/part5/definitions/w3c_xml_data_types.py
131
+ src/mtppy/part5/definitions/w3c_xml_data_types_test.py
132
+ src/mtppy/part5/server_assembly_set/__init__.py
133
+ src/mtppy/part6/__init__.py
134
+ src/mtppy/part6/alarm_set/__init__.py
135
+ src/mtppy/part6/alarm_set/alarm.py
136
+ src/mtppy/part6/alarm_set/alarm_test.py
137
+ src/mtppy/pea/__init__.py
138
+ src/mtppy/pea/data_assembly_factory.py
139
+ src/mtppy/pea/data_assembly_factory_test.py
140
+ src/mtppy/pea/pea.py
141
+ src/mtppy/pea/pea_test.py
142
+ src/mtppy/pea/rmtp_pea.py
143
+ src/mtppy/pea/rmtp_pea_test.py
144
+ src/mtppy/pea/service_factory.py
145
+ src/mtppy/pea/service_factory_test.py
146
+ src/mtppy/pea/mtp_generator/__init__.py
147
+ src/mtppy/pea/mtp_generator/mtp_generator.py
148
+ src/mtppy/pea/mtp_generator/mtp_generator_test.py
149
+ src/mtppy/pea/pea_opcua_server/__init__.py
150
+ src/mtppy/pea/pea_opcua_server/marshalling.py
151
+ src/mtppy/pea/pea_opcua_server/pea_opcua_server.py
152
+ src/mtppy/pea/pea_opcua_server/subscription_list.py
153
+ src/mtppy/pea/pea_opcua_server/opcua_options_provider/__init__.py
154
+ src/mtppy/pea/pea_opcua_server/opcua_options_provider/opcua_options_provider.py
155
+ src/mtppy/pea/pea_opcua_server/opcua_options_provider/instances/basic_opcua_options_provider.py
156
+ src/mtppy/pea/user_logic/__init__.py
157
+ src/mtppy/pea/user_logic/user_logic_pea.py
158
+ src/mtppy/pea/user_logic/user_logic_registry.py
159
+ src/mtppy/pea/user_logic/user_logic_registry_test.py
160
+ src/mtppy/pea/user_logic/user_logic_service.py
161
+ src/mtppy/pea/user_logic/user_logic_service_test.py
162
+ src/mtppy/utils/__init__.py
163
+ src/mtppy/utils/data_assembly_dict.py
164
+ src/mtppy/utils/data_assembly_dict_test.py
165
+ src/mtppy/utils/data_item.py
166
+ src/mtppy/utils/data_item_com_test.py
167
+ src/mtppy/utils/data_item_test.py
168
+ src/mtppy/utils/logging.py
169
+ src/mtppy/utils/logging_test.py
170
+ src/mtppy/utils/testing.py
171
+ src/mtppy/utils/mtp_file_handling/__init__.py
172
+ src/mtppy/utils/mtp_file_handling/extract_manifest_from_mtp_file.py
173
+ src/mtppy/utils/mtp_file_handling/extract_mtp_file.py
174
+ src/mtppy/utils/mtp_file_handling/is_valid_mtp.py
175
+ src/mtppy/utils/mtp_file_handling/is_valid_path_for_manifest.py
176
+ src/mtppy/utils/mtp_file_handling/is_valid_path_to_manifest.py
177
+ src/mtppy/utils/mtp_file_handling/is_valid_path_to_mtp.py
178
+ src/mtppy/utils/mtp_file_handling/load_manifest_file.py
179
+ src/mtppy/utils/mtp_file_handling/write_manifest_file.py
180
+ src/mtppy/utils/mtp_file_handling/write_manifest_file_test.py
181
+ src/mtppy/utils/mtp_file_handling/write_mtp_file.py
182
+ src/mtppy/utils/mtp_file_handling/write_mtp_file_test.py
183
+ src/mtppy/utils/mtp_file_handling/mtp_reader/__init__.py
184
+ src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_reader.py
185
+ src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_reader_test.py
186
+ src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_xml.py
187
+ src/mtppy/utils/mtp_file_handling/mtp_reader/mtp_xml_test.py
188
+ src/mtppy/utils/mtp_file_handling/mtp_writer/__init__.py
189
+ src/mtppy/utils/mtp_file_handling/mtp_writer/mtp_writer.py
190
+ src/mtppy/utils/mtp_file_handling/mtp_writer/test_mtp_writer.py
191
+ src/mtppy/utils/mtp_file_handling/mtp_writer/ressources/get_content_types.py
192
+ src/mtppy/utils/mtp_file_handling/mtp_writer/ressources/get_rels.py
193
+ src/tools/__init__.py
194
+ src/tools/create_bugreport.py
195
+ src/tools/inspect_mtp.py
196
+ src/utils/__init__.py
197
+ src/utils/get_uuid.py
198
+ src/utils/get_uuid_test.py
199
+ src/utils/logging.py
200
+ src/utils/logging_test.py
201
+ src/utils/type_conversion.py
202
+ src/utils/type_conversion_test.py
203
+ src/utils/file_handling/__init__.py
204
+ src/utils/file_handling/cleanup_folder.py
205
+ src/utils/file_handling/get_utc_foldername_with_ms.py
206
+ src/utils/file_handling/get_work_dir.py
207
+ src/utils/file_handling/is_valid_path_for_json.py
208
+ src/utils/file_handling/is_valid_path_to_json.py
209
+ src/utils/file_handling/load_json_file.py
210
+ src/utils/file_handling/read_file_from_file_archive.py
211
+ src/utils/file_handling/read_file_string.py
212
+ src/utils/file_handling/validate_json_data.py
213
+ src/utils/file_handling/write_json_file.py
214
+ src/utils/opcua/check_node.py
215
+ src/utils/resolve_unit/resolve_unit.py
216
+ src/utils/resolve_unit/unit_lib.py
217
+ src/utils/resolve_unit/unit_lib_test.py
218
+ tests/test_data_item_handshake.py
219
+ tests/test_examples.py
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ inspect_mtp = tools.inspect_mtp:main
3
+ rmtp_pea = mtppy.pea.rmtp_pea:main
@@ -0,0 +1,5 @@
1
+ opcua~=0.98.13
2
+ jsonschema>=4.26.0
3
+ chardet>=7.6.0
4
+ simple-pid>=2.0.1
5
+ pymodbus>=3.15.0
@@ -0,0 +1,5 @@
1
+ examples
2
+ mtppy
3
+ tools
4
+ util
5
+ utils
File without changes