asciinema-automation


Nameasciinema-automation JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryCLI utility to automate asciinema
upload_time2024-06-09 19:49:09
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT License
keywords asciinema
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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 <https://asciinema.org>`_ recordings. The only dependencies are asciinema and `Pexpect <https://pexpect.readthedocs.io/>`_.

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 <https://github.com/PierreMarchand20/asciinema_playground>`_.

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

You can use `pip <https://pip.pypa.io/en/stable/>`_ 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 <https://github.com/christopher-dG/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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "asciinema-automation",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "asciinema",
    "author": null,
    "author_email": "Pierre Marchand <test@test.com>",
    "download_url": "https://files.pythonhosted.org/packages/67/b2/0d33b4a22d4a0ca5f8c46a0f6ba8ca22c35aab1dbb2cc5c2381c2fb4318c/asciinema_automation-0.2.1.tar.gz",
    "platform": null,
    "description": "asciinema-automation\n####################\n\n.. image:: https://badge.fury.io/py/asciinema-automation.svg\n    :target: https://badge.fury.io/py/asciinema-automation\n\n.. image:: https://github.com/PierreMarchand20/asciinema_automation/actions/workflows/CI.yml/badge.svg\n    :target: https://github.com/PierreMarchand20/asciinema_automation/actions/workflows/CI.yml\n\nasciinema-automation is a Python package which provides a small CLI utility to automate `asciinema <https://asciinema.org>`_ recordings. The only dependencies are asciinema and `Pexpect <https://pexpect.readthedocs.io/>`_.\n\nRecording is made easier by:\n\n- making the live recording for you, to get the perfect take in one go (no more missed keys!),\n- while looking not too robotic by adding Gaussian delay between keystrokes.\n\nOne specificity of this package is that \n\n- 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. \n\nTo 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.\n\nExample\n-------\n\n.. image:: https://raw.githubusercontent.com/PierreMarchand20/asciinema_automation/main/demo.gif\n    :alt: Demo\n\nThis example is generated reading with ``asciinema-automation`` a script that calls ``asciinema-automation`` which reads the ``hello_world.sh`` example in this repository \ud83d\ude43\n\nNumerous examples can also be found `here <https://github.com/PierreMarchand20/asciinema_playground>`_.\n\nInstallation\n------------\n\nYou can use `pip <https://pip.pypa.io/en/stable/>`_ to install:\n\n.. code:: bash\n    \n    python3 -m pip install asciinema-automation\n\nOr 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\n\n.. code:: bash\n    \n    git clone https://github.com/PierreMarchand20/asciinema_automation.git \n\n\nand then call pip in your local folder of this repository to install this package and its dependencies\n\n.. code:: bash\n    \n    pip3 install . \n\n\nHistory\n-------\n\nThis repository is inspired by `asciiscript <https://github.com/christopher-dG/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.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "CLI utility to automate asciinema",
    "version": "0.2.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/PierreMarchand20/asciinema_automation/issues",
        "Homepage": "https://github.com/PierreMarchand20/asciinema_automation"
    },
    "split_keywords": [
        "asciinema"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ebfff880e5c98fd2c6634576b0b9457b9a41f3b02c5b027b7917cbc1187ae71a",
                "md5": "0b6815667b3aab546aecaefb882301f6",
                "sha256": "14c7d9b7f234f08d47ddfeca71c729df543bc1aa456eafb2267d720632e0443e"
            },
            "downloads": -1,
            "filename": "asciinema_automation-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0b6815667b3aab546aecaefb882301f6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8143,
            "upload_time": "2024-06-09T19:49:08",
            "upload_time_iso_8601": "2024-06-09T19:49:08.263165Z",
            "url": "https://files.pythonhosted.org/packages/eb/ff/f880e5c98fd2c6634576b0b9457b9a41f3b02c5b027b7917cbc1187ae71a/asciinema_automation-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67b20d33b4a22d4a0ca5f8c46a0f6ba8ca22c35aab1dbb2cc5c2381c2fb4318c",
                "md5": "fc3ef4ca8d855d13bbffe27a24c01a8b",
                "sha256": "baaca43f2c87c47d07c2ebdd821068e0e27b323c5e69a64c356863e68c1281fd"
            },
            "downloads": -1,
            "filename": "asciinema_automation-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fc3ef4ca8d855d13bbffe27a24c01a8b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7917,
            "upload_time": "2024-06-09T19:49:09",
            "upload_time_iso_8601": "2024-06-09T19:49:09.530625Z",
            "url": "https://files.pythonhosted.org/packages/67/b2/0d33b4a22d4a0ca5f8c46a0f6ba8ca22c35aab1dbb2cc5c2381c2fb4318c/asciinema_automation-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-09 19:49:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PierreMarchand20",
    "github_project": "asciinema_automation",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "asciinema-automation"
}
        
Elapsed time: 0.51316s