Skip to main content

Framework for interactive slide decks in the terminal

Project description

slideception

A Python library for creating interactive presentations in Linux terminals.

Requirements

  • Python 3.8 or newer
  • Linux (unless you avoid the Linux-specific stuff)

Usage

Here's a quick example:

#!/usr/bin/env python3
from slideception import display_slides, ipython, slide

@slide
def context_managers():
    """Context Managers

    A **context manager** is a thing that can be used in a `with` block.

    ```python3
    with record_time() as timer:
        stuff()
    print(f"stuff took {timer.elapsed} seconds")
    ```

    It lets you factor out pieces of code that *surround* other code.
    """
    # Now jump into an intepreter for a quick demo
    ipython()


display_slides()

Presentation Boilerplate

At a minimum, you'll need to import display_slides and slide and call display_slides() at the bottom of your script.

#!/usr/bin/env python3
from slideception import display_slides, slide



display_slides()

Defining Slides

@slide

This decorator registers a function as a slide. The docstring of the function becomes the slide's content, and the body of the function is executed after the content is displayed. The docstring is parsed as CommonMark and then rendered for display in a terminal.

Helpers

  • bash(history=None, init=None)

    This function starts a Bash shell which can be used to demo shell scripting and command-line programs.

    The history parameter accepts a list of commands which will be preloaded into the shell's history; this lets you simply press Up to recall those commands instead of typing them from scratch.

    The init parameter accepts a list of commands which will be executed after the shell loads your .bashrc file. This can be used to cd to a specific directory, create files, etc.

  • ipython()

    This function starts an iPython interpreter which can be used to demo Python code.

  • python()

    This function starts a Python interpreter which can be used to demo Python code. You should definitely prefer to use ipython() if possible.

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

slideception-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

slideception-0.1.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file slideception-0.1.0.tar.gz.

File metadata

  • Download URL: slideception-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.0

File hashes

Hashes for slideception-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d4083245abd03a5f53493870862b59f0a327a06fb24622f82714bd5c15b68980
MD5 e4fa3f14f83884945a227fe70c096cf3
BLAKE2b-256 a0aaf12fbbe3f28e8a1737c758448d3fe455058484dd4c35e4dd89c4591a3532

See more details on using hashes here.

File details

Details for the file slideception-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: slideception-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.0

File hashes

Hashes for slideception-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a4d08c16643d45c096aa8e1fb6d0790da6e69593a5ee3c776f9fe47d1233e1f
MD5 1292b09a8276198425d05e2918ad5134
BLAKE2b-256 48855443a359aff115ba2f2ca35931a0a239e170b73683646b8bd0735c4c2c1d

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