back to home

nbedos / termtosvg

Record terminal sessions as SVG animations

9,753 stars
439 forks
12 issues
PythonMakefile

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing nbedos/termtosvg in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/nbedos/termtosvg)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

Note: As of June 2020 I do not have time to maintain termtosvg anymore and this repository is now read-only.

termtosvg

termtosvg is a Unix terminal recorder written in Python that renders your command line sessions as standalone SVG animations.

Example

Features

  • Produce lightweight and clean looking animations or still frames embeddable on a project page
  • Custom color themes, terminal UI and animation controls via user-defined SVG templates
  • Rendering of recordings in asciicast format made with asciinema

Installation

termtosvg is compatible with Linux, macOS and BSD OSes, requires Python >= 3.5 and can be installed as follows using pip:

# Create virtualenv named '.venv'
python3 -m venv .venv
# Activate virtualenv
source .venv/bin/activate
pip3 install termtosvg

Then run termtosvg by calling either termtosvg or python3 -m termtosvg.

Various independently maintained, OS specific packages have been made available by the community:

OSRepositoryInstallation command
ArchlinuxArchpacman -S termtosvg
FreeBSDports
Gentoomedia-gfx/termtosvgemerge media-gfx/termtosvg
macOSHomebrewbrew install termtosvg
OpenBSDports
NixOSnixpkgs

Basic usage

Start recording with:

$ termtosvg
Recording started, enter "exit" command or Control-D to end

You are now in a subshell where you can type your commands as usual. Once you are done, exit the shell to end the recording:

$ exit
Recording ended, file is /tmp/termtosvg_exp5nsr4.svg

Then, use your favorite web browser to play the animation:

$ firefox /tmp/termtosvg_exp5nsr4.svg

Finally, embedding the animation in e.g. a README.md file on GitHub can be achieved with a relative link to the animation:

![Example](./docs/examples/awesome_window_frame.svg)

See the manual page for more details.

Dependencies

termtosvg uses:

  • pyte to render the terminal screen
  • lxml to work with SVG data