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.21.0.tar.gz (290.9 kB view details)

Uploaded Source

Built Distributions

invoke-0.21.0-py3-none-any.whl (153.6 kB view details)

Uploaded Python 3

invoke-0.21.0-py2-none-any.whl (154.4 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for invoke-0.21.0.tar.gz
Algorithm Hash digest
SHA256 ab3b4cad44df0fda3918fd4c8dbfd3eaac52df5b95cedd5381856d132fbb676c
MD5 f71f97148c8f5326d6decc59b7b43b23
BLAKE2b-256 3881602a7b1b5c43506c0ec39981d8f9ec3237c0ad1c7d5bd8f7f84b119d3a2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for invoke-0.21.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b15214b0e2635ec26ffa86c56a12d9f7c5d76f427ad5cd4f6767720460175be
MD5 9ec00c19ad59a34ab5688a30baa73c6d
BLAKE2b-256 1e81f8bf4630a3b78985de59201e17a2ba155d686c492fd0370ac9b5b5e17cb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for invoke-0.21.0-py2-none-any.whl
Algorithm Hash digest
SHA256 6f3ab4d54b32ad1c679de7a100cf36260fb06394e0722ad49f3ed40a4f7f61db
MD5 bbdb0fa9d101b37a369b2503dce3b0fd
BLAKE2b-256 3903a0720b272d9c96ba3c5c43f75000d25230a3b4e08a6c612c0d41ad14c987

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