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
redto an abstracted name such ascolor1, similar tobase16. 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 referencetheme.integerto color neovimIntegerhighlight groups.
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 Distributions
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 hadalized-0.5.1-py3-none-any.whl.
File metadata
- Download URL: hadalized-0.5.1-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
530c3a2b488cf39a3d4c2ccf963ed1417dddf71e973de5c7b478f272b54af620
|
|
| MD5 |
0698ac688741b05234866c83ba2754fc
|
|
| BLAKE2b-256 |
19f4c945189d3be3e52308ea27ea8e8adc05c2ae2e9a6d3baae6d945a4776e7d
|