Skip to content

About

Typed Python bindings for fframes video rendering

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Repository files navigation

fframes-py

The power of fframes with the simplicity of Python.

Tests Coverage PyPI

Documentation · Example · Agent skill

Quick start

pip install fframes-py

Or with uv:

uv add fframes-py

Render a three-second title card:

from fframes.compose import Composition, Position, Rectangle, Text, Tween, Video

video = Video(
    resolution=(1280, 720),
    fps=30,
    composition=Composition(
        duration=3,
        children=(
            Rectangle(size=(1280, 720), fill="#172033"),
            Text(
                content="Hello, frames",
                position=Position(x="center", y="center"),
                font_size=64,
                fill="#FFD43B",
                opacity=Tween(from_value=0, to_value=1, duration=1),
            ),
        ),
    ),
)
video.render("hello.mp4")

Text uses system fonts; supply font files for reproducible layout. For repeated previews or exports, reuse video.compile().

Low level

Render a one-second sequence of SVG frames:

import fframes

svg = (
    '<svg xmlns="http://www.w3.org/2000/svg" width="640" height="360">'
    '<rect width="640" height="360" fill="#3776AB"/></svg>'
)
native = fframes.compile_video(fframes.VideoConfig(width=640, height=360, fps=30), (svg,) * 30)
fframes.render(native, "frames.mp4")

See low-level operations for scalar animation and frame sampling.

About

Typed Python bindings for fframes video rendering

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages