another-ayx-python-sdk 2.4.24__py3-none-any.whl → 2.5.0__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 (216) hide show
  1. another_ayx_python_sdk/__main__.py +2 -2
  2. another_ayx_python_sdk/examples/AyxSdkInput/main.py +1 -1
  3. another_ayx_python_sdk/examples/requirements.txt +1 -1
  4. another_ayx_python_sdk/version.py +3 -3
  5. another_ayx_python_sdk-2.5.0.dist-info/METADATA +151 -0
  6. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.5.0.dist-info}/RECORD +10 -215
  7. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.5.0.dist-info}/WHEEL +1 -1
  8. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.5.0.dist-info}/top_level.txt +0 -2
  9. another_ayx_python_sdk-2.4.24.dist-info/METADATA +0 -63
  10. build/lib/another_ayx_python_sdk/__init__.py +0 -14
  11. build/lib/another_ayx_python_sdk/__main__.py +0 -470
  12. build/lib/another_ayx_python_sdk/assets/workspace_files/__init__.py +0 -14
  13. build/lib/another_ayx_python_sdk/assets/workspace_files/setup.py +0 -38
  14. build/lib/another_ayx_python_sdk/cli/__init__.py +0 -14
  15. build/lib/another_ayx_python_sdk/cli/utilities.py +0 -103
  16. build/lib/another_ayx_python_sdk/cli/workspace.py +0 -266
  17. build/lib/another_ayx_python_sdk/cli/yxi_builder.py +0 -125
  18. build/lib/another_ayx_python_sdk/cli/yxi_installer.py +0 -45
  19. build/lib/another_ayx_python_sdk/core/__init__.py +0 -51
  20. build/lib/another_ayx_python_sdk/core/constants.py +0 -25
  21. build/lib/another_ayx_python_sdk/core/dcm_base.py +0 -115
  22. build/lib/another_ayx_python_sdk/core/doc_utilities.py +0 -40
  23. build/lib/another_ayx_python_sdk/core/environment_base.py +0 -213
  24. build/lib/another_ayx_python_sdk/core/exceptions.py +0 -59
  25. build/lib/another_ayx_python_sdk/core/field.py +0 -183
  26. build/lib/another_ayx_python_sdk/core/input_anchor_base.py +0 -86
  27. build/lib/another_ayx_python_sdk/core/input_connection_base.py +0 -206
  28. build/lib/another_ayx_python_sdk/core/io_base.py +0 -139
  29. build/lib/another_ayx_python_sdk/core/metadata.py +0 -173
  30. build/lib/another_ayx_python_sdk/core/observable_mixin.py +0 -90
  31. build/lib/another_ayx_python_sdk/core/output_anchor_base.py +0 -151
  32. build/lib/another_ayx_python_sdk/core/plugin.py +0 -108
  33. build/lib/another_ayx_python_sdk/core/plugin_v2.py +0 -97
  34. build/lib/another_ayx_python_sdk/core/provider_base.py +0 -125
  35. build/lib/another_ayx_python_sdk/core/proxy_requests.py +0 -51
  36. build/lib/another_ayx_python_sdk/core/record_packet.py +0 -88
  37. build/lib/another_ayx_python_sdk/core/record_packet_base.py +0 -123
  38. build/lib/another_ayx_python_sdk/core/register_plugin.py +0 -127
  39. build/lib/another_ayx_python_sdk/core/testing.py +0 -191
  40. build/lib/another_ayx_python_sdk/core/utils.py +0 -146
  41. build/lib/another_ayx_python_sdk/examples/AyxSdkInput/main.py +0 -89
  42. build/lib/another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +0 -102
  43. build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +0 -84
  44. build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +0 -96
  45. build/lib/another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +0 -94
  46. build/lib/another_ayx_python_sdk/examples/AyxSdkOutput/main.py +0 -78
  47. build/lib/another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +0 -82
  48. build/lib/another_ayx_python_sdk/providers/__init__.py +0 -14
  49. build/lib/another_ayx_python_sdk/providers/amp_provider/__init__.py +0 -41
  50. build/lib/another_ayx_python_sdk/providers/amp_provider/__main__.py +0 -85
  51. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +0 -58
  52. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_driver.py +0 -358
  53. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment.py +0 -73
  54. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +0 -278
  55. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +0 -73
  56. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +0 -132
  57. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io.py +0 -64
  58. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +0 -407
  59. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +0 -107
  60. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider.py +0 -68
  61. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +0 -128
  62. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +0 -21
  63. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +0 -32
  64. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +0 -123
  65. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +0 -95
  66. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +0 -118
  67. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +0 -110
  68. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/packers.py +0 -458
  69. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +0 -204
  70. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +0 -133
  71. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +0 -59
  72. build/lib/another_ayx_python_sdk/providers/amp_provider/cng_certs.py +0 -197
  73. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +0 -18
  74. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +0 -127
  75. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +0 -35
  76. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +0 -14
  77. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +0 -189
  78. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +0 -119
  79. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +0 -32
  80. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_util.py +0 -161
  81. build/lib/another_ayx_python_sdk/providers/amp_provider/logger_config.py +0 -63
  82. build/lib/another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +0 -77
  83. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +0 -67
  84. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +0 -252
  85. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +0 -212
  86. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +0 -119
  87. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +0 -110
  88. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +0 -276
  89. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +0 -144
  90. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +0 -252
  91. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +0 -188
  92. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +0 -117
  93. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +0 -129
  94. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +0 -170
  95. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +0 -55
  96. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +0 -32
  97. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +0 -172
  98. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +0 -89
  99. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +0 -14
  100. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
  101. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +0 -25
  102. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +0 -4
  103. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +0 -38
  104. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +0 -4
  105. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +0 -26
  106. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +0 -4
  107. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +0 -25
  108. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +0 -4
  109. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +0 -26
  110. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +0 -4
  111. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +0 -26
  112. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +0 -4
  113. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +0 -26
  114. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +0 -4
  115. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +0 -31
  116. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +0 -4
  117. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +0 -28
  118. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +0 -4
  119. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +0 -26
  120. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +0 -4
  121. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +0 -26
  122. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +0 -4
  123. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +0 -26
  124. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +0 -4
  125. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +0 -29
  126. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +0 -4
  127. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +0 -25
  128. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +0 -4
  129. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +0 -33
  130. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +0 -4
  131. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +0 -25
  132. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +0 -4
  133. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +0 -29
  134. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +0 -4
  135. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +0 -34
  136. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +0 -305
  137. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +0 -30
  138. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +0 -235
  139. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +0 -25
  140. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +0 -4
  141. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +0 -54
  142. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +0 -99
  143. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +0 -27
  144. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +0 -4
  145. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +0 -31
  146. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +0 -4
  147. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +0 -25
  148. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +0 -4
  149. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +0 -115
  150. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +0 -207
  151. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +0 -306
  152. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +0 -14
  153. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +0 -22
  154. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +0 -55
  155. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +0 -63
  156. build/lib/another_ayx_python_sdk/providers/e1_provider/__init__.py +0 -36
  157. build/lib/another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +0 -95
  158. build/lib/another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +0 -31
  159. build/lib/another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +0 -155
  160. build/lib/another_ayx_python_sdk/providers/e1_provider/connection_interface.py +0 -125
  161. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +0 -53
  162. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_environment.py +0 -127
  163. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +0 -51
  164. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +0 -33
  165. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +0 -87
  166. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_io.py +0 -71
  167. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +0 -157
  168. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +0 -97
  169. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +0 -63
  170. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +0 -363
  171. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_provider.py +0 -71
  172. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +0 -21
  173. build/lib/another_ayx_python_sdk/providers/e1_provider/events.py +0 -36
  174. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +0 -37
  175. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +0 -105
  176. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +0 -50
  177. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +0 -122
  178. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +0 -55
  179. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +0 -31
  180. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +0 -65
  181. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +0 -41
  182. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +0 -134
  183. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +0 -42
  184. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +0 -29
  185. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +0 -43
  186. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +0 -14
  187. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +0 -18
  188. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +0 -109
  189. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +0 -49
  190. build/lib/another_ayx_python_sdk/providers/e1_provider/records/__init__.py +0 -23
  191. build/lib/another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +0 -47
  192. build/lib/another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +0 -67
  193. build/lib/another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +0 -111
  194. build/lib/another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +0 -132
  195. build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +0 -35
  196. build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +0 -54
  197. build/lib/another_ayx_python_sdk/providers/e1_provider/workflow_config.py +0 -31
  198. build/lib/another_ayx_python_sdk/providers/file_provider/__init__.py +0 -32
  199. build/lib/another_ayx_python_sdk/providers/file_provider/environment.py +0 -131
  200. build/lib/another_ayx_python_sdk/providers/file_provider/file_adapter.py +0 -286
  201. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider.py +0 -185
  202. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +0 -53
  203. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +0 -70
  204. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +0 -112
  205. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +0 -114
  206. build/lib/another_ayx_python_sdk/providers/file_provider/file_record_packet.py +0 -21
  207. build/lib/another_ayx_python_sdk/providers/file_provider/iox.py +0 -56
  208. build/lib/another_ayx_python_sdk/providers/file_provider/tool_input.py +0 -104
  209. build/lib/another_ayx_python_sdk/test_harness/__init__.py +0 -14
  210. build/lib/another_ayx_python_sdk/test_harness/__main__.py +0 -120
  211. build/lib/another_ayx_python_sdk/test_harness/plugin_runner.py +0 -416
  212. build/lib/another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +0 -80
  213. build/lib/another_ayx_python_sdk/test_harness/sdk_engine_service.py +0 -106
  214. build/lib/another_ayx_python_sdk/version.py +0 -8
  215. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.5.0.dist-info}/entry_points.txt +0 -0
  216. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.5.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,110 +0,0 @@
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 implements the Input Anchor repository singleton."""
15
- import logging
16
- from typing import Dict, List, TYPE_CHECKING, cast
17
-
18
- from another_ayx_python_sdk.providers.amp_provider.builders.input_anchor_builder import (
19
- InputAnchorBuilder,
20
- )
21
- from another_ayx_python_sdk.providers.amp_provider.repositories.input_connection_repository import (
22
- InputConnectionRepository,
23
- )
24
- from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
25
-
26
- if TYPE_CHECKING:
27
- from another_ayx_python_sdk.providers.amp_provider.amp_input_anchor import AMPInputAnchor
28
- from another_ayx_python_sdk.providers.amp_provider.resources.generated.incoming_anchor_pb2 import (
29
- IncomingAnchor as ProtobufInputAnchor,
30
- )
31
-
32
-
33
- logger = logging.getLogger(__name__)
34
-
35
-
36
- class InputAnchorRepository(metaclass=Singleton):
37
- """Class defines methods and properties to read/write/delete input anchors."""
38
-
39
- def __init__(self) -> None:
40
- self._repository: Dict[str, "AMPInputAnchor"] = {}
41
-
42
- def save_grpc_anchor(self, input_anchor: "ProtobufInputAnchor") -> None:
43
- """
44
- Convert an Input Anchor from Protobuf to AMP and saves it to the repository.
45
-
46
- Parameters
47
- ----------
48
- input_anchor
49
- The protobuf representation of an input anchor to be saved.
50
- """
51
- core_input_anchor = InputAnchorBuilder.from_protobuf(input_anchor)
52
- self.save_anchor(core_input_anchor)
53
-
54
- def save_anchor(self, anchor: "AMPInputAnchor") -> None:
55
- """
56
- Save AMP input anchor to repository.
57
-
58
- Parameters
59
- ----------
60
- anchor
61
- The AMPInputAnchor to be saved.
62
- """
63
- from another_ayx_python_sdk.providers.amp_provider import AMPInputConnection
64
-
65
- logger.debug("Saving Input Anchor %s to repository", anchor.name)
66
- self._repository[anchor.name] = anchor
67
- logger.debug("Current InputAnchorRepository State: %s", self._repository)
68
-
69
- connections = cast(List[AMPInputConnection], anchor.connections)
70
- for connection in connections:
71
- InputConnectionRepository().save_connection(anchor.name, connection)
72
-
73
- def get_anchor(self, anchor_name: str) -> "AMPInputAnchor":
74
- """
75
- Retrieve InputAnchor object associated with the anchor name.
76
-
77
- Parameters
78
- ----------
79
- anchor_name
80
- The name of the anchor to fetch from the repository.
81
-
82
- Returns
83
- -------
84
- The input anchor object with corresponding name.
85
- """
86
- if anchor_name in self._repository:
87
- return self._repository[anchor_name]
88
- else:
89
- raise ValueError(f"Anchor {anchor_name} does not exist")
90
-
91
- def delete_anchor(self, anchor_name: str) -> None:
92
- """
93
- Delete InputAnchor object associated with the anchor name.
94
-
95
- Parameters
96
- ----------
97
- anchor_name
98
- The name of the anchor to delete from the repository.
99
- """
100
- if anchor_name in self._repository:
101
- logger.debug("Removing Input Anchor %s from repository", anchor_name)
102
- del self._repository[anchor_name]
103
- logger.debug("Current InputAnchorRepository State: %s", self._repository)
104
- else:
105
- raise ValueError(f"Anchor {anchor_name} does not exist")
106
-
107
- def clear_repository(self) -> None:
108
- """Delete all data in the repository."""
109
- logger.debug("Clearing InputAnchorRepository")
110
- self._repository = {}
@@ -1,276 +0,0 @@
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 input connection information given the associated anchor."""
15
- import logging
16
- from typing import Dict, List, Optional, TYPE_CHECKING
17
-
18
- from another_ayx_python_sdk.core.input_connection_base import InputConnectionStatus
19
- from another_ayx_python_sdk.providers.amp_provider.builders import InputConnectionBuilder
20
- from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
21
-
22
- if TYPE_CHECKING:
23
- from another_ayx_python_sdk.providers.amp_provider import (
24
- AMPInputAnchor,
25
- AMPInputConnection,
26
- )
27
- from another_ayx_python_sdk.providers.amp_provider.resources.generated.incoming_connection_pb2 import (
28
- IncomingConnection as ProtobufInputConnection,
29
- )
30
-
31
-
32
- logger = logging.getLogger(__name__)
33
-
34
-
35
- class InputConnectionRepository(metaclass=Singleton):
36
- """Repository that stores input connection information."""
37
-
38
- _input_connection_builder = InputConnectionBuilder()
39
-
40
- def __init__(self) -> None:
41
- """Initialize the input connection repository."""
42
- self._anchor_connection_map: Dict[str, List["AMPInputConnection"]] = {}
43
- self._connection_status_map: Dict[str, Dict[str, "InputConnectionStatus"]] = {}
44
- self._packet_size_map: Dict[str, Dict[str, Optional[int]]] = {}
45
-
46
- def save_connection(
47
- self, anchor_name: str, connection: "AMPInputConnection"
48
- ) -> None:
49
- """
50
- Save input connection information for the assoiciated anchor name.
51
-
52
- Parameters
53
- ----------
54
- anchor_name
55
- The name of the input anchor object that the connection is associated with.
56
- connection
57
- The AMPInputConnection object itself, to be saved to the repository.
58
- """
59
- self._anchor_connection_map.setdefault(anchor_name, [])
60
- logger.debug(
61
- "Adding connection %s to InputConnectionRepository for anchor %s",
62
- connection.name,
63
- anchor_name,
64
- )
65
- self._anchor_connection_map[anchor_name].append(connection)
66
- logger.debug(
67
- "Current InputConnectionRepository: %s", self._anchor_connection_map
68
- )
69
- if connection.metadata is None:
70
- raise ValueError(f"Input Connection {connection.name} is not open")
71
- from another_ayx_python_sdk.providers.amp_provider.repositories.input_metadata_repository import (
72
- InputMetadataRepository,
73
- )
74
-
75
- InputMetadataRepository().save_metadata(
76
- anchor_name, connection.name, connection.metadata
77
- )
78
-
79
- def save_grpc_connection(
80
- self, anchor: "AMPInputAnchor", connection: "ProtobufInputConnection"
81
- ) -> None:
82
- """
83
- Save input connection object given a protobuf object.
84
-
85
- Parameters
86
- ----------
87
- anchor
88
- The input anchor object that the connection is associated with.
89
- connection
90
- The protobuf representation of the input connection, to be serialized into AMP and saved to the repository.
91
- """
92
- amp_connection = self._input_connection_builder.from_protobuf(
93
- connection, anchor
94
- )
95
- self.save_connection(anchor.name, amp_connection)
96
-
97
- def get_all_connections(self, anchor_name: str) -> List["AMPInputConnection"]:
98
- """Get the connections associated with the given anchor name."""
99
- connections = self._anchor_connection_map.get(anchor_name)
100
- logger.debug(
101
- "Current InputConnectionRepository: %s", self._anchor_connection_map
102
- )
103
- if connections is None:
104
- raise ValueError(f"Anchor {anchor_name} not found in repository.")
105
-
106
- return connections
107
-
108
- def get_connection(
109
- self, anchor_name: str, connection_name: str
110
- ) -> "AMPInputConnection":
111
- """
112
- Get the connection associated with the given anchor name and connection name.
113
-
114
- Parameters
115
- ----------
116
- anchor_name
117
- The name of the anchor that the connection is associated with.
118
- connection_name
119
- The name of the input connection to retrieve.
120
- """
121
- connections = self.get_all_connections(anchor_name)
122
- logger.debug(
123
- "Searching connections on anchor %s for connection %s",
124
- anchor_name,
125
- connection_name,
126
- )
127
- for connection in connections:
128
- if connection.name == connection_name:
129
- return connection
130
-
131
- raise ValueError(
132
- f"Input connection {connection_name} not found in repository for anchor {anchor_name}."
133
- )
134
-
135
- def delete_connection(self, anchor_name: str, connection_name: str) -> None:
136
- """
137
- Delete the connection associated with the given anchor name and connection name.
138
-
139
- Parameters
140
- ----------
141
- anchor_name
142
- The name of the anchor that the connection is associated with.
143
- connection_name
144
- The name of the input connection to delete.
145
- """
146
- connections = self.get_all_connections(anchor_name)
147
- for idx, connection in enumerate(connections):
148
- if connection.name == connection_name:
149
- logger.debug(
150
- "Removing connection %s from anchor %s in InputConnectionRepository",
151
- connection_name,
152
- anchor_name,
153
- )
154
- connections.pop(idx)
155
- if len(connections) == 0:
156
- del self._anchor_connection_map[anchor_name]
157
- logger.debug(
158
- "Removing anchor %s from InputConnectionRepository", anchor_name
159
- )
160
- return
161
-
162
- raise ValueError(
163
- f"Input connection {connection_name} not found in repository for anchor {anchor_name}."
164
- )
165
-
166
- def clear_repository(self) -> None:
167
- """Delete all data in the repository."""
168
- logger.debug("Clearing InputConnectionRepository")
169
- self._anchor_connection_map = {}
170
- self._packet_size_map = {}
171
- self._connection_status_map = {}
172
- logger.debug(
173
- "Current InputConnectionRepository: %s", self._anchor_connection_map
174
- )
175
-
176
- def save_connection_status(
177
- self, anchor_name: str, connection_name: str, status: "InputConnectionStatus"
178
- ) -> None:
179
- """
180
- Save input connection status associated with a given input connection/anchor name.
181
-
182
- Parameters
183
- ----------
184
- anchor_name
185
- The name of the anchor that the connection is associated with.
186
- connection_name
187
- The name of the input connection to set the status of.
188
- status
189
- Enumeration value (1,2,3, or 4) that corresponds to the status
190
- of this connection. (Created, Initialized, Receiving records, Closed)
191
- """
192
- logger.debug(
193
- "Updating connection status of anchor %s connection %s",
194
- anchor_name,
195
- connection_name,
196
- )
197
- self._connection_status_map.setdefault(anchor_name, {})
198
- self._connection_status_map[anchor_name][connection_name] = status
199
-
200
- def get_connection_status(
201
- self, anchor_name: str, connection_name: str
202
- ) -> "InputConnectionStatus":
203
- """
204
- Retrieve input connection status associated with a given input connection/anchor name.
205
-
206
- Parameters
207
- ----------
208
- anchor_name
209
- The name of the anchor that the connection is associated with.
210
- connection_name
211
- The name of the input connection to get the status of.
212
-
213
- Returns
214
- -------
215
- InputConnectionStatus
216
- Enumeration value (1,2,3, or 4) that corresponds to the status
217
- of this connection. (Created, Initialized, Receiving records, Closed)
218
- """
219
- if anchor_name not in self._connection_status_map:
220
- raise ValueError(f"Anchor {anchor_name} not found in repository")
221
- if connection_name not in self._connection_status_map[anchor_name]:
222
- raise ValueError(
223
- f"Status for connection {connection_name} not found in repository for anchor {anchor_name}."
224
- )
225
- status = self._connection_status_map[anchor_name][connection_name]
226
- return status
227
-
228
- def save_connection_packet_size(
229
- self, anchor_name: str, connection_name: str, size: Optional[int]
230
- ) -> None:
231
- """
232
- Save packet size associated with a given input connection/anchor name.
233
-
234
- Parameters
235
- ----------
236
- anchor_name
237
- The name of the anchor that the connection is associated with.
238
- connection_name
239
- The name of the input connection.
240
- size
241
- The max number of packets allowed.
242
- """
243
- logger.debug(
244
- "Updating packet size for anchor %s connection %s",
245
- anchor_name,
246
- connection_name,
247
- )
248
- self._packet_size_map.setdefault(anchor_name, {})
249
- self._packet_size_map[anchor_name][connection_name] = size
250
-
251
- def get_connection_packet_size(
252
- self, anchor_name: str, connection_name: str
253
- ) -> Optional[int]:
254
- """
255
- Retrieve packet size associated with a given input connection/anchor name.
256
-
257
- Parameters
258
- ----------
259
- anchor_name
260
- The name of the anchor that the connection is associated with.
261
- connection_name
262
- The name of the input connection to get the status of.
263
-
264
- Returns
265
- -------
266
- int, optional
267
- The max packet size on the conenction, if set, otherwise None.
268
- """
269
- if anchor_name not in self._packet_size_map:
270
- raise ValueError(f"Anchor {anchor_name} not found in repository")
271
- if connection_name not in self._packet_size_map[anchor_name]:
272
- raise ValueError(
273
- f"Packet size for connection {connection_name} not found in repository for anchor {anchor_name}."
274
- )
275
- size = self._packet_size_map[anchor_name][connection_name]
276
- return size
@@ -1,144 +0,0 @@
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 input metadata information given the associated anchor name and connection name."""
15
- import logging
16
- from typing import Dict, TYPE_CHECKING
17
-
18
- from another_ayx_python_sdk.providers.amp_provider.builders.metadata_builder import (
19
- MetadataBuilder,
20
- )
21
- from another_ayx_python_sdk.providers.amp_provider.repositories.singleton import Singleton
22
-
23
- if TYPE_CHECKING:
24
- from another_ayx_python_sdk.core.metadata import Metadata as CoreMetadata
25
- from another_ayx_python_sdk.providers.amp_provider.resources.generated.metadata_pb2 import (
26
- Metadata as ProtobufMetadata,
27
- )
28
-
29
- logger = logging.getLogger(__name__)
30
-
31
-
32
- class InputMetadataRepository(metaclass=Singleton):
33
- """Repository that stores input metadata information."""
34
-
35
- _metadata_builder = MetadataBuilder()
36
-
37
- def __init__(self) -> None:
38
- """Initialize the input metadata repository."""
39
- self._metadata_map: Dict[str, Dict[str, "CoreMetadata"]] = {}
40
-
41
- def save_metadata(
42
- self, anchor_name: str, connection_name: str, metadata: "CoreMetadata"
43
- ) -> None:
44
- """
45
- Save input metadata information for the associated anchor name and connection name.
46
-
47
- Parameters
48
- ----------
49
- anchor_name
50
- The name of the input anchor that the metadata is associated with.
51
- connection_name
52
- The name of the input connection that the metadata is associated with.
53
- metadata
54
- The metadata information for the anchor and connection.
55
- """
56
- logger.debug(
57
- "Adding metadata to InputMetadataRepository for anchor %s/connection %s",
58
- anchor_name,
59
- connection_name,
60
- )
61
- self._metadata_map.setdefault(anchor_name, {})[connection_name] = metadata
62
- logger.debug("Current InputMetadataRepository State: %s", self._metadata_map)
63
-
64
- def save_grpc_metadata(
65
- self, anchor_name: str, connection_name: str, metadata: "ProtobufMetadata"
66
- ) -> None:
67
- """
68
- Save input metadata information for the associated anchor name and connection name given a Protobuf metadata message.
69
-
70
- Parameters
71
- ----------
72
- anchor_name
73
- The name of the input anchor that the metadata is associated with.
74
- connection_name
75
- The name of the input connection that the metadata is associated with.
76
- metadata
77
- The protobuf metadata information for the anchor and connection.
78
- """
79
- self.save_metadata(
80
- anchor_name, connection_name, self._metadata_builder.from_protobuf(metadata)
81
- )
82
-
83
- def get_metadata(
84
- self,
85
- anchor_name: str,
86
- connection_name: str,
87
- ) -> "CoreMetadata":
88
- """
89
- Get the input metadata associated with the given anchor name and connection name.
90
-
91
- Parameters
92
- ----------
93
- anchor_name
94
- The name of the input anchor that the metadata is associated with.
95
- connection_name
96
- The name of the input connection that the metadata is associated with.
97
-
98
- Returns
99
- -------
100
- CoreMetadata
101
- The metadata information for the anchor and connection.
102
- """
103
- if anchor_name not in self._metadata_map:
104
- raise ValueError(f"Anchor {anchor_name} not found in repository.")
105
-
106
- if connection_name not in self._metadata_map[anchor_name]:
107
- raise ValueError(
108
- f"Connection {connection_name} not found in repository for anchor {anchor_name}."
109
- )
110
-
111
- return self._metadata_map[anchor_name][connection_name]
112
-
113
- def delete_metadata(
114
- self,
115
- anchor_name: str,
116
- connection_name: str,
117
- ) -> None:
118
- """
119
- Delete the input metadata associated with the given anchor name and connection name.
120
-
121
- Parameters
122
- ----------
123
- anchor_name
124
- The name of the input anchor that the metadata is associated with.
125
- connection_name
126
- The name of the input connection that the metadata is associated with.
127
- """
128
- if anchor_name not in self._metadata_map:
129
- raise ValueError(f"Anchor {anchor_name} not found in repository.")
130
-
131
- if self._metadata_map[anchor_name].pop(connection_name, None) is None:
132
- raise ValueError(
133
- f"Connection {connection_name} not found in repository for anchor {anchor_name}."
134
- )
135
- logger.debug("Removing metadata for %s", anchor_name)
136
- if not self._metadata_map[anchor_name]:
137
- self._metadata_map.pop(anchor_name)
138
- logger.debug("Current InputMetadataRepository State: %s", self._metadata_map)
139
-
140
- def clear_repository(self) -> None:
141
- """Delete all data in the repository."""
142
- logger.debug("Clearing InputMetadataRepository")
143
- self._metadata_map = {}
144
- logger.debug("Current InputMetadataRepository State: %s", self._metadata_map)