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.4.4-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hadalized-0.4.4-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.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c14ab44049f6b93b4fa392bc67b0d24bdd62b4fa623f06ed46f8e9994e3f4452
MD5 740bbc964eedcc6ec05c4b8681cc2650
BLAKE2b-256 e0118da578218ee6d8fc4d5361e130ef74d42aa3955344aef9d187674362f337

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