Skip to main content

Tool for making presentations using the Python REPL

Project description

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 use pipx virtual environments are automatically handled.

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.

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)

e>>n : Jump n slides forward

e<<n : Jump n slides backward

Inspiration

Inspiration and ideas for making this tool.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flanellograf-0.4.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flanellograf-0.4-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file flanellograf-0.4.tar.gz.

File metadata

  • Download URL: flanellograf-0.4.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for flanellograf-0.4.tar.gz
Algorithm Hash digest
SHA256 8fd253fe7010681f758f2a5a426edfee476daef0d8e4aadedb03945f05187c6e
MD5 22b1c35d178447ed78f3949f0a1cf565
BLAKE2b-256 3c2fea79efb7eb6aec1714b1ecdcf942f04ad0ab971848717f868f56888d84af

See more details on using hashes here.

File details

Details for the file flanellograf-0.4-py3-none-any.whl.

File metadata

  • Download URL: flanellograf-0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for flanellograf-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4d4875a5acf6786da300028f91ecdbca220d7961f26b9e41381e7a79fa986dd6
MD5 f4464ef1986c2bd358d0c6c34246a030
BLAKE2b-256 8aa9db52225874673c798d9bfabc1e5e9ef4b9f3da9594024cbb4202296ce64e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page