Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trazzo_tools-1.1.0.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trazzo_tools-1.1.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

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

Hashes for trazzo_tools-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0ce51727c39a377d937b8589c4ae62f0c36f828ce63fbf1da19a303354cb25d8
MD5 71b26dfae616ad5a6cc82d5de79cd687
BLAKE2b-256 4e4154985c6933b1e1403ce45b26baabe1ee04278fd95245f3e66d65fcde6041

See more details on using hashes here.

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

Hashes for trazzo_tools-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbfc59c28fb69f06819d34e19f2567a17d8be073205b744778f2f9f87db262e5
MD5 e6fc9d847397a1ced0473a574276bb60
BLAKE2b-256 6db54b1e71474ae14b4158bf362c86a735f3fb1a56987ff25276aba5b6fb1791

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page