p9customtheme
My personal plotnine theme package. You can use it but changes to the theme will appear with minimal versioning.
If you want a reproducible experience make sure to pin the version in your dependency.
Plotnine is awesome and a big thanks to the developers for making it.
Installation
Install this theme using pip ur uv:
uv pip install p9customtheme
Usage
You can simply install the package. Once you import it the theme is set as the default:
import p9customtheme
That is all you need.
Here is a more complete example showing also the color scale option:
from p9customtheme import custom_discrete, custom_theme
import plotnine as p9
from plotnine.data import penguins
(
p9.ggplot(penguins, p9.aes("species", "bill_length_mm", fill="island"))
+ p9.geom_boxplot()
+ custom_discrete()
+ p9.labs(
title="Penguin bill length by species and island".title(),
subtitle="A comparison based on example data",
x="species",
y="bill length [mm]",
fill="Island",
)
)
Development
To contribute to this tool, first checkout the code. Then create a new virtual environment:
cd p9customtheme
uv venv
source ./venv/bin/activate
Now install the dependencies and test dependencies:
uv pip install -e '.[test]'
Before any PR ensure the tests as passing with:
pytest .
Metadata
Release files for p9customtheme 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| p9customtheme-0.1.3.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| p9customtheme-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.5 kB
Release files / p9customtheme-0.1.3.tar.gz
| Download URL | p9customtheme-0.1.3.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
accb11efe8acb68832203e0a6268f71dc72ace9f0a109832d046bf78aec078b4
|
|
BLAKE2b-256 checksum How to use checksums |
264d7534d8078c083e6dcb5d4c0670de54f589c83e193c26fa99f679f9e02723
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 13, 2026.
Transparency logRelease files / p9customtheme-0.1.3-py3-none-any.whl
| Download URL | p9customtheme-0.1.3-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dacc29d21bd8d4be0f40b4ce296f9856275b4f0de22f262e598812ec700289a7
|
|
BLAKE2b-256 checksum How to use checksums |
e9961a8135d21a042f01e8af3e35d2b59511e28f850337c3fac7ce8064741dac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 13, 2026.
Transparency log