CLI for creating, exporting, viewing, and editing Trazzo brush archives (.tzb)
Project description
trazzo-tools
CLI for creating, exporting, viewing, and editing Trazzo brush archives (.tzb).
Requirements
- Python 3.10+
Installation
From PyPI (stable)
pip install trazzo-tools
After installation, the trazzo-tools command will be available in your terminal.
Local development
Clone the repository and install in editable mode:
git clone https://github.com/EralexFl/trazzo-tools-cli.git
cd trazzo-tools-cli
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Environment variables
The project loads configuration from a .env file in the project root (via python-dotenv). You can create this file or export the variables directly:
# .env
EXTENSION=tzb
FORMAT_VERSION=trazzoBrush-V1
DB_JOURNAL_MODE=wal
DB_FOREIGN_KEYS=1
| Variable | Default | Description |
|---|---|---|
EXTENSION |
tzb |
File extension for brush archives |
FORMAT_VERSION |
trazzoBrush-V1 |
Format version identifier stored in the archive |
DB_JOURNAL_MODE |
wal |
SQLite journal mode (e.g. wal, delete, off) |
DB_FOREIGN_KEYS |
1 |
Enable (1) or disable (0) SQLite foreign key enforcement |
Commands
create
Creates a .tzb archive from a brush definition.
trazzo-tools create --data brush.json [--preview preview.png] [--texture texture.png] [--output ./output]
| Option | Short | Required | Description |
|---|---|---|---|
--data |
-d |
Yes | Path to JSON brush definition |
--preview |
-p |
No | Path to preview image. If omitted, auto-generated from brush params |
--texture |
-t |
No | Path to texture image |
--output |
-o |
No | Output directory (default: .) |
Output: <output>/<name>.tzb
export
Exports a .tzb archive back to its source files.
trazzo-tools export brush.tzb [--output ./output]
Output:
<name>.json— brush definition<name>_preview.png— preview image<name>_texture.png— texture image
view
Displays the contents of a .tzb archive.
trazzo-tools view brush.tzb
edit
Edits a .tzb archive. Without flags, enters interactive mode.
# Interactive mode
trazzo-tools edit brush.tzb
# Direct mode (applies changes without prompting)
trazzo-tools edit brush.tzb --name "New Name" --radius 35.0
| Option | Type | Description |
|---|---|---|
--name |
string | Brush name |
--author |
string | Author |
--engine |
string | Engine (pixel) |
--category |
string | Category (pen) |
--radius |
float | Radius |
--opacity |
float | Opacity (0.0–1.0) |
--hardness |
float | Hardness (0.0–1.0) |
--spacing |
float | Spacing |
--flow |
float | Flow (0.0–1.0) |
--jitter |
float | Jitter |
--rotation |
float | Rotation (degrees) |
--elliptical-ratio |
float | Elliptical ratio |
--elliptical-angle |
float | Elliptical angle |
--shape |
string | Dab shape (circle, square, diamond) |
--eraser / --no-eraser |
bool | Eraser mode |
--blend-mode |
string | Blend mode (normal) |
--rotation-random |
float | Rotation random |
--rotation-zoom |
float | Rotation zoom |
--size-pressure / --no-size-pressure |
bool | Size pressure |
--opacity-pressure / --no-opacity-pressure |
bool | Opacity pressure |
--preview |
string | Path to preview image |
--texture |
string | Path to texture image |
Brush definition (JSON)
{
"name": "My Brush",
"author": "Author",
"engine": "pixel",
"category": "pen",
"format": "tzbrush-v1",
"params": {
"radius": 20.0,
"opacity": 1.0,
"hardness": 0.8,
"spacing": 0.3,
"flow": 1.0,
"jitter": 0.0,
"rotation": 0.0,
"ellipticalRatio": 1.0,
"ellipticalAngle": 90.0,
"shape": "circle"
},
"modifiers": {
"eraser": false,
"blendMode": "normal",
"rotationRandom": 0.0,
"rotationZoom": 0.0,
"sizePressure": false,
"opacityPressure": false
}
}
.tzb format
A .tzb file is a SQLite database with the following tables:
| Table | Description |
|---|---|
brushes |
General brush info (name, author, engine, category) |
brush_params |
Stroke parameters |
brush_modifiers |
Behavior modifiers |
brush_texture |
Texture image (blob) |
brush_preview |
Preview image (blob) |
tzb_meta |
Format metadata |
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 trazzo_tools-1.1.0.tar.gz.
File metadata
- Download URL: trazzo_tools-1.1.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ce51727c39a377d937b8589c4ae62f0c36f828ce63fbf1da19a303354cb25d8
|
|
| MD5 |
71b26dfae616ad5a6cc82d5de79cd687
|
|
| BLAKE2b-256 |
4e4154985c6933b1e1403ce45b26baabe1ee04278fd95245f3e66d65fcde6041
|
File details
Details for the file trazzo_tools-1.1.0-py3-none-any.whl.
File metadata
- Download URL: trazzo_tools-1.1.0-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbfc59c28fb69f06819d34e19f2567a17d8be073205b744778f2f9f87db262e5
|
|
| MD5 |
e6fc9d847397a1ced0473a574276bb60
|
|
| BLAKE2b-256 |
6db54b1e71474ae14b4158bf362c86a735f3fb1a56987ff25276aba5b6fb1791
|