Skip to content

Installing keyed

This page covers the basic installation process for the core keyed package.

keyed-extras Users

If you're a sponsor with access to keyed-extras, please follow the keyed-extras installation documentation instead, which includes all necessary instructions for both packages.

Note

Contributions improving the installation procedure or documentation are welcome!

keyed requires some non-Python dependencies for its rendering capabilities.

Dependency Required for Installation Priority
Cairo Core rendering functionality Required
FFmpeg Faster video rendering Recommended

Installation Methods

Choose the method that works best for your system:

(Recommended) conda - Any Platform

Create an environment.yml file:

environment.yml
name: keyed
channels:
- conda-forge
- nodefaults
dependencies:
- python<3.13,>=3.11
- ffmpeg
- cairo
- pip
- pip:
    - "keyed[previewer]"

After creating your environment.yml file, run:

conda env create -f environment.yml
conda activate keyed
Docker

The keyed:latest Docker image makes it possible to render keyed scenes from the command line. Run,

cat your_scene.py | docker run -i --rm ghcr.io/dougmercer/keyed:latest > output.mov

Limited Capabilities

Does not support the animation previewer window.

Ubuntu/Debian
sudo apt-get update && apt-get install -y \
    libcairo2-dev \
    pkg-config \
    python3-dev \
    gcc \
    ffmpeg  # Optional - enables faster rendering
pip install keyed[previewer]
macOS
brew install cairo pkg-config ffmpeg
pip install "keyed[previewer]"
Fedora
sudo dnf install cairo-devel pkg-config python3-devel ffmpeg
pip install keyed[previewer]
Arch
sudo pacman -S cairo pkgconf ffmpeg
pip install keyed[previewer]
openSUSE
sudo zypper install cairo-devel pkg-config python3-devel ffmpeg
pip install keyed[previewer]
Windows

(Untested!)

  1. Download and install cairo from https://www.cairographics.org/download/.
  2. Download and install ffmpeg from https://ffmpeg.org/download.html
  3. pip install keyed[previewer]

FAQ

What happens if I don't install ffmpeg?

keyed will use pyav as its rendering engine. In practice I found this to about twice as slow as ffmpeg.

I ran into some other problem...

Please create an issue on the keyed GitHub!