ランキングに戻る

nbedos/termtosvg

Pythonnbedos.github.io/termtosvg/

Record terminal sessions as SVG animations

terminalsvgclishellanimationsvg-animationsrecorderrecording
スター成長
スター
9.8k
フォーク
438
週間成長
Issue
11
5k
2018年6月2021年2月2023年11月2026年7月
成果物PyPIpip install termtosvg
README

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:

OS Repository Installation command
Archlinux Arch pacman -S termtosvg
FreeBSD ports
Gentoo media-gfx/termtosvg emerge media-gfx/termtosvg
macOS Homebrew brew install termtosvg
OpenBSD ports
NixOS nixpkgs

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
関連リポジトリ
ohmyzsh/ohmyzsh

🙃 A delightful community-driven (with 2,500+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.

ShellMIT Licenseshellzsh-configuration
ohmyz.sh
188.7k26.5k
microsoft/terminal

The new Windows Terminal and the original Windows console host, all in the same place!

C++MIT Licenseconsoleterminal
104.3k9.4k
jesseduffield/lazygit

simple terminal UI for git commands

GoGo ModulesMIT Licensecligit
80.6k2.9k
Eugeny/tabby

A terminal for a more modern age

TypeScriptnpmMIT Licenseterminal-emulatorsterminal
tabby.sh
73.4k4.2k
alacritty/alacritty

A cross-platform, OpenGL terminal emulator.

Rustcrates.ioApache License 2.0terminal-emulatorsopengl
alacritty.org
65k3.5k
warpdotdev/warp

Warp is an agentic development environment, born out of the terminal.

Rustcrates.ioGNU Affero General Public License v3.0rustlinux
warp.dev
63.5k5.3k
tldr-pages/tldr

Collaborative cheatsheets for console commands 📚.

MarkdownOthershellman-page
tldr.sh
63.2k5.3k
sharkdp/bat

A cat(1) clone with wings.

Rustcrates.ioApache License 2.0command-linetool
59.8k1.6k
termux/termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.

JavaMavenOtherandroidterminal
f-droid.org/en/packages/com.termux
57.9k7k
Textualize/rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

PythonPyPIMIT Licensepythonpython3
rich.readthedocs.io/en/latest/
56.9k2.3k
GitSquared/edex-ui

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.

JavaScriptnpmGNU General Public License v3.0terminalscience-fiction
45k3.2k
vercel/hyper

A terminal built on web technologies

TypeScriptnpmMIT Licenseterminaljavascript
hyper.is
44.7k3.6k