
Catppuccin for Python
Install with pip or your preferred dependency management tool.
pip install catppuccinGet access to the palette with the catppuccin.PALETTE constant:
from catppuccin import PALETTE
PALETTE.latte.colors.mauve.hex
# '#8839ef'
PALETTE.mocha.colors.teal.rgb
# RGB(r=148, g=226, b=213)The Palette data structure matches the palette JSON.
Both Palette and FlavorColors can be iterated to yield flavors and colors respectively:
for flavor in PALETTE:
print(flavor.name)
# Latte
# Frappรฉ
# Macchiato
# Mocha
for color in PALETTE.latte.colors:
print(f"{color.name}: {color.hex}")
# Rosewater: #f2d5cf
# Flamingo: #eebebe
# Pink: #f4b8e4
# ...
# Base: #303446
# Mantle: #292c3c
# Crust: #232634Palette, Flavor, Color et cetera are all dataclasses,
so you can also inspect and iterate their fields using methods from the dataclass module.
For example, to list all color names and their hex codes:
from dataclasses import fields
from catppuccin import PALETTE
flavor = PALETTE.frappe
for field in fields(flavor.colors):
color = getattr(flavor.colors, field.name)
print(f"{field.name}: {color.hex}")
# rosewater: #f2d5cf
# flamingo: #eebebe
# pink: #f4b8e4
# ...
# base: #303446
# mantle: #292c3c
# crust: #232634This package provides a Pygments style for each of the four Catppuccin flavors.
Install Catppuccin with the pygments feature to include the relevant dependencies:
pip install catppuccin[pygments]The styles are registered as importlib entrypoints, which allows Pygments to find them by name:
from pygments.styles import get_style_by_name
get_style_by_name("catppuccin-frappe")
# catppuccin.extras.pygments.FrappeStyleThe following style names are available:
catppuccin-lattecatppuccin-frappecatppuccin-macchiatocatppuccin-mocha
They can also be accessed by directly importing them:
from catppuccin.extras.pygments import MacchiatoStyleA minimal configuration:
c.TerminalInteractiveShell.true_color = True
c.TerminalInteractiveShell.highlighting_style = "catppuccin-mocha"Putting this into your IPython configuration
and ensuring catppuccin[pygments] is installed in the same environment will
give you Catppuccin Mocha syntax highlighting in the REPL. See here
for an example of a more complete configuration.
If you are looking to contribute, please read through our CONTRIBUTING.md first!
This project is maintained with Poetry. If you don't have Poetry yet, you can install it using the installation instructions.
Install the project's dependencies including extras:
poetry install --all-extrascatppuccin/palette.py is generated by a build script based on the contents of palette.json.
To update after downloading a new palette JSON file:
poetry run python build.pyFormatting this file is done manually as with any other file, see Code Standards below.
Before committing changes, it is recommended to run the following tools to ensure consistency in the codebase.
ruff format
ruff check
mypy .
pytest --cov catppuccinThese tools are all installed as part of the dev dependency group with
Poetry. You can use poetry shell to automatically put these tools in your
path.
ย
Copyright ยฉ 2022-present Catppuccin Org