Frequently Asked Questions
General Questions
What is the difference between the Python Scripting extension and Python extensions created via the Python SDK?
The Python Scripting extension provides operators for executing arbitrary Python code within workflows, requiring users to have Python already installed and writing Python code.
In contrast, the Python SDK is a powerful framework for creating custom, production-ready operators with managed environments, eliminating the need for end users to configure Python themselves. In fact, the user does not even need to be aware those operators are powered by Python, as they appear to the end user just like any Java-based operator, creating a seamless experience.
What is required to use Python extensions?
You need the Python Extension Loader, a special Java-based extension, running in your AI Studio or AI Hub. This is automatically the case for all AI suite product releases version 2025.1 or later, but you can download it manually for older versions including as old as version 10.3. Important: You must use an Altair Units license. Legacy RapidMiner licensing is not supported!
You can check if the functionality is available by navigating to Extensions in the top menu and looking for an entry called About Installed Python Extensions.
Are Python extensions available on Altair RapidMiner Marketplace?
No. Currently, the Altair RapidMiner Marketplace only supports Java-based extensions. Python extensions must be distributed directly to users.
Can Python Extensions be used in air-gapped (offline) environments?
Yes. A key feature of the Python extension framework is its support for systems without internet connectivity through the offline packaging option (--download-env
flag during build. See Build the extension for more information).
Installation & Configuration
How do I add Python extensions to Altair AI Studio?
First, you need the Python Extension Loader, a special Java-based extension, running in your AI Studio or AI Hub. This is automatically the case for all AI suite product releases version 2025.1 or later, but you can download it manually for older versions including as old as version 10.3. Important: You must use an Altair Units license. Legacy RapidMiner licensing is not supported!
You can check if the functionality is available by navigating to Extensions in the top menu and looking for an entry called About Installed Python Extensions. Then you can add extensions by simply using the Add Python Extension button in the About Installed Python Extensions dialog found via Extensions in the top menu which takes care of everything.
You can also do it by manually placing the extension ZIP file in the default extensions directory: ~/.AltairRapidMiner/AI Studio/shared/extensions/python-extensions. For more details, see the Python Extension Loader documentation.
Where should I place custom Python distributions?
If you're using custom Python distributions instead of the auto-managed environments, place them in the directory specified by the pysdk.pel.distLoc
setting (default: ~/.AltairRapidMiner/AI Studio/shared/python-distributions).
What version of Python is supported?
We currently follow the Python support timelines, bumping the minimum version of Python according to its EOL status. Currently, the minimum version of Python for developing extensions is 3.10.
Development Questions
How do I define icons for my operators?
You can specify icons using the icons available by default (Icon Experience collection). Add the icon name in your extension's configuration file using the icon attribute for each operator.
Can I use pip packages with my extension?
Yes. The Python SDK supports including pip packages with your extension. These can be bundled directly in offline mode or defined as dependencies to be downloaded in online mode.
How do I handle custom data types?
Use the custom data object framework by subclassing BaseDataObject
. This allows you to create complex, structured data types that can be passed between operators. See the Custom Data Objects documentation.
How do I debug my extension?
Enable debug mode by setting pysdk.debugMode
to OPERATOR
or ALL
. You can also insert print
statements in your code, which will appear in the log when your operator runs. You can also use standard logging from Python with debug messages.
Performance & Production
How does the Python Extension Loader handle memory management?
The PEL maintains Python processes that are kept alive between operator executions for performance. These processes are automatically terminated after a configurable idle period to free resources.
Can I distribute my extension to users without Python knowledge?
Yes! That's one of the main benefits of the Python SDK. End users don't need to install or configure Python - the extension handles all environment management automatically.
Is there a size limit for Python extensions?
There's no hard limit, but smaller extensions load faster. For large dependencies, consider using the online mode where packages are downloaded during installation rather than bundled with the extension.