delegator.py
Subprocesses for Humans 2.0.
Decision gist · record as of 2026-08-14
No, not for new projects. While the package is lightweight and has no known vulnerabilities, it has been abandoned since 2018 with no maintenance or updates. Modern Python's subprocess module and libraries like click or invoke are actively maintained and provide comparable or superior functionality. Use delegator.py only if maintaining legacy code that already depends on it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires pexpect, which depends on ptyprocess; may have platform-specific behavior on Windows.
- Low install friction with a single runtime dependency (pexpect).
- However, the package is abandoned—last release was 2018-09-17 and last commit 2022-12-01—so it will not receive bug fixes or security updates going forward.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions.
last release 2018-09-17 (2888 days) · last repo commit 2022-12-01 · 1,743 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 116,883 downloads/mo, #12,188 on PyPI
Alternatives
Verify before relying
pip install delegator.py
import delegator
c = delegator.run('ls')
print(c.out)
# Non-blocking with expect
c = delegator.run('long-running-process', block=False)
c.expect('prompt')
c.send('input')
c.block()- Whether pexpect's current versions remain compatible with delegator.py's 0.1.1 codebase.
- Current stability and compatibility with modern Python versions (package classifiers list up to 3.6).
- Whether the abandoned status affects real-world reliability for new projects.
What it is and what it does
Delegator.py is a lightweight subprocess wrapper that simplifies running shell commands from Python. It provides two main functions: run() for executing individual commands (blocking or non-blocking) and chain() for piping multiple commands together using the standard Unix pipe syntax. The library wraps pexpect to add expect-like functionality for interactive processes—you can send input, wait for output patterns, and control process signals.
The package is designed for developers who want a simpler alternative to the standard subprocess module for common command-execution patterns. It supports both string commands and list-based parameterization, environment variable injection, and direct access to stdout/stderr pipes. However, the project has been abandoned since 2018, with no releases or active maintenance, so it should be considered legacy code.
Use it for
- Running shell commands from Python scripts with simple blocking or non-blocking control.
- Chaining multiple Unix commands with pipes without manual shell string construction.
- Automating interactive CLI tools that require sending input and reading prompts.
- Wrapping long-running processes and checking their status or output asynchronously.
- Building simple command-line automation scripts that need subprocess control without subprocess boilerplate.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No, not for new projects.
While the package is lightweight and has no known vulnerabilities, it has been abandoned since 2018 with no maintenance or updates. Modern Python's subprocess module and libraries like click or invoke are actively maintained and provide comparable or superior functionality. Use delegator.py only if maintaining legacy code that already depends on it.
Install
delegator-py on PyPI
Before you install
Low install friction with a single runtime dependency (pexpect). However, the package is abandoned—last release was 2018-09-17 and last commit 2022-12-01—so it will not receive bug fixes or security updates going forward.
Requires pexpect, which depends on ptyprocess; may have platform-specific behavior on Windows.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions.
Quickstart
pip install delegator.py
import delegator
c = delegator.run('ls')
print(c.out)
# Non-blocking with expect
c = delegator.run('long-running-process', block=False)
c.expect('prompt')
c.send('input')
c.block()
Verify before relying
- Whether pexpect's current versions remain compatible with delegator.py's 0.1.1 codebase.
- Current stability and compatibility with modern Python versions (package classifiers list up to 3.6).
- Whether the abandoned status affects real-world reliability for new projects.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepexpect |
| Maintenance | Abandoned 2,888 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 116,883 / month, #12,188 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: PythonProgramming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: delegator.py-0.1.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “command chaining pipes”
- delegator.pyDelegator.py wraps subprocess execution with a simple API for running…
- pipePipe enables shell-like infix syntax for chaining operations on…
- bashProvides a Python wrapper for running bash commands and piping their…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also pexpect · sarge · bash · plumbum · subprocrunner · pexpect-serial · pipe · pytest-forked · invoke · mozprocess