Is there a Rake equivalent in Python?

Invoke — Fabric without the SSH dependencies.

The Fabric roadmap discusses that Fabric 1.x will be split into three portions:

  1. Invoke — The non-SSH task execution.
  2. Fabric 2.x — The remote execution and deployment library that utilizes Invoke.
  3. Patchwork — The "common deployment/sysadmin operations, built on Fabric."

Invoke is a Python (2.6+ and 3.3+) task execution tool & library, drawing inspiration from various sources to arrive at a powerful & clean feature set.

Below are a few descriptive statements from Invoke's website:

  • Invoke is a Python (2.6+ and 3.3+) task execution tool & library, drawing inspiration from various sources to arrive at a powerful & clean feature set.
  • Like Ruby’s Rake tool and Invoke’s own predecessor Fabric 1.x, it provides a clean, high level API for running shell commands and defining/organizing task functions from a tasks.py file.

Paver has a similar set of goals, though I don't really know how it compares.