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,71 +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
- """Proxy Class for SDK IO."""
15
- from pathlib import Path
16
- from typing import Any, cast
17
-
18
- import another_ayx_python_sdk.providers.e1_provider.mock_e1_sdk.AlteryxPythonSDK as Sdk
19
-
20
- from another_ayx_python_sdk.core.doc_utilities import inherit_docs
21
- from another_ayx_python_sdk.core.io_base import IoBase
22
-
23
- import deprecation
24
-
25
-
26
- @inherit_docs
27
- class E1IO(IoBase):
28
- """Class that wraps all IO communication with Alteryx Designer."""
29
-
30
- __slots__ = ["_engine", "_tool_id"]
31
-
32
- def __init__(self, engine: Sdk.AlteryxEngine, tool_id: int) -> None:
33
- self._engine = engine
34
- self._tool_id = tool_id
35
-
36
- def error(self, error_msg: str) -> None: # noqa: D102
37
- self._engine.output_message(
38
- self._tool_id, Sdk.EngineMessageType.error, str(error_msg)
39
- )
40
-
41
- def warn(self, warn_msg: str) -> None: # noqa: D102
42
- self._engine.output_message(
43
- self._tool_id, Sdk.EngineMessageType.warning, str(warn_msg)
44
- )
45
-
46
- def info(self, info_msg: str) -> None: # noqa: D102
47
- self._engine.output_message(
48
- self._tool_id, Sdk.EngineMessageType.info, str(info_msg)
49
- )
50
-
51
- def translate_msg(self, msg: str, *args: Any) -> str: # noqa: D102
52
- stringified_args = [str(arg) for arg in args]
53
- translated_msg: str = self._engine.xmsg(msg, *stringified_args)
54
- return translated_msg
55
-
56
- def update_progress(self, percent: float) -> None: # noqa: D102
57
- self._engine.output_tool_progress(self._tool_id, percent)
58
-
59
- def create_temp_file(
60
- self, extension: str = "tmp", options: int = 0
61
- ) -> Path: # noqa: D102
62
- return Path(str(self._engine.create_temp_file_name(extension, options)))
63
-
64
- @deprecation.deprecated(
65
- deprecated_in="1.0.3",
66
- removed_in="2.0.0",
67
- details="Use functions of provider's dcm property instead",
68
- ) # type: ignore
69
- def decrypt_password(self, password: str) -> str: # noqa: D102
70
- # mode 0 being passed here means decryption
71
- return cast(str, self._engine.decrypt_password(password, 0))
@@ -1,157 +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
- """Alteryx plugin output anchor definition."""
15
- from enum import Enum, unique
16
- from typing import Iterator, Optional, TYPE_CHECKING
17
-
18
- import another_ayx_python_sdk.providers.e1_provider.mock_e1_sdk.AlteryxPythonSDK as Sdk
19
-
20
-
21
- from another_ayx_python_sdk.core import OutputAnchorBase
22
- from another_ayx_python_sdk.core.doc_utilities import inherit_docs
23
- from another_ayx_python_sdk.core.metadata import Metadata
24
- from another_ayx_python_sdk.core.record_packet import RecordPacket
25
- from another_ayx_python_sdk.providers.e1_provider.e1_output_anchor_proxy import (
26
- E1OutputAnchorProxy,
27
- )
28
- from another_ayx_python_sdk.providers.e1_provider.e1_record_packet import E1RecordPacket
29
- from another_ayx_python_sdk.providers.e1_provider.proxies.field_proxy import FieldProxy
30
- from another_ayx_python_sdk.providers.e1_provider.utilities import (
31
- convert_metadata_to_record_info,
32
- fill_df_nulls_with_blackbird_nulls,
33
- )
34
-
35
- if TYPE_CHECKING:
36
- from another_ayx_python_sdk.core.record_packet_base import RecordPacketBase
37
- import pandas as pd
38
-
39
-
40
- @unique
41
- class OutputAnchorStatus(Enum):
42
- """Output anchor status enumeration."""
43
-
44
- CREATED = 0
45
- OPEN = 1
46
- CLOSED = 2
47
-
48
-
49
- @inherit_docs
50
- class E1OutputAnchor(OutputAnchorBase):
51
- """Output anchor definition."""
52
-
53
- __slots__ = ["_output_anchor_proxy", "_engine", "_metadata", "_status"]
54
-
55
- def __init__(
56
- self,
57
- output_anchor_proxy: E1OutputAnchorProxy,
58
- engine: Sdk.AlteryxEngine,
59
- ) -> None:
60
- """Initialize an output anchor."""
61
- self._output_anchor_proxy = output_anchor_proxy
62
- self._engine = engine
63
- self._metadata: Optional[Metadata] = None
64
- self._status = OutputAnchorStatus.CREATED
65
-
66
- @property
67
- def name(self) -> str: # noqa: D102
68
- return self._output_anchor_proxy.name
69
-
70
- @property
71
- def allow_multiple(self) -> bool: # noqa: D102
72
- return self._output_anchor_proxy.allow_multiple
73
-
74
- @property
75
- def optional(self) -> bool: # noqa: D102
76
- return self._output_anchor_proxy.optional
77
-
78
- @property
79
- def num_connections(self) -> int: # noqa: D102
80
- return self._output_anchor_proxy.num_connections
81
-
82
- @property
83
- def is_open(self) -> bool:
84
- """Get status indicating if the anchor is open."""
85
- return self._status == OutputAnchorStatus.OPEN
86
-
87
- @property
88
- def metadata(self) -> Optional["Metadata"]:
89
- """Get the anchor metadata."""
90
- return self._metadata
91
-
92
- def open(self, metadata: Metadata) -> None: # noqa: D102
93
- if self._status.value > OutputAnchorStatus.CREATED.value:
94
- raise RuntimeError("Output anchor has already been opened.")
95
-
96
- self._metadata = metadata
97
- self._output_anchor_proxy.record_info = convert_metadata_to_record_info(
98
- metadata, self._engine
99
- )
100
- self._output_anchor_proxy.push_metadata()
101
- self._status = OutputAnchorStatus.OPEN
102
-
103
- def write(self, record_packet: "RecordPacketBase") -> None: # noqa: D102
104
- if self._status != OutputAnchorStatus.OPEN:
105
- raise RuntimeError("Anchor must be opened before it can be written to.")
106
-
107
- if isinstance(record_packet, E1RecordPacket) or isinstance(
108
- record_packet, RecordPacket
109
- ):
110
- self._output_anchor_proxy.push_records(
111
- generate_records_from_df(
112
- record_packet.to_dataframe(), self._output_anchor_proxy.record_info
113
- )
114
- )
115
- else:
116
- raise ValueError(
117
- "The E1 SDK Provider only supports E1RecordPacket and "
118
- "RecordPacket implementations of RecordPacketBase."
119
- )
120
-
121
- def flush(self) -> None: # noqa: D102
122
- # The E1 Provider doesn't support flush, so just pass
123
- pass
124
-
125
- def close(self) -> None: # noqa: D102
126
- if self._status != OutputAnchorStatus.OPEN:
127
- raise RuntimeError("Output anchor is not open, so it cannot be closed.")
128
-
129
- self._output_anchor_proxy.close()
130
- self._status = OutputAnchorStatus.CLOSED
131
-
132
- def update_progress(self, percent: float) -> None: # noqa: D102
133
- if self._status != OutputAnchorStatus.OPEN:
134
- raise RuntimeError(
135
- "Output anchor must be open before progress can be written."
136
- )
137
- self._output_anchor_proxy.update_progress(percent)
138
-
139
-
140
- def generate_records_from_df(
141
- df: "pd.DataFrame", record_info: Sdk.RecordInfo
142
- ) -> Iterator[Sdk.RecordCreator]:
143
- """Generate record creators from a dataframe."""
144
- fill_df_nulls_with_blackbird_nulls(df)
145
- columns = list(df)
146
- field_map = {field.name: FieldProxy(field) for field in record_info}
147
- fields = [field_map[column_name] for column_name in columns]
148
-
149
- record_creator = record_info.construct_record_creator()
150
-
151
- col_range = range(len(fields))
152
- for row in df.itertuples():
153
- record_creator.reset()
154
- for col_idx in col_range:
155
- fields[col_idx].set(record_creator, row[col_idx + 1])
156
-
157
- yield record_creator
@@ -1,97 +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
- """Alteryx plugin output anchor definition."""
15
- from typing import Callable, Iterable, Optional
16
-
17
- import another_ayx_python_sdk.providers.e1_provider.mock_e1_sdk.AlteryxPythonSDK as Sdk
18
-
19
-
20
- class E1OutputAnchorProxy:
21
- """Output anchor definition."""
22
-
23
- __slots__ = [
24
- "engine_anchor_ref",
25
- "_metadata_pushed",
26
- "__record_info",
27
- "name",
28
- "allow_multiple",
29
- "optional",
30
- "num_connections",
31
- "push_records",
32
- ]
33
-
34
- def __init__(
35
- self,
36
- name: str,
37
- allow_multiple: bool,
38
- optional: bool,
39
- output_anchor_mgr: Sdk.OutputAnchorManager,
40
- record_info: Optional[Sdk.RecordInfo] = None,
41
- ) -> None:
42
- """Initialize an output anchor."""
43
- engine_anchor_ref_optional = output_anchor_mgr.get_output_anchor(name)
44
- if engine_anchor_ref_optional is None:
45
- raise RuntimeError(f"Can't find output anchor: {name}")
46
- else:
47
- self.engine_anchor_ref: Sdk.OutputAnchor = engine_anchor_ref_optional
48
-
49
- self._metadata_pushed: bool = False
50
- self.__record_info = record_info
51
- self.name = name
52
- self.allow_multiple = allow_multiple
53
- self.optional = optional
54
- self.num_connections: int = 0
55
- self.push_records: Callable = self._raise_metadata_error
56
-
57
- @property
58
- def record_info(self) -> Optional[Sdk.RecordInfo]:
59
- """Getter for record info."""
60
- return self.__record_info
61
-
62
- @record_info.setter
63
- def record_info(self, value: Sdk.RecordInfo) -> None:
64
- """Setter for record info."""
65
- if self._metadata_pushed:
66
- raise RuntimeError("Can't reassign record_info after it has been pushed.")
67
-
68
- self.__record_info = value
69
-
70
- def update_progress(self, percent: float) -> None:
71
- """Push the progress to downstream tools."""
72
- self.engine_anchor_ref.update_progress(percent)
73
-
74
- def push_metadata(self) -> None:
75
- """Push metadata to downstream tools."""
76
- if self.record_info is None:
77
- raise ValueError("record_info must be set before metadata can be pushed.")
78
-
79
- if not self._metadata_pushed:
80
- self.engine_anchor_ref.init(self.record_info)
81
- self._metadata_pushed = True
82
- self.push_records = self._push_records
83
- else:
84
- raise RuntimeError("Metadata is trying to be pushed a second time.")
85
-
86
- def _raise_metadata_error(self, _: Iterable[Sdk.RecordCreator]) -> None:
87
- """Push records out."""
88
- raise RuntimeError("Must run push_metadata before push_records can be called.")
89
-
90
- def _push_records(self, record_creators: Iterable[Sdk.RecordCreator]) -> None:
91
- """Push all records passed from iterable."""
92
- for record_creator in record_creators:
93
- self.engine_anchor_ref.push_record(record_creator.finalize_record(), False)
94
-
95
- def close(self) -> None:
96
- """Close the output anchor."""
97
- self.engine_anchor_ref.close()
@@ -1,63 +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
- """E1 SDK Driver Class."""
15
- from typing import Optional, TYPE_CHECKING, Type
16
-
17
- from another_ayx_python_sdk.providers.e1_provider.e1_input_connection import E1InputConnection
18
- from another_ayx_python_sdk.providers.e1_provider.records import ParsedRecordContainer
19
-
20
- if TYPE_CHECKING:
21
- from another_ayx_python_sdk.core.plugin import Plugin # noqa: F401
22
- from another_ayx_python_sdk.core.provider_base import ProviderBase
23
- from another_ayx_python_sdk.providers.e1_provider.connection_interface import (
24
- ConnectionInterface,
25
- )
26
-
27
-
28
- class E1PluginDriver:
29
- """Wrapper around the plugin to expose only interfaces defined for a provider."""
30
-
31
- def __init__(self, user_plugin_class: Type["Plugin"], provider: "ProviderBase"):
32
- """Construct the E1Provider."""
33
- self._provider = provider
34
- self._user_plugin_class = user_plugin_class
35
- self._user_plugin: Optional["Plugin"] = None
36
-
37
- def initialize_plugin(self) -> None:
38
- """Initialize plugin."""
39
- self._user_plugin = self._user_plugin_class(self._provider)
40
-
41
- def initialize_connection(self, connection: "ConnectionInterface") -> None:
42
- """Initialize a connection."""
43
- if connection.record_info is None:
44
- raise RuntimeError("Record info must be present before setting containers.")
45
-
46
- if self._user_plugin is None:
47
- raise ValueError("user_plugin hasn't been set.")
48
-
49
- connection.add_record_container(ParsedRecordContainer(connection.record_info))
50
- self._user_plugin.on_input_connection_opened(E1InputConnection(connection))
51
-
52
- def on_record_packet(self, connection: "ConnectionInterface") -> None:
53
- """Handle the record packet received through the input connection."""
54
- if self._user_plugin is None:
55
- raise ValueError("user_plugin hasn't been set.")
56
-
57
- self._user_plugin.on_record_packet(E1InputConnection(connection))
58
-
59
- def on_complete(self) -> None:
60
- """Close plugin code after all records have finished streaming."""
61
- if self._user_plugin is None:
62
- raise ValueError("user_plugin hasn't been set.")
63
- self._user_plugin.on_complete()