Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Simple Python task execution
Python Other
Latest commit 72e3ba8 @bitprophet bitprophet Merge pull request #281 from mattrobenolt/setup
Update troves for moar python support


Invoke is a Python (2.6+ and 3.2+) 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 file:

    from invoke import run, task
    def clean(docs=False, bytecode=False, extra=''):
        patterns = ['build']
        if docs:
        if bytecode:
        if extra:
        for pattern in patterns:
            run("rm -rf %s" % pattern)
    def build(docs=False):
        run("python build")
        if docs:
            run("sphinx-build docs docs/_build")
  • From GNU Make, it inherits an emphasis on minimal boilerplate for common patterns and the ability to run multiple tasks in a single invocation:

    $ invoke clean build
  • Following the lead of most Unix CLI applications, it offers a traditional flag-based style of command-line parsing, deriving flag names and value types from task signatures (optionally, of course!):

    $ invoke clean --docs --bytecode build --docs --extra='**/*.pyo'
    $ invoke clean -d -b build --docs -e '**/*.pyo'
    $ invoke clean -db build -de '**/*.pyo'
  • Like many of its predecessors, it offers advanced features as well -- namespacing, task aliasing, before/after hooks, parallel execution and more.

For documentation, including detailed installation information, please see Post-install usage information may be found in invoke --help.

You can install the development version via pip install invoke==dev --allow-unverified invoke.

Something went wrong with that request. Please try again.