Skip to main content

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)

Source distribution for luminafx 0.5.0
File Size Uploaded
luminafx-0.5.0.tar.gz 252.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for luminafx 0.5.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.5.0 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page