An open API service indexing awesome lists of open source software.

https://github.com/spirali/fairyflow

Python-driven tool for creating animated slides and general-purpose animations
https://github.com/spirali/fairyflow

Last synced: about 2 months ago
JSON representation

Python-driven tool for creating animated slides and general-purpose animations

Awesome Lists containing this project

README

          

# FairyFlow — animated slides & animations in Python


FairyFlow logo


Documentation ·
Get started ·
Examples

---

**FairyFlow** is a Python-driven tool for creating animated slides and general-purpose animations. You write plain Python, and FairyFlow evaluates it live in an interactive environment that keeps your code, scene tree, and rendered result in sync.


FairyFlow interactive environment

## Key features

- **Python-first authoring** — animations are plain `.py` scripts; no DSL to learn
- **Live interactive environment** — edit code, press Ctrl+Enter, see the result instantly
- **Easy scene exploration** — code editor connects code, the scene tree, and elements in rendered image
- **Vector scene graph** — scenes are stored as vector graphics and rasterized at the last moment, so any output resolution is lossless
- **Presentation cues** — `cue()` pauses the player for click-to-advance presentations
- **Multiple export formats** — standalone `.ffpkg` player package, MP4 video, and multi-page PDF
- **Performant backend** — Backend is implemented in Rust

## Documentation

****

## Quick start

```bash
pip install fairyflow

fairyflow init my_project
fairyflow open my_project
```

`fairyflow open` starts a local web server and prints the URL to the interactive studio. Open `scenes/scene1.ffpy` in the editor, write some code, and press Ctrl+Enter to evaluate:

```python
with Scene():
stext("Hello world!").fade_out()
```

## Project layout

```
my_project/
├── fairyflow.toml ← project settings (fps, prologue path)
├── prologue.py ← shared imports and defaults for all scenes
├── scenes/
│ └── scene1.ffpy ← animation code
└── sequences/
└── sequence1.ffsq ← ordered playlist of scenes for export
```

## License

MIT — see [LICENSE](LICENSE).