--- title: Command Line Slideshows in Bash date: "2025-02-26T02:29:42Z" lastmod: "2025-02-26T02:29:44Z" categories: - coding - tools wp_id: 3937 description: "A tiny terminal slideshow script lets the shell become the presentation layer, making command-line demos feel seamless rather than awkwardly embedded." keywords: [terminal slides, bash, presentations, CLI demos, Python tool, PyConf] --- 
At PyConf Hyderabad, I spoke about uv. It's a package manager for Python.
I usually mix live demos into my narrative. So, rather than present with something static like PowerPoint (or Google Slides), I usually use:
For this talk, I needed to run commands on the shell. I evaluated:
So I got ChatGPT to write me an app:
```markdown Write a modern, compact Python program that parses a Markdown file and renders it section-by-section colorfully on the terminal. A "section" is any text beginning with a heading until the next heading. - uv run talk.py script.md should parse script.md and render the first section. - Running uv run talk.py should render the next section. And so on. - If no further sections are found, it should say so and end. When rendering on the terminal, - Headings should be very prominent. Highlight H1, H2 and H3 in decreasing order of prominence. Rest can be rendered normally - **Bold** should be prominent. _Italics_ should be mildly emphasized. - Code blocks and code fences should be colored distinctly. - [Links](...) should be colored distinctly but the URLs can be ignored. Use inline script dependencies. I think using rich and markdown2 would apt but you can decide. ```An aside. These days, it's easier to create small tools than search for something that exists.
The code it wrote works like this.
slide.py README.md. It shows the first section ("slide") in README.md, colored and highlighted, and exits.uv run --with pandas,ipython ipython, and show how it works.slide.py again. It clears the screen and shows the next slide.This allowed me a new kind of workflow, where the shell itself is the slides layer.
--- ## Comments - **[Voice coding is the new live coding - S Anand](/blog/voice-coding-is-the-new-live-coding/)** _21 Sep 2025 4:48 pm_ _(pingback)_: […] In Feb 2025 at PyConf Hyderabad, I tried a new slide format: command-line slideshows in bash. […]