mate is a Python application for creating presentations by writing Markdown files. The goal is to build aesthetically pleasing presentations in a short amount of time while staying highly customizable and versatile: the content is plain Markdown, and the details can be tweaked with a short, clean syntax (or at least that's the intention).
The idea behind mate is to create slides fast, in a declarative and programmatic way, and let the template take care of arranging things and giving them their look. Since the content knows nothing about the aesthetics, restyling a whole presentation amounts to switching its template.
Templates get a lot of freedom and tools, and they are constructive: a template can be as small as a background change or as ambitious as a full visual identity, with its own functions and slide designs, and a deck can combine several of them.
Features
- Slides are written in plain Markdown:
#opens a slide, and bold, italics, code and math work as usual. - Whatever Markdown cannot express, the extended syntax can: any element of a slide can be created, styled, positioned and aligned.
- Templates control fonts, colors, backgrounds and slide logic. Use a built-in one, or write your own as a small Python file next to your deck.
- Slides reveal their content in stages, with a versatile system of pauses, in-place reveals and overwrites.
- There is a drawing API as well: shapes, Bézier curves, images and gradients can go on a slide alongside the text.
mateis fast: everything is heavily cached, so builds stay quick even for large decks.- There is nothing else to install: no LaTeX, no external tools. The rendering backend ships inside the package.
Getting started
To get mate, all you need is yerba:
pip install yerba
Write a deck:
# A slide title
Some content with **bold**, _italic_ and inline $x^2$ math.
Words can be styled in place: [this is red][color="red"], and
[this is translucent and smaller][opacity=0.4, fontsize=7].
> pause
- Bullet points work as usual
- and this list appears after the pause.
# Another slide
## With a subtitle
More content.
and build it:
mate slides.md
The PDF lands next to the source, as slides.pdf.
See the docs for the full Markdown syntax, front matter, templates, and the Python API.
If you want to write the slides with the help of an LLM, docs/llm.md is (hopefully) all you need to give it.
Backends
The code is built to support different backends. Typst is the only one supported today; new backends will follow once the current one is fully functional and free of known bugs.
License
MIT. The bundled fonts keep their own licenses (SIL OFL 1.1, under fonts/).
Metadata
Release files for yerba 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| yerba-0.4.1.tar.gz | 736.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| yerba-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / yerba-0.4.1.tar.gz
| Download URL | yerba-0.4.1.tar.gz |
|---|---|
| Size | 736.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7617542f920d62d9466c652fca3e21cfa773bdd10f1bafdb222530a49e88bcb5
|
|
BLAKE2b-256 checksum How to use checksums |
2826cb13736bc86f9772f87ea3d0392d2a817d654386d7ed2e4c0ad231548739
|
| 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 Sep 13, 2026.
Transparency logRelease files / yerba-0.4.1-py3-none-any.whl
| Download URL | yerba-0.4.1-py3-none-any.whl |
|---|---|
| Size | 750.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19ac38163928af41b8f5855b5fb9c8cbca42dd315148864eb6d327a1a4daccef
|
|
BLAKE2b-256 checksum How to use checksums |
34db318317e8839a0eb743adde7651137e35eb5f6b93a18d44b03af14457120b
|
| 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 Sep 13, 2026.
Transparency logSecurity for yerba 0.4.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for yerba-0.4.1.tar.gz
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 Sep 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.