bash for python
A library that enables easy running and concatenation of bash commands in python
Installation
Install using pip:
pip install bash
Usage
Run commands as you would in bash:
>>> from bash import bash
>>> bash('ls . | grep ".pyc"')
bash.pyc
tests.pyc
Chain commands for the same effect:
>>> bash('ls . ').bash('grep ".pyc"')
bash.pyc
tests.pyc
This becomes increasingly useful if you later need to reuse one such command:
>>> b = bash('ls . ')
>>> b.bash('grep ".pyc"')
bash.pyc
tests.pyc
>>> b.bash('grep ".py$')
bash.py
tests.py
Access stdout and stderr attributes:
>>> b = bash('ls tests.py')
>>> b.stdout
'tests.py\n'
>>> b.stderr
''
Get the return code generated by a command:
>>> b = bash('ls tests.py')
>>> b
tests.py
>>> b.code
0
To get a stripped, unicode string version of bash.stdout call value():
>>> b = bash('ls tests.py').value()
u'tests.py'
Motivation
I found that I was often having to write the same lines of code to handle running bash commands from python.
This provides a pip-installable, tested shortcut to writing:
from subprocess import PIPE, Popen p = Popen(cmd, shell=True, stdout=PIPE, stdin=PIPE, stderr=PIPE) output, err = p.communicate()
Warning
Please note that this library uses shell=True under the hood. This means that this library is NOT suitable for running untrusted commands. (See explanation)
Running the tests
Simply use a test runner.
$ nosetests
Support + Contributing
Feel free to make pull requests, or report issues via the repo:
Metadata
Release files for bash 0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bash-0.6.tar.gz | 2.8 kB | Without provenance | Details |
Release files / bash-0.6.tar.gz
| Download URL | bash-0.6.tar.gz |
|---|---|
| Size | 2.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f79cb477d2763e6a24ca89314daef03b4cd899e02acec2635c95ea942736c68
|
|
BLAKE2b-256 checksum How to use checksums |
42304870d449947581ff48f213c206d103e9458b0070dbc436c50b1b95007043
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for bash 0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.