another-ayx-python-sdk 2.4.2__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.
Files changed (403) hide show
  1. another_ayx_python_sdk/__init__.py +14 -0
  2. another_ayx_python_sdk/__main__.py +470 -0
  3. another_ayx_python_sdk/assets/workspace_files/__init__.py +14 -0
  4. another_ayx_python_sdk/assets/workspace_files/setup.py +38 -0
  5. another_ayx_python_sdk/cli/__init__.py +14 -0
  6. another_ayx_python_sdk/cli/utilities.py +103 -0
  7. another_ayx_python_sdk/cli/workspace.py +266 -0
  8. another_ayx_python_sdk/cli/yxi_builder.py +125 -0
  9. another_ayx_python_sdk/cli/yxi_installer.py +45 -0
  10. another_ayx_python_sdk/core/__init__.py +51 -0
  11. another_ayx_python_sdk/core/__pycache__/__init__.cpython-310.pyc +0 -0
  12. another_ayx_python_sdk/core/__pycache__/constants.cpython-310.pyc +0 -0
  13. another_ayx_python_sdk/core/__pycache__/dcm_base.cpython-310.pyc +0 -0
  14. another_ayx_python_sdk/core/__pycache__/doc_utilities.cpython-310.pyc +0 -0
  15. another_ayx_python_sdk/core/__pycache__/environment_base.cpython-310.pyc +0 -0
  16. another_ayx_python_sdk/core/__pycache__/field.cpython-310.pyc +0 -0
  17. another_ayx_python_sdk/core/__pycache__/input_anchor_base.cpython-310.pyc +0 -0
  18. another_ayx_python_sdk/core/__pycache__/input_connection_base.cpython-310.pyc +0 -0
  19. another_ayx_python_sdk/core/__pycache__/io_base.cpython-310.pyc +0 -0
  20. another_ayx_python_sdk/core/__pycache__/metadata.cpython-310.pyc +0 -0
  21. another_ayx_python_sdk/core/__pycache__/output_anchor_base.cpython-310.pyc +0 -0
  22. another_ayx_python_sdk/core/__pycache__/plugin.cpython-310.pyc +0 -0
  23. another_ayx_python_sdk/core/__pycache__/plugin_v2.cpython-310.pyc +0 -0
  24. another_ayx_python_sdk/core/__pycache__/provider_base.cpython-310.pyc +0 -0
  25. another_ayx_python_sdk/core/__pycache__/record_packet.cpython-310.pyc +0 -0
  26. another_ayx_python_sdk/core/__pycache__/record_packet_base.cpython-310.pyc +0 -0
  27. another_ayx_python_sdk/core/__pycache__/register_plugin.cpython-310.pyc +0 -0
  28. another_ayx_python_sdk/core/constants.py +25 -0
  29. another_ayx_python_sdk/core/dcm_base.py +115 -0
  30. another_ayx_python_sdk/core/doc_utilities.py +40 -0
  31. another_ayx_python_sdk/core/environment_base.py +213 -0
  32. another_ayx_python_sdk/core/exceptions.py +59 -0
  33. another_ayx_python_sdk/core/field.py +183 -0
  34. another_ayx_python_sdk/core/input_anchor_base.py +86 -0
  35. another_ayx_python_sdk/core/input_connection_base.py +206 -0
  36. another_ayx_python_sdk/core/io_base.py +139 -0
  37. another_ayx_python_sdk/core/metadata.py +173 -0
  38. another_ayx_python_sdk/core/observable_mixin.py +90 -0
  39. another_ayx_python_sdk/core/output_anchor_base.py +151 -0
  40. another_ayx_python_sdk/core/plugin.py +108 -0
  41. another_ayx_python_sdk/core/plugin_v2.py +97 -0
  42. another_ayx_python_sdk/core/provider_base.py +125 -0
  43. another_ayx_python_sdk/core/proxy_requests.py +51 -0
  44. another_ayx_python_sdk/core/record_packet.py +88 -0
  45. another_ayx_python_sdk/core/record_packet_base.py +123 -0
  46. another_ayx_python_sdk/core/register_plugin.py +127 -0
  47. another_ayx_python_sdk/core/testing.py +191 -0
  48. another_ayx_python_sdk/core/utils.py +146 -0
  49. another_ayx_python_sdk/examples/AyxSdkInput/main.py +89 -0
  50. another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/__pycache__/main.cpython-310.pyc +0 -0
  51. another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +102 -0
  52. another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/AyxSdkMultipleInputAnchorsConfig.xml +24 -0
  53. another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/__pycache__/main.cpython-310.pyc +0 -0
  54. another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +84 -0
  55. another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/__pycache__/main.cpython-310.pyc +0 -0
  56. another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +96 -0
  57. another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/__pycache__/main.cpython-310.pyc +0 -0
  58. another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +94 -0
  59. another_ayx_python_sdk/examples/AyxSdkOutput/__pycache__/main.cpython-310.pyc +0 -0
  60. another_ayx_python_sdk/examples/AyxSdkOutput/main.py +78 -0
  61. another_ayx_python_sdk/examples/AyxSdkPassThrough/AyxSdkPassThrough.xml +23 -0
  62. another_ayx_python_sdk/examples/AyxSdkPassThrough/__pycache__/main.cpython-310.pyc +0 -0
  63. another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +82 -0
  64. another_ayx_python_sdk/examples/requirements.txt +18 -0
  65. another_ayx_python_sdk/providers/__init__.py +14 -0
  66. another_ayx_python_sdk/providers/__pycache__/__init__.cpython-310.pyc +0 -0
  67. another_ayx_python_sdk/providers/amp_provider/__init__.py +41 -0
  68. another_ayx_python_sdk/providers/amp_provider/__main__.py +85 -0
  69. another_ayx_python_sdk/providers/amp_provider/__pycache__/__init__.cpython-310.pyc +0 -0
  70. another_ayx_python_sdk/providers/amp_provider/__pycache__/__main__.cpython-310.pyc +0 -0
  71. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_dcm.cpython-310.pyc +0 -0
  72. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_driver.cpython-310.pyc +0 -0
  73. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_environment.cpython-310.pyc +0 -0
  74. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_environment_v2.cpython-310.pyc +0 -0
  75. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_input_anchor.cpython-310.pyc +0 -0
  76. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_input_connection.cpython-310.pyc +0 -0
  77. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_io.cpython-310.pyc +0 -0
  78. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_io_components.cpython-310.pyc +0 -0
  79. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_output_anchor.cpython-310.pyc +0 -0
  80. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_provider.cpython-310.pyc +0 -0
  81. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_provider_v2.cpython-310.pyc +0 -0
  82. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_record_packet.cpython-310.pyc +0 -0
  83. another_ayx_python_sdk/providers/amp_provider/__pycache__/cng_certs.cpython-310.pyc +0 -0
  84. another_ayx_python_sdk/providers/amp_provider/__pycache__/grpc_util.cpython-310.pyc +0 -0
  85. another_ayx_python_sdk/providers/amp_provider/__pycache__/logger_config.cpython-310.pyc +0 -0
  86. another_ayx_python_sdk/providers/amp_provider/__pycache__/plugin_class_loader.cpython-310.pyc +0 -0
  87. another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_runner.cpython-310.pyc +0 -0
  88. another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_service.cpython-310.pyc +0 -0
  89. another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_service_v2.cpython-310.pyc +0 -0
  90. another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +58 -0
  91. another_ayx_python_sdk/providers/amp_provider/amp_driver.py +358 -0
  92. another_ayx_python_sdk/providers/amp_provider/amp_environment.py +73 -0
  93. another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +278 -0
  94. another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +73 -0
  95. another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +132 -0
  96. another_ayx_python_sdk/providers/amp_provider/amp_io.py +64 -0
  97. another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +407 -0
  98. another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +107 -0
  99. another_ayx_python_sdk/providers/amp_provider/amp_provider.py +68 -0
  100. another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +128 -0
  101. another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +21 -0
  102. another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +32 -0
  103. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/__init__.cpython-310.pyc +0 -0
  104. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/input_anchor_builder.cpython-310.pyc +0 -0
  105. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/input_connection_builder.cpython-310.pyc +0 -0
  106. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/metadata_builder.cpython-310.pyc +0 -0
  107. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/output_anchor_builder.cpython-310.pyc +0 -0
  108. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/packers.cpython-310.pyc +0 -0
  109. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/record_builder.cpython-310.pyc +0 -0
  110. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/record_packet_builder.cpython-310.pyc +0 -0
  111. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/tool_config_builder.cpython-310.pyc +0 -0
  112. another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +123 -0
  113. another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +95 -0
  114. another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +118 -0
  115. another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +110 -0
  116. another_ayx_python_sdk/providers/amp_provider/builders/packers.py +458 -0
  117. another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +204 -0
  118. another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +133 -0
  119. another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +59 -0
  120. another_ayx_python_sdk/providers/amp_provider/cng_certs.py +197 -0
  121. another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +18 -0
  122. another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/__init__.cpython-310.pyc +0 -0
  123. another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/amp_transport.cpython-310.pyc +0 -0
  124. another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/transport_base.cpython-310.pyc +0 -0
  125. another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +127 -0
  126. another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +35 -0
  127. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +14 -0
  128. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/__init__.cpython-310.pyc +0 -0
  129. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/control_msgs.cpython-310.pyc +0 -0
  130. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/dcme_msgs.cpython-310.pyc +0 -0
  131. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/record_transfer_msgs.cpython-310.pyc +0 -0
  132. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +189 -0
  133. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +119 -0
  134. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +32 -0
  135. another_ayx_python_sdk/providers/amp_provider/grpc_util.py +161 -0
  136. another_ayx_python_sdk/providers/amp_provider/logger_config.py +63 -0
  137. another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +77 -0
  138. another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +67 -0
  139. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/__init__.cpython-310.pyc +0 -0
  140. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/dcm_repository.cpython-310.pyc +0 -0
  141. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/environment_repository.cpython-310.pyc +0 -0
  142. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/grpc_repository.cpython-310.pyc +0 -0
  143. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_anchor_repository.cpython-310.pyc +0 -0
  144. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_connection_repository.cpython-310.pyc +0 -0
  145. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_metadata_repository.cpython-310.pyc +0 -0
  146. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_record_packet_repository.cpython-310.pyc +0 -0
  147. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/io_repository.cpython-310.pyc +0 -0
  148. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_anchor_repository.cpython-310.pyc +0 -0
  149. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_metadata_repository.cpython-310.pyc +0 -0
  150. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_record_packet_repository.cpython-310.pyc +0 -0
  151. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/plugin_class_repository.cpython-310.pyc +0 -0
  152. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/singleton.cpython-310.pyc +0 -0
  153. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/test_harness_state_repository.cpython-310.pyc +0 -0
  154. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/tool_config_repository.cpython-310.pyc +0 -0
  155. another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +252 -0
  156. another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +212 -0
  157. another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +119 -0
  158. another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +110 -0
  159. another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +276 -0
  160. another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +144 -0
  161. another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +252 -0
  162. another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +188 -0
  163. another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +117 -0
  164. another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +129 -0
  165. another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +170 -0
  166. another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +55 -0
  167. another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +32 -0
  168. another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +172 -0
  169. another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +89 -0
  170. another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +14 -0
  171. another_ayx_python_sdk/providers/amp_provider/resources/__pycache__/__init__.cpython-310.pyc +0 -0
  172. another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
  173. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/__init__.cpython-310.pyc +0 -0
  174. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/close_outgoing_anchor_pb2.cpython-310.pyc +0 -0
  175. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/close_outgoing_anchor_pb2_grpc.cpython-310.pyc +0 -0
  176. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/dcm_e_pb2.cpython-310.pyc +0 -0
  177. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/dcm_e_pb2_grpc.cpython-310.pyc +0 -0
  178. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_anchor_pb2.cpython-310.pyc +0 -0
  179. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_anchor_pb2_grpc.cpython-310.pyc +0 -0
  180. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_complete_pb2.cpython-310.pyc +0 -0
  181. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_complete_pb2_grpc.cpython-310.pyc +0 -0
  182. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_pb2.cpython-310.pyc +0 -0
  183. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_pb2_grpc.cpython-310.pyc +0 -0
  184. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_data_push_pb2.cpython-310.pyc +0 -0
  185. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_data_push_pb2_grpc.cpython-310.pyc +0 -0
  186. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_record_packet_push_pb2.cpython-310.pyc +0 -0
  187. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_record_packet_push_pb2_grpc.cpython-310.pyc +0 -0
  188. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/metadata_pb2.cpython-310.pyc +0 -0
  189. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/metadata_pb2_grpc.cpython-310.pyc +0 -0
  190. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_anchor_pb2.cpython-310.pyc +0 -0
  191. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_anchor_pb2_grpc.cpython-310.pyc +0 -0
  192. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_data_push_pb2.cpython-310.pyc +0 -0
  193. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_data_push_pb2_grpc.cpython-310.pyc +0 -0
  194. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_metadata_push_pb2.cpython-310.pyc +0 -0
  195. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_metadata_push_pb2_grpc.cpython-310.pyc +0 -0
  196. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_record_packet_push_pb2.cpython-310.pyc +0 -0
  197. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_record_packet_push_pb2_grpc.cpython-310.pyc +0 -0
  198. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/output_message_data_pb2.cpython-310.pyc +0 -0
  199. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/output_message_data_pb2_grpc.cpython-310.pyc +0 -0
  200. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/password_data_pb2.cpython-310.pyc +0 -0
  201. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/password_data_pb2_grpc.cpython-310.pyc +0 -0
  202. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/plugin_initialization_data_pb2.cpython-310.pyc +0 -0
  203. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/plugin_initialization_data_pb2_grpc.cpython-310.pyc +0 -0
  204. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_batch_pb2.cpython-310.pyc +0 -0
  205. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_batch_pb2_grpc.cpython-310.pyc +0 -0
  206. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_packet_pb2.cpython-310.pyc +0 -0
  207. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_packet_pb2_grpc.cpython-310.pyc +0 -0
  208. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_engine_service_pb2.cpython-310.pyc +0 -0
  209. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_engine_service_pb2_grpc.cpython-310.pyc +0 -0
  210. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_pb2.cpython-310.pyc +0 -0
  211. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_pb2_grpc.cpython-310.pyc +0 -0
  212. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_startup_info_pb2.cpython-310.pyc +0 -0
  213. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_startup_info_pb2_grpc.cpython-310.pyc +0 -0
  214. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_v2_pb2.cpython-310.pyc +0 -0
  215. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_v2_pb2_grpc.cpython-310.pyc +0 -0
  216. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/translate_message_data_pb2.cpython-310.pyc +0 -0
  217. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/translate_message_data_pb2_grpc.cpython-310.pyc +0 -0
  218. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/transport_pb2.cpython-310.pyc +0 -0
  219. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/transport_pb2_grpc.cpython-310.pyc +0 -0
  220. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/update_progress_pb2.cpython-310.pyc +0 -0
  221. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/update_progress_pb2_grpc.cpython-310.pyc +0 -0
  222. another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +25 -0
  223. another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +4 -0
  224. another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +38 -0
  225. another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +4 -0
  226. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +26 -0
  227. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +4 -0
  228. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +25 -0
  229. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +4 -0
  230. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +26 -0
  231. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +4 -0
  232. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +26 -0
  233. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +4 -0
  234. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +26 -0
  235. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +4 -0
  236. another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +31 -0
  237. another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +4 -0
  238. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +28 -0
  239. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +4 -0
  240. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +26 -0
  241. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +4 -0
  242. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +26 -0
  243. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +4 -0
  244. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +26 -0
  245. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +4 -0
  246. another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +29 -0
  247. another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +4 -0
  248. another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +25 -0
  249. another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +4 -0
  250. another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +33 -0
  251. another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +4 -0
  252. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +25 -0
  253. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +4 -0
  254. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +29 -0
  255. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +4 -0
  256. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +34 -0
  257. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +305 -0
  258. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +30 -0
  259. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +235 -0
  260. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +25 -0
  261. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +4 -0
  262. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +54 -0
  263. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +99 -0
  264. another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +27 -0
  265. another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +4 -0
  266. another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +31 -0
  267. another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +4 -0
  268. another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +25 -0
  269. another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +4 -0
  270. another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +115 -0
  271. another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +207 -0
  272. another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +306 -0
  273. another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +14 -0
  274. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
  275. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/constants.cpython-310.pyc +0 -0
  276. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/conversions.cpython-310.pyc +0 -0
  277. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/utilities.cpython-310.pyc +0 -0
  278. another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +22 -0
  279. another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +55 -0
  280. another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +63 -0
  281. another_ayx_python_sdk/providers/e1_provider/__init__.py +36 -0
  282. another_ayx_python_sdk/providers/e1_provider/__pycache__/__init__.cpython-310.pyc +0 -0
  283. another_ayx_python_sdk/providers/e1_provider/__pycache__/anchor_builder.cpython-310.pyc +0 -0
  284. another_ayx_python_sdk/providers/e1_provider/__pycache__/cache_e1_sdk_import.cpython-310.pyc +0 -0
  285. another_ayx_python_sdk/providers/e1_provider/__pycache__/connection_callback_strategy.cpython-310.pyc +0 -0
  286. another_ayx_python_sdk/providers/e1_provider/__pycache__/connection_interface.cpython-310.pyc +0 -0
  287. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_dcm.cpython-310.pyc +0 -0
  288. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_environment.cpython-310.pyc +0 -0
  289. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_anchor.cpython-310.pyc +0 -0
  290. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_anchor_proxy.cpython-310.pyc +0 -0
  291. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_connection.cpython-310.pyc +0 -0
  292. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_io.cpython-310.pyc +0 -0
  293. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_output_anchor.cpython-310.pyc +0 -0
  294. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_output_anchor_proxy.cpython-310.pyc +0 -0
  295. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_plugin_driver.cpython-310.pyc +0 -0
  296. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_plugin_proxy.cpython-310.pyc +0 -0
  297. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_provider.cpython-310.pyc +0 -0
  298. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_record_packet.cpython-310.pyc +0 -0
  299. another_ayx_python_sdk/providers/e1_provider/__pycache__/events.cpython-310.pyc +0 -0
  300. another_ayx_python_sdk/providers/e1_provider/__pycache__/tool_config_loader.cpython-310.pyc +0 -0
  301. another_ayx_python_sdk/providers/e1_provider/__pycache__/workflow_config.cpython-310.pyc +0 -0
  302. another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +95 -0
  303. another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +31 -0
  304. another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +155 -0
  305. another_ayx_python_sdk/providers/e1_provider/connection_interface.py +125 -0
  306. another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +53 -0
  307. another_ayx_python_sdk/providers/e1_provider/e1_environment.py +127 -0
  308. another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +51 -0
  309. another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +33 -0
  310. another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +87 -0
  311. another_ayx_python_sdk/providers/e1_provider/e1_io.py +71 -0
  312. another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +157 -0
  313. another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +97 -0
  314. another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +63 -0
  315. another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +363 -0
  316. another_ayx_python_sdk/providers/e1_provider/e1_provider.py +71 -0
  317. another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +21 -0
  318. another_ayx_python_sdk/providers/e1_provider/events.py +36 -0
  319. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +37 -0
  320. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/__init__.cpython-310.pyc +0 -0
  321. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/alteryx_engine.cpython-310.pyc +0 -0
  322. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/constants.cpython-310.pyc +0 -0
  323. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/field.cpython-310.pyc +0 -0
  324. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/output_anchor.cpython-310.pyc +0 -0
  325. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/output_anchor_manager.cpython-310.pyc +0 -0
  326. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_copier.cpython-310.pyc +0 -0
  327. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_creator.cpython-310.pyc +0 -0
  328. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_info.cpython-310.pyc +0 -0
  329. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_ref.cpython-310.pyc +0 -0
  330. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/tool.cpython-310.pyc +0 -0
  331. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/tool_execution_info.cpython-310.pyc +0 -0
  332. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +105 -0
  333. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +50 -0
  334. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +122 -0
  335. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +55 -0
  336. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +31 -0
  337. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +65 -0
  338. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +41 -0
  339. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +134 -0
  340. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +42 -0
  341. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +29 -0
  342. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +43 -0
  343. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +14 -0
  344. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__pycache__/__init__.cpython-310.pyc +0 -0
  345. another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +18 -0
  346. another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/__init__.cpython-310.pyc +0 -0
  347. another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/field_proxy.cpython-310.pyc +0 -0
  348. another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/record_copier_proxy.cpython-310.pyc +0 -0
  349. another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +109 -0
  350. another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +49 -0
  351. another_ayx_python_sdk/providers/e1_provider/records/__init__.py +23 -0
  352. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/__init__.cpython-310.pyc +0 -0
  353. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/base_record_container.cpython-310.pyc +0 -0
  354. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/parsed_record_container.cpython-310.pyc +0 -0
  355. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/raw_record_container.cpython-310.pyc +0 -0
  356. another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +47 -0
  357. another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +67 -0
  358. another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +111 -0
  359. another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +132 -0
  360. another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +35 -0
  361. another_ayx_python_sdk/providers/e1_provider/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
  362. another_ayx_python_sdk/providers/e1_provider/utilities/__pycache__/utilities.cpython-310.pyc +0 -0
  363. another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +54 -0
  364. another_ayx_python_sdk/providers/e1_provider/workflow_config.py +31 -0
  365. another_ayx_python_sdk/providers/file_provider/__init__.py +32 -0
  366. another_ayx_python_sdk/providers/file_provider/__pycache__/__init__.cpython-310.pyc +0 -0
  367. another_ayx_python_sdk/providers/file_provider/__pycache__/environment.cpython-310.pyc +0 -0
  368. another_ayx_python_sdk/providers/file_provider/__pycache__/file_adapter.cpython-310.pyc +0 -0
  369. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider.cpython-310.pyc +0 -0
  370. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_dcm.cpython-310.pyc +0 -0
  371. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_input_anchor.cpython-310.pyc +0 -0
  372. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_input_connection.cpython-310.pyc +0 -0
  373. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_output_anchor.cpython-310.pyc +0 -0
  374. another_ayx_python_sdk/providers/file_provider/__pycache__/file_record_packet.cpython-310.pyc +0 -0
  375. another_ayx_python_sdk/providers/file_provider/__pycache__/iox.cpython-310.pyc +0 -0
  376. another_ayx_python_sdk/providers/file_provider/__pycache__/tool_input.cpython-310.pyc +0 -0
  377. another_ayx_python_sdk/providers/file_provider/environment.py +131 -0
  378. another_ayx_python_sdk/providers/file_provider/file_adapter.py +286 -0
  379. another_ayx_python_sdk/providers/file_provider/file_provider.py +185 -0
  380. another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +53 -0
  381. another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +70 -0
  382. another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +112 -0
  383. another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +114 -0
  384. another_ayx_python_sdk/providers/file_provider/file_record_packet.py +21 -0
  385. another_ayx_python_sdk/providers/file_provider/iox.py +56 -0
  386. another_ayx_python_sdk/providers/file_provider/tool_input.py +104 -0
  387. another_ayx_python_sdk/test_harness/__init__.py +14 -0
  388. another_ayx_python_sdk/test_harness/__main__.py +120 -0
  389. another_ayx_python_sdk/test_harness/__pycache__/__init__.cpython-310.pyc +0 -0
  390. another_ayx_python_sdk/test_harness/__pycache__/__main__.cpython-310.pyc +0 -0
  391. another_ayx_python_sdk/test_harness/__pycache__/plugin_runner.cpython-310.pyc +0 -0
  392. another_ayx_python_sdk/test_harness/__pycache__/process_lifecycle_manager.cpython-310.pyc +0 -0
  393. another_ayx_python_sdk/test_harness/__pycache__/sdk_engine_service.cpython-310.pyc +0 -0
  394. another_ayx_python_sdk/test_harness/plugin_runner.py +416 -0
  395. another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +80 -0
  396. another_ayx_python_sdk/test_harness/sdk_engine_service.py +106 -0
  397. another_ayx_python_sdk/version.py +8 -0
  398. another_ayx_python_sdk-2.4.2.dist-info/METADATA +63 -0
  399. another_ayx_python_sdk-2.4.2.dist-info/RECORD +403 -0
  400. another_ayx_python_sdk-2.4.2.dist-info/WHEEL +5 -0
  401. another_ayx_python_sdk-2.4.2.dist-info/entry_points.txt +2 -0
  402. another_ayx_python_sdk-2.4.2.dist-info/licenses/LICENSE +21 -0
  403. another_ayx_python_sdk-2.4.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,170 @@
1
+ # Copyright (C) 2022 Alteryx, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the ALTERYX SDK AND API LICENSE AGREEMENT;
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.alteryx.com/alteryx-sdk-and-api-license-agreement
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Class that saves/retrieves output record packets."""
15
+ import logging
16
+ from typing import Dict, List, TYPE_CHECKING
17
+
18
+ from another_ayx_python_sdk.providers.amp_provider.builders import RecordPacketBuilder
19
+ from another_ayx_python_sdk.providers.amp_provider.repositories.grpc_repository import (
20
+ GrpcRepository,
21
+ )
22
+ from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
23
+ from another_ayx_python_sdk.providers.amp_provider.resources.generated.outgoing_record_packet_push_pb2 import (
24
+ OutgoingRecordPacketPush,
25
+ )
26
+ from another_ayx_python_sdk.providers.amp_provider.resources.generated.record_packet_pb2 import (
27
+ RecordPacket as ProtobufRecordPacket,
28
+ )
29
+
30
+ if TYPE_CHECKING:
31
+ from another_ayx_python_sdk.core.record_packet_base import RecordPacketBase
32
+
33
+ logger = logging.getLogger(__name__)
34
+
35
+
36
+ class OutputRecordPacketRepository(metaclass=Singleton):
37
+ """Repository that stores output record packets."""
38
+
39
+ _record_packet_builder = RecordPacketBuilder()
40
+
41
+ def __init__(self) -> None:
42
+ """Initialize the output record packet repository."""
43
+ self._record_packet_map: Dict[str, "RecordPacketBase"] = {}
44
+ self._record_packet_sequence: Dict[str, int] = {}
45
+ self._anchor_progress: Dict[str, float] = {}
46
+
47
+ def save_record_packet(
48
+ self, anchor_name: str, record_packet: "RecordPacketBase"
49
+ ) -> None:
50
+ """
51
+ Save a record packet.
52
+
53
+ Parameters
54
+ ----------
55
+ anchor_name
56
+ The name of the anchor that the record packet is associated with.
57
+ record_packet
58
+ The record packet to save to the repository.
59
+ """
60
+ logger.debug(
61
+ "Saving record packet for %s in OutputRecordPacketRepository", anchor_name
62
+ )
63
+ self._record_packet_map[anchor_name] = record_packet
64
+ logger.debug(
65
+ "Current OutputRecordPacketRepository State: %r", self._record_packet_map
66
+ )
67
+
68
+ try:
69
+ client = GrpcRepository().get_sdk_engine_client()
70
+ except ValueError:
71
+ pass
72
+ else:
73
+ logger.debug("Pushing output record packet for anchor %s", anchor_name)
74
+
75
+ for record_packet in self.get_grpc_record_packets(anchor_name):
76
+ client.PushOutgoingRecordPacket(
77
+ OutgoingRecordPacketPush(
78
+ anchor_name=anchor_name,
79
+ record_packet=record_packet,
80
+ )
81
+ )
82
+
83
+ def get_record_packet(self, anchor_name: str) -> "RecordPacketBase":
84
+ """
85
+ Get a record packet.
86
+
87
+ Parameters
88
+ ----------
89
+ anchor_name
90
+ The name of the output anchor that the record packet is associated with.
91
+
92
+ Returns
93
+ -------
94
+ RecordPacketBase
95
+ The record packet associated with the anchor name.
96
+ """
97
+ if anchor_name not in self._record_packet_map:
98
+ raise ValueError(f"Anchor {anchor_name} not found in repository.")
99
+
100
+ return self._record_packet_map[anchor_name]
101
+
102
+ def get_grpc_record_packets(self, anchor_name: str) -> List[ProtobufRecordPacket]:
103
+ """
104
+ Get a record packet in protobuf format.
105
+
106
+ Parameters
107
+ ----------
108
+ anchor_name
109
+ The name of the anchor to delete.
110
+
111
+ Returns
112
+ -------
113
+ List[ProtobufRecordPacket]
114
+ The list of protobuf record packets that are associated with the passed in anchor name.
115
+ """
116
+ record_packet = self.get_record_packet(anchor_name)
117
+
118
+ if anchor_name not in self._record_packet_sequence:
119
+ self._record_packet_sequence[anchor_name] = 0
120
+
121
+ pb_packets = self._record_packet_builder.to_protobuf(
122
+ record_packet,
123
+ self._record_packet_sequence[anchor_name],
124
+ self.get_anchor_progress(anchor_name),
125
+ )
126
+
127
+ self._record_packet_sequence[anchor_name] += len(pb_packets)
128
+ return pb_packets
129
+
130
+ def save_anchor_progress(self, anchor_name: str, progress: float) -> None:
131
+ """
132
+ Save the anchor progress.
133
+
134
+ Parameters
135
+ ----------
136
+ anchor_name
137
+ The name of the anchor to delete.
138
+ progress
139
+ The progress percentage of the anchor.
140
+ """
141
+ if not 0.0 <= progress <= 1.0:
142
+ raise ValueError("Progress must be between 0 and 1.")
143
+
144
+ self._anchor_progress[anchor_name] = progress
145
+
146
+ def get_anchor_progress(self, anchor_name: str) -> float:
147
+ """
148
+ Get the anchor progress.
149
+
150
+ Parameters
151
+ ----------
152
+ anchor_name
153
+ The name of the anchor to delete.
154
+
155
+ Returns
156
+ -------
157
+ progress
158
+ The progress percentage of the anchor.
159
+ """
160
+ return self._anchor_progress.get(anchor_name, 0.0)
161
+
162
+ def clear_repository(self) -> None:
163
+ """Delete all data in the repository."""
164
+ logger.debug("Clearing OutputRecordPacketRepository")
165
+ self._record_packet_map = {}
166
+ self._record_packet_sequence = {}
167
+ self._anchor_progress = {}
168
+ logger.debug(
169
+ "Current OutputRecordPacketRepository State: %r", self._record_packet_map
170
+ )
@@ -0,0 +1,55 @@
1
+ # Copyright (C) 2022 Alteryx, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the ALTERYX SDK AND API LICENSE AGREEMENT;
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.alteryx.com/alteryx-sdk-and-api-license-agreement
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Class that saves plugin class."""
15
+ from typing import Optional, Type
16
+
17
+ from another_ayx_python_sdk.core.plugin import Plugin
18
+ from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
19
+
20
+
21
+ class PluginClassRepository(metaclass=Singleton):
22
+ """Repository that stores plugin class."""
23
+
24
+ def __init__(self) -> None:
25
+ """Initialize the plugin class repository."""
26
+ self._plugin_class: Optional[Type[Plugin]] = None
27
+
28
+ def save_plugin_class(self, plugin_class: Type[Plugin]) -> None:
29
+ """
30
+ Save plugin class.
31
+
32
+ Parameters
33
+ ----------
34
+ plugin_class
35
+ The custom Plugin class that's being used.
36
+ """
37
+ self._plugin_class = plugin_class
38
+
39
+ def get_plugin_class(self) -> Type[Plugin]:
40
+ """
41
+ Get the plugin class.
42
+
43
+ Returns
44
+ -------
45
+ Type[Plugin]
46
+ The custom Plugin class that's being used.
47
+ """
48
+ if self._plugin_class is None:
49
+ raise ValueError("Plugin class hasn't been saved.")
50
+
51
+ return self._plugin_class
52
+
53
+ def clear_repository(self) -> None:
54
+ """Delete all data in the repository."""
55
+ self._plugin_class = None
@@ -0,0 +1,32 @@
1
+ # Copyright (C) 2022 Alteryx, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the ALTERYX SDK AND API LICENSE AGREEMENT;
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.alteryx.com/alteryx-sdk-and-api-license-agreement
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Singleton metaclass."""
15
+
16
+
17
+ class Singleton(type):
18
+ """Implements the Singleton Design Pattern using metaclasses.
19
+
20
+ References
21
+ ----------
22
+ [1] Mastering Python Design Patterns, Singleton.
23
+
24
+ """
25
+
26
+ _instances = {} # type: ignore
27
+
28
+ def __call__(cls, *args, **kwargs): # type: ignore
29
+ """Call."""
30
+ if cls not in cls._instances:
31
+ cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
32
+ return cls._instances[cls]
@@ -0,0 +1,172 @@
1
+ # Copyright (C) 2022 Alteryx, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the ALTERYX SDK AND API LICENSE AGREEMENT;
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.alteryx.com/alteryx-sdk-and-api-license-agreement
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Repository for the status of the handshake with the SDK engine server."""
15
+ import logging
16
+ from typing import Dict, Optional, TYPE_CHECKING, cast
17
+
18
+ from another_ayx_python_sdk.providers.amp_provider import AMPRecordPacket
19
+ from another_ayx_python_sdk.providers.amp_provider.builders import (
20
+ MetadataBuilder,
21
+ RecordPacketBuilder,
22
+ )
23
+ from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
24
+
25
+
26
+ if TYPE_CHECKING:
27
+ from another_ayx_python_sdk.providers.amp_provider.grpc_util import SocketAddress
28
+ from another_ayx_python_sdk.providers.amp_provider.resources.generated.record_packet_pb2 import (
29
+ RecordPacket as ProtobufRecordPacket,
30
+ )
31
+ from another_ayx_python_sdk.providers.amp_provider.resources.generated.metadata_pb2 import (
32
+ Metadata as ProtobufMetadata,
33
+ )
34
+ from another_ayx_python_sdk.core import Metadata as CoreMetadata # noqa: F401
35
+
36
+ logger = logging.getLogger(__name__)
37
+
38
+
39
+ class TestHarnessStateRepository(metaclass=Singleton):
40
+ """
41
+ Class defines methods and properties to read/write/delete the handshake status.
42
+
43
+ NOTE: This class is only used by the test harness and shouldn't be used by the
44
+ SDK Tool Service.
45
+ """
46
+
47
+ __test__ = False # Pytest tries to collect this by default, disable here to prevent warning
48
+
49
+ def __init__(self) -> None:
50
+ """Construct the repository."""
51
+ self._handshake_completed = False
52
+ self._sdk_tool_server_address: Optional["SocketAddress"] = None
53
+ self._metadata: Dict[str, "CoreMetadata"] = {}
54
+ self._record_packets: Dict[str, "AMPRecordPacket"] = {}
55
+
56
+ def save_handshake_completed_status(self, status: bool) -> None:
57
+ """
58
+ Save handshake completed status.
59
+
60
+ Parameters
61
+ ----------
62
+ status
63
+ Handshake completion status.
64
+ """
65
+ logger.debug(f"Handshake completed: {status}")
66
+ self._handshake_completed = status
67
+
68
+ def get_handshake_completed_status(self) -> bool:
69
+ """
70
+ Save AMP input anchor to repository.
71
+
72
+ Returns
73
+ -------
74
+ bool
75
+ True if handshake completed, False otherwise.
76
+ """
77
+ return self._handshake_completed
78
+
79
+ def save_sdk_tool_server_address(self, address: "SocketAddress") -> None:
80
+ """
81
+ Save the SDK Tool server address.
82
+
83
+ Parameters
84
+ ----------
85
+ address
86
+ The IP address and port that the server is listening on.
87
+ """
88
+ self._sdk_tool_server_address = address
89
+
90
+ def get_sdk_tool_server_address(self) -> "SocketAddress":
91
+ """
92
+ Get the SDK Tool server address.
93
+
94
+ Returns
95
+ -------
96
+ SocketAddress
97
+ The IP address and port that the server is listening on.
98
+ """
99
+ if self._sdk_tool_server_address is None:
100
+ raise ValueError("SDK Tool server address has not been saved.")
101
+
102
+ return self._sdk_tool_server_address
103
+
104
+ def save_metadata(self, anchor_name: str, metadata: "ProtobufMetadata") -> None:
105
+ """
106
+ Saves metadata of the data coming in.
107
+
108
+ Parameters
109
+ ----------
110
+ anchor_name
111
+ The anchor that the metadata is associated with.
112
+ metadata
113
+ The metadata of the data that will be going through this anchor.
114
+ """
115
+ core_metadata = MetadataBuilder().from_protobuf(metadata)
116
+ logger.debug(f"Saving metadata {core_metadata} to TestHarnessStateRepository")
117
+ self._metadata[anchor_name] = core_metadata
118
+
119
+ def get_metadata(self, anchor_name: str) -> "CoreMetadata":
120
+ """
121
+ Get metadata on the anchor.
122
+
123
+ Parameters
124
+ ----------
125
+ anchor_name
126
+ The anchor to get the metadata of.
127
+
128
+ Returns
129
+ -------
130
+ CoreMetadata
131
+ The metadata on the anchor that matches the passed in anchor name.
132
+ """
133
+ if anchor_name not in self._metadata:
134
+ raise ValueError(f"Anchor name '{anchor_name}' not found.")
135
+ return self._metadata[anchor_name]
136
+
137
+ def save_record_packet(
138
+ self, anchor_name: str, record_packet: "ProtobufRecordPacket"
139
+ ) -> None:
140
+ """
141
+ Save record packet to this repository.
142
+
143
+ Parameters
144
+ ----------
145
+ anchor_name
146
+ The name of the anchor that the record packet is associated with.
147
+ record_packet
148
+ The record packet to save to the repository.
149
+ """
150
+ core_record_packet, _, _ = RecordPacketBuilder().from_protobuf(
151
+ record_packet, self.get_metadata(anchor_name)
152
+ )
153
+ self._record_packets[anchor_name] = cast(AMPRecordPacket, core_record_packet)
154
+
155
+ def get_record_packet(self, anchor_name: str) -> "AMPRecordPacket":
156
+ """
157
+ Get record packet from repository.
158
+
159
+ Parameters
160
+ ----------
161
+ anchor_name
162
+ The name of the anchor that the record packet is associated with.
163
+
164
+ Returns
165
+ -------
166
+ record_packet
167
+ The record packet to save to the repository.
168
+ """
169
+ if anchor_name not in self._record_packets:
170
+ raise ValueError(f"Anchor name '{anchor_name}' not found")
171
+ logger.debug(f"Saving record packet for {anchor_name}")
172
+ return self._record_packets[anchor_name]
@@ -0,0 +1,89 @@
1
+ # Copyright (C) 2022 Alteryx, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the ALTERYX SDK AND API LICENSE AGREEMENT;
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.alteryx.com/alteryx-sdk-and-api-license-agreement
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Class that saves tool configuration information."""
15
+ import copy
16
+ from typing import Any, Dict
17
+
18
+ from another_ayx_python_sdk.providers.amp_provider.builders.tool_config_builder import (
19
+ ToolConfigBuilder,
20
+ )
21
+ from another_ayx_python_sdk.providers.amp_provider.repositories.grpc_repository import (
22
+ GrpcRepository,
23
+ )
24
+ from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
25
+ from another_ayx_python_sdk.providers.amp_provider.resources.generated.output_message_data_pb2 import (
26
+ OutputMessageData,
27
+ OutputMessageTypes,
28
+ )
29
+
30
+
31
+ class ToolConfigRepository(metaclass=Singleton):
32
+ """Repository that stores tool configuration information."""
33
+
34
+ _tool_config_builder = ToolConfigBuilder()
35
+
36
+ def __init__(self) -> None:
37
+ """Initialize the tool configuration repository."""
38
+ self._tool_config: Dict[str, Any] = {}
39
+
40
+ def save_tool_config(self, tool_config: Dict[str, Any]) -> None:
41
+ """
42
+ Save tool configuration dictionary.
43
+
44
+ Parameters
45
+ ----------
46
+ tool_config
47
+ Dictionary form of the Tool Config XML.
48
+ """
49
+ if tool_config != self._tool_config:
50
+ self._tool_config = tool_config
51
+
52
+ try:
53
+ client = GrpcRepository().get_sdk_engine_client()
54
+ except ValueError:
55
+ # Don't save if client isn't ready
56
+ pass
57
+ else:
58
+ client.OutputMessage(
59
+ OutputMessageData(
60
+ message_type=OutputMessageTypes.OMT_UpdateOutputConfigXml,
61
+ message=self._tool_config_builder.to_xml(tool_config),
62
+ )
63
+ )
64
+
65
+ def save_xml_tool_config(self, tool_config_xml: str) -> None:
66
+ """
67
+ Save the tool configuration xml as a dictionary.
68
+
69
+ Parameters
70
+ ----------
71
+ tool_config_xml
72
+ The Tool Config XML as a raw string.
73
+ """
74
+ self.save_tool_config(self._tool_config_builder.from_xml(tool_config_xml))
75
+
76
+ def get_tool_config(self) -> Dict[str, Any]:
77
+ """
78
+ Get the tool configuration.
79
+
80
+ Returns
81
+ -------
82
+ Dict[str, Any]
83
+ The Tool Config XML associated with the current plugin.
84
+ """
85
+ return copy.deepcopy(self._tool_config)
86
+
87
+ def clear_repository(self) -> None:
88
+ """Delete all data in the repository."""
89
+ self._tool_config = {}
@@ -0,0 +1,14 @@
1
+ # Copyright (C) 2022 Alteryx, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the ALTERYX SDK AND API LICENSE AGREEMENT;
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.alteryx.com/alteryx-sdk-and-api-license-agreement
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Resources to be consumed by the amp provider."""