Skip to content
SPECIFICTION
Get listed

Fabric

fabfile.org

WindowsmacOSLinux

What it is

Fabric is a free, open-source Python library for running shell commands remotely over SSH and returning Python objects. It supports individual hosts and multiple hosts, with serial or parallel execution, and can run Python functions or code blocks against those connections. Through Invoke, Fabric exposes Python tasks with parameters and pre- or post-tasks through the fab command-line tool; a comma-separated host list supports serial task execution. Paramiko supplies SSH protocol support, while documented authentication methods include private key files, SSH agents, and passwords. The installation guide recommends pip install fabric and lists Python, Invoke, and Paramiko as requirements. Fabric is available for Linux, macOS, and Windows in a self-hosted, agentless model. Its documentation says it adds no extra GSSAPI support beyond Paramiko’s connection parameters. Modern Fabric can be installed alongside Fabric 1 for a gradual upgrade. Each run or sudo call uses a separate remote shell session, so directory changes do not persist between calls.

Spec sheet

What it does
Fabric is a Python library for running shell commands remotely over SSH and returning Python objects.Read 4 Oct 2026 · fabfile.org
Purpose
Fabric is a Python library for running shell commands remotely over SSH and returning Python objects.Read 8 Oct 2026 · fabfile.org
Support
The project recommends its fab-user mailing list for usage help and also points users to GitHub Issues for bugs.Read 8 Oct 2026 · fabfile.org
CLI host option
The `fab` command supports a comma-separated host list for serial task execution.Read 4 Oct 2026 · docs.fabfile.org
CLI tasks
Fabric integrates with Invoke so Python functions can be exposed as command-line tasks through the `fab` command.Read 8 Oct 2026 · fabfile.org
Command-line tasks
Fabric exposes Python tasks through the `fab` command-line tool, with support for task parameters and pre- or post-tasks.Read 4 Oct 2026 · fabfile.org
Dependencies
Fabric builds on Invoke for command execution and task features, and Paramiko for SSH.Read 8 Oct 2026 · fabfile.org
Downloads
Source archives are available through the project’s PyPI page, which also serves as the entry point for pip installation.Read 8 Oct 2026 · fabfile.org
GSSAPI limit
Fabric says it adds no extra GSSAPI support beyond Paramiko’s existing connection parameters.Read 4 Oct 2026 · docs.fabfile.org
Host execution
Fabric supports running commands on individual hosts and across multiple hosts, including serial and parallel approaches.Read 4 Oct 2026 · fabfile.org
Installation
The project recommends installing Fabric with `pip install fabric`.Read 8 Oct 2026 · fabfile.org
Legacy compatibility
The `fabric2` package lets users install modern Fabric alongside Fabric 1, while the project says `fabric3` is an unauthorized fork it does not control.Read 8 Oct 2026 · fabfile.org
Limit
Each `run` or `sudo` call uses its own remote shell session, so commands such as `cd` do not persist between calls.Read 8 Oct 2026 · fabfile.org
Maintainer
The project’s development team is headed by Jeff Forcier, and the site copyright identifies Jeff Forcier.Read 8 Oct 2026 · fabfile.org
Multi-host execution
It can run commands and Python code on individual hosts or across multiple hosts, serially or in parallel.Read 8 Oct 2026 · fabfile.org
Python tasks
Users can run Python functions or code blocks against individual connections or multiple hosts.Read 4 Oct 2026 · fabfile.org
Requirements
The installation guide lists Python, Invoke, and Paramiko as installation requirements.Read 4 Oct 2026 · fabfile.org
Security configuration
Fabric defaults remote commands to a clean environment instead of copying the local process environment, to avoid leaking local environment data.Read 8 Oct 2026 · docs.fabfile.org
SSH authentication
Fabric supports SSH key files, SSH agents, and password authentication through its connection configuration.Read 8 Oct 2026 · docs.fabfile.org
Supported environment
The installation page lists Python 2.7 or 3.4+ as requirements, alongside Invoke and Paramiko.Read 8 Oct 2026 · fabfile.org
Upgrade path
The project says modern Fabric can be installed alongside Fabric 1 to allow users to upgrade at their own pace.Read 4 Oct 2026 · fabfile.org

Strong points and limits

Strong points

  • Free and open source
  • Serial or parallel multi-host execution
  • Python tasks exposed through fab
  • SSH keys, agents, and passwords supported
  • Linux, macOS, and Windows support

Limits

  • Shell sessions do not persist between calls
  • No extra GSSAPI beyond Paramiko
  • Requires Python, Invoke, and Paramiko
  • Self-hosted deployment

Who it suits

It suits Python users automating shell commands, Python tasks, and SSH administration across one or many hosts. It is self-hosted and agentless, with command-line access through fab.

Verdict

Fabric provides Python-driven SSH automation for single or multiple hosts, with both library and command-line workflows. Its separate-shell behavior and dependency requirements matter when designing multi-step remote tasks.

Where Specifiction places it

Alternatives to FabricAll alternatives →