DX Python Tools for Isadora

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

  1. Place either or both User Actors in your Isadora project.
    Note: ‘DX – PY – Helpers’ is useful in all Isadora projects using Pythoner
  2. 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.
  3. 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:

  1. Create a folder on your system for your Isadora project.
  2. Create a new Isadora File and save it into your new folder.
  3. 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)
  4. 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
  5. 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
  6. Use the tools provided to create a ‘python_modules’ folder, and save all your python files there.
  7. In Pythoner use the ‘ext file’ input to link to your external files. eg: python_modules/python-file.py
  8. Edit your Python code in your preferred external editor.
  9. Use “if __name__ == ‘__main__’:” in your python files to allow you to run/debug your code in your external editor.
  10. Use the helper tools to manage paths and configurations
  11. Run your code directly in Isadora to see the results
  12. 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

DX – Mediapipe – QuickStart

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

  1. Unzip the example package — keep all included files together in a single folder.

  2. Open the Isadora project file (.izz).

  3. When prompted, allow the Pythoner actor to run.

  4. Enter Scene 1 and click the trigger to run the setup process.

    • This will automatically build and configure your Python environment.

  5. When setup is complete, close and reopen Isadora to finalize.

  6. 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

Color Tools – Complement, Split, and Triad

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.

DX – Cube2LUT – ColorGrading

color grading

.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

DX – Window Frame FX : aka [RectGrid]

Video still frame of an advanced usage of the FX

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

Using 3 copies of the FX

 

Animated Clock

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!

Auto Re-launch Isadora (macOS AppleScript for Installations)

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.

UDP Communications: send and receive

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.