Skip to main content

CTk Theme Builder

CTk Theme Builder

The CTkV6 branch requires CustomTkinter 6.0.0 and supports label border width and colour editing.

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

On macOS, first check that the Python you plan to use has Tk support: python3 -m tkinter should open a small test window. If it fails to import _tkinter, follow the macOS Tk instructions before creating a virtual environment.

Recommended installation from PyPI, using a virtual environment:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install ctk-theme-builder

If you manage several Python versions, see the optional pyenv installation route.

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

Licence

Released under the MIT Licence. See LICENSE.

Metadata

Release files for ctk-theme-builder 6.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ctk-theme-builder 6.0.0
File Size Uploaded
ctk_theme_builder-6.0.0.tar.gz 7.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ctk-theme-builder 6.0.0
File Interpreter ABI Platform
ctk_theme_builder-6.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.9 MB

Release files / ctk_theme_builder-6.0.0.tar.gz

Download URL ctk_theme_builder-6.0.0.tar.gz
Size 7.4 MB
Tags Source
SHA-256 checksum
How to use checksums
2ec82c09ab82a46f579e9a315f7614c8973a3a227794b88e101cb9dfb876b329
BLAKE2b-256 checksum
How to use checksums
cbd0dd8ad04fb153593324a2843ecbb86bfefad70f9838051fcdbcdd0bdfc4a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / ctk_theme_builder-6.0.0-py3-none-any.whl

Download URL ctk_theme_builder-6.0.0-py3-none-any.whl
Size 7.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5c90d210863e26f3686ffa5dd5599d1e257871e55754c4b14382c11872e239b4
BLAKE2b-256 checksum
How to use checksums
d22c97e8ea9bd05f00f82814e35db271879921422c398e5bc628343c5f910153
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

6.0.0 This release

2 release files

5.2.0

2 release files

3.3.3

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.15

2 release files

3.2.14

2 release files

3.2.12

2 release files

3.2.11

2 release files

3.2.10

2 release files

3.2.9

2 release files

3.2.7

2 release files

3.2.4

2 release files

3.2.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page