python/README.md
2025-03-17 20:44:52 +00:00

135 lines
4.0 KiB
Markdown

<h3 align="center">
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
Catppuccin for <a href="https://www.python.org/">Python</a>
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
</h3>
<p align="center">
<a href="https://github.com/catppuccin/python/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/python?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
<a href="https://github.com/catppuccin/python/issues"><img src="https://img.shields.io/github/issues/catppuccin/python?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
<a href="https://github.com/catppuccin/python/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/python?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
</p>
## 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)
&nbsp;
<p align="center">
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" />
</p>
<p align="center">
Copyright &copy; 2022-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
</p>
<p align="center">
<a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
</p>