## 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](https://python.catppuccin.com/docs).
## IPython Theme
A minimal configuration:
```python
c.TerminalInteractiveShell.true_color = True
c.TerminalInteractiveShell.highlighting_style = "catppuccin-mocha"
```
Putting this into your [IPython configuration](https://ipython.readthedocs.io/en/stable/config/intro.html)
and ensuring `catppuccin[pygments]` is installed in the same environment will
give you Catppuccin Mocha syntax highlighting in the REPL. See [here](https://github.com/backwardspy/dots/blob/f6991570d6691212e27e266517656192f910ccbf/dot_config/ipython/profile_default/ipython_config.py)
for an example of a more complete configuration.
Available IPython themes:
- `catppuccin-latte`
- `catppuccin-frappe`
- `catppuccin-macchiato`
- `catppuccin-mocha`
## Contribution
If you are looking to contribute, please read through our
[CONTRIBUTING.md](https://github.com/catppuccin/.github/blob/main/CONTRIBUTING.md)
first!
### Development
This project is maintained with [uv](https://docs.astral.sh/uv/). If you
don't have uv yet, you can install it using the [installation
instructions](https://docs.astral.sh/uv/getting-started/installation/).
Install the project's dependencies including extras:
```
uv sync --all-extras
```
#### Codegen
[`catppuccin/palette.py`](./catppuccin/palette.py) is generated by a [build script](`./build.py`) based on the contents of [`palette.json`](./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`](#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`](https://docs.pytest.org/en/stable/).
To run tests and display coverage:
```
pytest --cov catppuccin
```
##### Type Checking
Type checking is performed by [`mypy`](https://www.mypy-lang.org/).
To run type checks:
```
mypy .
```
##### Lints and Formatting
Code linting and formatting is done by [`ruff`](https://docs.astral.sh/ruff/).
To lint the code:
```
ruff check
```
To format the code:
```
ruff format
```
## 💝 Thanks to
- [backwardspy](https://github.com/backwardspy)
- [Bram de Wilde](https://github.com/brambozz)
- [miloth](https://github.com/miloth)