Fabric
fabfile.org
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
- Configuration Management Tools#17 of 267.5