Skip to main content

Simplify the use of Bash/Shell commands in Python

Project description

GitHub license Unit Tests Project Status PyPI - Python Version PyPI

Py-Bash-Wrapper

(image of a cartoon snake on a $_)

Description

Py Bash Wrapper helps Python developers run bash/shell/subprocess commands with two convenience functions:

  • The run_command function provides no advances shell features likes pipes. This function takes in either a string or an argv list.
  • The run_bash function provides real Bash (e.g., pipes, redirects, globs, etc.). This function takes in a string.

Results come back as CommandResult with stdout, stderr, exit code, and an ok flag; The argument check=True will cause failures to raise a CommandError.

Installation

From PyPI:

pip install py_bash_wrapper

Documentation

Security note

run_bash executes shell code. Do not pass untrusted input as the Bash command string. Prefer run_command with a fixed argv when shell features are not required. See docs/usage_examples.md.

Initial setup

Prerequisites:

  • uv (package and tool runner):
    • macOS: brew install uv (see Homebrew if needed).
    • Other: Installing uv (official installer and package managers).
  • make:
    • macOS: Xcode Command Line Tools or a build toolchain that provides make.
    • Linux: install build-essential.
    • Windows: use Git Bash, WSL, or another environment that provides make, or run the same uv run ... commands from the Makefile by hand.
  • Python 3.11+: install via OS package manager, via uv with uv python install 3.11, or via python.org.

Versioning

Releases follow SemVer.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_bash_wrapper-0.3.8.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_bash_wrapper-0.3.8-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file py_bash_wrapper-0.3.8.tar.gz.

File metadata

  • Download URL: py_bash_wrapper-0.3.8.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for py_bash_wrapper-0.3.8.tar.gz
Algorithm Hash digest
SHA256 59960db460829adea8e72e867fd200e1291fa045937515681ee5eebcc03a0d6f
MD5 dfe67f4107e1272b9a2d5def6ad0a58b
BLAKE2b-256 71684924befb16ba85fcae26dc47318f0bf0818b33c3500f725e50d4a36388f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_bash_wrapper-0.3.8.tar.gz:

Publisher: release-from-version.yml on themarkrogers/py_bash_wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_bash_wrapper-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: py_bash_wrapper-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for py_bash_wrapper-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1f9af8491d4f6d6c9c19d7d57a4aab44ebd636bcc0fd04b89cdef4c3d6c7a89d
MD5 dc8d5a534f58918701fb02ff5c395489
BLAKE2b-256 a356b45522ca7ae99dc8d8bf6c2622688e6fc9a619616f6fd8e7218d8c2ed07d

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_bash_wrapper-0.3.8-py3-none-any.whl:

Publisher: release-from-version.yml on themarkrogers/py_bash_wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page