DusX
|
16. September 2025
DX Python Tools for Isadora
Overview
DX Python Tools is a collection of user actors for Isadora that enhances Pythoner workflow and virtual environment management. These tools are designed to complement Isadora’s built-in Python capabilities while providing advanced features for developers who integrate external code editors like PyCharm into their workflow. These actors work with the default Python environment provided with Pythoner, and therefore are extremely easy to get started with.
User Actors
1. DX – PY – Virtual Environment Manager
This actor provides essential tools for managing Python virtual environments within your Isadora projects:
Features:
1. Create VENV from requirements.txt
- Creates a new virtual environment using a requirements.txt file
- Validates environment locations and package dependencies
- Provides clear status messages during creation process
- Supports both Windows and macOS
2. Create requirements.txt from Active VENV
- Generates a requirements.txt file based on the currently active virtual environment
- Automatically excludes system packages like pip and virtualenv
- Places the file in your project directory for easy access
- Ideal for sharing project dependencies with collaborators
3. Update ActiveVirtualEnvironmentPath.txt
- Updates the system path to your active Python virtual environment
- Most useful when creating a catch all VENV for general development
4. Validate requirements.txt
- Verifies that all packages in your requirements.txt file are available on PyPI
- Checks if compatible wheels exist for your platform
- Warns about missing or incompatible packages
- Requires internet access (uses PyPI web API)
2. DX – PY – Helpers
This actor provides utility functions to enhance your Python development workflow:
Features:
1. System Path & Configuration
- Provides quick access to important system paths
- Shows configuration information for your Python environment
- Displays status of virtual environment settings
2. Folder & File Management
- Opens important folder locations with a single click
- Creates required directories for your project
- Browse and select folders using native OS dialogs
3. VENV Management Tools
- Install or uninstall modules from the active virtual environment
- Quick creation of local virtual environments for your project
4. Cache Management
- Clear Python module cache (critical when working with link files and sub-files)
- Ensures changes to Python files are immediately recognized
Beta Release Notes
- These tools are in BETA status, feedback is encouraged. Please post to the user forum.
- Both actors work on Windows and macOS platforms
- Some functions may require administrative privileges to modify system files
- Designed to complement the existing Isadora Python workflow
System Requirements
- Isadora 4 with Pythoner plugin
- Internet connection for package validation features
Getting Started
- Place either or both User Actors in your Isadora project.
Note: ‘DX – PY – Helpers’ is useful in all Isadora projects using Pythoner
- The User Actors have many help comments included. Ensure the Information Panel is open in Isadora, so you can read the help when you rollover: the actors, the inputs, and the outputs.
- Open the Monitor Window for additional details.
Recommended Workflow
The DX Python Tools are especially powerful when used with external code editors like PyCharm, VS Code and others.
The recommended workflow is:
- Create a folder on your system for your Isadora project.
- Create a new Isadora File and save it into your new folder.
- Use this folder as the home of your project, all related files now go into this folder. (In Pycharm you will open this folder as a project)
- Create your VENV (virtual environment)
– If you have a requirements.txt file, set up your virtual environment using the VENV Manager (action #1)
– If not use ‘Create VENV in virtual_env’ to create a local virtual environment for your project
- Use the provided tools to add new modules as needed. Once you have the environment setup as you need it, use the VENV Manager (action #2) to record its configuration
- Use the tools provided to create a ‘python_modules’ folder, and save all your python files there.
- In Pythoner use the ‘ext file’ input to link to your external files. eg: python_modules/python-file.py
- Edit your Python code in your preferred external editor.
- Use “if __name__ == ‘__main__’:” in your python files to allow you to run/debug your code in your external editor.
- Use the helper tools to manage paths and configurations
- Run your code directly in Isadora to see the results
- Clear the Python module cache when changes aren’t being detected (this will happen your external files are loading additional files that you are editing. Isadora can only sense changes to files connected directly via the ‘ext file’ input of the Pythoner actor.
This release provides a foundation for more streamlined Python development within Isadora projects, with a focus on professional workflows that incorporate external development tools.
Change Log
version 1.0.3
- combined VENV creation scripts
- fixed issue with python paths on clean system
- fixed issue with pythonXXX.zip and DLLs on Windows
- fixed symlink issue on Mac
- numerous other housekeeping tasks

MediaPipe Pose Tracking for Isadora – Quickstart Example
This example project demonstrates how to integrate MediaPipe Pose tracking into Isadora using the Pythoner actor.
It provides a simple, self-contained setup for real-time full-body tracking with nothing more than your webcam — no depth camera or external hardware required.
Using Python’s MediaPipe library, the patch captures 2D pose landmarks from the live video feed and sends them into Isadora as structured data you can use for creative control, visual interaction, or motion-driven effects.
What’s Included
-
Pythoner-based Pose Tracker
Captures all 33 MediaPipe Pose landmarks (head, limbs, hands, and torso) in real time.
-
OpenNI-Compatible Conversion Tools
Converts MediaPipe’s full landmark set into the standard 15-joint OpenNI skeleton used by Isadora’s built-in Skeleton actors.
-
Skeleton JSON Wrapping
Outputs properly formatted data for use with the Skeleton From JSON actor, allowing seamless integration with Isadora’s native skeleton system.
-
Automatic Environment Setup
A simple tool automatically creates a Python virtual environment and installs the required dependencies (MediaPipe, NumPy, OpenCV).
Getting Started
-
Unzip the example package — keep all included files together in a single folder.
-
Open the Isadora project file (.izz).
-
When prompted, allow the Pythoner actor to run.
-
Enter Scene 1 and click the trigger to run the setup process.
-
When setup is complete, close and reopen Isadora to finalize.
-
Your system is now ready for real-time body tracking via your webcam.
Why Use It
This example provides a lightweight, cross-platform solution for body tracking inside Isadora — ideal for:
-
Interactive installations
-
Live VJ and performance setups
-
Motion-driven visual or lighting systems
-
Research and prototyping for gesture interfaces
With the included conversion and skeleton tools, you can go from camera feed to full Isadora skeleton control in minutes.
🔗 Watch the Quickstart on YouTube
Once you have completed the tutorial, you should look at this additional approach with Multi Body and Hand Tracking: media-pipe-pose-estimation.zip
A trio of user actors for Isadora that analyze any input color to provide its complementary, split-complementary, or triadic match. Designed for artists and designers, these tools simplify color theory into instant, visually harmonious outputs.

.CUBE to PNG LUT Workflow for GLSL Color Grading in Isadora
Description:
This Isadora demo project introduces a complete workflow for using industry-standard .CUBE LUT files in your GLSL-based color grading pipeline within Isadora. Built using the Pythoner actor and a custom GLSL shader, the patch allows you to convert .CUBE files into 2D PNG LUT textures, which can then be loaded natively into Isadora for efficient, real-time processing.
This system is ideal for users who want to apply professional color grading within live or interactive environments, without relying on external grading tools during playback.
It includes a number of useful User Actors.
- DX – GLSL – Apply Lut to Video – (GLSL based, applies a LUT image to a video stream with numerous options)
- DX – PY – Load .Cube for Color Grading – (Python based, converts .cube files to LUT image)
- DX – PY – Browse for File (win+mac) – (Python based, opens a file browser and returns the full file-path)
- DX – PY – Save Video Frame as PNG – (Python based, allows the saving of a video frame as a PNG. Used here to save cube conversions for project inclusion)
Features (via included User Actors):
-
📁 Import and parse .CUBE LUT files using Pythoner.
-
🖼️ Auto-generate 2D PNG LUT images compatible with GLSL shaders.
-
🎨 Supplied GLSL shader demonstrates real-time color transformation using the generated LUTs.
-
🧠 Fully integrated within Isadora — no external software or plugin dependencies.
-
💾 Save and reuse converted LUTs in any project.
-
📚 Includes a clean, modular patch structure to understand or extend the workflow.
Requirements (for DX – PY – Load .Cube for Color Grading):
- Pythoner custom virtual environment, because 🧮 NumPy is required for LUT parsing.
Install it into your Python environment via:
pip install numpy
or the supplied Python scripts. Video Tutorial
Updates:
- v2 -fixed save as PNG to use correct color order.
-added improved comments to demo file

Using this FX to create a complex animated compositing FX.
This example file includes a fun user actor that was been used to create a number of great real-time video FX. On its own, it crops out a piece of a video, adds a rectangular frame to the cropped video, and places it back onto a blank canvas the same size as the original video, so that it can be composited onto the source as an overlay.
An example video FX using this user actor at its core can be seen here: Window Frame FX – multiplied and animated.

Using 3 copies of the FX
A User Actor that functions like the Wave Generator Actor except that it’s invertible in that the direction can be changed live without the values jumping. Take a look inside the User Actor to see what makes it tick 😉
A fun User Actor I use as stand-in for video content while I’m prototyping things sometimes. It makes swirly patterns and pretty colors.
Did you know even the time of day can be used as an interactive element in Isadora? Take a look at this animated clock example patch, we hope it’ll give you some ideas on how to bring the element of time into your work!
Intended for use when using Isadora to run installation art pieces on an Apple computer, this download is a text file that contains instructions on how to create an AppleScript Application that will monitor whether Isadora is running or not. If it finds Isadora is not running, it will re-launch Isadora. Combined with the Isadora Preferences, this will ensure your installation stays up and running no matter what.
Note: It is also linked at the top of the text file, but I also suggest configuring your installation computer by following the steps laid out in my macOS Isadora Production Computer Setup Guide.
The UDP Sender and Receiver User Actors offer robust, flexible, and efficient tools for transmitting and receiving messages over a network. These scripts are designed to support various encodings, handle binary and text data seamlessly, and dynamically manage configurations for IPs, ports, and message formatting. With built-in validation, error handling, and debugging features, they ensure reliable and accurate communication, making them ideal for both simple and advanced networking applications in Isadora. Internally they are powered by Python via the Pythoner actor (new to Isadora 4). Using the standard Python library, no additional modules need to be installed for usage.
Features of the UDP Sender:
- Dynamic Configuration: Supports real-time updates to IP address, port, source port, encoding, and message content.
- Flexible Encoding: Allows sending messages in various formats, including
utf-8, ascii, and raw binary.
- Source Port Binding: Optional source port configuration ensures compatibility with specific network requirements.
- Comprehensive Validation: Validates inputs like IP addresses, destination ports, and source ports for robustness.
- Efficient Socket Management: Reuses existing sockets where possible to optimize performance.
Features of the UDP Receiver:
- Encoding Flexibility: Supports
utf-8, ascii, and raw binary decoding, enabling handling of diverse message formats.
- Custom Message Formatting: Allows customization of message output with user-defined delimiters.
- Error Handling: Gracefully manages invalid inputs, decoding errors, and socket interruptions.
- Thread-Safe Operations: Ensures stability during concurrent operations with thread-safe mechanisms.
- Dynamic Parameter Updates: Automatically restarts the server when configuration changes, such as IP or port, are detected.