Skip to main content

Flanellograf [flanellogrˈaf]

Flanellograf is a tool for making presentations in the Python REPL (it is not a terminal user interface (TUI), at every slide you are in the interactive repl with access to the code from the slide).

This is a quick and dirty WIP prototype and making the slideshow interactive in the REPL involves some serious python hackery. There are ruff edges, beware.

A slide can contain a title, markdown content and Python code. Python code in the slide is ran as you go trough the presentation, meaning that any example in a slide can be further explained using the REPL.

Installation

The tool will work on Python 3.9 and above, however with the improvements to the REPL in Python 3.13, that version is recomended (especially the multiline editing feature, but built in syntax highlighting is also nice).

The code is published to PyPI so pip install flanellograf should work, it will also install it's only requirement rich.

You could also clone or zip this project and run pip install ..

It's prefered to install Flanellograf into a virtual environment regardless of installation method.

If you are presenting some code from your own project just add flanellograf as a dev-dependency and check the slides into git. This way the presentation can be part of the documentation of your project. You can use your development tools like linter and formaters, and even test your presentation (mind-blown) giving you a heads up if change break one of your slides.

Usage

For now flanellograf must be called as a module with a path parameter: python -im flanellograf path_to_folder_or_file

Any file found in path with the glob pattern **/board_*.py will be read as a board and listed in the TOC.

See the examples directory for how to make a board.

Navigation

A shorthand name for your board(s) are automatically made (they are listed in the TOC shown at startup). With the example board named board_example.py the shorthand becomes e.

~e : Refresh current slide (remove anything you have done in the REPL)

e : Next slide

-e : Previous slide

+e : Jump to first slide

e(n) : Jump to slide number n, where n is an integer. (Negative numbers count from the end)

Inspiration

Inspiration and ideas for making this tool.

Release files for flanellograf 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flanellograf 0.4.2
File Size Uploaded
flanellograf-0.4.2.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flanellograf 0.4.2
File Interpreter ABI Platform
flanellograf-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / flanellograf-0.4.2.tar.gz

Download URL flanellograf-0.4.2.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6160ea204cf259bb8b7ba9af8fb8d7bb6c26864c3fd2aa2481b138f86fc003ae
BLAKE2b-256 checksum
How to use checksums
ced8cfc23a761abcc2d5321e8634498547725f75f1fcfa6a3805c0d75118f8ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.8

Release files / flanellograf-0.4.2-py3-none-any.whl

Download URL flanellograf-0.4.2-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a66191582fd61c839107e2fc61e315dd5fb663998c8c4697d42e777781bd0db7
BLAKE2b-256 checksum
How to use checksums
c08f6c16504568e900408bcc99b81c53f154b43f08e95178db8caf9bd8a72b8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.8

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page