Metadata-Version: 2.4
Name: shellinspector
Version: 0.34.0
Project-URL: Documentation, https://github.com/uberspace/shellinspector#readme
Project-URL: Issues, https://github.com/uberspace/shellinspector/issues
Project-URL: Source, https://github.com/uberspace/shellinspector
Author-email: "uberspace.de" <hallo@uberspace.de>
License: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.9
Requires-Dist: pexpect==4.*
Requires-Dist: pyyaml>=6
Requires-Dist: rich>=14
Requires-Dist: termcolor==2.*
Description-Content-Type: text/markdown

# Shell Inspector 🕵️‍️

Open a shell session locally or via SSH, execute commands, and test what comes
back.

[![asciicast](https://asciinema.org/a/IfzFtiTPjabw4etcMJmpcuH8f.svg)](https://asciinema.org/a/IfzFtiTPjabw4etcMJmpcuH8f)

First, prepare a spec file, e.g. `readme.ispec`:

```shell
[@local]$~ ping -c1 google.com
1 packets transmitted
[@local]$ whoami
shellinspector
```

Then, run it:

```shell
$ python -m shellinspector readme.ispec
running readme.console
PASS [@local]$~ ping -c1 google.com
FAIL [@local]$ whoami
expected:
    shellinspector
actual:
    luto
```

For more details have a look at [`docs/syntax.md`](docs/syntax.md).
