A succinct matplotlib wrapper for making beautiful, publication-quality graphics. It builds upon ProPlot and transports it into the modern age (supporting mpl 3.9.0+).
Why UltraPlot? | Write Less, Create More
Checkout our examples
Below is a gallery showing random examples of what UltraPlot can do, for more examples checkout our extensive docs. View the full gallery here: Gallery.
Documentation
The documentation is published on readthedocs.
Installation
UltraPlot is published on PyPi and conda-forge. It can be installed with pip or conda as follows:
pip install ultraplot
conda install -c conda-forge ultraplot
The default install includes optional features (for example, pyCirclize-based plots). For a minimal install, use --no-deps and install the core requirements:
pip install ultraplot --no-deps
pip install -r requirements-minimal.txt
Likewise, an existing installation of UltraPlot can be upgraded to the latest version with:
pip install --upgrade ultraplot
conda upgrade ultraplot
To install a development version of UltraPlot, you can use pip install git+https://github.com/ultraplot/ultraplot.git or clone the repository and run pip install -e . inside the ultraplot folder.
If you use UltraPlot in your research, please cite the latest release metadata in CITATION.cff. GitHub can export this metadata as BibTeX from the repository’s “Cite this repository” panel, and the Zenodo badge below points to the project DOI across releases.
Release files for ultraplot 2.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ultraplot-2.6.0.tar.gz | 15.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ultraplot-2.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.0 MB
Release files / ultraplot-2.6.0.tar.gz
| Download URL | ultraplot-2.6.0.tar.gz |
|---|---|
| Size | 15.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
154938d458b0adba3640b6d377e00c937903036afb42931111592cce602161cb
|
|
BLAKE2b-256 checksum How to use checksums |
00015d47bd1befff2aff98b5e3678c8d1952a4fc7267dde8b9a0dfb4728df9ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 24, 2026.
Transparency logRelease files / ultraplot-2.6.0-py3-none-any.whl
| Download URL | ultraplot-2.6.0-py3-none-any.whl |
|---|---|
| Size | 13.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f1d5e7af0c6d9f69996fc171aa2a9429785ba9a4cbbd60a39d71e96b5166bc0
|
|
BLAKE2b-256 checksum How to use checksums |
28c1609cc795bc370d34f4311118b9b20a9f322e973dbf68e16af105f27a6f7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 24, 2026.
Transparency log