doitlive is a tool for live presentations in the terminal. It reads a file of shell commands and replays the commands in a fake terminal session as you type random characters.
Get it now
macOS with Homebrew:
$ brew update
$ brew install doitlive
With pip:
$ pip install doitlive
Quickstart
Create a file called session.sh. Fill it with bash commands.
Run doitlive play session.sh.
$ doitlive play session.sh
Type like a madman.
More at https://doitlive.readthedocs.io
Project Links
Kudos
Idea came from Jordi Gutiérrez Hermoso’s “Revsets” talk at PyCon 2014.
Armin Ronacher’s click library made this quick to implement.
Themes inspired by Sorin Ionescu’s prezto zsh themes.
Hat tip to related projects HackerTyper and PlayerPiano
License
MIT licensed. See the bundled LICENSE file for more details.
Release files for doitlive 5.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| doitlive-5.2.1.tar.gz | 22.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| doitlive-5.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.9 kB
Release files / doitlive-5.2.1.tar.gz
| Download URL | doitlive-5.2.1.tar.gz |
|---|---|
| Size | 22.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7587a57c04fa74718e76cb4622f99ef6b762f1c861d0c1c2f843ab6bec53d063
|
|
BLAKE2b-256 checksum How to use checksums |
3f50d2715aa1b4dd5bfe1c91e5a332f5123180c2f2b1c8b0879389179b9f9c5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.
Transparency logRelease files / doitlive-5.2.1-py3-none-any.whl
| Download URL | doitlive-5.2.1-py3-none-any.whl |
|---|---|
| Size | 18.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c1f30674e9d7c816c42689a8634b5515d4e2edf990724e3a0147e72bc4505ba
|
|
BLAKE2b-256 checksum How to use checksums |
0ec4cd9ede6f653c954cfff5f8ea1acfd8979c6011208fec97798cac5ab94859
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.
Transparency log