mkdeck turns Markdown or Python into HTML slide decks. Each deck uses reveal.js, draws math with KaTeX, and plays Brax robot runs offline.
Install
Try mkdeck once, with nothing installed:
uvx mkdeck new talk
uvx mkdeck serve talk
Install the command to use it every day. mkdeck needs Python 3.11 or newer:
uv tool install mkdeck # or: pip install mkdeck
Quickstart
mkdeck new talk # create talk/deck.md, talk/deck.yml, talk/assets/
mkdeck serve talk --open # preview the deck, and reload when you save
mkdeck build talk --out site # write a folder that you can publish
mkdeck build talk --single-file --out talk.html # write one HTML file
mkdeck export talk --out talk.pdf # print a PDF (needs the check extra)
Example
A slide is a block of Markdown, and a --- line starts the next slide. This deck has two slides:
---
title: Vault runs
---
Five of five seeds cross the wall at 22 N m.

---
The torque cap decides the outcome.
| Cap | Crossings |
| --- | --- |
| 18 N m | 2 |
| 22 N m | 5 |
mkdeck adds a title slide, frames the HTML page as a figure, and marks each number in a darker ink.
What you can do
- Write slides in Markdown with layouts, bullets, tables, and speaker notes.
- Show live figures, such as a Plotly chart or any HTML page.
- Convert Brax pages into rollouts that play offline.
- Draw math with KaTeX and diagrams with Mermaid. Diagrams load Mermaid from a CDN.
- Build a folder or one file, then check every slide and export a PDF. Both commands need the
checkextra. - Generate a deck from Python when your slides report computed numbers.
- Restyle a deck with CSS variables, and add your own components.
Read the full documentation, or look up a command in the CLI reference.
Contribute and license
Bug reports and pull requests are welcome, so read CONTRIBUTING.md first.
mkdeck is MIT licensed. The package also carries reveal.js, KaTeX, three.js, and the KaTeX and Roboto fonts under their own licenses. See THIRD_PARTY_NOTICES.md.
Metadata
Release files for mkdeck 0.1.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 | |
|---|---|---|---|
| mkdeck-0.1.1.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdeck-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.9 MB
Release files / mkdeck-0.1.1.tar.gz
| Download URL | mkdeck-0.1.1.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eeb5d99d873b2fac44566e8e03e92bc76f58a021b6592df6e506df1c12de9ae0
|
|
BLAKE2b-256 checksum How to use checksums |
583bbb336d2414952b1892e8468270cda2a46240e8bb140a2f2667a011f1ade3
|
| 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 Oct 8, 2026.
Transparency logRelease files / mkdeck-0.1.1-py3-none-any.whl
| Download URL | mkdeck-0.1.1-py3-none-any.whl |
|---|---|
| Size | 848.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0f6402180ad5cf66a3193b297488d15446688a11834b78d58b25f840957f173
|
|
BLAKE2b-256 checksum How to use checksums |
55ae71e353b02fb481c5bf522ea3acbfd2849f83bc2ab1fa62178f8a1cb2d2a6
|
| 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 Oct 8, 2026.
Transparency log