Karaoke effect templating engine for ASS subtitle files.
Project description
Pykara Templater
Pykara is a karaoke templating framework written in Python, inspired by the legacy Karaoke Templater from Aegisub.
Requirements
- Python 3.14 or higher
Installation
pip install pykara
Usage
pykara input.ass output.ass
pykara input.ass output.ass --json output.json # Export intermediate data
pykara input.ass output.ass --warn-only # Downgrade errors to warnings
pykara input.ass output.ass --seed 42 # Initial deterministic RNG seed
pykara input.ass output.ass --font-dir ./fonts # Prefer fonts from a directory
pykara input.ass output.ass --generated-only # Write only generated fx lines
See the documentation for the full reference.
Development
Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate
Install development dependencies:
pip install -e ".[dev]"
Code Quality & Testing
mdformat --check . # Validate Markdown formatting
ruff check pykara tests # Run lint rules
ruff format --check pykara tests # Verify Python formatting
pyright # Run static type checking
pytest --cov # Run test suite with coverage
License
Distributed under the MIT License.
Project details
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 pykara-0.3.tar.gz.
File metadata
- Download URL: pykara-0.3.tar.gz
- Upload date:
- Size: 929.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec73f2842c3617b3b9651c331692d6a46ee50af881b84aec6c8225c26895b49c
|
|
| MD5 |
43bcb15635e02915ea8ddbb0d4ff8c9c
|
|
| BLAKE2b-256 |
53805393a819d5b9743c95224fc6d9f56b01a131307f60610d9fc1764690fdff
|
Provenance
The following attestation bundles were made for pykara-0.3.tar.gz:
Publisher:
publish.yml on pandafansub/pykara
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pykara-0.3.tar.gz -
Subject digest:
ec73f2842c3617b3b9651c331692d6a46ee50af881b84aec6c8225c26895b49c - Sigstore transparency entry: 1757446880
- Sigstore integration time:
-
Permalink:
pandafansub/pykara@9ec2b32dab55f01f452215ae197f9c35b6ad1047 -
Branch / Tag:
refs/tags/0.3 - Owner: https://github.com/pandafansub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9ec2b32dab55f01f452215ae197f9c35b6ad1047 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pykara-0.3-py3-none-any.whl.
File metadata
- Download URL: pykara-0.3-py3-none-any.whl
- Upload date:
- Size: 144.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b57b4a5343104e5a4fbf1367b7926efaa999cb3a2ac1ae4565ca7b3004633ac
|
|
| MD5 |
3fd64004eba291a44bf2bec384058de6
|
|
| BLAKE2b-256 |
32aee24de8586a70cd9af174986be78e4b3dce7f8c9b7588c6f0ee9beea35a9c
|
Provenance
The following attestation bundles were made for pykara-0.3-py3-none-any.whl:
Publisher:
publish.yml on pandafansub/pykara
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pykara-0.3-py3-none-any.whl -
Subject digest:
7b57b4a5343104e5a4fbf1367b7926efaa999cb3a2ac1ae4565ca7b3004633ac - Sigstore transparency entry: 1757449149
- Sigstore integration time:
-
Permalink:
pandafansub/pykara@9ec2b32dab55f01f452215ae197f9c35b6ad1047 -
Branch / Tag:
refs/tags/0.3 - Owner: https://github.com/pandafansub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9ec2b32dab55f01f452215ae197f9c35b6ad1047 -
Trigger Event:
push
-
Statement type: