another-ayx-python-sdk 2.4.22__py3-none-any.whl → 2.4.23__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 (418) hide show
  1. another_ayx_python_sdk/version.py +3 -3
  2. {another_ayx_python_sdk-2.4.22.dist-info → another_ayx_python_sdk-2.4.23.dist-info}/METADATA +2 -2
  3. another_ayx_python_sdk-2.4.23.dist-info/RECORD +403 -0
  4. {another_ayx_python_sdk-2.4.22.dist-info → another_ayx_python_sdk-2.4.23.dist-info}/top_level.txt +0 -2
  5. another_ayx_python_sdk-2.4.22.dist-info/RECORD +0 -813
  6. build/lib/another_ayx_python_sdk/__init__.py +0 -14
  7. build/lib/another_ayx_python_sdk/__main__.py +0 -470
  8. build/lib/another_ayx_python_sdk/assets/workspace_files/__init__.py +0 -14
  9. build/lib/another_ayx_python_sdk/assets/workspace_files/setup.py +0 -38
  10. build/lib/another_ayx_python_sdk/cli/__init__.py +0 -14
  11. build/lib/another_ayx_python_sdk/cli/utilities.py +0 -103
  12. build/lib/another_ayx_python_sdk/cli/workspace.py +0 -266
  13. build/lib/another_ayx_python_sdk/cli/yxi_builder.py +0 -125
  14. build/lib/another_ayx_python_sdk/cli/yxi_installer.py +0 -45
  15. build/lib/another_ayx_python_sdk/core/__init__.py +0 -51
  16. build/lib/another_ayx_python_sdk/core/constants.py +0 -25
  17. build/lib/another_ayx_python_sdk/core/dcm_base.py +0 -115
  18. build/lib/another_ayx_python_sdk/core/doc_utilities.py +0 -40
  19. build/lib/another_ayx_python_sdk/core/environment_base.py +0 -213
  20. build/lib/another_ayx_python_sdk/core/exceptions.py +0 -59
  21. build/lib/another_ayx_python_sdk/core/field.py +0 -183
  22. build/lib/another_ayx_python_sdk/core/input_anchor_base.py +0 -86
  23. build/lib/another_ayx_python_sdk/core/input_connection_base.py +0 -206
  24. build/lib/another_ayx_python_sdk/core/io_base.py +0 -139
  25. build/lib/another_ayx_python_sdk/core/metadata.py +0 -173
  26. build/lib/another_ayx_python_sdk/core/observable_mixin.py +0 -90
  27. build/lib/another_ayx_python_sdk/core/output_anchor_base.py +0 -151
  28. build/lib/another_ayx_python_sdk/core/plugin.py +0 -108
  29. build/lib/another_ayx_python_sdk/core/plugin_v2.py +0 -97
  30. build/lib/another_ayx_python_sdk/core/provider_base.py +0 -125
  31. build/lib/another_ayx_python_sdk/core/proxy_requests.py +0 -51
  32. build/lib/another_ayx_python_sdk/core/record_packet.py +0 -88
  33. build/lib/another_ayx_python_sdk/core/record_packet_base.py +0 -123
  34. build/lib/another_ayx_python_sdk/core/register_plugin.py +0 -127
  35. build/lib/another_ayx_python_sdk/core/testing.py +0 -191
  36. build/lib/another_ayx_python_sdk/core/utils.py +0 -146
  37. build/lib/another_ayx_python_sdk/examples/AyxSdkInput/main.py +0 -89
  38. build/lib/another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +0 -102
  39. build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +0 -84
  40. build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +0 -96
  41. build/lib/another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +0 -94
  42. build/lib/another_ayx_python_sdk/examples/AyxSdkOutput/main.py +0 -78
  43. build/lib/another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +0 -82
  44. build/lib/another_ayx_python_sdk/providers/__init__.py +0 -14
  45. build/lib/another_ayx_python_sdk/providers/amp_provider/__init__.py +0 -41
  46. build/lib/another_ayx_python_sdk/providers/amp_provider/__main__.py +0 -85
  47. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +0 -58
  48. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_driver.py +0 -358
  49. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment.py +0 -73
  50. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +0 -278
  51. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +0 -73
  52. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +0 -132
  53. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io.py +0 -64
  54. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +0 -407
  55. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +0 -107
  56. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider.py +0 -68
  57. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +0 -128
  58. build/lib/another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +0 -21
  59. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +0 -32
  60. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +0 -123
  61. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +0 -95
  62. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +0 -118
  63. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +0 -110
  64. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/packers.py +0 -458
  65. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +0 -204
  66. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +0 -133
  67. build/lib/another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +0 -59
  68. build/lib/another_ayx_python_sdk/providers/amp_provider/cng_certs.py +0 -197
  69. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +0 -18
  70. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +0 -127
  71. build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +0 -35
  72. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +0 -14
  73. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +0 -189
  74. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +0 -119
  75. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +0 -32
  76. build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_util.py +0 -161
  77. build/lib/another_ayx_python_sdk/providers/amp_provider/logger_config.py +0 -63
  78. build/lib/another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +0 -77
  79. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +0 -67
  80. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +0 -252
  81. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +0 -212
  82. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +0 -119
  83. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +0 -110
  84. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +0 -276
  85. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +0 -144
  86. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +0 -252
  87. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +0 -188
  88. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +0 -117
  89. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +0 -129
  90. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +0 -170
  91. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +0 -55
  92. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +0 -32
  93. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +0 -172
  94. build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +0 -89
  95. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +0 -14
  96. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
  97. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +0 -25
  98. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +0 -4
  99. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +0 -38
  100. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +0 -4
  101. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +0 -26
  102. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +0 -4
  103. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +0 -25
  104. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +0 -4
  105. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +0 -26
  106. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +0 -4
  107. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +0 -26
  108. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +0 -4
  109. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +0 -26
  110. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +0 -4
  111. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +0 -31
  112. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +0 -4
  113. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +0 -28
  114. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +0 -4
  115. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +0 -26
  116. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +0 -4
  117. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +0 -26
  118. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +0 -4
  119. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +0 -26
  120. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +0 -4
  121. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +0 -29
  122. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +0 -4
  123. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +0 -25
  124. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +0 -4
  125. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +0 -33
  126. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +0 -4
  127. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +0 -25
  128. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +0 -4
  129. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +0 -29
  130. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +0 -4
  131. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +0 -34
  132. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +0 -305
  133. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +0 -30
  134. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +0 -235
  135. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +0 -25
  136. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +0 -4
  137. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +0 -54
  138. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +0 -99
  139. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +0 -27
  140. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +0 -4
  141. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +0 -31
  142. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +0 -4
  143. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +0 -25
  144. build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +0 -4
  145. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +0 -115
  146. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +0 -207
  147. build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +0 -306
  148. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +0 -14
  149. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +0 -22
  150. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +0 -55
  151. build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +0 -63
  152. build/lib/another_ayx_python_sdk/providers/e1_provider/__init__.py +0 -36
  153. build/lib/another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +0 -95
  154. build/lib/another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +0 -31
  155. build/lib/another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +0 -155
  156. build/lib/another_ayx_python_sdk/providers/e1_provider/connection_interface.py +0 -125
  157. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +0 -53
  158. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_environment.py +0 -127
  159. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +0 -51
  160. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +0 -33
  161. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +0 -87
  162. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_io.py +0 -71
  163. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +0 -157
  164. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +0 -97
  165. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +0 -63
  166. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +0 -363
  167. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_provider.py +0 -71
  168. build/lib/another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +0 -21
  169. build/lib/another_ayx_python_sdk/providers/e1_provider/events.py +0 -36
  170. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +0 -37
  171. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +0 -105
  172. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +0 -50
  173. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +0 -122
  174. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +0 -55
  175. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +0 -31
  176. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +0 -65
  177. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +0 -41
  178. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +0 -134
  179. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +0 -42
  180. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +0 -29
  181. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +0 -43
  182. build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +0 -14
  183. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +0 -18
  184. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +0 -109
  185. build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +0 -49
  186. build/lib/another_ayx_python_sdk/providers/e1_provider/records/__init__.py +0 -23
  187. build/lib/another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +0 -47
  188. build/lib/another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +0 -67
  189. build/lib/another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +0 -111
  190. build/lib/another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +0 -132
  191. build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +0 -35
  192. build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +0 -54
  193. build/lib/another_ayx_python_sdk/providers/e1_provider/workflow_config.py +0 -31
  194. build/lib/another_ayx_python_sdk/providers/file_provider/__init__.py +0 -32
  195. build/lib/another_ayx_python_sdk/providers/file_provider/environment.py +0 -131
  196. build/lib/another_ayx_python_sdk/providers/file_provider/file_adapter.py +0 -286
  197. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider.py +0 -185
  198. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +0 -53
  199. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +0 -70
  200. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +0 -112
  201. build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +0 -114
  202. build/lib/another_ayx_python_sdk/providers/file_provider/file_record_packet.py +0 -21
  203. build/lib/another_ayx_python_sdk/providers/file_provider/iox.py +0 -56
  204. build/lib/another_ayx_python_sdk/providers/file_provider/tool_input.py +0 -104
  205. build/lib/another_ayx_python_sdk/test_harness/__init__.py +0 -14
  206. build/lib/another_ayx_python_sdk/test_harness/__main__.py +0 -120
  207. build/lib/another_ayx_python_sdk/test_harness/plugin_runner.py +0 -416
  208. build/lib/another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +0 -80
  209. build/lib/another_ayx_python_sdk/test_harness/sdk_engine_service.py +0 -106
  210. build/lib/another_ayx_python_sdk/version.py +0 -8
  211. build/lib/build/lib/another_ayx_python_sdk/__init__.py +0 -14
  212. build/lib/build/lib/another_ayx_python_sdk/__main__.py +0 -470
  213. build/lib/build/lib/another_ayx_python_sdk/assets/workspace_files/__init__.py +0 -14
  214. build/lib/build/lib/another_ayx_python_sdk/assets/workspace_files/setup.py +0 -38
  215. build/lib/build/lib/another_ayx_python_sdk/cli/__init__.py +0 -14
  216. build/lib/build/lib/another_ayx_python_sdk/cli/utilities.py +0 -103
  217. build/lib/build/lib/another_ayx_python_sdk/cli/workspace.py +0 -266
  218. build/lib/build/lib/another_ayx_python_sdk/cli/yxi_builder.py +0 -125
  219. build/lib/build/lib/another_ayx_python_sdk/cli/yxi_installer.py +0 -45
  220. build/lib/build/lib/another_ayx_python_sdk/core/__init__.py +0 -51
  221. build/lib/build/lib/another_ayx_python_sdk/core/constants.py +0 -25
  222. build/lib/build/lib/another_ayx_python_sdk/core/dcm_base.py +0 -115
  223. build/lib/build/lib/another_ayx_python_sdk/core/doc_utilities.py +0 -40
  224. build/lib/build/lib/another_ayx_python_sdk/core/environment_base.py +0 -213
  225. build/lib/build/lib/another_ayx_python_sdk/core/exceptions.py +0 -59
  226. build/lib/build/lib/another_ayx_python_sdk/core/field.py +0 -183
  227. build/lib/build/lib/another_ayx_python_sdk/core/input_anchor_base.py +0 -86
  228. build/lib/build/lib/another_ayx_python_sdk/core/input_connection_base.py +0 -206
  229. build/lib/build/lib/another_ayx_python_sdk/core/io_base.py +0 -139
  230. build/lib/build/lib/another_ayx_python_sdk/core/metadata.py +0 -173
  231. build/lib/build/lib/another_ayx_python_sdk/core/observable_mixin.py +0 -90
  232. build/lib/build/lib/another_ayx_python_sdk/core/output_anchor_base.py +0 -151
  233. build/lib/build/lib/another_ayx_python_sdk/core/plugin.py +0 -108
  234. build/lib/build/lib/another_ayx_python_sdk/core/plugin_v2.py +0 -97
  235. build/lib/build/lib/another_ayx_python_sdk/core/provider_base.py +0 -125
  236. build/lib/build/lib/another_ayx_python_sdk/core/proxy_requests.py +0 -51
  237. build/lib/build/lib/another_ayx_python_sdk/core/record_packet.py +0 -88
  238. build/lib/build/lib/another_ayx_python_sdk/core/record_packet_base.py +0 -123
  239. build/lib/build/lib/another_ayx_python_sdk/core/register_plugin.py +0 -127
  240. build/lib/build/lib/another_ayx_python_sdk/core/testing.py +0 -191
  241. build/lib/build/lib/another_ayx_python_sdk/core/utils.py +0 -146
  242. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkInput/main.py +0 -89
  243. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +0 -102
  244. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +0 -84
  245. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +0 -96
  246. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +0 -94
  247. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkOutput/main.py +0 -78
  248. build/lib/build/lib/another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +0 -82
  249. build/lib/build/lib/another_ayx_python_sdk/providers/__init__.py +0 -14
  250. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/__init__.py +0 -41
  251. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/__main__.py +0 -85
  252. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +0 -58
  253. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_driver.py +0 -358
  254. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment.py +0 -73
  255. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +0 -278
  256. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +0 -73
  257. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +0 -132
  258. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io.py +0 -64
  259. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +0 -407
  260. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +0 -107
  261. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider.py +0 -68
  262. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +0 -128
  263. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +0 -21
  264. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +0 -32
  265. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +0 -123
  266. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +0 -95
  267. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +0 -118
  268. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +0 -110
  269. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/packers.py +0 -458
  270. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +0 -204
  271. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +0 -133
  272. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +0 -59
  273. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/cng_certs.py +0 -197
  274. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +0 -18
  275. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +0 -127
  276. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +0 -35
  277. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +0 -14
  278. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +0 -189
  279. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +0 -119
  280. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +0 -32
  281. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/grpc_util.py +0 -161
  282. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/logger_config.py +0 -63
  283. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +0 -77
  284. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +0 -67
  285. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +0 -252
  286. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +0 -212
  287. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +0 -119
  288. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +0 -110
  289. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +0 -276
  290. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +0 -144
  291. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +0 -252
  292. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +0 -188
  293. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +0 -117
  294. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +0 -129
  295. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +0 -170
  296. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +0 -55
  297. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +0 -32
  298. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +0 -172
  299. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +0 -89
  300. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +0 -14
  301. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
  302. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +0 -25
  303. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +0 -4
  304. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +0 -38
  305. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +0 -4
  306. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +0 -26
  307. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +0 -4
  308. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +0 -25
  309. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +0 -4
  310. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +0 -26
  311. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +0 -4
  312. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +0 -26
  313. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +0 -4
  314. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +0 -26
  315. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +0 -4
  316. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +0 -31
  317. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +0 -4
  318. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +0 -28
  319. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +0 -4
  320. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +0 -26
  321. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +0 -4
  322. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +0 -26
  323. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +0 -4
  324. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +0 -26
  325. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +0 -4
  326. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +0 -29
  327. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +0 -4
  328. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +0 -25
  329. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +0 -4
  330. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +0 -33
  331. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +0 -4
  332. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +0 -25
  333. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +0 -4
  334. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +0 -29
  335. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +0 -4
  336. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +0 -34
  337. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +0 -305
  338. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +0 -30
  339. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +0 -235
  340. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +0 -25
  341. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +0 -4
  342. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +0 -54
  343. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +0 -99
  344. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +0 -27
  345. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +0 -4
  346. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +0 -31
  347. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +0 -4
  348. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +0 -25
  349. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +0 -4
  350. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +0 -115
  351. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +0 -207
  352. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +0 -306
  353. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +0 -14
  354. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +0 -22
  355. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +0 -55
  356. build/lib/build/lib/another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +0 -63
  357. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/__init__.py +0 -36
  358. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +0 -95
  359. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +0 -31
  360. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +0 -155
  361. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/connection_interface.py +0 -125
  362. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +0 -53
  363. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_environment.py +0 -127
  364. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +0 -51
  365. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +0 -33
  366. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +0 -87
  367. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_io.py +0 -71
  368. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +0 -157
  369. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +0 -97
  370. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +0 -63
  371. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +0 -363
  372. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_provider.py +0 -71
  373. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +0 -21
  374. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/events.py +0 -36
  375. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +0 -37
  376. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +0 -105
  377. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +0 -50
  378. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +0 -122
  379. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +0 -55
  380. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +0 -31
  381. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +0 -65
  382. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +0 -41
  383. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +0 -134
  384. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +0 -42
  385. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +0 -29
  386. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +0 -43
  387. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +0 -14
  388. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +0 -18
  389. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +0 -109
  390. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +0 -49
  391. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/records/__init__.py +0 -23
  392. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +0 -47
  393. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +0 -67
  394. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +0 -111
  395. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +0 -132
  396. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +0 -35
  397. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +0 -54
  398. build/lib/build/lib/another_ayx_python_sdk/providers/e1_provider/workflow_config.py +0 -31
  399. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/__init__.py +0 -32
  400. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/environment.py +0 -131
  401. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_adapter.py +0 -286
  402. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_provider.py +0 -185
  403. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +0 -53
  404. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +0 -70
  405. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +0 -112
  406. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +0 -114
  407. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/file_record_packet.py +0 -21
  408. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/iox.py +0 -56
  409. build/lib/build/lib/another_ayx_python_sdk/providers/file_provider/tool_input.py +0 -104
  410. build/lib/build/lib/another_ayx_python_sdk/test_harness/__init__.py +0 -14
  411. build/lib/build/lib/another_ayx_python_sdk/test_harness/__main__.py +0 -120
  412. build/lib/build/lib/another_ayx_python_sdk/test_harness/plugin_runner.py +0 -416
  413. build/lib/build/lib/another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +0 -80
  414. build/lib/build/lib/another_ayx_python_sdk/test_harness/sdk_engine_service.py +0 -106
  415. build/lib/build/lib/another_ayx_python_sdk/version.py +0 -8
  416. {another_ayx_python_sdk-2.4.22.dist-info → another_ayx_python_sdk-2.4.23.dist-info}/WHEEL +0 -0
  417. {another_ayx_python_sdk-2.4.22.dist-info → another_ayx_python_sdk-2.4.23.dist-info}/entry_points.txt +0 -0
  418. {another_ayx_python_sdk-2.4.22.dist-info → another_ayx_python_sdk-2.4.23.dist-info}/licenses/LICENSE +0 -0
@@ -1,14 +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 Python SDK: ayx_python_sdk top-level."""
@@ -1,470 +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 Python SDK: Main program."""
15
- import filecmp
16
- import importlib.util
17
- import json
18
- import logging
19
- import os
20
- import re
21
- import shutil
22
- import subprocess
23
- from enum import Enum
24
- from functools import wraps
25
- from pathlib import Path
26
- from typing import Any, Callable, List
27
-
28
- from another_ayx_python_sdk.cli.utilities import get_install_dir
29
- from another_ayx_python_sdk.cli.workspace import (
30
- WorkspaceError,
31
- remove_whitespace,
32
- )
33
- from another_ayx_python_sdk.providers.file_provider import FileProvider
34
- from another_ayx_python_sdk.providers.file_provider.tool_input import ToolInput
35
- from another_ayx_python_sdk.version import short_version
36
-
37
- import deprecation
38
-
39
- import typer
40
-
41
- logger = logging.getLogger(__name__)
42
- app = typer.Typer(
43
- help="Run a tool using file inputs and outputs in a pure Python environment."
44
- )
45
-
46
- REQ_LOCAL = "requirements-local.txt"
47
- REQ_THIRDPARTY = "requirements-thirdparty.txt"
48
-
49
-
50
- class TemplateToolTypes(str, Enum):
51
- """Installation Type of Designer."""
52
-
53
- Input = "input"
54
- MultipleInputs = "multiple-inputs"
55
- MultipleOutputs = "multiple-outputs"
56
- Optional = "optional"
57
- Output = "output"
58
- SingleInputSingleOutput = "single-input-single-output"
59
- MultipleInputConnections = "multi-connection-input-anchor"
60
-
61
-
62
- name_to_tool = {
63
- TemplateToolTypes.Input: "AyxSdkInput",
64
- TemplateToolTypes.MultipleInputs: "AyxSdkMultipleInputAnchors",
65
- TemplateToolTypes.MultipleOutputs: "AyxSdkMultipleOutputAnchors",
66
- TemplateToolTypes.Optional: "AyxSdkOptionalInputAnchor",
67
- TemplateToolTypes.Output: "AyxSdkOutput",
68
- TemplateToolTypes.SingleInputSingleOutput: "AyxSdkPassThrough",
69
- TemplateToolTypes.MultipleInputConnections: "AyxSdkMultiConnectionsMultiOutputAnchor",
70
- }
71
-
72
-
73
- @app.command()
74
- def init_workspace(
75
- workspace_directory: str = typer.Option(
76
- ...,
77
- help="Directory to create a workspace in. "
78
- "If the directory doesn't exist, it will be created.",
79
- ),
80
- yes_to_all: bool = typer.Option(False, "--y", help="Confirm all"),
81
- ) -> None:
82
- """Initialize a plugin workspace with a python backend."""
83
- backend_directory = Path(workspace_directory) / "backend"
84
- plugins_directory = backend_directory / "ayx_plugins"
85
- assets_directory = (
86
- Path(os.path.realpath(__file__)).parent / "assets" / "workspace_files"
87
- )
88
-
89
- typer.echo(f"Creating {plugins_directory}")
90
- plugins_directory.mkdir(parents=True, exist_ok=True)
91
-
92
- files_to_create = {
93
- (assets_directory / REQ_LOCAL)
94
- .resolve(): (backend_directory / REQ_LOCAL)
95
- .resolve(),
96
- (assets_directory / REQ_THIRDPARTY)
97
- .resolve(): (backend_directory / REQ_THIRDPARTY)
98
- .resolve(),
99
- (assets_directory / "setup.py")
100
- .resolve(): (backend_directory / "setup.py")
101
- .resolve(),
102
- (assets_directory / "__init__.py")
103
- .resolve(): (plugins_directory / "__init__.py")
104
- .resolve(),
105
- }
106
- new_files = []
107
- files_to_overwrite = []
108
- for source_path, dest_path in files_to_create.items():
109
- if not dest_path.exists():
110
- new_files.append((source_path, dest_path))
111
- else:
112
- files_to_overwrite.append((source_path, dest_path))
113
- for source_path, dest_path in new_files:
114
- typer.echo(f"Creating file {dest_path}")
115
- shutil.copy(source_path, dest_path)
116
- pin_ayx_version_to_requirements((backend_directory / REQ_THIRDPARTY).resolve())
117
-
118
- if not files_to_overwrite:
119
- return
120
- output_paths = [str(path[1]) for path in files_to_overwrite]
121
- if yes_to_all or typer.confirm(
122
- "\nThe following files will be overwritten:\n\t"
123
- + "\n\t".join(output_paths)
124
- + "\n\nConfirm that it is okay to remove these paths.\n"
125
- ):
126
- for source_path, dest_path in files_to_overwrite:
127
- typer.echo(f"Overwriting file {dest_path}")
128
- shutil.copy(source_path, dest_path)
129
- pin_ayx_version_to_requirements((backend_directory / REQ_THIRDPARTY).resolve())
130
- else:
131
- typer.echo(f"{', '.join(output_paths)} will not be overwritten")
132
-
133
-
134
- def pin_ayx_version_to_requirements(requirements_path: Path) -> None:
135
- """Pins the plugin SDK to third-party requirements."""
136
- with open(requirements_path, "r") as req_file:
137
- lines = req_file.readlines()
138
- for line_num in range(len(lines)):
139
- if re.match(r"^ayx_python_sdk$", lines[line_num]):
140
- lines[line_num] = f"ayx_python_sdk=={short_version}"
141
- req_file = open(requirements_path, "w")
142
- req_file.writelines(lines)
143
-
144
-
145
- @deprecation.deprecated(
146
- deprecated_in="1.0.3",
147
- removed_in="2.0.0",
148
- details="Use the Plugin CLI's test harness instead.",
149
- ) # type: ignore
150
- @app.command(
151
- deprecated=True,
152
- short_help="(DEPRECATED) Run a tool using file inputs and outputs in a pure Python environment.",
153
- )
154
- def run_tool_with_file_provider(
155
- configuration_file: str = typer.Option(
156
- ...,
157
- help="JSON file that specifies the input and output "
158
- "information needed for the file provider to run",
159
- ),
160
- ) -> None:
161
- """
162
- Run a tool using file inputs and outputs in a pure Python environment.
163
-
164
- Parameters
165
- ----------
166
- configuration_file
167
- Specifies the path to the JSON file that contains the tool plugin,
168
- configuration files, input files, and output files.
169
- """
170
- try:
171
- with open(configuration_file) as fd:
172
- json_dict = json.load(fd)
173
- except FileNotFoundError:
174
- raise RuntimeError(f"Couldn't find tool information file {configuration_file}.")
175
-
176
- tool_input = ToolInput(**json_dict)
177
- tool_classname = tool_input.tool.plugin
178
- tool_path = Path(tool_input.tool.path)
179
-
180
- file_provider = FileProvider(
181
- tool_input.tool_config.resolve(),
182
- tool_input.workflow_config.resolve(),
183
- inputs=tool_input.inputs or [],
184
- outputs=tool_input.outputs or [],
185
- update_tool_config=tool_input.update_tool_config,
186
- )
187
-
188
- tool_class = _load_user_plugin_class(tool_classname, tool_path)
189
-
190
- # Initialize and run the plugin
191
- plugin = tool_class(file_provider)
192
- for input_anchor in file_provider.input_anchors:
193
- for input_anchor_connection in input_anchor.connections:
194
- plugin.on_input_connection_opened(input_anchor_connection)
195
- # TODO Support multiple calls to on_record_packet
196
- plugin.on_record_packet(input_anchor_connection)
197
- plugin.on_complete()
198
-
199
-
200
- def _load_user_plugin_class(tool_classname: str, tool_path: Path) -> Any:
201
- """Load the plugin and get a reference to its class."""
202
- root = Path(os.getcwd())
203
- tool_full_path = (root / tool_path).resolve()
204
- original_cwd = os.getcwd()
205
-
206
- try:
207
- os.chdir(tool_full_path.parent)
208
- spec: Any = importlib.util.spec_from_file_location("main", "main.py")
209
- module = importlib.util.module_from_spec(spec)
210
- spec.loader.exec_module(module)
211
- return getattr(module, tool_classname)
212
- finally:
213
- os.chdir(original_cwd)
214
-
215
-
216
- def handle_workspace_errors(function: Callable) -> Callable:
217
- """Handle any workspace errors that occur."""
218
-
219
- @wraps(function)
220
- def decorator(*args: Any, **kwargs: Any) -> None:
221
- try:
222
- function(*args, **kwargs)
223
- except WorkspaceError as e:
224
- typer.echo(f"ERROR: {e}")
225
- raise typer.Exit(code=1)
226
-
227
- return decorator
228
-
229
-
230
- @app.command()
231
- @handle_workspace_errors
232
- def create_ayx_plugin(
233
- name: str = typer.Option(
234
- ..., prompt="Tool Name", help="Name of the tool to create."
235
- ),
236
- workspace_directory: Path = typer.Option(
237
- ..., prompt="Workspace directory", help="Directory to put the new tool in."
238
- ),
239
- tool_type: TemplateToolTypes = typer.Option(
240
- ...,
241
- prompt="Tool type",
242
- help=f"The type of tool to create. Must be one of: {', '.join(name_to_tool.keys())}",
243
- ),
244
- ) -> None:
245
- """Create a new plugin for Alteryx Designer."""
246
- typer.echo("Creating Alteryx Plugin...")
247
- plugin_directory = workspace_directory / "backend" / "ayx_plugins"
248
- if not plugin_directory.is_dir():
249
- raise WorkspaceError(f"Plugin directory doesn't exist: {plugin_directory}")
250
-
251
- if plugin_directory.is_file():
252
- raise WorkspaceError(
253
- f"Plugin directory path is a file, not a directory: {plugin_directory}"
254
- )
255
-
256
- if not (plugin_directory / "__init__.py").exists():
257
- raise WorkspaceError(
258
- "__init__.py not found in the specified directory. "
259
- "Make sure that you've entered the correct path."
260
- )
261
-
262
- new_tool_name = remove_whitespace(name)
263
- new_tool_file_name = re.sub(r"(?<!^)(?=[A-Z])", "_", new_tool_name).lower()
264
- new_tool_path = plugin_directory / f"{new_tool_file_name}.py"
265
-
266
- if not new_tool_name.replace("_", "").isalnum() or not new_tool_name[0].isalpha():
267
- raise WorkspaceError(
268
- f"The name of the tool {new_tool_name} must be alpha-numeric, "
269
- "cannot start with a number, and cannot contain any special characters."
270
- )
271
-
272
- if new_tool_path.exists():
273
- raise WorkspaceError(
274
- "There is already another tool with this name in the directory."
275
- )
276
-
277
- example_tool_name = name_to_tool[tool_type]
278
- example_tool_dir = get_install_dir() / "examples" / example_tool_name
279
-
280
- shutil.copy(
281
- example_tool_dir / "main.py",
282
- new_tool_path,
283
- )
284
- typer.echo(f"Copying example tool to {plugin_directory}...")
285
-
286
- _update_main_py(new_tool_path, example_tool_name, new_tool_name)
287
- _update_init_py(plugin_directory, new_tool_file_name, new_tool_name)
288
-
289
- typer.echo(f"Added new tool to package directory: {new_tool_path}")
290
-
291
-
292
- def _update_main_py(
293
- plugin_path: Path,
294
- example_tool_name: str,
295
- new_tool_name: str,
296
- ) -> None:
297
- try:
298
- with open(str(plugin_path), "r") as f:
299
- content = f.read()
300
-
301
- content = content.replace(example_tool_name, new_tool_name)
302
- with open(str(plugin_path), "w") as f:
303
- f.write(content)
304
- except IOError:
305
- raise WorkspaceError(f"Error updating {plugin_path}")
306
-
307
-
308
- def _update_init_py(
309
- plugin_directory: Path, new_tool_file_name: str, new_tool_name: str
310
- ) -> None:
311
- import_line = f"from .{new_tool_file_name} import {new_tool_name}\n"
312
- try:
313
- with open(str(Path(plugin_directory) / "__init__.py"), "a") as f:
314
- f.write(import_line)
315
- except IOError:
316
- raise WorkspaceError("Error opening the __init__.py file")
317
-
318
-
319
- @app.command()
320
- @handle_workspace_errors
321
- def install_deps(
322
- dependency_cache_dir: Path = typer.Option(
323
- default=Path(".doit_cache"),
324
- prompt="Distribution directory",
325
- help="Creates a distribution directory",
326
- ),
327
- output_path: Path = typer.Option(
328
- ...,
329
- prompt="Output path including filename",
330
- help="The path to save the .pyz bootstrap artifact, example: './bootstrap.pyz'",
331
- ),
332
- ) -> None:
333
- """Install any dependencies for the current workspace tools."""
334
- typer.echo("Installing dependencies...")
335
- logger.info("install_deps called...")
336
- dist_dir = (dependency_cache_dir / "dist").resolve()
337
- dist_dir.mkdir(exist_ok=True, parents=True)
338
- curr_dir = Path(".")
339
- backend_dir = curr_dir / "backend"
340
-
341
- if (
342
- not (backend_dir / REQ_LOCAL).exists()
343
- or not (backend_dir / REQ_THIRDPARTY).exists()
344
- ):
345
- raise WorkspaceError(
346
- "Missing requirements files. Please make sure that both 'requirements-thirdparty.txt' and 'requirements-local.txt' exist in the backend folder."
347
- )
348
- install_local_dependencies = [
349
- "python",
350
- "-m",
351
- "pip",
352
- "install",
353
- "-r",
354
- REQ_LOCAL,
355
- "--upgrade",
356
- "--target",
357
- str(dist_dir),
358
- ]
359
- result = _run_build_artifact_command(
360
- install_local_dependencies, "Installing local dependencies", backend_dir
361
- )
362
- if result != 0:
363
- raise WorkspaceError(
364
- "Installing local dependencies failed, aborting YXI generation."
365
- )
366
- requirements_changed = _check_requirements_changed(
367
- dist_dir / REQ_THIRDPARTY,
368
- backend_dir / REQ_THIRDPARTY,
369
- )
370
-
371
- if requirements_changed:
372
- typer.echo("Installing new dependencies...")
373
- install_third_party_dependencies = [
374
- "python",
375
- "-m",
376
- "pip",
377
- "install",
378
- "-r",
379
- REQ_THIRDPARTY,
380
- "--upgrade",
381
- "--target",
382
- str(dist_dir),
383
- ]
384
-
385
- result = _run_build_artifact_command(
386
- install_third_party_dependencies,
387
- "Installing third party dependencies",
388
- backend_dir,
389
- )
390
-
391
- if result != 0:
392
- Path(dist_dir / REQ_THIRDPARTY).unlink(missing_ok=True)
393
- raise WorkspaceError(
394
- "Installing third party dependencies failed, aborting YXI generation."
395
- )
396
-
397
-
398
- def _run_build_artifact_command(cmd: List[str], label: str, cwd: Path) -> int:
399
- try:
400
- typer.echo(f"[{label}]: {' '.join(cmd)} ")
401
- process = subprocess.run(
402
- cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd
403
- )
404
- if process.returncode != 0:
405
- typer.echo(
406
- f"Process [{label}] failed with error code{process.returncode}\nPlease check log for details"
407
- )
408
- logger.error(
409
- "Process returned with non-zero exit code: %s",
410
- process.stderr,
411
- exc_info=True,
412
- )
413
- return process.returncode
414
- except subprocess.CalledProcessError as e:
415
- typer.echo(
416
- f"Process [{label}] failed with {process.returncode}\nPlease check log for details"
417
- )
418
- logger.error(
419
- "Exception occured during execution of subprocess: %s",
420
- e.__traceback__,
421
- exc_info=True,
422
- )
423
- return -1
424
-
425
-
426
- def _check_requirements_changed(
427
- dist_requirements: Path, backend_requirements: Path
428
- ) -> bool:
429
- try:
430
- if not dist_requirements.exists():
431
- shutil.copy(backend_requirements, dist_requirements)
432
- return True
433
- else:
434
- file_changed = not filecmp.cmp(dist_requirements, backend_requirements)
435
- if file_changed:
436
- shutil.copy(backend_requirements, dist_requirements)
437
- return file_changed
438
-
439
- except Exception:
440
- raise WorkspaceError(
441
- "Could not find /requirements-thirdparty.txt in the specified directories"
442
- )
443
-
444
-
445
- @app.command()
446
- def docs() -> None:
447
- """Open the ayx-plugin-sdk documentation in a browser."""
448
- import webbrowser
449
-
450
- docs_index_html = Path(os.path.dirname(__file__)) / "docs" / "index.html"
451
- webbrowser.open_new_tab(str(docs_index_html))
452
-
453
-
454
- def _log_info(msg: str) -> None:
455
- logger.info("INFO: %s", msg)
456
- typer.echo(f"INFO: {msg}")
457
-
458
-
459
- def _log_error(msg: str) -> None:
460
- logger.error("ERROR: %s", msg)
461
- typer.echo(f"ERROR: {msg}")
462
-
463
-
464
- def main() -> None:
465
- """Define the main entry point to typer."""
466
- app()
467
-
468
-
469
- if __name__ == "__main__":
470
- main()
@@ -1,14 +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 Designer Plugin implementations."""
@@ -1,38 +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 Designer Plugin implementations."""
15
- from setuptools import find_packages, setup
16
-
17
- PACKAGE_NAME = "ayx_plugins"
18
-
19
- MAJOR = 1
20
- MINOR = 0
21
- MICRO = 0
22
- VERSION = f"{MAJOR}.{MINOR}.{MICRO}"
23
-
24
- SUMMARY = (__doc__ or "").split("\n")
25
-
26
- if __name__ == "__main__":
27
- setup(
28
- name=PACKAGE_NAME,
29
- version=VERSION,
30
- description=SUMMARY,
31
- long_description_content_type="text/markdown",
32
- platforms=["Windows"],
33
- author="Alteryx, Inc.",
34
- author_email="support@alteryx.com",
35
- packages=find_packages(
36
- exclude=["examples", "*.tests", "*.tests.*", "tests.*", "tests"]
37
- ),
38
- )
@@ -1,14 +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
- """Command line interface definitions."""
@@ -1,103 +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
- """Helper methods for managing the virtual environment."""
15
- import os
16
- import xml.etree.ElementTree as Et
17
- from pathlib import Path
18
- from typing import List, TYPE_CHECKING
19
-
20
- if TYPE_CHECKING:
21
- from another_ayx_python_sdk.cli.workspace import Workspace # noqa: F401
22
-
23
-
24
- def get_install_dir() -> Path:
25
- """Get the current directory."""
26
- return Path(__file__).parent.parent
27
-
28
-
29
- def environment_requires_update(workspace: "Workspace") -> bool:
30
- """Determine if the virtual environments for the tools should be updated."""
31
- if not _virtual_environment_exists(workspace.tool_family_name):
32
- return True
33
-
34
- if not workspace.tools:
35
- return False
36
-
37
- tool_family_requirements_path = (
38
- Path(_get_alteryx_tools_path()) / workspace.tools[0] / "requirements.txt"
39
- )
40
-
41
- if not tool_family_requirements_path.is_file():
42
- return True
43
-
44
- workspace_requirements = _get_requirements(
45
- workspace.workspace_dir / "requirements.txt"
46
- )
47
- installed_tool_family_requirements = _get_requirements(
48
- tool_family_requirements_path
49
- )
50
- return workspace_requirements != installed_tool_family_requirements
51
-
52
-
53
- def get_alteryx_path() -> Path:
54
- """Get the path to Alteryx Designer."""
55
- user_designer_install_path = Path(os.getenv("LOCALAPPDATA", "")) / "Alteryx"
56
- user_designer_engine_cmd_path = (
57
- user_designer_install_path / "bin" / "AlteryxEngineCmd.exe"
58
- )
59
- if user_designer_engine_cmd_path.exists():
60
- return user_designer_install_path
61
-
62
- admin_designer_install_path = Path(os.getenv("PROGRAMFILES", "")) / "Alteryx"
63
- admin_designer_engine_cmd_path = (
64
- admin_designer_install_path / "bin" / "AlteryxEngineCmd.exe"
65
- )
66
- if admin_designer_engine_cmd_path.exists():
67
- return admin_designer_install_path
68
-
69
- raise FileNotFoundError("Alteryx Install Path could not be located.")
70
-
71
-
72
- def get_tool_family_attribute_from_config(config_xml_path: Path) -> str:
73
- """Get the ToolFamily attribute from the Config.xml file."""
74
- with open(str(config_xml_path), "r") as config_file:
75
- tree = Et.parse(config_file)
76
- root_node = tree.getroot()
77
- engine_settings = root_node.find("EngineSettings")
78
- if engine_settings is None:
79
- raise ValueError("Config xml doesn't contain engine settings.")
80
-
81
- tool_family = str(engine_settings.attrib["ToolFamily"])
82
- return tool_family
83
-
84
-
85
- def _get_alteryx_tools_path() -> Path:
86
- """Get the path to the Alteryx Tools folder (for 3P plugins)."""
87
- user_install_path = Path(os.getenv("APPDATA", "")) / "Alteryx" / "Tools"
88
- return user_install_path
89
-
90
-
91
- def _get_requirements(requirements_path: Path) -> List[str]:
92
- """Get the workspace level requirements file."""
93
- with open(str(requirements_path), "r") as req_file:
94
- requirements = req_file.readlines()
95
-
96
- return [line for line in requirements if "--find-links" not in line]
97
-
98
-
99
- def _virtual_environment_exists(tool_family_name: str) -> bool:
100
- """Check if the virtual environment exists."""
101
- venv_name = f"{tool_family_name}_venv"
102
- designer_venv_path = Path(_get_alteryx_tools_path()) / venv_name
103
- return designer_venv_path.is_dir()