Keyed
Documentation: https://keyed.dev
Source Code: https://github.com/dougmercer/keyed
Keyed is a Python library for creating programmatically defined animations. Named after key frames, the defining points in an animation sequence, Keyed makes it easy to create sophisticated animations through code.
Features
- Reactive Programming Model: Built using the reactive programming library signified to make declaratively defining highly dynamic animations a breeze
- Vector Graphics: Cairo-based rendering for crisp, scalable graphics
- Flexible Shape System: Define basic lines, shapes, curves, and complex geometries
- Text and Code Animation: Animate syntax highlighted code snippets
Installation
Keyed requires a couple system level dependencies (e.g., Cairo and ffmpeg).
For detailed installation instructions visit our Installation Guide .
But, once you have the necessary system dependencies installed, installing keyed is as simple as,
pip install keyed
Project Status
This project is in beta, so APIs may change.
Alternatives
While I find keyed very fun and useful (particularly for animating syntax highlighted code in my YouTube videos), there are several other excellent and far more mature animation libraries that you should probably use instead.
Before you decide to use keyed, be sure to check out:
- Manim: Comprehensive mathematical animation system originally created by Grant Sanderson of the YouTube channel 3blue1brown, but later adopted and extended by the manim community.
- py5: A Python wrapper for p5, the Java animation library.
Metadata
Release files for keyed 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| keyed-0.2.1.tar.gz | 82.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| keyed-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 165.7 kB
Release files / keyed-0.2.1.tar.gz
| Download URL | keyed-0.2.1.tar.gz |
|---|---|
| Size | 82.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac89d64ad01485b3412f5b3bd68fb55e2881a590452d80ade5ecab0a099829df
|
|
BLAKE2b-256 checksum How to use checksums |
87ea2c77a3c00d851d87947f55b25c193274e9324a551aeb9995f0790cb1397b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 7, 2026.
Transparency logRelease files / keyed-0.2.1-py3-none-any.whl
| Download URL | keyed-0.2.1-py3-none-any.whl |
|---|---|
| Size | 82.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57dfa94d547b6c0ffc54438a48f2a0871dbee18370c7961adacd7901c7dd92c4
|
|
BLAKE2b-256 checksum How to use checksums |
c85cc721661cc2fc303f5f85f0e826293c347c759ffab63895f94e7b733fcad0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 7, 2026.
Transparency log