Catppuccin for python

View on GitHub

Installation

Install with pip or your preferred dependency management tool.

pip install catppuccin

Usage

>>> from catppuccin import Flavour
>>> Flavour.latte().mauve.hex
'8839ef'
>>> Flavour.mocha().teal.rgb
(148, 226, 213)

Flavour is a dataclass, so you can inspect its fields to get access to the full set of colour names and values:

>>> from dataclasses import fields
>>> flavour = Flavour.frappe()
>>> for field in fields(flavour):
        colour = getattr(flavour, field.name)
        print(f"{field.name}: #{colour.hex}")
rosewater: #f2d5cf
flamingo: #eebebe
pink: #f4b8e4
...
base: #303446
mantle: #292c3c
crust: #232634

Pygments Styles

This package provides a Pygments style for each of the four Catppuccin flavours.

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.FrappeStyle

The following style names are available:

  • catppuccin-latte
  • catppuccin-frappe
  • catppuccin-macchiato
  • catppuccin-mocha

They can also be accessed by directly importing them:

from catppuccin.extras.pygments import MacchiatoStyle

Contribution

If you are looking to contribute, please read through our CONTRIBUTING.md first!

Development

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 -E pygments

Code Standards

Before committing changes, it is recommended to run the following tools to ensure consistency in the codebase.

isort .
black .
pylint catppuccin
mypy .
pytest --cov catppuccin

These 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.

💝 Thanks to