kinemo documentation

kinemo is a Python library for explanatory animations (math, algorithms, engineering, data) with a native Rust core, live preview and an API designed to be written by people and by AI without mistakes.

Guides

Read them in order the first time; each one builds on the previous.

# Guide What you learn
1 Getting started Install, first scene, the check → dev → render loop
2 Mental model Build → resolve → render, the cursor, .now vs x(), the seven rules
3 Timeline play/start/wait, composition, during, tempo, marks, clips
4 Objects and layout Lifecycle, props, constraints, containers, groups, copies
5 Animations Verbs, easing, morphs, emphasis, motion along paths
6 Reactive values Signals, expressions, tracing, k.python, time
7 Components k.Component with props, outs and events; context
8 Events and simulation k.when, handlers, wait_for, integrals, simulations, trails
9 Text, math and code Markup and parts, LaTeX without TeX, code highlighting and morphs
10 Charts and data Axes, plots, zoom, polar axes, bar/line charts, tables, Arrow data
11 Mass objects Points, vector fields and stream lines drawn in batches
12 Media Images, SVG with addressable parts, braces, boolean shapes
13 Output Video/GIF/PNG/SVG/slides, quality, parameters, movies, voice
14 Tooling check, inspect, snap, dev, --fix, testing with pytest
15 AI agents The agent loop, llms.txt, JSON outputs, the MCP server

Reference

  • API reference — every public symbol, with signatures, props, parameters and canonical examples (generated from the code).
  • Diagnostics — every error and lint code with its fix.
  • CLI — every kinemo command and option.
  • Configuration — kinemo.toml, @k.scene options, sizes and quality presets.
  • llms.txt — the compact reference for language models.

More

  • Examples — complete scenes with rendered frames.
  • Caveats — behaviors that surprise people, known limitations, workarounds.
  • Specification — the design document kinemo implements.
  • Implementation status — what this release delivers and the decisions it made.

Keeping the docs current

The API reference, llms.txt and the example gallery are generated; tests fail when the committed files drift from the code:

python -m kinemo.docs.markdown docs/reference   # API reference
python -m kinemo.docs.llms > docs/llms.txt      # reference for language models
python scripts/build_gallery.py                 # example pages and frames