ayx_python_sdk.core package¶
Submodules¶
ayx_python_sdk.core.constants module¶
Constant definitions.
ayx_python_sdk.core.doc_utilities module¶
Utility functions for documentation.
ayx_python_sdk.core.environment_base module¶
Runtime Environment information.
-
class
ayx_python_sdk.core.environment_base.
EnvironmentBase
[source]¶ Bases:
abc.ABC
Environment Information class definition.
This class provides information about the runtime environment of the tool that is running. For example, if it is running as update only, the version of the system running, etc.
-
abstract property
alteryx_install_dir
¶ Get the Alteryx install directory.
- Returns
The Alteryx install directory as a Path object.
- Return type
Path
-
abstract property
alteryx_locale
¶ Retrieve the locale code from Alteryx Designer User Settings.
- Returns
The language/region that Alteryx is using to display messages.
- Return type
Locale
-
abstract property
designer_version
¶ Return the version of Designer that is being used.
- Returns
A version in the format of 1.2.3.4
- Return type
-
abstract property
tool_id
¶ Get the current tool’s workflow ID.
- Returns
Tool’s ID (specified by developer).
- Return type
-
abstract property
update_mode
¶ Get the type of update running.
- Returns
Enumeration corresponding to the update mode that the workflow is running in.
- Return type
-
abstract property
update_only
¶ Check if the engine is running in update-only mode.
- Returns
Boolean value that indicates if the engine is running in update only.
- Return type
-
abstract
update_tool_config
(new_config: dict) → None[source]¶ Update the tool’s configuration.
- Parameters
new_config – The new configuration to set for the tool.
- Returns
- Return type
-
abstract property
workflow_dir
¶ Get the directory for the currently-running workflow.
- Returns
The workflow directory as a Path object.
- Return type
Path
-
abstract property
ayx_python_sdk.core.exceptions module¶
Exception class definition.
ayx_python_sdk.core.field module¶
Record Field class definition.
-
class
ayx_python_sdk.core.field.
Field
(name: str, field_type: ayx_python_sdk.core.field.FieldType, size: int = 0, scale: int = 0, source: Optional[str] = None, description: Optional[str] = None)[source]¶ Bases:
object
A record field that contains metadata like field name.
-
class
ayx_python_sdk.core.field.
FieldType
[source]¶ Bases:
enum.Enum
Field types. The text values match the Alteryx Engine field types.
-
blob
= 'blob'¶
-
bool
= 'bool'¶
-
byte
= 'byte'¶
-
date
= 'date'¶
-
datetime
= 'datetime'¶
-
double
= 'double'¶
-
fixeddecimal
= 'fixeddecimal'¶
-
float
= 'float'¶
-
int16
= 'int16'¶
-
int32
= 'int32'¶
-
int64
= 'int64'¶
-
spatialobj
= 'spatialobj'¶
-
string
= 'string'¶
-
time
= 'time'¶
-
v_string
= 'v_string'¶
-
v_wstring
= 'v_wstring'¶
-
wstring
= 'wstring'¶
-
ayx_python_sdk.core.input_anchor_base module¶
Input Anchor Interface class definition.
-
class
ayx_python_sdk.core.input_anchor_base.
InputAnchorBase
[source]¶ Bases:
abc.ABC
Input Anchor Interface class definition.
-
abstract property
allow_multiple
¶ Get the status that indicates if multiple connections are allowed.
- Returns
Boolean value that indicates if multiple connections are allowed.
- Return type
-
abstract property
connections
¶ Get the anchor connections.
- Returns
List of all the connections associated with the anchor.
- Return type
List[InputConnectionBase]
-
abstract property
name
¶ Get the name of the input anchor.
- Returns
The name of the input anchor.
- Return type
-
abstract property
ayx_python_sdk.core.input_connection_base module¶
Input Connection Base class definition.
-
class
ayx_python_sdk.core.input_connection_base.
InputConnectionBase
[source]¶ Bases:
abc.ABC
Input connection that receives data from upstream tools.
-
abstract property
anchor
¶ Get the anchor this input connection is associated with.
- Returns
The anchor this input connection is associated with.
- Return type
-
property
max_packet_size
¶ Get the maximum number of records per packet.
- Returns
The maximum number of records in a packet.
- Return type
int, optional
-
abstract property
metadata
¶ Get the connection metadata.
- Returns
The metadata associated with this input connection.
This returns None when accessed before the input connection has been opened, since the metadata isn’t known until that point.
- Return type
Metadata, optional
-
abstract property
name
¶ Get the connection name.
- Returns
Name of the input connection.
- Return type
-
abstract property
progress
¶ Get the progress percentage of records received on this input connection.
- Returns
The progress percentage of the connection.
- Return type
-
abstract
read
() → RecordPacketBase[source]¶ Read a record packet from the incoming connection.
- Returns
A record packet that contains the data received by this connection.
- Return type
-
property
status
¶ Get the current state of the input connection.
- Returns
- Enum value corresponding to the state of the input connection
CREATED = 1 INITIALIZED = 2 RECEIVING_RECORDS = 3 CLOSED = 4
- Return type
-
abstract property
ayx_python_sdk.core.io_base module¶
IO (input/output) utility functions for reading from and writing to Alteryx Designer.
-
class
ayx_python_sdk.core.io_base.
IoBase
[source]¶ Bases:
abc.ABC
IO Base class definition.
-
abstract
create_temp_file
(extension: str = 'tmp', options: int = 0) → Path[source]¶ Create a temporary file managed by Alteryx Designer.
- Parameters
extension – The extension of the new file.
options –
Lifecycle management options for the temp file.
0: A normal temp file. It is cleaned up by Designer when a Run completes.
1: A temp file for a GUI element, like a browse, that the GUI is responsible for cleaning up.
2: A temp file for a GUI element, like a browse, that the GUI is responsible for cleaning up. Additionally, the file name is not made to be unique. Use when the extension argument already contains a unique ID.
- Returns
Path to the new temp file.
- Return type
Path
-
abstract
decrypt_password
(password: str) → str[source]¶ Decrypt password.
- Parameters
password – Password to decrypt.
- Returns
Decrypted password.
- Return type
-
abstract
error
(error_msg: str) → None[source]¶ Display an error message in the Alteryx Designer Results window.
- Parameters
error_msg – A string to show as an error in the Designer Results window.
-
abstract
info
(info_msg: str) → None[source]¶ Display an info message in the Alteryx Designer Results window.
- Parameters
info_msg – A string to show as an info message in the Designer Results window.
-
abstract
translate_msg
(msg: str, *args: Any) → str[source]¶ Translate a message to the current locale.
Deprecated since version 0.1.0a: translate_msg is not the recommended translation mechanism. Refer to the documentation on localization.
- Parameters
msg – A string to translate.
args – Arguments for string interpolation.
- Returns
The translated string.
- Return type
-
abstract
ayx_python_sdk.core.metadata module¶
Defines a class for record metadata.
-
class
ayx_python_sdk.core.metadata.
Metadata
(fields: Optional[List[ayx_python_sdk.core.field.Field]] = None)[source]¶ Bases:
object
Record Metadata class.
This metadata is received by input connections, and written to output anchors. A metadata object is a composition of ordered Field objects.
-
add_field
(name: str, field_type: ayx_python_sdk.core.field.FieldType, size: int = 0, scale: int = 0, source: str = '', description: str = '') → ayx_python_sdk.core.field.Field[source]¶ Add a field to the record metadata.
- Parameters
name – The name of the field.
field_type – The type of data that the field represents.
size –
The size of the data.
For strings, this is the maximum number of characters. For blobs, this is the maximum number of bytes.
scale – The scale of the data. This only applies to fixeddecimal type.
source – The source of the data.
description – A description about the data that lives in this field.
- Returns
The field that was added to the metadata.
- Return type
-
clone
() → ayx_python_sdk.core.metadata.Metadata[source]¶ Make a deep copy of the record info.
- Returns
A copy of this metadata object.
- Return type
-
ayx_python_sdk.core.observable_mixin module¶
Observable Mixin class definition.
-
class
ayx_python_sdk.core.observable_mixin.
ObservableMixin
[source]¶ Bases:
object
Mixin to make an object observable.
An observable object has 3 new methods available on it: subscribe, subscribe_all, and notify_topic.
-
notify_topic
(topic: Any, **payload: Any) → None[source]¶ Notify a topic of an event.
This calls any callbacks that have been registered to listen for notifications to this topic. The payload can be any assortment of key-value pairs.
- Parameters
topic – The topic to notify.
**payload – Any assortment of key-value pairs to give to the callback functions.
-
subscribe
(topic: Any, callback: Callable) → None[source]¶ Subscribe to a topic.
The callback for this subscription is called any time the topic is published to. The arguments passed to the callable depend on the payload given by notifier.
- Parameters
topic – The topic to subscribe to. Any time this class notifies this topic, the callback function is called.
callback – The callback function to call when the given topic is notified of an event.
-
subscribe_all
(callback: Callable) → None[source]¶ Subscribe to all topics.
The callback for this subscription is called any time any topic is published to. The arguments passed to the callable depend on the payload given by notifier.
- Parameters
callback – The callback function to call when any topic is notified of an event.
-
ayx_python_sdk.core.output_anchor_base module¶
Output Anchor Description implementation.
-
class
ayx_python_sdk.core.output_anchor_base.
OutputAnchorBase
[source]¶ Bases:
abc.ABC
Output Anchor Base class definition.
-
abstract property
allow_multiple
¶ Get the status that indicates if multiple connections are allowed.
- Returns
Boolean value that indicates if multiple connections are allowed.
- Return type
-
abstract property
is_open
¶ Get the status that indicates if the anchor is open.
-
abstract property
metadata
¶ Get the metadata for the anchor.
-
abstract property
name
¶ Get the name of the output anchor.
- Returns
The name of the output anchor.
- Return type
-
abstract property
num_connections
¶ Get the number of connections attached to the anchor.
- Returns
The number of downstream connections on this anchor.
- Return type
-
abstract
open
(metadata: Metadata) → None[source]¶ Open the output anchor.
Write the outgoing record metadata and open this connection for outgoing packets.
- Parameters
metadata – The metadata to set for this anchor.
-
abstract property
optional
¶ Get the status that indicates if the output anchor is optional.
- Returns
Boolean value that indicates if output anchor is optional.
- Return type
-
abstract property
ayx_python_sdk.core.plugin module¶
The Abstract Base class definition for plugins.
For a custom plugin, a user will inherit from Plugin and implement all of the abstract methods.
-
class
ayx_python_sdk.core.plugin.
Plugin
(provider: ProviderBase)[source]¶ Bases:
abc.ABC
The Abstract Base class for Plugin.
-
abstract
on_complete
() → None[source]¶ Clean up any plugin resources, or push records for an input tool.
This method gets called when all other plugin processing is complete.
This method IS NOT called during update-only mode.
In this method, a Plugin designer should perform any cleanup for their plugin. However, if the plugin is an input-type tool (it has no incoming connections), processing (record generation) should occur here.
Note: A tool with an optional input anchor and no incoming connections should also write any records to output anchors here.
-
abstract
on_input_connection_opened
(input_connection: InputConnectionBase) → None[source]¶ Process an opened input connection.
The method that gets called whenever an input connection is opened.
When an input connection is opened, it receives metadata. Prior to being opened, its metadata is None.
This method IS called during update-only mode.
In this method, a Plugin designer should make sure to open any output anchors during update-only mode in order to ensure that metadata is properly propagated in Designer.
- Parameters
input_connection – The input connection that was opened.
-
abstract
on_record_packet
(input_connection: InputConnectionBase) → None[source]¶ Process any incoming records.
The method that gets called whenever an input connection receives records.
This method IS NOT called during update-only mode.
In this method, a Plugin designer should read from the input connection and process the record packet that it produces.
- Parameters
input_connection – The input connection that received a record.
-
abstract
ayx_python_sdk.core.provider_base module¶
Record Provider implementation.
Record providers instantiate input and output connections for the tool and pass information along to the record processor.
-
class
ayx_python_sdk.core.provider_base.
ProviderBase
[source]¶ Bases:
abc.ABC
Record Provider for the tool.
-
abstract property
environment
¶ Get the Environment object from this provider.
- Returns
An instance of a concrete Environment object.
- Return type
-
abstract
get_input_anchor
(name: str) → InputAnchorBase[source]¶ Get an input anchor by name.
- Parameters
name – The name of the anchor to get.
- Returns
An instance of a concrete InputAnchorBase object with the name requested.
- Return type
-
abstract
get_output_anchor
(name: str) → OutputAnchorBase[source]¶ Get an output anchor by name.
- Parameters
name – The name of the anchor to get.
- Returns
An instance of a concrete OutputAnchorBase object with the name requested.
- Return type
-
abstract property
io
¶ Get the IO (input/output) object from this provider.
- Returns
An instance of a concrete IO object.
- Return type
-
abstract property
logger
¶ Get the Logger for the provider.
- Returns
Python logging object.
- Return type
Logger
-
abstract property
tool_config
¶ Get Config XML from this provider.
-
abstract property
ayx_python_sdk.core.record_packet module¶
Simple Record Packet class definition.
-
class
ayx_python_sdk.core.record_packet.
RecordPacket
(metadata: ayx_python_sdk.core.metadata.Metadata, df: pd.DataFrame)[source]¶ Bases:
ayx_python_sdk.core.record_packet_base.RecordPacketBase
Simple record packet based on pandas.
This record packet is a generic format based on the pandas dataframe and the Record class.
-
classmethod
from_dataframe
(metadata: ayx_python_sdk.core.metadata.Metadata, df: pd.DataFrame) → RecordPacket[source]¶ Build a packet from a dataframe.
- Parameters
metadata – The metadata for the record packet.
df – The dataframe to generate records from.
-
property
metadata
¶ Get the packet metadata.
- Returns
The metadata for records contained in the packet.
- Return type
-
classmethod
ayx_python_sdk.core.record_packet_base module¶
Record Packet Base class definition.
-
class
ayx_python_sdk.core.record_packet_base.
RecordPacketBase
[source]¶ Bases:
abc.ABC
Abstract class that describes a record packet.
-
abstract classmethod
from_dataframe
(metadata: Metadata, df: pd.DataFrame) → RecordPacketBase[source]¶ Set the packet data from a dataframe.
- Parameters
metadata – The metadata for the records.
df – The dataframe to generate records from.
-
abstract property
metadata
¶ Get the packet metadata.
- Returns
The metadata for records contained in the packet.
- Return type
-
abstract classmethod
ayx_python_sdk.core.register_plugin module¶
Function definition for registering a plugin with the SDK.
-
ayx_python_sdk.core.register_plugin.
register_e1_plugin
(user_plugin_class: Type[Plugin], version: Optional[str] = None) → Type[E1PluginProxy][source]¶ Register a plugin with the E1 SDK Provider.
- Parameters
user_plugin_class – Python Plugin to register.
version – Version of the tool being used.
- Returns
Copy of the passed-in Plugin, subclassed for the E1 Provider.
- Return type
-
ayx_python_sdk.core.register_plugin.
register_file_provider_plugin
(user_plugin_class: Type[Plugin], version: Optional[str] = None) → None[source]¶ Register a plugin with the File Provider.
- Parameters
user_plugin_class – Python Plugin to register.
-
ayx_python_sdk.core.register_plugin.
register_plugin
(plugin_class: Type[Plugin], version: Optional[str] = None) → Optional[Type[E1PluginProxy]][source]¶ Register a plugin with the SDK.
The return value of this function should be assigned to a variable called AyxPlugin in the entrypoint to the tool in order for the E1 Python SDK to properly recognize it.
- Parameters
plugin_class – Python Plugin to register. This plugin is written using the Python SDK.
- Returns
The Plugin, subclassed for the provider that it was registered with.
- Return type
E1PluginProxy, optional
Module contents¶
Alteryx Python SDK: Core classes and interfaces.
-
class
ayx_python_sdk.core.
EnvironmentBase
[source]¶ Bases:
abc.ABC
Environment Information class definition.
This class provides information about the runtime environment of the tool that is running. For example, if it is running as update only, the version of the system running, etc.
-
abstract property
alteryx_install_dir
¶ Get the Alteryx install directory.
- Returns
The Alteryx install directory as a Path object.
- Return type
Path
-
abstract property
alteryx_locale
¶ Retrieve the locale code from Alteryx Designer User Settings.
- Returns
The language/region that Alteryx is using to display messages.
- Return type
Locale
-
abstract property
designer_version
¶ Return the version of Designer that is being used.
- Returns
A version in the format of 1.2.3.4
- Return type
-
abstract property
tool_id
¶ Get the current tool’s workflow ID.
- Returns
Tool’s ID (specified by developer).
- Return type
-
abstract property
update_mode
¶ Get the type of update running.
- Returns
Enumeration corresponding to the update mode that the workflow is running in.
- Return type
-
abstract property
update_only
¶ Check if the engine is running in update-only mode.
- Returns
Boolean value that indicates if the engine is running in update only.
- Return type
-
abstract
update_tool_config
(new_config: dict) → None[source]¶ Update the tool’s configuration.
- Parameters
new_config – The new configuration to set for the tool.
- Returns
- Return type
-
abstract property
workflow_dir
¶ Get the directory for the currently-running workflow.
- Returns
The workflow directory as a Path object.
- Return type
Path
-
abstract property
-
class
ayx_python_sdk.core.
UpdateMode
[source]¶ Bases:
enum.Enum
The types of update modes that can run in Alteryx Designer.
-
FULL
= 'Full'¶
-
NO_UPDATE_MODE
= ''¶
-
QUICK
= 'Quick'¶
-
-
class
ayx_python_sdk.core.
Field
(name: str, field_type: ayx_python_sdk.core.field.FieldType, size: int = 0, scale: int = 0, source: Optional[str] = None, description: Optional[str] = None)[source]¶ Bases:
object
A record field that contains metadata like field name.
-
class
ayx_python_sdk.core.
FieldType
[source]¶ Bases:
enum.Enum
Field types. The text values match the Alteryx Engine field types.
-
blob
= 'blob'¶
-
bool
= 'bool'¶
-
byte
= 'byte'¶
-
date
= 'date'¶
-
datetime
= 'datetime'¶
-
double
= 'double'¶
-
fixeddecimal
= 'fixeddecimal'¶
-
float
= 'float'¶
-
int16
= 'int16'¶
-
int32
= 'int32'¶
-
int64
= 'int64'¶
-
spatialobj
= 'spatialobj'¶
-
string
= 'string'¶
-
time
= 'time'¶
-
v_string
= 'v_string'¶
-
v_wstring
= 'v_wstring'¶
-
wstring
= 'wstring'¶
-
-
class
ayx_python_sdk.core.
InputAnchorBase
[source]¶ Bases:
abc.ABC
Input Anchor Interface class definition.
-
abstract property
allow_multiple
¶ Get the status that indicates if multiple connections are allowed.
- Returns
Boolean value that indicates if multiple connections are allowed.
- Return type
-
abstract property
connections
¶ Get the anchor connections.
- Returns
List of all the connections associated with the anchor.
- Return type
List[InputConnectionBase]
-
abstract property
name
¶ Get the name of the input anchor.
- Returns
The name of the input anchor.
- Return type
-
abstract property
-
class
ayx_python_sdk.core.
InputConnectionBase
[source]¶ Bases:
abc.ABC
Input connection that receives data from upstream tools.
-
abstract property
anchor
¶ Get the anchor this input connection is associated with.
- Returns
The anchor this input connection is associated with.
- Return type
-
property
max_packet_size
¶ Get the maximum number of records per packet.
- Returns
The maximum number of records in a packet.
- Return type
int, optional
-
abstract property
metadata
¶ Get the connection metadata.
- Returns
The metadata associated with this input connection.
This returns None when accessed before the input connection has been opened, since the metadata isn’t known until that point.
- Return type
Metadata, optional
-
abstract property
name
¶ Get the connection name.
- Returns
Name of the input connection.
- Return type
-
abstract property
progress
¶ Get the progress percentage of records received on this input connection.
- Returns
The progress percentage of the connection.
- Return type
-
abstract
read
() → RecordPacketBase[source]¶ Read a record packet from the incoming connection.
- Returns
A record packet that contains the data received by this connection.
- Return type
-
property
status
¶ Get the current state of the input connection.
- Returns
- Enum value corresponding to the state of the input connection
CREATED = 1 INITIALIZED = 2 RECEIVING_RECORDS = 3 CLOSED = 4
- Return type
-
abstract property
-
class
ayx_python_sdk.core.
IoBase
[source]¶ Bases:
abc.ABC
IO Base class definition.
-
abstract
create_temp_file
(extension: str = 'tmp', options: int = 0) → Path[source]¶ Create a temporary file managed by Alteryx Designer.
- Parameters
extension – The extension of the new file.
options –
Lifecycle management options for the temp file.
0: A normal temp file. It is cleaned up by Designer when a Run completes.
1: A temp file for a GUI element, like a browse, that the GUI is responsible for cleaning up.
2: A temp file for a GUI element, like a browse, that the GUI is responsible for cleaning up. Additionally, the file name is not made to be unique. Use when the extension argument already contains a unique ID.
- Returns
Path to the new temp file.
- Return type
Path
-
abstract
decrypt_password
(password: str) → str[source]¶ Decrypt password.
- Parameters
password – Password to decrypt.
- Returns
Decrypted password.
- Return type
-
abstract
error
(error_msg: str) → None[source]¶ Display an error message in the Alteryx Designer Results window.
- Parameters
error_msg – A string to show as an error in the Designer Results window.
-
abstract
info
(info_msg: str) → None[source]¶ Display an info message in the Alteryx Designer Results window.
- Parameters
info_msg – A string to show as an info message in the Designer Results window.
-
abstract
translate_msg
(msg: str, *args: Any) → str[source]¶ Translate a message to the current locale.
Deprecated since version 0.1.0a: translate_msg is not the recommended translation mechanism. Refer to the documentation on localization.
- Parameters
msg – A string to translate.
args – Arguments for string interpolation.
- Returns
The translated string.
- Return type
-
abstract
-
class
ayx_python_sdk.core.
Metadata
(fields: Optional[List[ayx_python_sdk.core.field.Field]] = None)[source]¶ Bases:
object
Record Metadata class.
This metadata is received by input connections, and written to output anchors. A metadata object is a composition of ordered Field objects.
-
add_field
(name: str, field_type: ayx_python_sdk.core.field.FieldType, size: int = 0, scale: int = 0, source: str = '', description: str = '') → ayx_python_sdk.core.field.Field[source]¶ Add a field to the record metadata.
- Parameters
name – The name of the field.
field_type – The type of data that the field represents.
size –
The size of the data.
For strings, this is the maximum number of characters. For blobs, this is the maximum number of bytes.
scale – The scale of the data. This only applies to fixeddecimal type.
source – The source of the data.
description – A description about the data that lives in this field.
- Returns
The field that was added to the metadata.
- Return type
-
clone
() → ayx_python_sdk.core.metadata.Metadata[source]¶ Make a deep copy of the record info.
- Returns
A copy of this metadata object.
- Return type
-
-
class
ayx_python_sdk.core.
OutputAnchorBase
[source]¶ Bases:
abc.ABC
Output Anchor Base class definition.
-
abstract property
allow_multiple
¶ Get the status that indicates if multiple connections are allowed.
- Returns
Boolean value that indicates if multiple connections are allowed.
- Return type
-
abstract property
is_open
¶ Get the status that indicates if the anchor is open.
-
abstract property
metadata
¶ Get the metadata for the anchor.
-
abstract property
name
¶ Get the name of the output anchor.
- Returns
The name of the output anchor.
- Return type
-
abstract property
num_connections
¶ Get the number of connections attached to the anchor.
- Returns
The number of downstream connections on this anchor.
- Return type
-
abstract
open
(metadata: Metadata) → None[source]¶ Open the output anchor.
Write the outgoing record metadata and open this connection for outgoing packets.
- Parameters
metadata – The metadata to set for this anchor.
-
abstract property
optional
¶ Get the status that indicates if the output anchor is optional.
- Returns
Boolean value that indicates if output anchor is optional.
- Return type
-
abstract property
-
class
ayx_python_sdk.core.
RecordPacket
(metadata: ayx_python_sdk.core.metadata.Metadata, df: pd.DataFrame)[source]¶ Bases:
ayx_python_sdk.core.record_packet_base.RecordPacketBase
Simple record packet based on pandas.
This record packet is a generic format based on the pandas dataframe and the Record class.
-
classmethod
from_dataframe
(metadata: ayx_python_sdk.core.metadata.Metadata, df: pd.DataFrame) → RecordPacket[source]¶ Build a packet from a dataframe.
- Parameters
metadata – The metadata for the record packet.
df – The dataframe to generate records from.
-
property
metadata
¶ Get the packet metadata.
- Returns
The metadata for records contained in the packet.
- Return type
-
classmethod
-
class
ayx_python_sdk.core.
RecordPacketBase
[source]¶ Bases:
abc.ABC
Abstract class that describes a record packet.
-
abstract classmethod
from_dataframe
(metadata: Metadata, df: pd.DataFrame) → RecordPacketBase[source]¶ Set the packet data from a dataframe.
- Parameters
metadata – The metadata for the records.
df – The dataframe to generate records from.
-
abstract property
metadata
¶ Get the packet metadata.
- Returns
The metadata for records contained in the packet.
- Return type
-
abstract classmethod
-
class
ayx_python_sdk.core.
Plugin
(provider: ProviderBase)[source]¶ Bases:
abc.ABC
The Abstract Base class for Plugin.
-
abstract
on_complete
() → None[source]¶ Clean up any plugin resources, or push records for an input tool.
This method gets called when all other plugin processing is complete.
This method IS NOT called during update-only mode.
In this method, a Plugin designer should perform any cleanup for their plugin. However, if the plugin is an input-type tool (it has no incoming connections), processing (record generation) should occur here.
Note: A tool with an optional input anchor and no incoming connections should also write any records to output anchors here.
-
abstract
on_input_connection_opened
(input_connection: InputConnectionBase) → None[source]¶ Process an opened input connection.
The method that gets called whenever an input connection is opened.
When an input connection is opened, it receives metadata. Prior to being opened, its metadata is None.
This method IS called during update-only mode.
In this method, a Plugin designer should make sure to open any output anchors during update-only mode in order to ensure that metadata is properly propagated in Designer.
- Parameters
input_connection – The input connection that was opened.
-
abstract
on_record_packet
(input_connection: InputConnectionBase) → None[source]¶ Process any incoming records.
The method that gets called whenever an input connection receives records.
This method IS NOT called during update-only mode.
In this method, a Plugin designer should read from the input connection and process the record packet that it produces.
- Parameters
input_connection – The input connection that received a record.
-
abstract
-
class
ayx_python_sdk.core.
ProviderBase
[source]¶ Bases:
abc.ABC
Record Provider for the tool.
-
abstract property
environment
¶ Get the Environment object from this provider.
- Returns
An instance of a concrete Environment object.
- Return type
-
abstract
get_input_anchor
(name: str) → InputAnchorBase[source]¶ Get an input anchor by name.
- Parameters
name – The name of the anchor to get.
- Returns
An instance of a concrete InputAnchorBase object with the name requested.
- Return type
-
abstract
get_output_anchor
(name: str) → OutputAnchorBase[source]¶ Get an output anchor by name.
- Parameters
name – The name of the anchor to get.
- Returns
An instance of a concrete OutputAnchorBase object with the name requested.
- Return type
-
abstract property
io
¶ Get the IO (input/output) object from this provider.
- Returns
An instance of a concrete IO object.
- Return type
-
abstract property
logger
¶ Get the Logger for the provider.
- Returns
Python logging object.
- Return type
Logger
-
abstract property
tool_config
¶ Get Config XML from this provider.
-
abstract property
-
ayx_python_sdk.core.
register_plugin
(plugin_class: Type[Plugin], version: Optional[str] = None) → Optional[Type[E1PluginProxy]][source]¶ Register a plugin with the SDK.
The return value of this function should be assigned to a variable called AyxPlugin in the entrypoint to the tool in order for the E1 Python SDK to properly recognize it.
- Parameters
plugin_class – Python Plugin to register. This plugin is written using the Python SDK.
- Returns
The Plugin, subclassed for the provider that it was registered with.
- Return type
E1PluginProxy, optional
-
class
ayx_python_sdk.core.
ProviderBase
[source]¶ Bases:
abc.ABC
Record Provider for the tool.
-
abstract property
environment
¶ Get the Environment object from this provider.
- Returns
An instance of a concrete Environment object.
- Return type
-
abstract
get_input_anchor
(name: str) → InputAnchorBase[source]¶ Get an input anchor by name.
- Parameters
name – The name of the anchor to get.
- Returns
An instance of a concrete InputAnchorBase object with the name requested.
- Return type
-
abstract
get_output_anchor
(name: str) → OutputAnchorBase[source]¶ Get an output anchor by name.
- Parameters
name – The name of the anchor to get.
- Returns
An instance of a concrete OutputAnchorBase object with the name requested.
- Return type
-
abstract property
io
¶ Get the IO (input/output) object from this provider.
- Returns
An instance of a concrete IO object.
- Return type
-
abstract property
logger
¶ Get the Logger for the provider.
- Returns
Python logging object.
- Return type
Logger
-
abstract property
tool_config
¶ Get Config XML from this provider.
-
abstract property