another-ayx-python-sdk 2.4.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. another_ayx_python_sdk/__init__.py +14 -0
  2. another_ayx_python_sdk/__main__.py +470 -0
  3. another_ayx_python_sdk/assets/workspace_files/__init__.py +14 -0
  4. another_ayx_python_sdk/assets/workspace_files/setup.py +38 -0
  5. another_ayx_python_sdk/cli/__init__.py +14 -0
  6. another_ayx_python_sdk/cli/utilities.py +103 -0
  7. another_ayx_python_sdk/cli/workspace.py +266 -0
  8. another_ayx_python_sdk/cli/yxi_builder.py +125 -0
  9. another_ayx_python_sdk/cli/yxi_installer.py +45 -0
  10. another_ayx_python_sdk/core/__init__.py +51 -0
  11. another_ayx_python_sdk/core/__pycache__/__init__.cpython-310.pyc +0 -0
  12. another_ayx_python_sdk/core/__pycache__/constants.cpython-310.pyc +0 -0
  13. another_ayx_python_sdk/core/__pycache__/dcm_base.cpython-310.pyc +0 -0
  14. another_ayx_python_sdk/core/__pycache__/doc_utilities.cpython-310.pyc +0 -0
  15. another_ayx_python_sdk/core/__pycache__/environment_base.cpython-310.pyc +0 -0
  16. another_ayx_python_sdk/core/__pycache__/field.cpython-310.pyc +0 -0
  17. another_ayx_python_sdk/core/__pycache__/input_anchor_base.cpython-310.pyc +0 -0
  18. another_ayx_python_sdk/core/__pycache__/input_connection_base.cpython-310.pyc +0 -0
  19. another_ayx_python_sdk/core/__pycache__/io_base.cpython-310.pyc +0 -0
  20. another_ayx_python_sdk/core/__pycache__/metadata.cpython-310.pyc +0 -0
  21. another_ayx_python_sdk/core/__pycache__/output_anchor_base.cpython-310.pyc +0 -0
  22. another_ayx_python_sdk/core/__pycache__/plugin.cpython-310.pyc +0 -0
  23. another_ayx_python_sdk/core/__pycache__/plugin_v2.cpython-310.pyc +0 -0
  24. another_ayx_python_sdk/core/__pycache__/provider_base.cpython-310.pyc +0 -0
  25. another_ayx_python_sdk/core/__pycache__/record_packet.cpython-310.pyc +0 -0
  26. another_ayx_python_sdk/core/__pycache__/record_packet_base.cpython-310.pyc +0 -0
  27. another_ayx_python_sdk/core/__pycache__/register_plugin.cpython-310.pyc +0 -0
  28. another_ayx_python_sdk/core/constants.py +25 -0
  29. another_ayx_python_sdk/core/dcm_base.py +115 -0
  30. another_ayx_python_sdk/core/doc_utilities.py +40 -0
  31. another_ayx_python_sdk/core/environment_base.py +213 -0
  32. another_ayx_python_sdk/core/exceptions.py +59 -0
  33. another_ayx_python_sdk/core/field.py +183 -0
  34. another_ayx_python_sdk/core/input_anchor_base.py +86 -0
  35. another_ayx_python_sdk/core/input_connection_base.py +206 -0
  36. another_ayx_python_sdk/core/io_base.py +139 -0
  37. another_ayx_python_sdk/core/metadata.py +173 -0
  38. another_ayx_python_sdk/core/observable_mixin.py +90 -0
  39. another_ayx_python_sdk/core/output_anchor_base.py +151 -0
  40. another_ayx_python_sdk/core/plugin.py +108 -0
  41. another_ayx_python_sdk/core/plugin_v2.py +97 -0
  42. another_ayx_python_sdk/core/provider_base.py +125 -0
  43. another_ayx_python_sdk/core/proxy_requests.py +51 -0
  44. another_ayx_python_sdk/core/record_packet.py +88 -0
  45. another_ayx_python_sdk/core/record_packet_base.py +123 -0
  46. another_ayx_python_sdk/core/register_plugin.py +127 -0
  47. another_ayx_python_sdk/core/testing.py +191 -0
  48. another_ayx_python_sdk/core/utils.py +146 -0
  49. another_ayx_python_sdk/examples/AyxSdkInput/main.py +89 -0
  50. another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/__pycache__/main.cpython-310.pyc +0 -0
  51. another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +102 -0
  52. another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/AyxSdkMultipleInputAnchorsConfig.xml +24 -0
  53. another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/__pycache__/main.cpython-310.pyc +0 -0
  54. another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +84 -0
  55. another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/__pycache__/main.cpython-310.pyc +0 -0
  56. another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +96 -0
  57. another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/__pycache__/main.cpython-310.pyc +0 -0
  58. another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +94 -0
  59. another_ayx_python_sdk/examples/AyxSdkOutput/__pycache__/main.cpython-310.pyc +0 -0
  60. another_ayx_python_sdk/examples/AyxSdkOutput/main.py +78 -0
  61. another_ayx_python_sdk/examples/AyxSdkPassThrough/AyxSdkPassThrough.xml +23 -0
  62. another_ayx_python_sdk/examples/AyxSdkPassThrough/__pycache__/main.cpython-310.pyc +0 -0
  63. another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +82 -0
  64. another_ayx_python_sdk/examples/requirements.txt +18 -0
  65. another_ayx_python_sdk/providers/__init__.py +14 -0
  66. another_ayx_python_sdk/providers/__pycache__/__init__.cpython-310.pyc +0 -0
  67. another_ayx_python_sdk/providers/amp_provider/__init__.py +41 -0
  68. another_ayx_python_sdk/providers/amp_provider/__main__.py +85 -0
  69. another_ayx_python_sdk/providers/amp_provider/__pycache__/__init__.cpython-310.pyc +0 -0
  70. another_ayx_python_sdk/providers/amp_provider/__pycache__/__main__.cpython-310.pyc +0 -0
  71. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_dcm.cpython-310.pyc +0 -0
  72. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_driver.cpython-310.pyc +0 -0
  73. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_environment.cpython-310.pyc +0 -0
  74. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_environment_v2.cpython-310.pyc +0 -0
  75. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_input_anchor.cpython-310.pyc +0 -0
  76. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_input_connection.cpython-310.pyc +0 -0
  77. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_io.cpython-310.pyc +0 -0
  78. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_io_components.cpython-310.pyc +0 -0
  79. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_output_anchor.cpython-310.pyc +0 -0
  80. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_provider.cpython-310.pyc +0 -0
  81. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_provider_v2.cpython-310.pyc +0 -0
  82. another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_record_packet.cpython-310.pyc +0 -0
  83. another_ayx_python_sdk/providers/amp_provider/__pycache__/cng_certs.cpython-310.pyc +0 -0
  84. another_ayx_python_sdk/providers/amp_provider/__pycache__/grpc_util.cpython-310.pyc +0 -0
  85. another_ayx_python_sdk/providers/amp_provider/__pycache__/logger_config.cpython-310.pyc +0 -0
  86. another_ayx_python_sdk/providers/amp_provider/__pycache__/plugin_class_loader.cpython-310.pyc +0 -0
  87. another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_runner.cpython-310.pyc +0 -0
  88. another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_service.cpython-310.pyc +0 -0
  89. another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_service_v2.cpython-310.pyc +0 -0
  90. another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +58 -0
  91. another_ayx_python_sdk/providers/amp_provider/amp_driver.py +358 -0
  92. another_ayx_python_sdk/providers/amp_provider/amp_environment.py +73 -0
  93. another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +278 -0
  94. another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +73 -0
  95. another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +132 -0
  96. another_ayx_python_sdk/providers/amp_provider/amp_io.py +64 -0
  97. another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +407 -0
  98. another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +107 -0
  99. another_ayx_python_sdk/providers/amp_provider/amp_provider.py +68 -0
  100. another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +128 -0
  101. another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +21 -0
  102. another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +32 -0
  103. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/__init__.cpython-310.pyc +0 -0
  104. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/input_anchor_builder.cpython-310.pyc +0 -0
  105. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/input_connection_builder.cpython-310.pyc +0 -0
  106. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/metadata_builder.cpython-310.pyc +0 -0
  107. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/output_anchor_builder.cpython-310.pyc +0 -0
  108. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/packers.cpython-310.pyc +0 -0
  109. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/record_builder.cpython-310.pyc +0 -0
  110. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/record_packet_builder.cpython-310.pyc +0 -0
  111. another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/tool_config_builder.cpython-310.pyc +0 -0
  112. another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +123 -0
  113. another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +95 -0
  114. another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +118 -0
  115. another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +110 -0
  116. another_ayx_python_sdk/providers/amp_provider/builders/packers.py +458 -0
  117. another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +204 -0
  118. another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +133 -0
  119. another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +59 -0
  120. another_ayx_python_sdk/providers/amp_provider/cng_certs.py +197 -0
  121. another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +18 -0
  122. another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/__init__.cpython-310.pyc +0 -0
  123. another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/amp_transport.cpython-310.pyc +0 -0
  124. another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/transport_base.cpython-310.pyc +0 -0
  125. another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +127 -0
  126. another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +35 -0
  127. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +14 -0
  128. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/__init__.cpython-310.pyc +0 -0
  129. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/control_msgs.cpython-310.pyc +0 -0
  130. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/dcme_msgs.cpython-310.pyc +0 -0
  131. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/record_transfer_msgs.cpython-310.pyc +0 -0
  132. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +189 -0
  133. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +119 -0
  134. another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +32 -0
  135. another_ayx_python_sdk/providers/amp_provider/grpc_util.py +161 -0
  136. another_ayx_python_sdk/providers/amp_provider/logger_config.py +63 -0
  137. another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +77 -0
  138. another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +67 -0
  139. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/__init__.cpython-310.pyc +0 -0
  140. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/dcm_repository.cpython-310.pyc +0 -0
  141. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/environment_repository.cpython-310.pyc +0 -0
  142. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/grpc_repository.cpython-310.pyc +0 -0
  143. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_anchor_repository.cpython-310.pyc +0 -0
  144. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_connection_repository.cpython-310.pyc +0 -0
  145. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_metadata_repository.cpython-310.pyc +0 -0
  146. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_record_packet_repository.cpython-310.pyc +0 -0
  147. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/io_repository.cpython-310.pyc +0 -0
  148. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_anchor_repository.cpython-310.pyc +0 -0
  149. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_metadata_repository.cpython-310.pyc +0 -0
  150. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_record_packet_repository.cpython-310.pyc +0 -0
  151. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/plugin_class_repository.cpython-310.pyc +0 -0
  152. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/singleton.cpython-310.pyc +0 -0
  153. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/test_harness_state_repository.cpython-310.pyc +0 -0
  154. another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/tool_config_repository.cpython-310.pyc +0 -0
  155. another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +252 -0
  156. another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +212 -0
  157. another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +119 -0
  158. another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +110 -0
  159. another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +276 -0
  160. another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +144 -0
  161. another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +252 -0
  162. another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +188 -0
  163. another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +117 -0
  164. another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +129 -0
  165. another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +170 -0
  166. another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +55 -0
  167. another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +32 -0
  168. another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +172 -0
  169. another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +89 -0
  170. another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +14 -0
  171. another_ayx_python_sdk/providers/amp_provider/resources/__pycache__/__init__.cpython-310.pyc +0 -0
  172. another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
  173. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/__init__.cpython-310.pyc +0 -0
  174. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/close_outgoing_anchor_pb2.cpython-310.pyc +0 -0
  175. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/close_outgoing_anchor_pb2_grpc.cpython-310.pyc +0 -0
  176. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/dcm_e_pb2.cpython-310.pyc +0 -0
  177. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/dcm_e_pb2_grpc.cpython-310.pyc +0 -0
  178. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_anchor_pb2.cpython-310.pyc +0 -0
  179. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_anchor_pb2_grpc.cpython-310.pyc +0 -0
  180. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_complete_pb2.cpython-310.pyc +0 -0
  181. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_complete_pb2_grpc.cpython-310.pyc +0 -0
  182. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_pb2.cpython-310.pyc +0 -0
  183. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_pb2_grpc.cpython-310.pyc +0 -0
  184. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_data_push_pb2.cpython-310.pyc +0 -0
  185. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_data_push_pb2_grpc.cpython-310.pyc +0 -0
  186. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_record_packet_push_pb2.cpython-310.pyc +0 -0
  187. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_record_packet_push_pb2_grpc.cpython-310.pyc +0 -0
  188. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/metadata_pb2.cpython-310.pyc +0 -0
  189. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/metadata_pb2_grpc.cpython-310.pyc +0 -0
  190. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_anchor_pb2.cpython-310.pyc +0 -0
  191. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_anchor_pb2_grpc.cpython-310.pyc +0 -0
  192. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_data_push_pb2.cpython-310.pyc +0 -0
  193. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_data_push_pb2_grpc.cpython-310.pyc +0 -0
  194. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_metadata_push_pb2.cpython-310.pyc +0 -0
  195. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_metadata_push_pb2_grpc.cpython-310.pyc +0 -0
  196. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_record_packet_push_pb2.cpython-310.pyc +0 -0
  197. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_record_packet_push_pb2_grpc.cpython-310.pyc +0 -0
  198. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/output_message_data_pb2.cpython-310.pyc +0 -0
  199. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/output_message_data_pb2_grpc.cpython-310.pyc +0 -0
  200. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/password_data_pb2.cpython-310.pyc +0 -0
  201. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/password_data_pb2_grpc.cpython-310.pyc +0 -0
  202. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/plugin_initialization_data_pb2.cpython-310.pyc +0 -0
  203. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/plugin_initialization_data_pb2_grpc.cpython-310.pyc +0 -0
  204. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_batch_pb2.cpython-310.pyc +0 -0
  205. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_batch_pb2_grpc.cpython-310.pyc +0 -0
  206. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_packet_pb2.cpython-310.pyc +0 -0
  207. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_packet_pb2_grpc.cpython-310.pyc +0 -0
  208. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_engine_service_pb2.cpython-310.pyc +0 -0
  209. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_engine_service_pb2_grpc.cpython-310.pyc +0 -0
  210. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_pb2.cpython-310.pyc +0 -0
  211. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_pb2_grpc.cpython-310.pyc +0 -0
  212. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_startup_info_pb2.cpython-310.pyc +0 -0
  213. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_startup_info_pb2_grpc.cpython-310.pyc +0 -0
  214. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_v2_pb2.cpython-310.pyc +0 -0
  215. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_v2_pb2_grpc.cpython-310.pyc +0 -0
  216. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/translate_message_data_pb2.cpython-310.pyc +0 -0
  217. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/translate_message_data_pb2_grpc.cpython-310.pyc +0 -0
  218. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/transport_pb2.cpython-310.pyc +0 -0
  219. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/transport_pb2_grpc.cpython-310.pyc +0 -0
  220. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/update_progress_pb2.cpython-310.pyc +0 -0
  221. another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/update_progress_pb2_grpc.cpython-310.pyc +0 -0
  222. another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +25 -0
  223. another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +4 -0
  224. another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +38 -0
  225. another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +4 -0
  226. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +26 -0
  227. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +4 -0
  228. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +25 -0
  229. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +4 -0
  230. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +26 -0
  231. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +4 -0
  232. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +26 -0
  233. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +4 -0
  234. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +26 -0
  235. another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +4 -0
  236. another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +31 -0
  237. another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +4 -0
  238. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +28 -0
  239. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +4 -0
  240. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +26 -0
  241. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +4 -0
  242. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +26 -0
  243. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +4 -0
  244. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +26 -0
  245. another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +4 -0
  246. another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +29 -0
  247. another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +4 -0
  248. another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +25 -0
  249. another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +4 -0
  250. another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +33 -0
  251. another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +4 -0
  252. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +25 -0
  253. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +4 -0
  254. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +29 -0
  255. another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +4 -0
  256. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +34 -0
  257. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +305 -0
  258. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +30 -0
  259. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +235 -0
  260. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +25 -0
  261. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +4 -0
  262. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +54 -0
  263. another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +99 -0
  264. another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +27 -0
  265. another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +4 -0
  266. another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +31 -0
  267. another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +4 -0
  268. another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +25 -0
  269. another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +4 -0
  270. another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +115 -0
  271. another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +207 -0
  272. another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +306 -0
  273. another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +14 -0
  274. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
  275. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/constants.cpython-310.pyc +0 -0
  276. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/conversions.cpython-310.pyc +0 -0
  277. another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/utilities.cpython-310.pyc +0 -0
  278. another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +22 -0
  279. another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +55 -0
  280. another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +63 -0
  281. another_ayx_python_sdk/providers/e1_provider/__init__.py +36 -0
  282. another_ayx_python_sdk/providers/e1_provider/__pycache__/__init__.cpython-310.pyc +0 -0
  283. another_ayx_python_sdk/providers/e1_provider/__pycache__/anchor_builder.cpython-310.pyc +0 -0
  284. another_ayx_python_sdk/providers/e1_provider/__pycache__/cache_e1_sdk_import.cpython-310.pyc +0 -0
  285. another_ayx_python_sdk/providers/e1_provider/__pycache__/connection_callback_strategy.cpython-310.pyc +0 -0
  286. another_ayx_python_sdk/providers/e1_provider/__pycache__/connection_interface.cpython-310.pyc +0 -0
  287. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_dcm.cpython-310.pyc +0 -0
  288. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_environment.cpython-310.pyc +0 -0
  289. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_anchor.cpython-310.pyc +0 -0
  290. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_anchor_proxy.cpython-310.pyc +0 -0
  291. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_connection.cpython-310.pyc +0 -0
  292. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_io.cpython-310.pyc +0 -0
  293. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_output_anchor.cpython-310.pyc +0 -0
  294. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_output_anchor_proxy.cpython-310.pyc +0 -0
  295. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_plugin_driver.cpython-310.pyc +0 -0
  296. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_plugin_proxy.cpython-310.pyc +0 -0
  297. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_provider.cpython-310.pyc +0 -0
  298. another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_record_packet.cpython-310.pyc +0 -0
  299. another_ayx_python_sdk/providers/e1_provider/__pycache__/events.cpython-310.pyc +0 -0
  300. another_ayx_python_sdk/providers/e1_provider/__pycache__/tool_config_loader.cpython-310.pyc +0 -0
  301. another_ayx_python_sdk/providers/e1_provider/__pycache__/workflow_config.cpython-310.pyc +0 -0
  302. another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +95 -0
  303. another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +31 -0
  304. another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +155 -0
  305. another_ayx_python_sdk/providers/e1_provider/connection_interface.py +125 -0
  306. another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +53 -0
  307. another_ayx_python_sdk/providers/e1_provider/e1_environment.py +127 -0
  308. another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +51 -0
  309. another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +33 -0
  310. another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +87 -0
  311. another_ayx_python_sdk/providers/e1_provider/e1_io.py +71 -0
  312. another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +157 -0
  313. another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +97 -0
  314. another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +63 -0
  315. another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +363 -0
  316. another_ayx_python_sdk/providers/e1_provider/e1_provider.py +71 -0
  317. another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +21 -0
  318. another_ayx_python_sdk/providers/e1_provider/events.py +36 -0
  319. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +37 -0
  320. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/__init__.cpython-310.pyc +0 -0
  321. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/alteryx_engine.cpython-310.pyc +0 -0
  322. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/constants.cpython-310.pyc +0 -0
  323. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/field.cpython-310.pyc +0 -0
  324. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/output_anchor.cpython-310.pyc +0 -0
  325. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/output_anchor_manager.cpython-310.pyc +0 -0
  326. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_copier.cpython-310.pyc +0 -0
  327. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_creator.cpython-310.pyc +0 -0
  328. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_info.cpython-310.pyc +0 -0
  329. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_ref.cpython-310.pyc +0 -0
  330. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/tool.cpython-310.pyc +0 -0
  331. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/tool_execution_info.cpython-310.pyc +0 -0
  332. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +105 -0
  333. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +50 -0
  334. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +122 -0
  335. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +55 -0
  336. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +31 -0
  337. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +65 -0
  338. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +41 -0
  339. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +134 -0
  340. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +42 -0
  341. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +29 -0
  342. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +43 -0
  343. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +14 -0
  344. another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__pycache__/__init__.cpython-310.pyc +0 -0
  345. another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +18 -0
  346. another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/__init__.cpython-310.pyc +0 -0
  347. another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/field_proxy.cpython-310.pyc +0 -0
  348. another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/record_copier_proxy.cpython-310.pyc +0 -0
  349. another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +109 -0
  350. another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +49 -0
  351. another_ayx_python_sdk/providers/e1_provider/records/__init__.py +23 -0
  352. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/__init__.cpython-310.pyc +0 -0
  353. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/base_record_container.cpython-310.pyc +0 -0
  354. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/parsed_record_container.cpython-310.pyc +0 -0
  355. another_ayx_python_sdk/providers/e1_provider/records/__pycache__/raw_record_container.cpython-310.pyc +0 -0
  356. another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +47 -0
  357. another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +67 -0
  358. another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +111 -0
  359. another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +132 -0
  360. another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +35 -0
  361. another_ayx_python_sdk/providers/e1_provider/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
  362. another_ayx_python_sdk/providers/e1_provider/utilities/__pycache__/utilities.cpython-310.pyc +0 -0
  363. another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +54 -0
  364. another_ayx_python_sdk/providers/e1_provider/workflow_config.py +31 -0
  365. another_ayx_python_sdk/providers/file_provider/__init__.py +32 -0
  366. another_ayx_python_sdk/providers/file_provider/__pycache__/__init__.cpython-310.pyc +0 -0
  367. another_ayx_python_sdk/providers/file_provider/__pycache__/environment.cpython-310.pyc +0 -0
  368. another_ayx_python_sdk/providers/file_provider/__pycache__/file_adapter.cpython-310.pyc +0 -0
  369. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider.cpython-310.pyc +0 -0
  370. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_dcm.cpython-310.pyc +0 -0
  371. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_input_anchor.cpython-310.pyc +0 -0
  372. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_input_connection.cpython-310.pyc +0 -0
  373. another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_output_anchor.cpython-310.pyc +0 -0
  374. another_ayx_python_sdk/providers/file_provider/__pycache__/file_record_packet.cpython-310.pyc +0 -0
  375. another_ayx_python_sdk/providers/file_provider/__pycache__/iox.cpython-310.pyc +0 -0
  376. another_ayx_python_sdk/providers/file_provider/__pycache__/tool_input.cpython-310.pyc +0 -0
  377. another_ayx_python_sdk/providers/file_provider/environment.py +131 -0
  378. another_ayx_python_sdk/providers/file_provider/file_adapter.py +286 -0
  379. another_ayx_python_sdk/providers/file_provider/file_provider.py +185 -0
  380. another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +53 -0
  381. another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +70 -0
  382. another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +112 -0
  383. another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +114 -0
  384. another_ayx_python_sdk/providers/file_provider/file_record_packet.py +21 -0
  385. another_ayx_python_sdk/providers/file_provider/iox.py +56 -0
  386. another_ayx_python_sdk/providers/file_provider/tool_input.py +104 -0
  387. another_ayx_python_sdk/test_harness/__init__.py +14 -0
  388. another_ayx_python_sdk/test_harness/__main__.py +120 -0
  389. another_ayx_python_sdk/test_harness/__pycache__/__init__.cpython-310.pyc +0 -0
  390. another_ayx_python_sdk/test_harness/__pycache__/__main__.cpython-310.pyc +0 -0
  391. another_ayx_python_sdk/test_harness/__pycache__/plugin_runner.cpython-310.pyc +0 -0
  392. another_ayx_python_sdk/test_harness/__pycache__/process_lifecycle_manager.cpython-310.pyc +0 -0
  393. another_ayx_python_sdk/test_harness/__pycache__/sdk_engine_service.cpython-310.pyc +0 -0
  394. another_ayx_python_sdk/test_harness/plugin_runner.py +416 -0
  395. another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +80 -0
  396. another_ayx_python_sdk/test_harness/sdk_engine_service.py +106 -0
  397. another_ayx_python_sdk/version.py +8 -0
  398. another_ayx_python_sdk-2.4.2.dist-info/METADATA +63 -0
  399. another_ayx_python_sdk-2.4.2.dist-info/RECORD +403 -0
  400. another_ayx_python_sdk-2.4.2.dist-info/WHEEL +5 -0
  401. another_ayx_python_sdk-2.4.2.dist-info/entry_points.txt +2 -0
  402. another_ayx_python_sdk-2.4.2.dist-info/licenses/LICENSE +21 -0
  403. another_ayx_python_sdk-2.4.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,40 @@
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
+ """Utility functions for documentation."""
15
+ import types
16
+ from typing import Type
17
+
18
+
19
+ def inherit_docs(cls: Type) -> Type:
20
+ """
21
+ Inherit the documentation from parent classes if it doesn't exist on methods.
22
+
23
+ Parameters
24
+ ----------
25
+ cls
26
+ The child class that inherits its parent's documentation.
27
+
28
+ Returns
29
+ -------
30
+ Type
31
+ Child class with documentation.
32
+ """
33
+ for name, func in vars(cls).items():
34
+ if isinstance(func, types.FunctionType) and not func.__doc__:
35
+ for parent in cls.__bases__:
36
+ parent_func = getattr(parent, name, None)
37
+ if parent_func and getattr(parent_func, "__doc__", None):
38
+ func.__doc__ = parent_func.__doc__
39
+ break
40
+ return cls
@@ -0,0 +1,213 @@
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
+ """Runtime Environment information."""
15
+ import os
16
+ from abc import ABC, abstractmethod
17
+ from enum import Enum, unique
18
+ from pathlib import Path
19
+ from typing import Literal
20
+
21
+ import xmltodict
22
+
23
+ Locale = Literal["en", "it", "fr", "de", "ja", "es", "pt", "zh"]
24
+
25
+
26
+ @unique
27
+ class UpdateMode(Enum):
28
+ """The types of update modes that can run in Alteryx Designer."""
29
+
30
+ NO_UPDATE_MODE = ""
31
+ QUICK = "Quick"
32
+ FULL = "Full"
33
+
34
+
35
+ class EnvironmentBase(ABC):
36
+ """
37
+ Environment Information class definition.
38
+
39
+ This class provides information about the runtime environment
40
+ of the tool that is running. For example, if it is running as update
41
+ only, the version of the system running, etc.
42
+ """
43
+
44
+ @property
45
+ @abstractmethod
46
+ def update_only(self) -> bool:
47
+ """
48
+ Check if the engine is running in update-only mode.
49
+
50
+ Returns
51
+ -------
52
+ bool
53
+ Boolean value that indicates if the engine is running in update only.
54
+
55
+ """
56
+ raise NotImplementedError()
57
+
58
+ @property
59
+ @abstractmethod
60
+ def update_mode(self) -> UpdateMode:
61
+ """
62
+ Get the type of update running.
63
+
64
+ Returns
65
+ -------
66
+ UpdateMode
67
+ Enumeration corresponding to the update mode that the workflow is running in.
68
+ """
69
+ raise NotImplementedError()
70
+
71
+ @property
72
+ @abstractmethod
73
+ def designer_version(self) -> str:
74
+ """
75
+ Return the version of Designer that is being used.
76
+
77
+ Returns
78
+ -------
79
+ str
80
+ A version in the format of 1.2.3.4
81
+
82
+ """
83
+ raise NotImplementedError()
84
+
85
+ @property
86
+ @abstractmethod
87
+ def workflow_dir(self) -> Path:
88
+ """
89
+ Get the directory for the currently-running workflow.
90
+
91
+ Returns
92
+ -------
93
+ Path
94
+ The workflow directory as a Path object.
95
+ """
96
+ raise NotImplementedError()
97
+
98
+ @property
99
+ @abstractmethod
100
+ def workflow_id(self) -> str:
101
+ """
102
+ Get the WorkflowRunGuid for the currently-running workflow.
103
+
104
+ Returns
105
+ -------
106
+ str
107
+ The workflow id.
108
+ """
109
+ raise NotImplementedError()
110
+
111
+ @property
112
+ @abstractmethod
113
+ def alteryx_install_dir(self) -> Path:
114
+ """
115
+ Get the Alteryx install directory.
116
+
117
+ Returns
118
+ -------
119
+ Path
120
+ The Alteryx install directory as a Path object.
121
+ """
122
+ raise NotImplementedError()
123
+
124
+ @property
125
+ @abstractmethod
126
+ def alteryx_locale(self) -> Locale:
127
+ """
128
+ Retrieve the locale code from Alteryx Designer User Settings.
129
+
130
+ Returns
131
+ -------
132
+ Locale
133
+ The language/region that Alteryx is using to display messages.
134
+ """
135
+ raise NotImplementedError()
136
+
137
+ @property
138
+ @abstractmethod
139
+ def tool_id(self) -> int:
140
+ """
141
+ Get the current tool's workflow ID.
142
+
143
+ Returns
144
+ -------
145
+ int
146
+ Tool's ID (specified by developer).
147
+ """
148
+ raise NotImplementedError()
149
+
150
+ @property
151
+ @abstractmethod
152
+ def proxy_configuration(self) -> dict:
153
+ """
154
+ Get the proxy configuration settings if they exist.
155
+
156
+ Returns
157
+ -------
158
+ dict
159
+ Proxy Configuration as set in Designer
160
+ """
161
+ raise NotImplementedError()
162
+
163
+ @abstractmethod
164
+ def get_settings_conf(
165
+ self, keys: list, version_override: str = ""
166
+ ) -> dict: # noqa: D102
167
+ """Parse xml to retrieve settings."""
168
+ designer_version = (
169
+ self.designer_version[0:6] if not version_override else version_override
170
+ )
171
+ user_settings_path = (
172
+ Path(os.environ["APPDATA"])
173
+ / "Alteryx"
174
+ / "Engine"
175
+ / designer_version
176
+ / "UserSettings.xml"
177
+ )
178
+ with open(user_settings_path) as f:
179
+ user_settings = xmltodict.parse(f.read())
180
+ while keys:
181
+ user_settings = user_settings[keys[0]]
182
+ keys = keys[1:]
183
+ return user_settings
184
+
185
+ @abstractmethod
186
+ def parse_settings_key_value(
187
+ self, settings_str: str, line_delimiter: str = "\n", key_delimiter: str = "="
188
+ ) -> dict: # noqa: D102
189
+ """Extract a key value pair from an xml text entry set by Designer."""
190
+ parsed_values = {}
191
+ for key_val_pair in settings_str.split(line_delimiter):
192
+ keyval = key_val_pair.split(key_delimiter, 1)
193
+ # might have a blank or unset key
194
+ if len(keyval) > 1:
195
+ parsed_values[keyval[0]] = keyval[1]
196
+ return parsed_values
197
+
198
+ @abstractmethod
199
+ def update_tool_config(self, new_config: dict) -> None:
200
+ """
201
+ Update the tool's configuration.
202
+
203
+ Parameters
204
+ ----------
205
+ new_config
206
+ The new configuration to set for the tool.
207
+
208
+ Returns
209
+ -------
210
+ None
211
+
212
+ """
213
+ raise NotImplementedError()
@@ -0,0 +1,59 @@
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
+ """Exception class definition."""
15
+
16
+
17
+ class WorkflowRuntimeError(Exception):
18
+ """Exception for a workflow runtime error."""
19
+
20
+ def __init__(self, msg: "str"):
21
+ """
22
+ Construct a workflow runtime error.
23
+
24
+ Parameters
25
+ ----------
26
+ msg
27
+ Human-readable description of the error that occurred.
28
+ """
29
+ super().__init__(str(msg))
30
+
31
+
32
+ class AnchorNotFoundException(Exception):
33
+ """Exception for when a requested anchor can't be found for the tool."""
34
+
35
+
36
+ class DcmEError:
37
+ """Class for storage of DcmE error information."""
38
+
39
+ def __init__(self, message: str, error_code: int, detail: str = ""):
40
+ """Create a DcmEError class."""
41
+ self.message = message
42
+ self.error_code = error_code
43
+ self.detail = detail
44
+
45
+
46
+ class DcmEException(Exception):
47
+ """Class for exception happened during DcmE transactions."""
48
+
49
+ def __init__(self, msg: "str", error: DcmEError):
50
+ """
51
+ Construct a DcmE exception error.
52
+
53
+ Parameters
54
+ ----------
55
+ msg
56
+ Human-readable description of the error that occurred.
57
+ """
58
+ super().__init__(str(msg))
59
+ self.dcm_error = error
@@ -0,0 +1,183 @@
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
+ """Record Field class definition."""
15
+ from enum import Enum
16
+ from typing import Any, Optional
17
+
18
+ import pyarrow as pa
19
+
20
+
21
+ class FieldType(Enum):
22
+ """
23
+ Field types.
24
+
25
+ See AyxData/include/AyxData/dc/common/FieldType.h C++ enumeration.
26
+ """
27
+
28
+ bool = 1
29
+ byte = 2
30
+ int16 = 3
31
+ int32 = 4
32
+ int64 = 5
33
+ fixeddecimal = 6
34
+ float = 7
35
+ double = 8
36
+ string = 9
37
+ wstring = 10
38
+ v_string = 11
39
+ v_wstring = 12
40
+ date = 13
41
+ time = 14
42
+ datetime = 15
43
+ blob = 16
44
+ spatialobj = 17
45
+
46
+
47
+ class Field:
48
+ """A record field that contains metadata like field name."""
49
+
50
+ def __init__(
51
+ self,
52
+ name: str,
53
+ field_type: FieldType,
54
+ size: int = 0,
55
+ scale: int = 0,
56
+ source: Optional[str] = None,
57
+ description: Optional[str] = None,
58
+ ) -> None:
59
+ """
60
+ Instantiate a field.
61
+
62
+ Parameters
63
+ ----------
64
+ name
65
+ The name of the field.
66
+ field_type
67
+ The type of data that this field represents.
68
+ size
69
+ The size of the data.
70
+
71
+ For strings, this is the maximum number of characters.
72
+ For blobs, this is the maximum number of bytes.
73
+ scale
74
+ The scale of the data. This only applies to fixeddecimal type.
75
+ source
76
+ The source of the data.
77
+ description
78
+ A description about the data that lives in this field.
79
+ """
80
+ # set maximum size for strings
81
+ if size == 0:
82
+ if field_type == FieldType.string or field_type == FieldType.wstring:
83
+ size = 0x3FFF
84
+ elif field_type == FieldType.v_string or field_type == FieldType.v_wstring:
85
+ size = 0x7FFFFFFF
86
+ if field_type == FieldType.spatialobj:
87
+ source = "WKT"
88
+ self.name = name
89
+ self.type = field_type
90
+ self.size = size
91
+ self.scale = scale
92
+ self.source = source or ""
93
+ self.description = description or ""
94
+
95
+ def __eq__(self, other: Any) -> bool:
96
+ """
97
+ Determine if 2 fields are equal.
98
+
99
+ Parameters
100
+ ----------
101
+ other
102
+ Any other object to compare against.
103
+
104
+ Returns
105
+ -------
106
+ bool
107
+ True if all properties of this field match the other field.
108
+ """
109
+ if not isinstance(other, Field):
110
+ return NotImplemented
111
+ return (
112
+ self.name == other.name
113
+ and self.type == other.type
114
+ and self.size == other.size
115
+ and self.scale == other.scale
116
+ and self.source == other.source
117
+ and self.description == other.description
118
+ )
119
+
120
+ def __repr__(self) -> str:
121
+ """
122
+ Get the string representation of the object.
123
+
124
+ Returns
125
+ -------
126
+ str
127
+ The string representation of the metadata.
128
+ """
129
+ return (
130
+ f"Field(name={self.name}, field_type={self.type}, size={self.size}, "
131
+ f'scale={self.scale}, source="{self.source}", description="{self.description}")'
132
+ )
133
+
134
+ def arrow_type(self) -> "pa.Type":
135
+ """Return the Python Arrow type of this field."""
136
+ if self.type == FieldType.bool:
137
+ return pa.bool_()
138
+ elif self.type == FieldType.byte:
139
+ return pa.uint8()
140
+ elif self.type == FieldType.int16:
141
+ return pa.int16()
142
+ elif self.type == FieldType.int32:
143
+ return pa.int32()
144
+ elif self.type == FieldType.int64:
145
+ return pa.int64()
146
+ elif self.type == FieldType.fixeddecimal:
147
+ return pa.decimal256(76, 36)
148
+ elif self.type == FieldType.float:
149
+ return pa.float32()
150
+ elif self.type == FieldType.double:
151
+ return pa.float64()
152
+ elif (
153
+ self.type == FieldType.string
154
+ or self.type == FieldType.wstring
155
+ or self.type == FieldType.v_string
156
+ or self.type == FieldType.v_wstring
157
+ ):
158
+ return pa.string()
159
+ elif self.type == FieldType.date:
160
+ return pa.date32()
161
+ elif self.type == FieldType.time:
162
+ return pa.time64("us")
163
+ elif self.type == FieldType.datetime:
164
+ return pa.date64()
165
+ elif self.type == FieldType.blob:
166
+ return pa.binary()
167
+ elif self.type == FieldType.spatialobj:
168
+ return pa.string()
169
+
170
+ def to_arrow(self) -> "pa.Field":
171
+ """Turn this Field to a Python Arrow Field."""
172
+ return pa.field(self.name, self.arrow_type(), metadata=self.as_arrow_metadata())
173
+
174
+ def as_arrow_metadata(self) -> dict:
175
+ """Return dict representation of the field using ayx keys."""
176
+ return {
177
+ b"ayx.type": str(self.type.value).encode("utf-8"),
178
+ b"ayx.size": str(self.size).encode("utf-8"),
179
+ b"ayx.name": self.name.encode("utf-8"),
180
+ b"ayx.scale": str(self.scale).encode("utf-8"),
181
+ b"ayx.source": self.source.encode("utf-8"),
182
+ b"ayx.description": self.description.encode("utf-8"),
183
+ }
@@ -0,0 +1,86 @@
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
+ """Input Anchor Interface class definition."""
15
+ from abc import ABC, abstractmethod
16
+ from typing import Any, List
17
+
18
+ from another_ayx_python_sdk.core.input_connection_base import InputConnectionBase
19
+
20
+
21
+ class InputAnchorBase(ABC):
22
+ """Input Anchor Interface class definition."""
23
+
24
+ @property
25
+ @abstractmethod
26
+ def name(self) -> str:
27
+ """
28
+ Get the name of the input anchor.
29
+
30
+ Returns
31
+ -------
32
+ str
33
+ The name of the input anchor.
34
+ """
35
+ raise NotImplementedError()
36
+
37
+ @property
38
+ @abstractmethod
39
+ def allow_multiple(self) -> bool:
40
+ """
41
+ Get the status that indicates if multiple connections are allowed.
42
+
43
+ Returns
44
+ -------
45
+ bool
46
+ Boolean value that indicates if multiple connections are allowed.
47
+ """
48
+ raise NotImplementedError()
49
+
50
+ @property
51
+ @abstractmethod
52
+ def optional(self) -> bool:
53
+ """
54
+ Get the status that indicates if the input anchor is optional.
55
+
56
+ Returns
57
+ -------
58
+ bool
59
+ Boolean value that indicates if input anchor is optional.
60
+ """
61
+ raise NotImplementedError()
62
+
63
+ @property
64
+ @abstractmethod
65
+ def connections(self) -> List[InputConnectionBase]:
66
+ """
67
+ Get the anchor connections.
68
+
69
+ Returns
70
+ -------
71
+ List[InputConnectionBase]
72
+ List of all the connections associated with the anchor.
73
+ """
74
+ raise NotImplementedError()
75
+
76
+ def __eq__(self, other: Any) -> bool:
77
+ """Implement equivalence check to compare 2 Input Anchor objects."""
78
+ if isinstance(other, InputAnchorBase):
79
+ return (
80
+ self.name == other.name
81
+ and self.allow_multiple == other.allow_multiple
82
+ and self.optional == other.optional
83
+ and self.connections == other.connections
84
+ )
85
+ else:
86
+ return NotImplemented