An open API service indexing awesome lists of open source software.

https://github.com/pierremarchand20/asciinema_automation

CLI utility to automate asciinema recordings
https://github.com/pierremarchand20/asciinema_automation

asciinema

Last synced: 6 months ago
JSON representation

CLI utility to automate asciinema recordings

Awesome Lists containing this project

README

          

asciinema-automation
####################

.. image:: https://badge.fury.io/py/asciinema-automation.svg
:target: https://badge.fury.io/py/asciinema-automation

.. image:: https://github.com/PierreMarchand20/asciinema_automation/actions/workflows/CI.yml/badge.svg
:target: https://github.com/PierreMarchand20/asciinema_automation/actions/workflows/CI.yml

asciinema-automation is a Python package which provides a small CLI utility to automate `asciinema `_ recordings. The only dependencies are asciinema and `Pexpect `_.

Recording is made easier by:

- making the live recording for you, to get the perfect take in one go (no more missed keys!),
- while looking not too robotic by adding Gaussian delay between keystrokes.

One specificity of this package is that

- it makes automated recording as **reproducible and robust** as possible. In particular, there is no need to add a manually set waiting time between commands to wait for previous outputs.

To that end, you can write the commands you wish to showcase in a text file, and using comment lines starting by :code:`#$` (see `examples` folder and `example`_), you can specify the expected output of each command, and/or change the configuration of the automated recording on-the-fly.

Example
-------

.. image:: https://raw.githubusercontent.com/PierreMarchand20/asciinema_automation/main/demo.gif
:alt: Demo

This example is generated reading with ``asciinema-automation`` a script that calls ``asciinema-automation`` which reads the ``hello_world.sh`` example in this repository 🙃

Numerous examples can also be found `here `_.

Installation
------------

You can use `pip `_ to install:

.. code:: bash

python3 -m pip install asciinema-automation

Or you can install it directly using this GitHub repository. In this case, you need to call ``git clone`` to recover the source code of this repository

.. code:: bash

git clone https://github.com/PierreMarchand20/asciinema_automation.git

and then call pip in your local folder of this repository to install this package and its dependencies

.. code:: bash

pip3 install .

History
-------

This repository is inspired by `asciiscript `_, which is not maintained any more. I first made a fork, but being not very familiar with go, I preferred to rewrite everything in python.