--- id: executor version: "23.2" license: MIT license_treatment: permissive maintenance: abandoned --- # executor — Programmer friendly subprocess wrapper License: permissive · Maintenance: abandoned · Downloads: 380.0K/mo ## What it is and what it does Executor is a subprocess wrapper that provides an object-oriented interface for running commands on UNIX systems. It handles argument escaping, error checking, and status code validation automatically, raising an exception if a command fails unless explicitly told otherwise. Beyond local execution, it supports running commands remotely over SSH and executing groups of commands concurrently in a command pool with configurable concurrency levels. The package offers both a Python API and a command-line tool. The CLI supports timeouts, dynamic startup delays (useful for periodic tasks), and interprocess locking to prevent concurrent execution. It is designed to reduce boilerplate around subprocess management and make error handling the default behavior rather than an afterthought. Use it for: - Running shell commands from Python scripts with automatic error checking and proper argument escaping. - Executing administrative tasks on remote servers via SSH using the same object-oriented interface as local commands. - Running a batch of tasks concurrently across multiple hosts with controlled concurrency levels. - Implementing periodic jobs with dynamic startup delays to avoid thundering herd problems. - Building command-line tools that need to invoke external programs with timeout and locking support. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Wraps Python's subprocess module to simplify executing local commands, remote commands over SSH, and concurrent command pools with proper argument escaping and error handling. No. The package is abandoned (last release 2020-11-19) with no active maintenance or security updates. While it has low install friction and no known vulnerabilities, its age and lack of maintenance make it risky for new projects. For modern subprocess management, consider actively maintained alternatives or Python's built-in subprocess module with additional libraries for specific features you need. ## Install pip install executor uv add executor poetry add executor ## Installing executor Before you install: Low install friction with five straightforward dependencies. However, the package is abandoned—last release was 2020-11-19, over 2094 days ago. No active maintenance or security updates are expected. License in practice: MIT license is permissive, allowing commercial and private use with minimal restrictions. No licensing concerns for adoption. Quickstart: from executor import execute # Simple command execution execute('echo hello') # Capture output output = execute('hostname', capture=True) # Check for failure without raising success = execute('some_command', check=False) Requires UNIX-like system (POSIX); not designed for Windows. Package is abandoned and may not work reliably with modern Python versions beyond 3.8. Verify before relying: - Whether the package works reliably with Python 3.9+ given its abandoned status. - Current compatibility with modern SSH clients and remote execution scenarios. - Whether dependencies (coloredlogs, fasteners, humanfriendly, property-manager, six) have unresolved security issues or breaking changes since last release. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: abandoned - Downloads: 380.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags subprocess wrapper, execute shell commands python, remote command execution ssh, command pool concurrency, subprocess error handling, unix command execution, concurrent task runner, subprocess-wrapper, remote-execution, abandoned [View on SkillFed](https://skillfed.io/packages/executor) · [View on PyPI](https://pypi.org/project/executor/)