A desktop theme editor for building and previewing CustomTkinter themes.
Project description
CTk Theme Builder
CTk Theme Builder is a desktop editor for creating, previewing, and refining themes for CustomTkinter applications.
It provides a live, visual workflow for editing CustomTkinter theme colours, supported widget geometry, palettes, and theme metadata without hand-editing theme JSON files.
The application is designed to make iterative theme work practical: you can experiment with colours, compare light and dark appearance modes, reuse palette colours across a theme, and validate the result against realistic widget rendering as you work.
Features
- Live visual editing of CustomTkinter theme colours with immediate preview feedback
- Editing of supported widget geometry properties such as corner radius and border width
- Light and dark appearance-mode workflows, including copying and flipping values between modes
- Persistent theme palette for planning, reusing, and refining colours across a theme
- Colour harmonics generation from a keystone colour to help build coherent palettes
- Bundled icon browsing with CustomTkinter code-snippet generation for available Font Awesome icons
- Drag-and-drop, clipboard, and shade-adjustment workflows for fast colour iteration
- Palette-driven cascade updates for applying a colour across related widget properties
- Theme merge, import, and export support for reuse and distribution
- Provenance metadata for themes created and maintained in the builder
- Preview and validation support for realistic widget states, including disabled rendering
- Built-in theme and palette assets to help you get started quickly
Installation
Recommended installation from PyPI, using a virtual environment:
python -m venv .venv
source .venv/bin/activate
pip install ctk-theme-builder
On Windows PowerShell:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install ctk-theme-builder
Alternative install methods for users who already use uv:
uv pip install ctk-theme-builder
uvx --from ctk-theme-builder ctk-theme-builder
Usage
Launch the application:
ctk-theme-builder
Optional command-line arguments:
ctk-theme-builder --set-appearance Dark
ctk-theme-builder --set-theme /path/to/theme.json
To migrate themes and palettes from a legacy installation:
ctktb-migrate-assets /path/to/old/install
Requirements
- Python 3.10 to 3.13
- A desktop environment capable of running Tk-based GUI applications
Documentation
- Installation and upgrade notes: docs/installs-upgrades.md
- User guide: docs/UserGuide-3.3.md
- Release notes: release-notes-3.2.4.md
Licence
Released under the MIT Licence. See LICENSE.
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 ctk_theme_builder-3.3.3.tar.gz.
File metadata
- Download URL: ctk_theme_builder-3.3.3.tar.gz
- Upload date:
- Size: 5.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e154e9d49f98b101bb0862843c25d459b0242d93ac1f86c3f3dacea12de7f19c
|
|
| MD5 |
f0a1589a0a57816d5809bff84e0df262
|
|
| BLAKE2b-256 |
0938b8f9d9de9aa1b6e22843ed171c98b4bff46378ae4a6312f4e69d0caa7e80
|
File details
Details for the file ctk_theme_builder-3.3.3-py3-none-any.whl.
File metadata
- Download URL: ctk_theme_builder-3.3.3-py3-none-any.whl
- Upload date:
- Size: 5.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35e2f3db4eff99c4529a6603b1cbade1c171d4cff6a3e403bad225e630d17260
|
|
| MD5 |
9f500513b6d64b43b53d749101fb1a49
|
|
| BLAKE2b-256 |
4a142be4c97dc273f95d134dff387eac988b0dd94022a492100639edea251ff9
|