Skip to main content

Python subprocess replacement

Project description

Logo

If you are migrating from 1.* to 2.*, please see MIGRATION.md


Version Downloads Status Python Versions Build Status Coverage Status

sh is a full-fledged subprocess replacement for Python 3.8 - 3.10, PyPy and PyPy3 that allows you to call any program as if it were a function:

from sh import ifconfig
print(ifconfig("eth0"))

sh is not a collection of system commands implemented in Python.

sh relies on various Unix system calls and only works on Unix-like operating systems - Linux, macOS, BSDs etc. Specifically, Windows is not supported.

Complete documentation here

Installation

$> pip install sh

Support

Developers

Updating the docs

Check out the gh-pages branch and follow the README.rst there.

Testing

Tests are run in a docker container against all supported Python versions. To run, make the following target:

$> make test

To run a single test:

$> make test='FunctionalTests.test_background' test_one

Coverage

First run all of the tests:

$> SH_TESTS_RUNNING=1 coverage run --source=sh -m unittest

This will aggregate a .coverage. You may then visualize the report with:

$> coverage report

Or generate visual html files with:

$> coverage html

Which will create ./htmlcov/index.html that you may open in a web browser.

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

sh-2.0.1.tar.gz (345.4 kB view details)

Uploaded Source

Built Distribution

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

sh-2.0.1-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

Details for the file sh-2.0.1.tar.gz.

File metadata

  • Download URL: sh-2.0.1.tar.gz
  • Upload date:
  • Size: 345.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for sh-2.0.1.tar.gz
Algorithm Hash digest
SHA256 98cf9c5e39f1193a03962702bf941e8ea5d60fc4e7a9b00a456cdd7fe96a90b0
MD5 2540da63a6dcf3671544bb3d872e6aec
BLAKE2b-256 ba4aab1737337db7584aa12ccfefa4a4b9a8cf29e10548becf7a4860afd756c0

See more details on using hashes here.

File details

Details for the file sh-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: sh-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 38.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for sh-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 80484360a7ee9da2a57690a392dc35c705be54c4b87db120b0427609d09bf308
MD5 7abb7d6ba8603e1ca2b8ce94cca95de3
BLAKE2b-256 16cbf12c72f024508a0fb7bea376e2ca389af7dcbc230a26b3c6acb54439c042

See more details on using hashes here.

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