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.7 and 3.4+) 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(c, 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:
            c.run("rm -rf {}".format(pattern))
    
    @task
    def build(c, docs=False):
        c.run("python setup.py build")
        if docs:
            c.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-1.0.1.tar.gz (308.5 kB view details)

Uploaded Source

Built Distributions

invoke-1.0.1-py3-none-any.whl (159.6 kB view details)

Uploaded Python 3

invoke-1.0.1-py2-none-any.whl (160.4 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for invoke-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6a3a93991ec3fdc6323aaf255901d2e1cc57a5f5cefada211d628de47b655ffb
MD5 373c6811614f1caefa548d4226b5af93
BLAKE2b-256 165a5bc33e104755893728a7a4be0b4574bdc8402cf4d678e77de6dfb78a977e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for invoke-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8e47faa8e745682da865ac78cbb38c7e2090137679eca3d1d9d2ce7ab909aaa6
MD5 c5068cffff0582578f20e453cf8d2271
BLAKE2b-256 55e711c76d2dda2046f5d2bce274db3499b54c57c056e9f4014d8edc0c9ba260

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for invoke-1.0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 28e3b94092505cc7be274e959d8d098236b58619ad811ccb59142d2741ba5ee6
MD5 17937c8b859f8180b3013cef7d58d9ad
BLAKE2b-256 7f1f46963b4b86fd57a499202bb049d1f2b39d62c4481dff88a2c975650144cb

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