another-ayx-python-sdk 2.4.24__py3-none-any.whl → 2.4.25__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 (212) hide show
  1. another_ayx_python_sdk/version.py +3 -3
  2. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.4.25.dist-info}/METADATA +1 -1
  3. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.4.25.dist-info}/RECORD +7 -212
  4. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.4.25.dist-info}/top_level.txt +0 -2
  5. build/lib/another_ayx_python_sdk/__init__.py +0 -14
  6. build/lib/another_ayx_python_sdk/__main__.py +0 -470
  7. build/lib/another_ayx_python_sdk/assets/workspace_files/__init__.py +0 -14
  8. build/lib/another_ayx_python_sdk/assets/workspace_files/setup.py +0 -38
  9. build/lib/another_ayx_python_sdk/cli/__init__.py +0 -14
  10. build/lib/another_ayx_python_sdk/cli/utilities.py +0 -103
  11. build/lib/another_ayx_python_sdk/cli/workspace.py +0 -266
  12. build/lib/another_ayx_python_sdk/cli/yxi_builder.py +0 -125
  13. build/lib/another_ayx_python_sdk/cli/yxi_installer.py +0 -45
  14. build/lib/another_ayx_python_sdk/core/__init__.py +0 -51
  15. build/lib/another_ayx_python_sdk/core/constants.py +0 -25
  16. build/lib/another_ayx_python_sdk/core/dcm_base.py +0 -115
  17. build/lib/another_ayx_python_sdk/core/doc_utilities.py +0 -40
  18. build/lib/another_ayx_python_sdk/core/environment_base.py +0 -213
  19. build/lib/another_ayx_python_sdk/core/exceptions.py +0 -59
  20. build/lib/another_ayx_python_sdk/core/field.py +0 -183
  21. build/lib/another_ayx_python_sdk/core/input_anchor_base.py +0 -86
  22. build/lib/another_ayx_python_sdk/core/input_connection_base.py +0 -206
  23. build/lib/another_ayx_python_sdk/core/io_base.py +0 -139
  24. build/lib/another_ayx_python_sdk/core/metadata.py +0 -173
  25. build/lib/another_ayx_python_sdk/core/observable_mixin.py +0 -90
  26. build/lib/another_ayx_python_sdk/core/output_anchor_base.py +0 -151
  27. build/lib/another_ayx_python_sdk/core/plugin.py +0 -108
  28. build/lib/another_ayx_python_sdk/core/plugin_v2.py +0 -97
  29. build/lib/another_ayx_python_sdk/core/provider_base.py +0 -125
  30. build/lib/another_ayx_python_sdk/core/proxy_requests.py +0 -51
  31. build/lib/another_ayx_python_sdk/core/record_packet.py +0 -88
  32. build/lib/another_ayx_python_sdk/core/record_packet_base.py +0 -123
  33. build/lib/another_ayx_python_sdk/core/register_plugin.py +0 -127
  34. build/lib/another_ayx_python_sdk/core/testing.py +0 -191
  35. build/lib/another_ayx_python_sdk/core/utils.py +0 -146
  36. build/lib/another_ayx_python_sdk/examples/AyxSdkInput/main.py +0 -89
  37. build/lib/another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +0 -102
  38. build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +0 -84
  39. build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +0 -96
  40. build/lib/another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +0 -94
  41. build/lib/another_ayx_python_sdk/examples/AyxSdkOutput/main.py +0 -78
  42. build/lib/another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +0 -82
  43. build/lib/another_ayx_python_sdk/providers/__init__.py +0 -14
  44. build/lib/another_ayx_python_sdk/providers/amp_provider/__init__.py +0 -41
  45. build/lib/another_ayx_python_sdk/providers/amp_provider/__main__.py +0 -85
  46. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +0 -58
  47. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_driver.py +0 -358
  48. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment.py +0 -73
  49. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +0 -278
  50. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +0 -73
  51. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +0 -132
  52. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io.py +0 -64
  53. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +0 -407
  54. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +0 -107
  55. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider.py +0 -68
  56. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +0 -128
  57. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +0 -21
  58. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +0 -32
  59. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +0 -123
  60. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +0 -95
  61. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +0 -118
  62. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +0 -110
  63. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/packers.py +0 -458
  64. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +0 -204
  65. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +0 -133
  66. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +0 -59
  67. build/lib/another_ayx_python_sdk/providers/amp_provider/cng_certs.py +0 -197
  68. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +0 -18
  69. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +0 -127
  70. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +0 -35
  71. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +0 -14
  72. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +0 -189
  73. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +0 -119
  74. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +0 -32
  75. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_util.py +0 -161
  76. build/lib/another_ayx_python_sdk/providers/amp_provider/logger_config.py +0 -63
  77. build/lib/another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +0 -77
  78. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +0 -67
  79. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +0 -252
  80. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +0 -212
  81. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +0 -119
  82. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +0 -110
  83. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +0 -276
  84. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +0 -144
  85. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +0 -252
  86. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +0 -188
  87. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +0 -117
  88. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +0 -129
  89. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +0 -170
  90. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +0 -55
  91. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +0 -32
  92. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +0 -172
  93. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +0 -89
  94. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +0 -14
  95. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
  96. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +0 -25
  97. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +0 -4
  98. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +0 -38
  99. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +0 -4
  100. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +0 -26
  101. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +0 -4
  102. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +0 -25
  103. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +0 -4
  104. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +0 -26
  105. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +0 -4
  106. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +0 -26
  107. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +0 -4
  108. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +0 -26
  109. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +0 -4
  110. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +0 -31
  111. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +0 -4
  112. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +0 -28
  113. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +0 -4
  114. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +0 -26
  115. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +0 -4
  116. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +0 -26
  117. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +0 -4
  118. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +0 -26
  119. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +0 -4
  120. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +0 -29
  121. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +0 -4
  122. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +0 -25
  123. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +0 -4
  124. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +0 -33
  125. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +0 -4
  126. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +0 -25
  127. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +0 -4
  128. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +0 -29
  129. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +0 -4
  130. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +0 -34
  131. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +0 -305
  132. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +0 -30
  133. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +0 -235
  134. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +0 -25
  135. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +0 -4
  136. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +0 -54
  137. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +0 -99
  138. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +0 -27
  139. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +0 -4
  140. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +0 -31
  141. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +0 -4
  142. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +0 -25
  143. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +0 -4
  144. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +0 -115
  145. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +0 -207
  146. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +0 -306
  147. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +0 -14
  148. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +0 -22
  149. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +0 -55
  150. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +0 -63
  151. build/lib/another_ayx_python_sdk/providers/e1_provider/__init__.py +0 -36
  152. build/lib/another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +0 -95
  153. build/lib/another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +0 -31
  154. build/lib/another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +0 -155
  155. build/lib/another_ayx_python_sdk/providers/e1_provider/connection_interface.py +0 -125
  156. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +0 -53
  157. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_environment.py +0 -127
  158. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +0 -51
  159. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +0 -33
  160. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +0 -87
  161. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_io.py +0 -71
  162. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +0 -157
  163. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +0 -97
  164. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +0 -63
  165. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +0 -363
  166. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_provider.py +0 -71
  167. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +0 -21
  168. build/lib/another_ayx_python_sdk/providers/e1_provider/events.py +0 -36
  169. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +0 -37
  170. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +0 -105
  171. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +0 -50
  172. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +0 -122
  173. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +0 -55
  174. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +0 -31
  175. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +0 -65
  176. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +0 -41
  177. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +0 -134
  178. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +0 -42
  179. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +0 -29
  180. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +0 -43
  181. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +0 -14
  182. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +0 -18
  183. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +0 -109
  184. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +0 -49
  185. build/lib/another_ayx_python_sdk/providers/e1_provider/records/__init__.py +0 -23
  186. build/lib/another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +0 -47
  187. build/lib/another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +0 -67
  188. build/lib/another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +0 -111
  189. build/lib/another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +0 -132
  190. build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +0 -35
  191. build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +0 -54
  192. build/lib/another_ayx_python_sdk/providers/e1_provider/workflow_config.py +0 -31
  193. build/lib/another_ayx_python_sdk/providers/file_provider/__init__.py +0 -32
  194. build/lib/another_ayx_python_sdk/providers/file_provider/environment.py +0 -131
  195. build/lib/another_ayx_python_sdk/providers/file_provider/file_adapter.py +0 -286
  196. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider.py +0 -185
  197. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +0 -53
  198. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +0 -70
  199. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +0 -112
  200. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +0 -114
  201. build/lib/another_ayx_python_sdk/providers/file_provider/file_record_packet.py +0 -21
  202. build/lib/another_ayx_python_sdk/providers/file_provider/iox.py +0 -56
  203. build/lib/another_ayx_python_sdk/providers/file_provider/tool_input.py +0 -104
  204. build/lib/another_ayx_python_sdk/test_harness/__init__.py +0 -14
  205. build/lib/another_ayx_python_sdk/test_harness/__main__.py +0 -120
  206. build/lib/another_ayx_python_sdk/test_harness/plugin_runner.py +0 -416
  207. build/lib/another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +0 -80
  208. build/lib/another_ayx_python_sdk/test_harness/sdk_engine_service.py +0 -106
  209. build/lib/another_ayx_python_sdk/version.py +0 -8
  210. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.4.25.dist-info}/WHEEL +0 -0
  211. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.4.25.dist-info}/entry_points.txt +0 -0
  212. {another_ayx_python_sdk-2.4.24.dist-info → another_ayx_python_sdk-2.4.25.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()