Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

cutlass (Python)

MoviePy-style Python bindings for the Cutlass video engine. Build a project with explicit tracks, place clips, animate properties, and export, all through a track-first object model over the pure-Rust timeline, GPU compositor, and platform-native exporter.

See api-design.md for the full v2 API reference.

Install

pip install --pre cutlass-py   # imports as `cutlass`

Wheels ship for macOS (Apple Silicon) and Windows (x64), Python 3.9+. The distribution is named cutlass-py (the bare cutlass name on PyPI belongs to an unrelated project); the module you import is cutlass. --pre is needed while releases carry a pre-release version (e.g. 0.5.3a0).

Install (from source)

Requires the Rust toolchain and maturin.

cd crates/cutlass-py
python3 -m venv .venv && source .venv/bin/activate
pip install maturin numpy
maturin develop --release      # builds + installs `cutlass` into the venv

Quick start

import cutlass
from cutlass import Project, Text, Solid

p = Project("demo", fps=30, canvas="16:9", background=(20, 20, 30))

bg = p.add_track("sticker", name="Background")
overlay = p.add_track("text", name="Titles")

bg.add(Solid((38, 42, 64, 255)), start=0.0, duration=2.0)
title = overlay.add(
    Text("Cutlass", size=220, color="#f0f0ff"),
    start=0.0,
    duration=2.0,
)
title.animate(opacity=[(0.0, 0.0), (0.5, 1.0)], easing="ease_out")

print(p)                      # Project(size=(1920, 1080), fps=30.000, duration=2.000s)
frame = p.get_frame(0.5)      # numpy uint8 array, shape (height, width, 4), RGBA
p.export("out.mp4")           # H.264/mp4 (+ AAC when audio clips exist)
p.save("demo.cutlass")

Object model

Project
├── media pool          p.import_media(path) -> Media
├── tracks              p.add_track(kind) -> Track
│   └── clips           track.add(content, start=...) -> Clip
│       ├── transform / crop / speed / volume
│       ├── effects     clip.add_effect(id) -> Effect
│       └── transition  clip.transition(id, duration=...)
└── render              p.get_frame(t), p.export(path)

Tracks are explicit. Create a track, then add clips to it. Content descriptors (Text, Solid, shapes, media.subclip(...)) describe what; track.add decides where and when.

Animation: set constants with properties (clip.opacity = 0.5) or keyframes with clip.animate(opacity=1.0, at=0.4) / batch curves clip.animate(opacity=[(0.0, 0.0), (0.4, 1.0)]).

Media import

import_media accepts probed video, audio, and still images (PNG, JPEG, and other formats the decoder recognizes). Stills register with kind == "image", a default duration of 5 seconds, and no audio. Place them on video tracks; the placement duration can exceed the pool default (the same frame holds).

clip = p.import_media("footage.mp4")
still = p.import_media("photo.png")
main = p.add_track("video")
main.add(clip.subclip(3.0, 8.0), start=0.0)
main.add(clip[3:8], start=0.0)   # slicing sugar
main.add(still, start=0.0, duration=10.0)  # hold the still for 10s

Track kinds

video, audio, text, sticker, effect, filter, adjustment. The kind must match the clip content (TrackKindError on mismatch): media goes on video/audio, Text on text, Solid, shapes, and Sticker on sticker. Sticker("heart") places a bundled sticker (static or animated); browse ids with cutlass.stickers().

Errors

Exception When
OverlapError Clips overlap on the same track
TrackKindError Wrong track kind for content
MediaError Import/probe failure
RenderError GPU frame or export failure

Development

maturin develop                     # debug build into the active venv
pip install pytest
python -m pytest tests/ -q          # full API suite (bootstraps its own mp4 via export)
python tests/smoke.py               # quick GPU frame smoke test
python examples/tour.py             # optional; needs sample media paths

Rust-side unit tests cover the pure conversion helpers. The test binary links libpython, so on macOS point dyld at the Python framework:

DYLD_FRAMEWORK_PATH="$(python3 -c 'import sys; print(sys.base_prefix.rsplit("/Python3.framework", 1)[0])')" \
    cargo test --no-default-features

Export: uses the platform-native encoder: Apple (VideoToolbox) and Windows (Media Foundation), both H.264 + AAC → mp4. Other platforms raise until their backends land.

Metadata

Release files for cutlass-py 0.5.3a1

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

Source distribution (sdist)

Source distribution for cutlass-py 0.5.3a1
File Size Uploaded
cutlass_py-0.5.3a1.tar.gz 762.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cutlass-py 0.5.3a1
File
cutlass_py-0.5.3a1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
cutlass_py-0.5.3a1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
cutlass_py-0.5.3a1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
cutlass_py-0.5.3a1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
cutlass_py-0.5.3a1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
cutlass_py-0.5.3a1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
cutlass_py-0.5.3a1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cutlass_py-0.5.3a1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
cutlass_py-0.5.3a1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
cutlass_py-0.5.3a1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
cutlass_py-0.5.3a1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
cutlass_py-0.5.3a1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 66.4 MB

Release files / cutlass_py-0.5.3a1.tar.gz

Download URL cutlass_py-0.5.3a1.tar.gz
Size 762.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ef7b9034c820a5eed26653b32dfa79656cc8f3bc1b450b538a4e4db48c46bce5
BLAKE2b-256 checksum
How to use checksums
f8e88a101a7a0ffd6894f63c89f51d9e37d2800a8667839aefde0d04cdabcd60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp314-cp314-win_amd64.whl

Download URL cutlass_py-0.5.3a1-cp314-cp314-win_amd64.whl
Size 5.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
29588111d91c9839941934fe0eb1171528531f3cfb3eea0007ba26644bf25dd2
BLAKE2b-256 checksum
How to use checksums
c5f27ba10abbcd92ef047a549d5110c228e164f0d58d08b20a33fdd5bbadd3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp314-cp314-macosx_11_0_arm64.whl

Download URL cutlass_py-0.5.3a1-cp314-cp314-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
82f481830b9813ce9e04aa88ad08f68ad2c614fc827108d6d4da1feb05d0ef3d
BLAKE2b-256 checksum
How to use checksums
1990bdf42500eabe9cc0d9112cd9c37f2dfb18fc3afa26be3826bf384c824f83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp313-cp313-win_amd64.whl

Download URL cutlass_py-0.5.3a1-cp313-cp313-win_amd64.whl
Size 5.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
dfce08076c14f7e4bef086aeff6491fe6f65dbf9b8636cb39048279f3cded06b
BLAKE2b-256 checksum
How to use checksums
fa76a6ef5bfc83451e1a355eab9dc898b2caa11f98bbc1317ad9f87c5d995f25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp313-cp313-macosx_11_0_arm64.whl

Download URL cutlass_py-0.5.3a1-cp313-cp313-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
037f3b78c987b43a7502c891a89a4b04fbab36ec90ecda9dc03ffca0b6d4083d
BLAKE2b-256 checksum
How to use checksums
cc42026a60af0b4d3035a32eb4a090709b56f58a9150c35a2ad5c0ff1373cb9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp312-cp312-win_amd64.whl

Download URL cutlass_py-0.5.3a1-cp312-cp312-win_amd64.whl
Size 5.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6b304c5ef6246966d918c0bd2181d4756100f3c7fc527a10229c12ca71ae16b2
BLAKE2b-256 checksum
How to use checksums
cfbf4228eda01e899a3a0add516edefa26d3863dd27aa6c87a65b64e5e52da57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp312-cp312-macosx_11_0_arm64.whl

Download URL cutlass_py-0.5.3a1-cp312-cp312-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
11166dc1d0cde2924f13b2734f735386be5e55d9c1bfad80f974678c70a806ee
BLAKE2b-256 checksum
How to use checksums
b5fa24bea57bf0120c90818a2c57cf8709817a10c972a27e1e53689f17aaa886
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp311-cp311-win_amd64.whl

Download URL cutlass_py-0.5.3a1-cp311-cp311-win_amd64.whl
Size 5.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
194a327a84da81d2cc6ba6e5aa8edb32123d2a43b9683d94f64f7acdfd2edf7a
BLAKE2b-256 checksum
How to use checksums
89588a7e5edb71e7f22956851dd08db26eb30338ad4717e5ca59c8743940b567
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp311-cp311-macosx_11_0_arm64.whl

Download URL cutlass_py-0.5.3a1-cp311-cp311-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1cb48308fae6bdf69e50875909932c1d8ff5ec13914e64293e242d23bbc61de1
BLAKE2b-256 checksum
How to use checksums
3af8d64882b96d64b3e61765785db7c8ebdc50c8c8bcc96d7b09d2a7976c87ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp310-cp310-win_amd64.whl

Download URL cutlass_py-0.5.3a1-cp310-cp310-win_amd64.whl
Size 5.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d9f2098ad6164c2d5050c0a2498450ea31e714f18acdc0d89635dbb2394577e7
BLAKE2b-256 checksum
How to use checksums
95eae5a8f2d8ebcac6880fdde89bb06c5662aba04a1ddd80abb8fa377967d490
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp310-cp310-macosx_11_0_arm64.whl

Download URL cutlass_py-0.5.3a1-cp310-cp310-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0df1e1add0e23bd0720299c51fef59a6360511879725e4fb821662e6e2eb856a
BLAKE2b-256 checksum
How to use checksums
14c7026e00ca959e8cfd1fd90da49519845abb2def16c443cf9213c6998a9ecb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp39-cp39-win_amd64.whl

Download URL cutlass_py-0.5.3a1-cp39-cp39-win_amd64.whl
Size 5.8 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
39ab7513e4431d363d0bddd2f870a4241112a38f936aa6c7a1e81871399f2b1b
BLAKE2b-256 checksum
How to use checksums
c63c9df1a447aaa7ad20b21a37f1c2b1ab1520633c0f207b58670bea7d799abd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release files / cutlass_py-0.5.3a1-cp39-cp39-macosx_11_0_arm64.whl

Download URL cutlass_py-0.5.3a1-cp39-cp39-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dc5ffa7e005c67be6257aa8933380ab72413f70a9423d3e7b66372f3e2439b84
BLAKE2b-256 checksum
How to use checksums
a65e5b25278d9e642e86299fc4a4de26cd3ab90182e7cf9e5774f78fef72d3d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.3a1 This release

13 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