Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork508
amoffat/sh
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation

If you are migrating from 1.* to 2.*, please see MIGRATION.md
sh is a full-fledged subprocess replacement for Python 3.8 - 3.12, and PyPythat allows you to callany program as if it were a function:
fromshimportifconfigprint(ifconfig("eth0"))
sh isnot a collection of system commands implemented in Python.
sh relies on various Unix system calls and only works on Unix-like operatingsystems - Linux, macOS, BSDs etc. Specifically, Windows is not supported.
Full documentation on a single page for LLM-assisted coding here
$> pip install sh
- Andrew Moffat - author/maintainer
- Erik Cederstrand - maintainer
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
To build the docs, make sure you've runpoetry install
to install the dev dependencies, then:
$> cd docs$> make html
This will generate the docs indocs/build/html
. You can open theindex.html
file in your browser to view the docs.
First run all of the tests:
$> SH_TESTS_RUNNING=1 coverage run --source=sh -m pytest
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.
About
Python process launching
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.