Lumina — Python SDK
Python bindings for the Lumina animation engine. Write a
declarative scene as a Python dict, validate it, and render to MP4 or a PNG
sequence — all in-process, no subprocess shell-out.
Install (from source)
pip install maturin
cd sdks/python
maturin develop --release # builds the `lumina` extension into your venv
(ffmpeg must be on PATH for MP4 export.)
Usage
import luminafx
scene = {
"version": "1.0",
"meta": {"title": "Hello", "author": "you", "created_at": "2026-05-25"},
"canvas": {"width": 1280, "height": 720, "fps": 60, "duration": 2.0, "background": "#0F0F1A"},
"objects": {
"dot": {"type": "Circle", "properties": {"cx": 640, "cy": 360, "radius": 80, "fill": "#F78166"}}
},
"timeline": [
{"time": 0.0, "object": "dot", "state": {"opacity": 0.0}, "easing": "linear"},
{"time": 1.5, "object": "dot", "state": {"opacity": 1.0}, "easing": "ease_out_cubic"},
],
}
report = luminafx.validate(scene) # {"valid": True, "errors": [], "warnings": [...]}
assert report["valid"], report["errors"]
luminafx.render(scene, "hello.mp4", format="mp4") # or format="png" → frame dir
schema = luminafx.schema() # the LSF JSON Schema as a dict
See examples/from_anthropic.py for the
LLM → validate → render round-trip.
API
| Function | Description |
|---|---|
luminafx.validate(scene: dict) -> dict |
Semantic validation; returns {valid, errors, warnings} with fix_suggestion strings. |
luminafx.render(scene: dict, output_path: str, format="mp4") |
Render to MP4 or a PNG sequence directory. |
luminafx.schema() -> dict |
The LSF JSON Schema, for IDE/agent autocompletion and pre-validation. |
Metadata
Release files for luminafx 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| luminafx-0.5.0.tar.gz | 252.2 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| luminafx-0.5.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| luminafx-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| luminafx-0.5.0-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 14.1 MB
Release files / luminafx-0.5.0.tar.gz
| Download URL | luminafx-0.5.0.tar.gz |
|---|---|
| Size | 252.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53037c06bbe03f36098620fa5d195ded02aabdba5c2a0ed0f4e06992ffcd1681
|
|
BLAKE2b-256 checksum How to use checksums |
1e282bf1be4318bd2664c714ce23ca603b6e14e0193180ef53e43988b8b0dbf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / luminafx-0.5.0-cp39-abi3-win_amd64.whl
| Download URL | luminafx-0.5.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 4.4 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
dddd02de6a56c2f2bec75f919c965f010364e911f916a524d08433ed93f1c810
|
|
BLAKE2b-256 checksum How to use checksums |
361a15f4bce71e52a41f1ba0f79d2b3c16bcb82b06028fe61c4a7211a6feda81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / luminafx-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | luminafx-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.0 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e754c7b998441284bd2472630203f62efc98c6c31d23df2c0a81f23a16fd93d6
|
|
BLAKE2b-256 checksum How to use checksums |
779168fe4fd6b94010e7e014ec7cce83541ebdfcc8fadb5c47ae709ddbf0e305
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / luminafx-0.5.0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | luminafx-0.5.0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.4 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9379f3b028cfa890f73668378f2ef3d60418a48e8ac7ddd77957b27931821d33
|
|
BLAKE2b-256 checksum How to use checksums |
2ee1a5c1185fa06fe1d84ef6a577104d638e8a81e6eab27dd602ba899f3e04cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|