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.0.tar.gz (38.5 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.0-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sh-2.0.0.tar.gz
  • Upload date:
  • Size: 38.5 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.0.tar.gz
Algorithm Hash digest
SHA256 a43aef83fe07b96cb4147c61f3a1ab43fabb58505a8196c5049a76deee076248
MD5 1cc1245b68be70300550294349edf3ef
BLAKE2b-256 059e5ae5ff7442d5ed6ecf9b3578267a6d95c639416c6d5cc4b1af019dea6b33

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sh-2.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ca2efaf99362428abc95154ab438c647fb5d8a1d7bf6cde139fe2afc8037793
MD5 06b64a44087a5665bfd3f9c261f175a0
BLAKE2b-256 7b5dad702b3690a8402b2e864302c011a4a38624d4c33aa1ab7217304c3113f2

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