$npx skillfedfor your agent

parallel-ssh

Asynchronous parallel SSH library

With conditionsPyPI LibrariesReleased Oct 2025206.0K downloads / moLGPL-2.1-onlyPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — parallel_ssh-2.16.0.post1-py3-none-any.whl
v2.16.0.post1 · released 2025-10-14 · 3 runtime deps: gevent, ssh2-python, ssh-python

Yes, if you need to manage SSH operations across multiple hosts at scale. The native C backend and gevent integration make it substantially faster and lighter than pure-Python alternatives. LGPL-2.1-only licensing is permissive for internal use but requires attention if you distribute derivative code. No known vulnerabilities, active maintenance, and stable API make it production-ready for infrastructure automation and multi-host operations.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires SSH connectivity to target hosts and compatible SSH server configuration; gevent event loop integration is implicit.
  • Low friction installation via wheel distribution.
  • Actively maintained with recent commits and stable production status.

License · maintenance · safety

LGPL-2.1-only (copyleft) — Licensed under LGPL-2.1-only (copyleft). Derivative works and modifications must be released under the same license; linking in proprietary applications requires careful review of your distribution model.

last release 2025-10-14 (304 days) · last repo commit 2026-08-05 · 1,281 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 206,020 downloads/mo, #9,579 on PyPI

Verify before relying

pip install parallel-ssh

from parallel_ssh.clients import ParallelSSHClient

hosts = ['host1', 'host2']
client = ParallelSSHClient(hosts)
output = client.run_command('uname')
for host_output in output:
    for line in host_output.stdout:
        print(line)
  • Whether ssh2-python or ssh-python is automatically selected based on environment or requires explicit configuration.
  • Specific performance characteristics (throughput, latency) compared to alternatives under real-world load.
  • Whether SFTP/SCP operations work with all SSH server implementations or have known compatibility gaps.
Same gist for agents: .md · .json

What it is and what it does

parallel-ssh is an asynchronous SSH client library that wraps native C SSH implementations (libssh2 or libssh) to execute commands across many remote hosts concurrently. It uses gevent for event-loop coordination and provides both a ParallelSSHClient for multi-host operations and a single-host SSHClient with a similar API. The library is designed to scale from dozens to hundreds of thousands of concurrent connections while keeping CPU and memory overhead on the client low.

The package supports command execution, file transfer via SFTP and SCP, and output streaming. It handles asynchronous result gathering through generators and provides a join() method to wait for all operations to complete. Exit codes and output become available after iteration or join, and the library includes built-in host logging utilities. The native C backend means it trades Python-only portability for significant performance gains over pure-Python SSH libraries.

Use it for

  • Deploy or update software across a fleet of servers by running the same command in parallel on all hosts.
  • Gather system information (logs, metrics, configuration) from many machines simultaneously without blocking.
  • Copy files to or from multiple remote hosts in parallel using SFTP or SCP.
  • Automate infrastructure provisioning or configuration management tasks that require SSH access to many nodes.
  • Monitor or troubleshoot distributed systems by executing diagnostic commands across all servers at once.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to manage SSH operations across multiple hosts at scale.

The native C backend and gevent integration make it substantially faster and lighter than pure-Python alternatives. LGPL-2.1-only licensing is permissive for internal use but requires attention if you distribute derivative code. No known vulnerabilities, active maintenance, and stable API make it production-ready for infrastructure automation and multi-host operations.

Install

parallel-ssh on PyPI

Before you install

Low friction installation via wheel distribution. Actively maintained with recent commits and stable production status. Depends on gevent and native SSH libraries (ssh2-python or ssh-python), which are themselves mature C-based projects.

Requires SSH connectivity to target hosts and compatible SSH server configuration; gevent event loop integration is implicit.

License in practice

Licensed under LGPL-2.1-only (copyleft). Derivative works and modifications must be released under the same license; linking in proprietary applications requires careful review of your distribution model.

Quickstart

pip install parallel-ssh

from parallel_ssh.clients import ParallelSSHClient

hosts = ['host1', 'host2']
client = ParallelSSHClient(hosts)
output = client.run_command('uname')
for host_output in output:
    for line in host_output.stdout:
        print(line)

Verify before relying

  • Whether ssh2-python or ssh-python is automatically selected based on environment or requires explicit configuration.
  • Specific performance characteristics (throughput, latency) compared to alternatives under real-world load.
  • Whether SFTP/SCP operations work with all SSH server implementations or have known compatibility gaps.

Package facts

LicenseLGPL-2.1-only copyleft
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
geventssh2-pythonssh-python
MaintenanceActively maintained 304 days since the last release
Last repo commit
First released
Downloads206,020 / month, #9,579 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: OS IndependentOperating System :: POSIXOperating System :: POSIX :: BSDOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: NetworkingTopic :: System :: Shells

Evidence: parallel_ssh-2.16.0.post1-py3-none-any.whl

Tags

Capabilities
parallel ssh executionasync remote command runnerbulk ssh operationsmulti-host ssh clienthigh-performance ssh librarygevent ssh automationlibssh2 python wrapper
Topics
infrastructure-automationasync-iomulti-host-operations

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 › “parallel ssh execution”

  • parallel-sshAsynchronous SSH client for running commands on hundreds or thousands…
  • ssh-pythonPython bindings to the libssh C library for SSH client operations,…
  • jumpsshJumpSSH runs commands on remote servers through SSH gateways,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

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.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

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.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also asyncssh · ssh-python · pyinfra · sshconf · ssh2-python · sshfs · rclone-python · grequests · jumpssh · paramiko