another-ayx-python-sdk 2.4.2__tar.gz
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.
- another_ayx_python_sdk-2.4.2/LICENSE +21 -0
- another_ayx_python_sdk-2.4.2/PKG-INFO +63 -0
- another_ayx_python_sdk-2.4.2/README.md +2 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/__main__.py +470 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/assets/workspace_files/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/assets/workspace_files/setup.py +38 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/cli/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/cli/utilities.py +103 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/cli/workspace.py +266 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/cli/yxi_builder.py +125 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/cli/yxi_installer.py +45 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__init__.py +51 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/constants.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/dcm_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/doc_utilities.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/environment_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/field.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/input_anchor_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/input_connection_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/io_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/metadata.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/output_anchor_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/plugin.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/plugin_v2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/provider_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/record_packet.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/record_packet_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/__pycache__/register_plugin.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/constants.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/dcm_base.py +115 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/doc_utilities.py +40 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/environment_base.py +213 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/exceptions.py +59 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/field.py +183 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/input_anchor_base.py +86 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/input_connection_base.py +206 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/io_base.py +139 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/metadata.py +173 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/observable_mixin.py +90 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/output_anchor_base.py +151 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/plugin.py +108 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/plugin_v2.py +97 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/provider_base.py +125 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/proxy_requests.py +51 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/record_packet.py +88 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/record_packet_base.py +123 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/register_plugin.py +127 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/testing.py +191 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/core/utils.py +146 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkInput/main.py +89 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/__pycache__/main.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultiConnectionsMultiOutputAnchor/main.py +102 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/AyxSdkMultipleInputAnchorsConfig.xml +24 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/__pycache__/main.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultipleInputAnchors/main.py +84 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/__pycache__/main.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkMultipleOutputAnchors/main.py +96 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/__pycache__/main.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkOptionalInputAnchor/main.py +94 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkOutput/__pycache__/main.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkOutput/main.py +78 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkPassThrough/AyxSdkPassThrough.xml +23 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkPassThrough/__pycache__/main.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/AyxSdkPassThrough/main.py +82 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/examples/requirements.txt +18 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__init__.py +41 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__main__.py +85 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/__main__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_dcm.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_driver.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_environment.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_environment_v2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_input_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_input_connection.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_io.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_io_components.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_output_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_provider.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_provider_v2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/amp_record_packet.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/cng_certs.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/grpc_util.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/logger_config.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/plugin_class_loader.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_runner.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_service.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/__pycache__/sdk_tool_service_v2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_dcm.py +58 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_driver.py +358 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_environment.py +73 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_environment_v2.py +278 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_input_anchor.py +73 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_input_connection.py +132 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_io.py +64 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_io_components.py +407 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_output_anchor.py +107 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_provider.py +68 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_provider_v2.py +128 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/amp_record_packet.py +21 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__init__.py +32 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/input_anchor_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/input_connection_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/metadata_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/output_anchor_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/packers.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/record_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/record_packet_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/__pycache__/tool_config_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/input_anchor_builder.py +123 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/input_connection_builder.py +95 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/metadata_builder.py +118 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/output_anchor_builder.py +110 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/packers.py +458 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/record_builder.py +204 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/record_packet_builder.py +133 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/builders/tool_config_builder.py +59 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/cng_certs.py +197 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/data_transport/__init__.py +18 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/amp_transport.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/data_transport/__pycache__/transport_base.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/data_transport/amp_transport.py +127 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/data_transport/transport_base.py +35 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/control_msgs.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/dcme_msgs.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/__pycache__/record_transfer_msgs.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/control_msgs.py +189 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/dcme_msgs.py +119 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_helpers/record_transfer_msgs.py +32 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/grpc_util.py +161 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/logger_config.py +63 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/plugin_class_loader.py +77 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__init__.py +67 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/dcm_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/environment_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/grpc_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_anchor_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_connection_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_metadata_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/input_record_packet_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/io_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_anchor_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_metadata_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/output_record_packet_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/plugin_class_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/singleton.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/test_harness_state_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/__pycache__/tool_config_repository.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/dcm_repository.py +252 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/environment_repository.py +212 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/grpc_repository.py +119 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/input_anchor_repository.py +110 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/input_connection_repository.py +276 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/input_metadata_repository.py +144 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/input_record_packet_repository.py +252 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/io_repository.py +188 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/output_anchor_repository.py +117 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/output_metadata_repository.py +129 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/output_record_packet_repository.py +170 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/plugin_class_repository.py +55 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/singleton.py +32 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/test_harness_state_repository.py +172 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/repositories/tool_config_repository.py +89 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__init__.py +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/close_outgoing_anchor_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/close_outgoing_anchor_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/dcm_e_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/dcm_e_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_anchor_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_anchor_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_complete_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_complete_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_connection_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_data_push_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_data_push_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_record_packet_push_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/incoming_record_packet_push_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/metadata_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/metadata_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_anchor_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_anchor_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_data_push_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_data_push_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_metadata_push_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_metadata_push_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_record_packet_push_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/outgoing_record_packet_push_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/output_message_data_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/output_message_data_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/password_data_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/password_data_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/plugin_initialization_data_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/plugin_initialization_data_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_batch_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_batch_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_packet_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/record_packet_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_engine_service_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_engine_service_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_startup_info_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_startup_info_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_v2_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/sdk_tool_service_v2_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/translate_message_data_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/translate_message_data_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/transport_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/transport_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/update_progress_pb2.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/__pycache__/update_progress_pb2_grpc.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/close_outgoing_anchor_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2.py +38 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/dcm_e_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_anchor_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_complete_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_connection_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_data_push_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/incoming_record_packet_push_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2.py +31 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/metadata_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2.py +28 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_anchor_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_data_push_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_metadata_push_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2.py +26 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/outgoing_record_packet_push_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2.py +29 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/output_message_data_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/password_data_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2.py +33 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/plugin_initialization_data_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_batch_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2.py +29 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/record_packet_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2.py +34 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_engine_service_pb2_grpc.py +305 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2.py +30 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_pb2_grpc.py +235 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_startup_info_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2.py +54 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/sdk_tool_service_v2_pb2_grpc.py +99 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2.py +27 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/translate_message_data_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2.py +31 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/transport_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2.py +25 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/resources/generated/update_progress_pb2_grpc.py +4 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/sdk_tool_runner.py +115 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service.py +207 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/sdk_tool_service_v2.py +306 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/constants.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/conversions.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/__pycache__/utilities.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/constants.py +22 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/conversions.py +55 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/amp_provider/utilities/utilities.py +63 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__init__.py +36 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/anchor_builder.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/cache_e1_sdk_import.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/connection_callback_strategy.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/connection_interface.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_dcm.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_environment.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_anchor_proxy.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_input_connection.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_io.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_output_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_output_anchor_proxy.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_plugin_driver.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_plugin_proxy.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_provider.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/e1_record_packet.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/events.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/tool_config_loader.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/__pycache__/workflow_config.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/anchor_builder.py +95 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/cache_e1_sdk_import.py +31 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/connection_callback_strategy.py +155 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/connection_interface.py +125 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_dcm.py +53 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_environment.py +127 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor.py +51 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_input_anchor_proxy.py +33 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_input_connection.py +87 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_io.py +71 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor.py +157 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_output_anchor_proxy.py +97 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_plugin_driver.py +63 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_plugin_proxy.py +363 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_provider.py +71 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/e1_record_packet.py +21 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/events.py +36 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__init__.py +37 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/alteryx_engine.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/constants.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/field.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/output_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/output_anchor_manager.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_copier.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_creator.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_info.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/record_ref.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/tool.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/__pycache__/tool_execution_info.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/alteryx_engine.py +105 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/constants.py +50 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/field.py +122 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor.py +55 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/output_anchor_manager.py +31 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_copier.py +65 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_creator.py +41 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_info.py +134 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/record_ref.py +42 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool.py +29 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/AlteryxPythonSDK/tool_execution_info.py +43 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/mock_e1_sdk/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/proxies/__init__.py +18 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/field_proxy.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/proxies/__pycache__/record_copier_proxy.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/proxies/field_proxy.py +109 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/proxies/record_copier_proxy.py +49 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/__init__.py +23 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/__pycache__/base_record_container.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/__pycache__/parsed_record_container.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/__pycache__/raw_record_container.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/base_record_container.py +47 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/parsed_record_container.py +67 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/records/raw_record_container.py +111 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/tool_config_loader.py +132 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/utilities/__init__.py +35 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/utilities/__pycache__/utilities.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/utilities/utilities.py +54 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/e1_provider/workflow_config.py +31 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__init__.py +32 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/environment.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_adapter.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_dcm.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_input_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_input_connection.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_provider_output_anchor.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/file_record_packet.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/iox.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/__pycache__/tool_input.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/environment.py +131 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_adapter.py +286 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_provider.py +185 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_provider_dcm.py +53 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_provider_input_anchor.py +70 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_provider_input_connection.py +112 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_provider_output_anchor.py +114 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/file_record_packet.py +21 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/iox.py +56 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/providers/file_provider/tool_input.py +104 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__init__.py +14 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__main__.py +120 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__pycache__/__init__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__pycache__/__main__.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__pycache__/plugin_runner.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__pycache__/process_lifecycle_manager.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/__pycache__/sdk_engine_service.cpython-310.pyc +0 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/plugin_runner.py +416 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/process_lifecycle_manager.py +80 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/test_harness/sdk_engine_service.py +106 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk/version.py +8 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/PKG-INFO +63 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/SOURCES.txt +408 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/dependency_links.txt +1 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/entry_points.txt +2 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/not-zip-safe +1 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/requires.txt +31 -0
- another_ayx_python_sdk-2.4.2/another_ayx_python_sdk.egg-info/top_level.txt +2 -0
- another_ayx_python_sdk-2.4.2/pyproject.toml +97 -0
- another_ayx_python_sdk-2.4.2/setup.cfg +4 -0
- another_ayx_python_sdk-2.4.2/setup.py +96 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2025 Jupiter Bakakeu
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
@@ -0,0 +1,63 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: another-ayx-python-sdk
|
3
|
+
Version: 2.4.2
|
4
|
+
Summary: Python SDK for Alteryx Plugin Development and Testing
|
5
|
+
Author: Jupiter Bakakeu
|
6
|
+
Author-email: Jupiter Bakakeu <jupiter.bakakeu@gmail.com>
|
7
|
+
Maintainer: Jupiter Bakakeu
|
8
|
+
Maintainer-email: Jupiter Bakakeu <jupiter.bakakeu@gmail.com>
|
9
|
+
License-Expression: MIT
|
10
|
+
Project-URL: Homepage, https://github.com/jupiterbak/another-ayx-python-sdk
|
11
|
+
Project-URL: Repository, https://github.com/jupiterbak/another-ayx-python-sdk.git
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
13
|
+
Classifier: Intended Audience :: Developers
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
20
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
21
|
+
Classifier: Topic :: Software Development :: Build Tools
|
22
|
+
Classifier: Topic :: Software Development :: Testing
|
23
|
+
Classifier: Environment :: Console
|
24
|
+
Requires-Python: >=3.8
|
25
|
+
Description-Content-Type: text/markdown
|
26
|
+
License-File: LICENSE
|
27
|
+
Requires-Dist: pydantic
|
28
|
+
Requires-Dist: packaging
|
29
|
+
Requires-Dist: setuptools>=65.5.0
|
30
|
+
Requires-Dist: pyarrow
|
31
|
+
Requires-Dist: xmltodict
|
32
|
+
Requires-Dist: pyyaml
|
33
|
+
Requires-Dist: requests
|
34
|
+
Requires-Dist: another-ayx-plugin-cli==1.2.3
|
35
|
+
Requires-Dist: typing-extensions
|
36
|
+
Requires-Dist: pypac
|
37
|
+
Requires-Dist: pandas
|
38
|
+
Requires-Dist: numpy
|
39
|
+
Requires-Dist: deprecation
|
40
|
+
Requires-Dist: grpcio
|
41
|
+
Requires-Dist: grpcio-tools
|
42
|
+
Requires-Dist: protobuf
|
43
|
+
Requires-Dist: psutil
|
44
|
+
Requires-Dist: Click
|
45
|
+
Requires-Dist: python-dateutil
|
46
|
+
Requires-Dist: pytz
|
47
|
+
Requires-Dist: six
|
48
|
+
Requires-Dist: typer
|
49
|
+
Requires-Dist: wincertstore
|
50
|
+
Provides-Extra: dev
|
51
|
+
Requires-Dist: pytest; extra == "dev"
|
52
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
53
|
+
Requires-Dist: black; extra == "dev"
|
54
|
+
Requires-Dist: isort; extra == "dev"
|
55
|
+
Requires-Dist: flake8; extra == "dev"
|
56
|
+
Requires-Dist: mypy; extra == "dev"
|
57
|
+
Dynamic: author
|
58
|
+
Dynamic: license-file
|
59
|
+
Dynamic: maintainer
|
60
|
+
Dynamic: requires-python
|
61
|
+
|
62
|
+
# another-ayx-python-sdk
|
63
|
+
|
@@ -0,0 +1,14 @@
|
|
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."""
|
@@ -0,0 +1,470 @@
|
|
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()
|
@@ -0,0 +1,14 @@
|
|
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."""
|
@@ -0,0 +1,38 @@
|
|
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
|
+
)
|
@@ -0,0 +1,14 @@
|
|
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."""
|