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.

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.

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

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.

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.

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.