Skip to main content

Pythonic task execution

Project description

To find out what’s new in this version of Invoke, please see the changelog.

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:

    from invoke import task
    
    @task
    def clean(ctx, docs=False, bytecode=False, extra=''):
        patterns = ['build']
        if docs:
            patterns.append('docs/_build')
        if bytecode:
            patterns.append('**/*.pyc')
        if extra:
            patterns.append(extra)
        for pattern in patterns:
            ctx.run("rm -rf {0}".format(pattern))
    
    @task
    def build(ctx, docs=False):
        ctx.run("python setup.py build")
        if docs:
            ctx.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
  • Where Fabric 1.x considered the command-line approach the default mode of use, Invoke (and tools built on it) are equally at home embedded in your own Python code or a REPL:

    >>> from invoke import run
    >>> cmd = "pip install -r requirements.txt"
    >>> result = run(cmd, hide=True, warn=True)
    >>> print(result.ok)
    True
    >>> print(result.stdout.splitlines()[-1])
    Successfully installed invocations-0.13.0 pep8-1.5.7 spec-1.3.1
  • 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 http://pyinvoke.org. Post-install usage information may be found in invoke --help.

You can install the development version via pip install -e git+https://github.com/pyinvoke/invoke#egg=invoke.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invoke-0.20.3.tar.gz (287.8 kB view details)

Uploaded Source

Built Distributions

invoke-0.20.3-py3-none-any.whl (152.5 kB view details)

Uploaded Python 3

invoke-0.20.3-py2-none-any.whl (153.3 kB view details)

Uploaded Python 2

File details

Details for the file invoke-0.20.3.tar.gz.

File metadata

  • Download URL: invoke-0.20.3.tar.gz
  • Upload date:
  • Size: 287.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for invoke-0.20.3.tar.gz
Algorithm Hash digest
SHA256 fc7693efd7e601da8dd1675271c90e5e12f861ce622501eb795c807c0547b39f
MD5 e0e493afd5bca5f55f43084d7f268c8d
BLAKE2b-256 eff2768e71b915881a418d860b164e4ebc6f8e9b0221e27639371f1a1a2887a7

See more details on using hashes here.

File details

Details for the file invoke-0.20.3-py3-none-any.whl.

File metadata

File hashes

Hashes for invoke-0.20.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fddda290cefe872834ae6cf17b109a7c5f83b7d930bac294b821aeed39c6ae5e
MD5 4cfb8970ab5856651e87891833209da6
BLAKE2b-256 48ea58fc4dc09a4c5678f22360401087b4782b3f3481220c58fe923fdeee3d36

See more details on using hashes here.

File details

Details for the file invoke-0.20.3-py2-none-any.whl.

File metadata

File hashes

Hashes for invoke-0.20.3-py2-none-any.whl
Algorithm Hash digest
SHA256 c96bb1e192fe576f257429bbdeec538081d2e15b931b50443974f54358435df5
MD5 08640e490caae666fe5fbfc8a7d59a05
BLAKE2b-256 fa9f07a7ca11ab561ea95b6f3245db8921d3379d4b67f685f033a42e60c84e81

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page