flanellograf


Nameflanellograf JSON
Version 0.4.1 PyPI version JSON
download
home_pageNone
SummaryTool for making presentations using the Python REPL
upload_time2024-12-08 20:15:03
maintainerNone
docs_urlNone
authorSondre S. Ødegård
requires_python>=3.9
licenseNone
keywords presentation repl code documentation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

- Talks by David Beazley at PyOhio 2016 and PyData Chicago 2016
    - https://www.youtube.com/watch?v=Bm96RqNGbGo
    - https://www.youtube.com/watch?v=j6VSAsKAj98
- ASCII (extended) diagrams
    - https://asciiflow.com/
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "flanellograf",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "presentation, repl, code, documentation",
    "author": "Sondre S. \u00d8deg\u00e5rd",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/0d/6f/1d0ba25efcafbb5a5f514c71570ee829c69fb733e748c8a3b201ff0af04e/flanellograf-0.4.1.tar.gz",
    "platform": null,
    "description": "# Flanellograf [flanellogr\u02c8af]\n\n_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).\n\nThis 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.\n\nA 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.\n\n## Installation\nThe 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). \n\nThe code is published to PyPI so `pip install flanellograf` should work, it will also install it's only requirement `rich`. \n\nYou could also clone or zip this project and run `pip install .`.\n\nIt's prefered to install _Flanellograf_ into a virtual environment regardless of installation method.\n\nIf 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.\n\n## Usage\n\nFor now flanellograf must be called as a module with a path parameter:\n`python -im flanellograf path_to_folder_or_file`\n\nAny file found in path with the glob pattern `**/board_*.py` will be read as a board and listed in the TOC.\n\nSee the `examples` directory for how to make a board.\n\n### Navigation\nA 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`.\n\n`~e`\n: Refresh current slide (remove anything you have done in the REPL)\n\n`e`\n: Next slide\n\n`-e`\n: Previous slide\n\n`+e`\n: Jump to first slide\n\n`e(n)`\n: Jump to slide number n, where n is an integer. (Negative numbers count from the end)\n\n\n## Inspiration\nInspiration and ideas for making this tool.\n\n- Talks by David Beazley at PyOhio 2016 and PyData Chicago 2016\n    - https://www.youtube.com/watch?v=Bm96RqNGbGo\n    - https://www.youtube.com/watch?v=j6VSAsKAj98\n- ASCII (extended) diagrams\n    - https://asciiflow.com/",
    "bugtrack_url": null,
    "license": null,
    "summary": "Tool for making presentations using the Python REPL",
    "version": "0.4.1",
    "project_urls": {
        "Documentation": "https://github.com/sondreod/flanellograf",
        "Source": "https://github.com/sondreod/flanellograf"
    },
    "split_keywords": [
        "presentation",
        " repl",
        " code",
        " documentation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e4ef1e4e02b3e375ffc547802937dec92d7da48fcb6a80ccfcc6ac21f25b1f66",
                "md5": "b2831c0c42c084da0da351cd20cfcf2a",
                "sha256": "0b8f8b5bb89bb8aa103a24650e971d0b1883dfbbeae69572add2a4485f76edca"
            },
            "downloads": -1,
            "filename": "flanellograf-0.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b2831c0c42c084da0da351cd20cfcf2a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 5904,
            "upload_time": "2024-12-08T20:15:02",
            "upload_time_iso_8601": "2024-12-08T20:15:02.137402Z",
            "url": "https://files.pythonhosted.org/packages/e4/ef/1e4e02b3e375ffc547802937dec92d7da48fcb6a80ccfcc6ac21f25b1f66/flanellograf-0.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0d6f1d0ba25efcafbb5a5f514c71570ee829c69fb733e748c8a3b201ff0af04e",
                "md5": "fbbbb3854420b2dd5b9c52c656b970dc",
                "sha256": "cd414a14d2c9b7c1730f41ad81b6909db435709305b334247629af6954553f01"
            },
            "downloads": -1,
            "filename": "flanellograf-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fbbbb3854420b2dd5b9c52c656b970dc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 5891,
            "upload_time": "2024-12-08T20:15:03",
            "upload_time_iso_8601": "2024-12-08T20:15:03.975485Z",
            "url": "https://files.pythonhosted.org/packages/0d/6f/1d0ba25efcafbb5a5f514c71570ee829c69fb733e748c8a3b201ff0af04e/flanellograf-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-08 20:15:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sondreod",
    "github_project": "flanellograf",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "flanellograf"
}
        
Elapsed time: 9.24525s