Skip to main content

cutan

Cut-out animation for an: rigged characters, faces and expressions, lip-sync, swap sets and views, impacts, and cut-out styles, as a genre package on the an core.

pip install "an[cutout]"      # an + the stage + cutan
an character new maya --offline

an finds cutan through the an.genres entry point and loads it with an.genres.load() (the CLI and an.load(project) do). The scene format, rendering and the asset library are an's; see its README.

What is here

cutan registers with the core:

  • the character entity kind and the play and expression actions, the [emotion] dialogue sugar and the semantic checks that go with them (cutan.genre, cutan.characters, cutan.expression);
  • the rig, face, viseme, blink, gaze and swap-pose compile passes over the an.stage compiler (cutan.compile), and the mouth and eye visuals of the stage runtime (cutan/runtime/visuals.js);
  • the lip-sync providers offline, rhubarb and whisper (cutan.audio);
  • locomotion, speech, blink and turn methods with their requirements and defaults, and the cut-out vocabulary;
  • the an character … and an impacts … command namespaces;
  • the style lint (python -m cutan.verify.style VIDEO <style>) and the named style specs it measures against, shipped as package data: cutan.style_spec("south_park"), python -m cutan.styles to list them (the cutan-style skill applies one).

The cut-out bench corpus (misc/bench/), examples/ and the demo gallery (misc/demos/) live here too; cutan.bench.run_bench() runs the corpus through an's bench runner.

Names that never change

Moving the code renamed nothing that is stored. Scenes keep renderer: cutout, the genre keeps its slug cutout_animation, character descriptors keep their document kind and version, and asset ids keep their character. prefix. These names are in cutan/__init__.py. The old an.characters, an.expression, an.impacts, an.audio.offline_lipsync-style import paths still work in an, with a MovedModuleWarning.

Where data lives

The genre's asset library and agent-made projects live under ~/.local/share/cutan by default. Set CUTAN_HOME to move them. The core's own library (voices, sounds, fonts) stays under an's root, and a project reads both as one search path.

Working on cutan

Read CLAUDE.md. In short: pip install -e . --no-deps next to an editable an, then pytest. The tests that render need a headless browser (playwright install chromium) and ffmpeg.

Metadata

Release files for cutan 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cutan 0.0.8
File Size Uploaded
cutan-0.0.8.tar.gz 846.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cutan 0.0.8
File Interpreter ABI Platform
cutan-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / cutan-0.0.8.tar.gz

Download URL cutan-0.0.8.tar.gz
Size 846.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a1f86d40059710d0519b44f0828de28e19a7387da2612a14b07875ccc7afb7ad
BLAKE2b-256 checksum
How to use checksums
51589f21fd6e821320fe0e9ddb0da6fa6d51dc87614a2c74385950512426ba77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / cutan-0.0.8-py3-none-any.whl

Download URL cutan-0.0.8-py3-none-any.whl
Size 314.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1986d2e5bbc3372ba84eeadb5f9ec02a44eea1c55a5e4a1a625b20c8a701b773
BLAKE2b-256 checksum
How to use checksums
594ba93a92126f4296270eb49da43007fe8973283674f87187907b96c5c38831
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.0.53

2 release files

0.0.9

2 release files

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page