You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
pre-commit-ci[bot] c5a975fe47
[] pre-commit autoupdate (#290)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]>
2 days ago
.github Bump docker/setup-buildx-action from 2.7.0 to 3.0.0 (#251) 8 months ago
docker Various infrastructure updates (#168) 1 year ago
docs [] pre-commit autoupdate (#240) 8 months ago
spiel [] pre-commit autoupdate (#267) 5 months ago
tests [] pre-commit autoupdate (#240) 8 months ago
.coveragerc Slide Transitions (#207) 1 year ago
.dockerignore make a Docker image and publish to GHCR (#15) 3 years ago
.gitignore Optimizations for `Image` and `Plot` (#37) 3 years ago
.pre-commit-config.yaml [] pre-commit autoupdate (#290) 2 days ago
LICENSE Initial commit 3 years ago Document slide content rendering and triggers (#188) 1 year ago
codecov.yml Set up infrastructure (#1) 3 years ago
mkdocs.yml [] pre-commit autoupdate (#240) 8 months ago
poetry.lock Bump requests from 2.31.0 to 2.32.0 (#287) 3 weeks ago
pyproject.toml Switch to Ruff (#226) 1 year ago
synthfile Slide Transitions (#207) 1 year ago


PyPI PyPI - License Docs status codecov Code style: black

GitHub issues GitHub pull requests

Spiel is a framework for building and presenting richly-styled presentations in your terminal using Python.

To see what Spiel can do without installing it, you can view the demonstration deck in a container:

$ docker run -it --rm

Alternatively, install Spiel (pip install spiel) and run this command to view the demonstration deck:

$ spiel demo present

The first slide of the demo deck The demo deck in "deck view"

Quick Start

If you want to jump right in, install Spiel (pip install spiel), create a file called, and copy this code into it:

from rich.console import RenderableType

from spiel import Deck, present

deck = Deck(name="Your Deck Name")

@deck.slide(title="Slide 1 Title")
def slide_1() -> RenderableType:
    return "Your content here!"

if __name__ == "__main__":

That is the most basic Spiel presentation you can make. To present the deck, run python You should see:

Barebones slide

Check out the Quick Start tutorial to continue!


To learn more about Spiel, take a look at the documentation.


If you're interested in contributing to Spiel, check out the Contributing Guide.