skillfed

fabric

High level SSH command execution

fabric v3.2.3 13.7M downloads/30d#1,267 on PyPI15,487
Permissive license BSD Active released

What it is and what it does

Fabric is a Python library for executing shell commands on remote servers over SSH. It wraps Invoke (for local command execution and CLI features) and Paramiko (for SSH protocol handling), providing a unified Python API to run commands remotely and capture their output as structured objects. It's designed for system administrators and developers who need to automate server administration, deployments, or multi-host orchestration tasks.

The library sits at the intersection of local task automation and remote execution—you write Python code that reads like shell scripts but runs on remote machines, with results flowing back into your Python program. It handles SSH connection management, command execution, and result parsing, reducing boilerplate for common deployment and administration patterns.

Use it for:

  • Automate multi-server deployments by running shell commands on remote hosts and capturing output in Python
  • Build system administration scripts that execute tasks across clusters of machines over SSH
  • Orchestrate application rollouts, configuration management, or maintenance routines on production servers
  • Execute ad-hoc remote commands and collect results programmatically instead of writing shell scripts
  • Integrate remote command execution into Python-based CI/CD pipelines or infrastructure-as-code workflows

Worth the install?

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

Fabric executes shell commands remotely over SSH and returns results as Python objects, building on Invoke for command execution and Paramiko for SSH protocol support.

Yes. Fabric is a mature, actively maintained library (production-stable, 15487 stars, recent commits) with low install friction and no known vulnerabilities. It solves a real problem—bridging Python and remote SSH execution—and is well-suited for deployment automation, system administration, and infrastructure tasks. The permissive BSD license poses no obstacle. Install it if you need programmatic remote command execution.

Install

fabric on PyPI

pip

pip install fabric

uv

uv add fabric

poetry

poetry add fabric

Installing fabric

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release 130 days ago and ongoing commits; the repository is well-established with 15487 stars.

License in practice

BSD license is permissive, allowing commercial and private use with minimal restrictions—suitable for most deployment and automation workflows.

Quickstart

pip install fabric

from fabric import Connection

conn = Connection('host')
result = conn.run('ls -la')
print(result.stdout)

Verify before relying

  • Whether version 3.2.3 maintains backward compatibility with code written for earlier Fabric releases
  • Specific performance characteristics or scalability limits for large-scale multi-host orchestration

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 4 — invoke, paramiko, decorator, deprecated
Maintenance actively maintained — 130 days since the last release
Last repo commit
First released
Downloads 13,714,378/month — #1,267 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: fabric-3.2.3-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software DevelopmentTopic :: Software Development :: Build ToolsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: ClusteringTopic :: System :: Software DistributionTopic :: System :: Systems Administration

Tags

remote command execution sshssh automation pythonexecute shell commands remotelyfabric deployment automationremote server administrationpython ssh orchestrationparamiko high level wrapper
ssh-automationdeploymentsystems-administration

More Software Development packages