Name | asciinema-automation JSON |
Version |
0.2.1
JSON |
| download |
home_page | None |
Summary | CLI utility to automate asciinema |
upload_time | 2024-06-09 19:49:09 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | MIT 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"
}