Altair AI tools Python Devkit - Core Concepts

Introduction

The altair-aitools-devkit is Python package to create extensions for Altair AI Tools. These extensions can be anything from simple datatable operations to complex AI/ML operators. The Altair AI Tools Python SDK framework provides a comprehensive set of APIs and tools to create such extensions.

In this part of the document, we explain some basic terms and concepts while developing the extensions. Each topic is extensively covered in details in a separate document.

Key Terms & Concepts

Let's start with the basic set of terms and concepts.

Python Environments: The Python SDK framework is built on conda, allowing you to create customized environments with specific Python versions and packages. These environments ensure your extensions run consistently across different installations. During development, you can use your local environment, while in production, the Python Extension Loader handles environment creation and management for end users.

Read more: Python environments

Extension Configuration: When developing extensions for Altair AI Tools, the extension configuration defines how your extension integrates with Altair AI Tools. This includes metadata, dependencies, operator definition, and environment information. Configuration files determine how your extension appears and behaves within the platform.

Read more: Configure the extension

Extension Building: When developing extensions for Altair AI Tools, building the extension itself is an integral step of the process - since that step builds the distribution .zip archive which contains everything required by the AI product suite to load and run the operators contained within. To speed up development, a few shortcuts exists to make iterating faster.

Read more: Building the extension

Python Extension Loader: The Python Extension Loader is a Java component that handles the integration between your Python extensions and the Altair AI Tools platform. It manages Python environments, loads operator definitions, and handles data serialization between Java and Python. The PEL makes your Python operators appear and function just like native operators in AI Studio.

Read more: Python Extension Loader

Operators and Parameters: An Altair AI Tools extension is collection of operators. The operators are function units that can perform actions on data. Operator actions are controlled by parameters. The altair-aitools-devkit package helps developers convert their Python functions to operators.

Read more: Operators and Parameters

Connections: When you need to connect to 3rd party systems and require a secure way to pass credentials, connections are used throughout the AI product suite. These connections securely store and transfer sensitive data like credentials and can be used by Python functions as a dict to access those at runtime to allow Python extensions to connect to both existing and new 3rd pary systems.

Read more: Connections

Custom Data Objects: When standard data formats aren't sufficient, you can create custom data objects that represent complex or specialized data structures. These objects can be used as inputs or outputs for your operators and are automatically handled by the serialization framework. Custom data objects provide type safety and clear contracts between operators.

Read more: Custom data objects

For practical implementation examples, visit the tutorial section.