Skip to main content

A Sphinx extension that runs/automates recordings of CLI applications, without requiring any external services.

Project description

Sphinx CLI Recorder

Tests License PyPI version Auto Release

The library is in its early stages!

:::{admonition} TL;DR :class: note

  • 🎥 Record interactions (input & output) with CLI applications
  • 🤖 Automate the recording process via simple Sphinx directives
  • ✔️ Simple; does not require any knowledge of the underlying recording application
  • ⛓️ No dependencies on external services; all files are generated and hosted locally :::

This Sphinx extension is a tool to allow you to easily automate the recording process of CLI applications (without you having to leave your editor 🤯).

Suppose you are developing a neat CLI application, possibly with rich (get it?) visual output. In that case, you put blood, sweat, and tears into the development part but do you want to put the same amount of effort into the documentation? Shouldn't it be easy to show what your CLI application can do? If you record a terminal session to show how to interact with your tool, you need to ensure that the recording is kept up-to-date and doesn't break with future updates. Then you need to know how to upload the file and embed it into your documentation. And all you want to do is to show something cool like:

:autoplay: "True"

Or give the user an example on how to navigate your CLI application:

    - "y"
    - "5"
    - "2"
    - "poodle"
    - "husky"

Or you are looking for a simple way always to include the most recent help text of a tool you are developing.

:rows: 67
:autoplay: "True"

In those cases, it is probably easier to let the Sphinx-CLI-Recorder handle it for you. 😎 It uses asciinema, a text-based terminal recorder under the hood. Utilizing a text-based terminal player has the following advantages:

  • ✅ The output is lossless; no more pixelated videos/images with compression artifacts
  • ✅ No need to wait for huge-video file downloads
  • ✅ The terminal's content can be copied to the clipboard; no need to manually re-type the commands that are shown in a GIF/video

The benefits of using this Sphinx extension are:

  • 🤖 Automates the recording process of asciinema
  • 📅 Ensures that the recordings are always up-to-date
    • 💣 If the code changes and the commands from the documentation fail, no documentation will be built
  • 🏠 Keeps all of your files/data local:
    • 🔐 No need to depend on external services/tokens to upload the recordings
  • 🚅 The recordings are done in parallel to minimize the documentation build time
  • ☑️ Simple; no need to understand how asciinema works

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx-cli-recorder-0.1.6.tar.gz (82.8 kB view details)

Uploaded Source

Built Distribution

sphinx_cli_recorder-0.1.6-py3-none-any.whl (81.7 kB view details)

Uploaded Python 3

File details

Details for the file sphinx-cli-recorder-0.1.6.tar.gz.

File metadata

  • Download URL: sphinx-cli-recorder-0.1.6.tar.gz
  • Upload date:
  • Size: 82.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.1.5 CPython/3.8.14

File hashes

Hashes for sphinx-cli-recorder-0.1.6.tar.gz
Algorithm Hash digest
SHA256 d80aaec7a11a388b2a106cc8e57a8ceacd83a1b2fc2c552db65e450097338d23
MD5 583b3f0c3caf274516eea53c38e710bd
BLAKE2b-256 0e449e5b2e62e4e5d845963f2953966ca2837b1f3665a92870ae9a061dee71ce

See more details on using hashes here.

File details

Details for the file sphinx_cli_recorder-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_cli_recorder-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 70fc3a7e6091bd3365523b38153edb1fa7381ffeb51c4ddeb303c3862962d084
MD5 2efcf3edf4ffe8aac5c648ba008157ac
BLAKE2b-256 d034a4ff08979e0a8eb69ecffb85b500e59a707aaafdd21cf7c4934be172ac42

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page