A tour of every primitive — in one deck.
async def functionsThis is the main content area, taking up two-thirds of the width.
This is the sidebar, taking up one-third.
A useful note.
This body region stretches to fill the available space.
Add more content and the body grows, but the header and footer stay put.
This is rows(["auto", 1, "auto"]) — the classic flexbox pattern.
Fixed footer — always at the bottom.
Rows inside columns inside rows — it all nests cleanly.
Each point appears on keypress:
Watch the countdown:
Combining keypress and timed reveals:
Loading...
25% complete
50% complete
75% complete
100% — Done!
Press right arrow to continue
New lines appear at the top, pushing down:
stable_top was forA neutral aside that doesn't fit the main flow.
Useful background context the reader may not know.
The migration completed; 42 rows updated.
This API will be deprecated in v3.0.
Connection refused — check that the server is running.
A function f:X→Y is continuous at x0 if for every ε>0 there exists δ>0 such that ∣x−x0∣<δ implies ∣f(x)−f(x0)∣<ε.
Every continuous function on a compact set attains its maximum.
By compactness, the image f(K) is compact in R, hence closed and bounded — so supf(K)∈f(K). ■
f(x)=x2 on [−1,1] attains its max value 1 at x=±1.
from auditorium import Deck
deck = Deck(title="My Talk")
@deck.slide
async def hello(ctx):
await ctx.md("# Hello, World!")
await ctx.step()
await ctx.md("This is **auditorium**.")
Euler's identity:
eiπ+1=0
The Gaussian integral:
∫−∞∞e−x2dx=π
| Method | Acc. | F1 |
|---|---|---|
| Linear | 0.81 | 0.79 |
| Tree | 0.86 | 0.85 |
| MLP | 0.89 | 0.88 |
ctx.show(obj) honors _repr_html_ / _repr_svg_ / _repr_png_ automatically.
Any Jupyter-aware object works — no adapters, no bundling.
Layout: simple, academic, comic, compact, minimalist, magazine, terminal
Color: light, dark, neon, print, solarized, pastel, mono
Mix and match: Deck(theme=["academic", "dark"])
fade — gentle opacityslide-left — horizontal slide-inslide-up — vertical liftzoom — subtle scale-innone — instant cuts (e.g. for print)Override per deck with Deck(transition=...) or per run with --transition.
github.com/apiad/auditorium