Skip to main content

Hadalized color theme builder.

Project description

hadalized color theme build

Python package with CLI to build hadalized-style application themes.

Introduction

The application can build any theme conforming to the hadalized Palette schema for any application with a BuildConfig and appropriate theme template.

The builtin hadalized color palettes are defined as oklch color values. Application theme templates are rendered with the appropriate color type (e.g., hex values for neovim). Under the hood the coloraide python package is used to transform between colorspaces and fit to gamuts.

Creating a theme builder arises from the desire to use the OKLCH color space as the basis for any application color theme. When developing the palette, it quickly becomes tedius to manually convert oklch values to their hex equivalents.

The builder primarily targets the neovim colorscheme files in hadalized.nvim, as that is the editor we primarily use.

Example CLI Usage

Assuming uv is installed,

uv run --exact hadalized build --out="build"

will produce rendered theme files for all builtin applications in ./build.

Development

Assuming uv and just are installed

uv sync --locked
source .venv/bin/evaluate
# make changes
just fmt
just check
just test
# commit changes

Roadmap / TODOs

  • Add to pypi.
  • Consider removing the "in-memory" cache functionality.
  • (A) Add ability to map named colors such as red to an abstracted name such as color1, similar to base16. Use these abstracted names color theme templates. This might be painful to work with in practice, as one has to keep the mapping in their head.
  • (B) As an extension of (A), consider lightweight pandoc inspired features where an intermediate and generic theme can be defined and referenced in editor templates. For example, allow a user to define integer = "blue" and reference theme.integer to color neovim Integer highlight groups.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

hadalized-0.5.0-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

Details for the file hadalized-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: hadalized-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 48.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hadalized-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70576bb820e45b8ba7411833bb877fd20bf0ebea6fe6ca74f83ab8c412adb926
MD5 52f0fc8ed14862c2c429e1b0dcb6b754
BLAKE2b-256 49a0546ace720715f3d3dfa4725ce6b721468d8f8ef2d068556cb82e7cbf8879

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