Python API
The Designer Python API lets you execute Python code within a running Designer session via a REST endpoint. This gives programmatic access to almost every object and property in a Designer project — from tracks and layers to projector settings and stage objects.
How It Works
Your application sends Python code to a Designer session’s /api/session/python/execute endpoint. Designer runs the code in its embedded Python 2.7 environment and returns the result. This can be triggered from a plugin UI, a script, or any HTTP client.
For the full endpoint reference, see the Execution API.
For details on the runtime environment, available utilities, and restrictions, see the Environment page.
What You Can Do
The Python API exposes the d3 package, which provides access to Designer’s internal object model. Common tasks include:
- Query project state — read track positions, layer properties, device values
- Control playback — play, stop, go to specific timecodes
- Modify objects — change properties, create resources, configure devices
- Automate workflows — batch operations across multiple objects
Guides
Practical guides covering common workflows with code examples:
- Audio — Managing audio tracks, files, and volume control
- Calibration — Projector calibration workflows (OmniCal, QuickCal, Manual)
- D3Net — Configuring D3Net machines, roles, and director/understudy modes
- Devices — Working with the Device Manager and device types
- Expressions — Expression syntax and usage
- Feed — Managing feeds, rectangles, and output configuration
- Resources — Resource management patterns and best practices
- Stage — Working with stage objects, positioning, and DMX lighting
- Track & Sequencing — Layers, cues, tags, and keyframe sequences
- Transports — Transport control, timecode, and event transports
- Utility — Common utility types and functions
- Video Input — Working with video input resources
Reference
- Python Reference — Full auto-generated API reference for every d3 class and method
- Type Stubs (d3.pyi) — Download type annotations for IDE autocompletion
- Useful Python Strings — Quick code snippets for common tasks
- API Changes — Changelog of Python API changes across Designer versions