Agent-first harness for editing Kdenlive projects
Project description
harness-kdenlive
Agent-first Python package for safe, scriptable edits to .kdenlive project files.
- JSON-first CLI for LLM/tooling use
- Bridge-first architecture (no direct CLI fallback)
- Position-aware timeline editing (
add,move,trim,remove) - Validation, diffing, and snapshot history
Install
pip install harnessgg-kdenlive
Quick Start
harness-kdenlive bridge start
harness-kdenlive doctor --include-render
harness-kdenlive create-project edit.kdenlive --title "Agent Edit" --overwrite
harness-kdenlive import-asset edit.kdenlive C:\path\to\clip.mp4 --producer-id clip1
harness-kdenlive add-text edit.kdenlive "Intro Title" --duration-frames 75 --track-id playlist0 --position 0
harness-kdenlive stitch-clips edit.kdenlive playlist0 clip1 clip1 --position 75 --gap 10
harness-kdenlive inspect project.kdenlive
harness-kdenlive validate project.kdenlive
harness-kdenlive add-clip project.kdenlive producer1 playlist0 120 --output edited.kdenlive
harness-kdenlive diff project.kdenlive edited.kdenlive
harness-kdenlive render-project edited.kdenlive output.mp4
harness-kdenlive list-effects edited.kdenlive producer1
harness-kdenlive apply-effect edited.kdenlive producer1 brightness --effect-id fx1 --properties-json "{\"gain\":\"0.5\"}"
harness-kdenlive list-transitions edited.kdenlive
harness-kdenlive bridge soak --iterations 100 --duration-seconds 5
harness-kdenlive bridge verify --iterations 25
All commands print one JSON object to stdout. All editing commands require a running bridge.
Python API
from harness_kdenlive import KdenliveProject, TransactionManager
from harness_kdenlive.api import TimelineAPI
project = KdenliveProject("project.kdenlive")
timeline = TimelineAPI(project)
txn = TransactionManager(project)
with txn.transaction("Add intro clip"):
timeline.add_clip("producer1", "playlist0", position=0, in_point="0", out_point="49")
project.save("edited.kdenlive")
Docs
- Human commands:
docs/human/commands.md - LLM quickstart:
docs/llm/quickstart.md - LLM command spec:
docs/llm/command-spec.md - LLM bridge protocol:
docs/llm/bridge-protocol.md - LLM response schema:
docs/llm/response-schema.json - LLM error codes:
docs/llm/error-codes.md
Publishing
python -m pip install -e ".[dev]"
python -m build
twine check dist/*
GitHub Actions workflow for trusted publishing is in .github/workflows/publish.yml.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file harnessgg_kdenlive-0.4.0.tar.gz.
File metadata
- Download URL: harnessgg_kdenlive-0.4.0.tar.gz
- Upload date:
- Size: 48.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b32ec9657ed22558d19489e56db1cbd9ad3ba29723aa29c272997c15e4410687
|
|
| MD5 |
089a8a8e3136ad73962d68aae77b4066
|
|
| BLAKE2b-256 |
0dbcc4cee23f7edb1e49a759008bbc7b7013407bb152016a0572778e941b7ac1
|
Provenance
The following attestation bundles were made for harnessgg_kdenlive-0.4.0.tar.gz:
Publisher:
publish.yaml on Harnessgg/kdenlive
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
harnessgg_kdenlive-0.4.0.tar.gz -
Subject digest:
b32ec9657ed22558d19489e56db1cbd9ad3ba29723aa29c272997c15e4410687 - Sigstore transparency entry: 953453914
- Sigstore integration time:
-
Permalink:
Harnessgg/kdenlive@0792d5d8bb4083e55b4dec13c2245ae64b3d30f8 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/Harnessgg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@0792d5d8bb4083e55b4dec13c2245ae64b3d30f8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file harnessgg_kdenlive-0.4.0-py3-none-any.whl.
File metadata
- Download URL: harnessgg_kdenlive-0.4.0-py3-none-any.whl
- Upload date:
- Size: 47.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80de101a9e8a122436a770e3d3db80f76df269c40df051048a604812abcabab6
|
|
| MD5 |
4f814aa946fc209e0ab3a879dcbd0e42
|
|
| BLAKE2b-256 |
d9b46f2da66dd100ad03352738ecb7882df8b3cbc90b4c2d42a2ab90a5d2e4f6
|
Provenance
The following attestation bundles were made for harnessgg_kdenlive-0.4.0-py3-none-any.whl:
Publisher:
publish.yaml on Harnessgg/kdenlive
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
harnessgg_kdenlive-0.4.0-py3-none-any.whl -
Subject digest:
80de101a9e8a122436a770e3d3db80f76df269c40df051048a604812abcabab6 - Sigstore transparency entry: 953453915
- Sigstore integration time:
-
Permalink:
Harnessgg/kdenlive@0792d5d8bb4083e55b4dec13c2245ae64b3d30f8 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/Harnessgg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@0792d5d8bb4083e55b4dec13c2245ae64b3d30f8 -
Trigger Event:
release
-
Statement type: