FREEDOM251

Freedom251 › Configuration Management Tools

Fabric

Paid LinuxMacWindows

Visit Fabric Alternatives

Fabric's own site

What Fabric is

Fabric is a Python library for running shell commands on remote hosts over SSH and receiving results as Python objects. It can work with one host or several, with commands run serially or in parallel. Python functions and code blocks can also be run against individual connections or multiple hosts. For command-line workflows, Fabric exposes Python tasks through the `fab` tool, which supports task parameters and pre- and post-tasks. Its comma-separated host option supports serial task execution. Fabric builds on Invoke for subprocess and command-line features, and Paramiko for SSH protocol support. Its documented authentication options include private key files, SSH agents, and passwords. Installation is recommended through `pip install fabric`; Python, Invoke, and Paramiko are listed as requirements. The project describes modern Fabric as installable alongside Fabric 1, supporting a gradual upgrade. Fabric is free and open source, and is listed for Linux, macOS, and Windows. It uses a self-hosted, agentless deployment model. Each `run` or `sudo` call starts a separate remote shell session, so a command such as `cd` does not carry over to the next call.

Who it suits

Fabric suits Python users who need to run shell commands or Python code on remote hosts over SSH, including across multiple hosts. It is relevant to teams that want to expose Python tasks through a command-line tool and choose serial or parallel execution.

What it does well

  • Runs commands across one or multiple hosts, serially or in parallel.
  • Supports Python functions and code blocks on remote connections.
  • Exposes Python tasks through `fab` with parameters and pre- or post-tasks.
  • Documents private key, SSH agent, and password authentication.
  • Free and open source; listed for Linux, macOS, and Windows.

What to know first

  • Each `run` or `sudo` call starts a separate remote shell session.
  • Adds no GSSAPI support beyond Paramiko’s existing connection parameters.
  • Requires Python, Invoke, and Paramiko.

Limits

Each `run` or `sudo` call uses its own remote shell session, so changes such as `cd` do not persist between calls. Fabric adds no extra GSSAPI support beyond Paramiko’s existing connection parameters.

Getting started

  1. Open the Fabric website.
  2. Install Fabric with `pip install fabric`.
  3. Ensure Python, Invoke, and Paramiko are available.
  4. Configure SSH authentication with a private key file, SSH agent, or password.
  5. Expose Python tasks through `fab` and provide task parameters or a comma-separated host list as needed.

Verdict

Choose Fabric if you want a free, open-source Python library for running SSH commands and Python tasks across remote hosts. Its separate shell session for each `run` or `sudo` call matters when you expect shell state, such as the current directory, to persist between calls.

Questions

How much does Fabric cost?

Fabric is free and open source.

Which operating systems are listed?

Linux, macOS, and Windows.

How do I install Fabric?

The installation guide recommends `pip install fabric` and lists Python, Invoke, and Paramiko as requirements.

Which SSH authentication methods does it document?

Private key files, SSH agents, and password authentication.

Can modern Fabric be installed alongside Fabric 1?

Yes. The project says modern Fabric can be installed alongside Fabric 1 to support upgrading at your own pace.

Who heads the development team?

The project’s development team is headed by Jeff Forcier.

Facts from Fabric's own pages

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

Where Fabric stands on Freedom251

Look at these too