skillfed

EasyProcess

Easy to use Python subprocess interface.

easyprocess v1.1 969.7K downloads/30d#4,612 on PyPI114
Permissive license BSD DORMANT released

What it is and what it does

EasyProcess is a thin, chainable wrapper around Python's subprocess module designed to reduce boilerplate when running external programs. It handles the common pattern of starting a process, optionally waiting with a timeout, capturing stdout and stderr, and retrieving the return code—all with a simpler API than subprocess.Popen or subprocess.run.

The package supports method chaining (e.g., `.start().sleep(1.5).stop()`), context managers for automatic cleanup, timeout handling, and unicode output. It explicitly does not support shell commands or pipes; commands must be passed as lists or strings that are split using shlex. Stdout and stderr are only available after the process has finished or been stopped.

Use it for:

  • Run a simple command and capture its output in a single line without subprocess boilerplate.
  • Start a long-running process, wait a bit, then stop it and inspect partial output.
  • Execute a command with a timeout and handle incomplete output gracefully.
  • Use context managers to ensure subprocess cleanup in try/finally patterns.
  • Chain multiple operations (start, sleep, stop) on a single process object for readable code.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

EasyProcess wraps Python's subprocess module to simplify running external programs, capturing their output, and managing their lifecycle with method chaining.

Yes, if you need a lightweight subprocess wrapper for simple command execution. The package is stable, has no dependencies, and installs with low friction. However, maintenance is dormant; if you require active support or compatibility with future Python versions, consider whether subprocess.run or a more actively maintained alternative better fits your risk tolerance.

Install

easyprocess on PyPI

pip

pip install easyprocess

uv

uv add easyprocess

poetry

poetry add easyprocess

Installing EasyProcess

Before you install

Low friction: pure Python wheel with no runtime dependencies. Maintenance is dormant—last release was 2022-01-15 and last commit 2023-11-04—but the package is stable and has seen no security issues.

License in practice

BSD license is permissive; you can use, modify, and distribute EasyProcess with minimal restrictions, making it suitable for both open-source and proprietary projects.

Quickstart

from easyprocess import EasyProcess

# Run a command and get its output
result = EasyProcess(["echo", "hello"]).call()
print(result.stdout)

# Or use method chaining with start/stop
proc = EasyProcess(["sleep", "10"]).start()
proc.sleep(1.5).stop()
print(proc.stdout)

Verify before relying

  • Whether the dormant maintenance status poses a risk for future Python versions beyond 3.12
  • Whether stop() behavior on subprocess trees is sufficient for your use case, given the documented limitation

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 1,672 days since the last release
Last repo commit
First released
Downloads 969,724/month — #4,612 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: EasyProcess-1.1-py3-none-any.whl

Keywords: subprocess, interface

License :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

subprocess wrapperrun external commands pythoncapture program outputeasy process managementpython subprocess interfacestart stop programstimeout subprocess calls
subprocess-wrapperprocess-management

More Software Development packages