Skip to main content

narratty

Turn a YAML script into a narrated terminal video. narratty types your commands in a real terminal (VHS), speaks the narration with local text-to-speech (Piper or Kokoro) and keeps voice and picture in sync. It runs sandboxed in Docker or Podman, or natively.

License: MIT

# demo.narratty.yaml
scenes:
  - id: intro
    narration: This is a quick tour of the repository layout.
    actions:
      - type_command: "eza --tree --level=1 ."
      - enter
uv tool install narratty            # or: pipx install narratty
narratty build demo.narratty.yaml   # writes demo.mp4

With Docker or Podman installed, the build runs in the ghcr.io/ditschi/narratty image and needs nothing else on the host. Without one, narratty doctor lists the tools native mode needs.

Documentation: https://ditschi.github.io/narratty/

Development

uv sync --extra dev
uv run pre-commit install
nox                                 # all quality gates (NOX_CI=1 skips auto-formatting)

See the contributor guide.

License

MIT

Metadata

Release files for narratty 0.1.0

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

Source distribution (sdist)

Source distribution for narratty 0.1.0
File Size Uploaded
narratty-0.1.0.tar.gz 215.5 kB Details

Built distribution (wheel)

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

Total release size: 284.6 kB

Release files / narratty-0.1.0.tar.gz

Download URL narratty-0.1.0.tar.gz
Size 215.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d02c298fdd1b99b435958adbd1d49f383f7ad53f6516d1f9e9789ab275bd2f3a
BLAKE2b-256 checksum
How to use checksums
0f06cba26b9934d9440b8b8ffc1416dd91219eab595ad7409dd0953406e847d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release files / narratty-0.1.0-py3-none-any.whl

Download URL narratty-0.1.0-py3-none-any.whl
Size 69.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b33bd332e99ee11ac2910b8cf4f348bf51805f036836729f788326b3ed23901e
BLAKE2b-256 checksum
How to use checksums
4f36d2c786a6718f9b4ac477ee5c9755fa7e7fb41d8ad3795705185f847f1f58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

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