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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hadalized-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 47.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for hadalized-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45b36a823f284afdc7d483bcb0f4e34cff03f5e010ba7c463de8a1717ce6fe9d
MD5 414ff51e2b0dc88e85753b405d3678c6
BLAKE2b-256 71f24ad9f590ecac35283bf22a5385b975532cdf349ccab05524d65bef32e33d

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