Skip to content
catppuccinPublic

About

🐍 Soothing pastel library for Python & Matplotlib

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

158 stars

Watchers

4 watching

Forks

Latest commit

Β 

History

124 Commits

Folders and files

Repository files navigation

Logo
Catppuccin for Python

Installation

Install with pip or your preferred dependency management tool.

pip install catppuccin

Documentation

For an API reference and usage examples, see our online documentation.

IPython Theme

Install catppuccin[ipython] in the same environment as IPython, for example as a uv tool:

uv tool install ipython --with "catppuccin[ipython]"

or with pip:

pip install "catppuccin[ipython]"

If you don't have an IPython configuration file yet, create one with:

ipython profile create

Then add the following to your ipython_config.py:

c.TerminalInteractiveShell.true_color = True
c.TerminalInteractiveShell.colors = "catppuccin-mocha"

You can also switch themes interactively with %colors catppuccin-latte.

Available IPython themes:

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

Each theme also has a variant without italics, such as catppuccin-mocha:noitalic.

Important

This requires IPython 9.18 or newer.

IPython versions 9.0-9.17 are in a weird place where it requires an extension for the theme to work. I've chosen to skip that in the hope you can upgrade to 9.18 and use the new theme system. If you absolutely require support for these pre-9.18 versions, then open an issue explaining your situation and I will reconsider adding the extension as an option.

For IPython 8, install catppuccin[pygments] and use c.TerminalInteractiveShell.highlighting_style = "catppuccin-mocha" instead.

Contribution

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

Development

This project is maintained with uv. If you don't have uv yet, you can install it using the installation instructions.

Install the project's dependencies including extras:

uv sync --all-extras

Codegen

catppuccin/palette.py is generated by a build script based on the contents of palette.json.

To update after downloading a new palette JSON file:

uv run build.py

Formatting this file is done manually as with any other file, see Code Standards below.

Code Standards

All of the tools listed in this section are automatically installed by uv as part of the dev dependency group.

Unit Tests

Tests are run with pytest.

To run tests and display coverage:

pytest --cov catppuccin
Type Checking

Type checking is performed by mypy.

To run type checks:

mypy .
Lints and Formatting

Code linting and formatting is done by ruff.

To lint the code:

ruff check

To format the code:

ruff format

πŸ’ Thanks to

Β 

Copyright Β© 2022-present Catppuccin Org

About

🐍 Soothing pastel library for Python & Matplotlib

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

158 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages