Skip to content
Aphelion

v0.1.0 · Python 3.11+

Write Aphelion plugins in Python

A plugin imports aphelion_sdk and nothing else. Editor internals are off limits, which is what lets a plugin keep working across releases.

Video effects are supported. Audio plugin bases are not available yet.

Repository: github.com/aphelion-engine/aphelion-sdk

Releases

Public API

The public surface is small on purpose. Full reference in the SDK docs.

VideoEffectPlugin
Subclass it, declare plugin_name and plugin_category, and implement process_frame.
register_plugin
Class decorator that adds the plugin to the node list on startup.
Property factories
slider_property, toggle_property, choice_property, color_property, text_property, number_property and custom_property build inspector controls.
Frame and ColorRgb
Frame is a float32 RGB array in the 0 to 1 range, the same buffers the graph passes around.
PanelWidget and DialogWidget
Attach docked panels and popup dialogs to a plugin with widgets = (...). They render with host primitives or, if you prefer, PyQt6 widgets directly.
Discovery helpers
get_registered_plugins and discover_installed_plugins are available for tools that need to inspect what is loaded.

Install

Install the published package

Command
pip install aphelion-plugin-sdk

Or install from a checkout of this repository

Command
pip install -e ./aphelion-sdk

Installing the editor already pulls the SDK in, so this is only needed when you are building plugins somewhere else.

Examples

Drop a plugin file into plugins/ or userdata/plugins/ and reload it from Preferences, under Plugins.