amoffat/sh

Python process launching

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 41 minutes ago
Added to GitGenius on September 9th, 2026
Created on January 15th, 2012
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 503
Total Stargazers: 7,240 (+0)
Total Subscribers: 126 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 461 days
Stale 30+ days: 2
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (2)
  • docs (2)
  • will not fix (2)
  • awaiting response (1)
  • cant reproduce (1)
  • concurrency (1)
  • high priority (1)
  • not an sh issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

sh is a subprocess replacement for Python that allows you to call any program as if it were a function.

The problem sh solves is the verbosity and complexity of Python's standard subprocess module. Instead of constructing command strings or managing Popen objects, you import a program by name and call it directly with arguments as function parameters. The tool dynamically creates callable objects for any executable in your system path, translating Python function calls into subprocess invocations with proper argument handling and output capture.

sh is suited for DevOps scripts, system administration tools, and any Python application that needs to orchestrate external programs. It works exclusively on Unix-like operating systems including Linux, macOS, and BSD variants; Windows is not supported. The tool is not a reimplementation of system commands in Python but rather a thin wrapper that makes calling existing binaries feel natural within Python code. It supports Python versions from 3.10 through 3.14 and PyPy.

Development is maintained by a single author with comprehensive test coverage across all supported Python versions using tox. The project includes full documentation available both in standard format and as a single-page reference for use with language models. Development setup is streamlined through devcontainer and GitHub Codespaces support, allowing contributors to begin working immediately without local configuration. The test suite is run through make targets and can execute individual tests or the full suite, with coverage reporting available in both terminal and HTML formats.