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 run, task
    
    @task
    def clean(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:
            run("rm -rf %s" % pattern)
    
    @task
    def build(docs=False):
        run("python setup.py 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 http://pyinvoke.org. Post-install usage information may be found in invoke --help.

You can install the development version via pip install invoke==dev --allow-unverified 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.12.2.tar.gz (226.4 kB view details)

Uploaded Source

Built Distribution

invoke-0.12.2-py2.py3-none-any.whl (166.1 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for invoke-0.12.2.tar.gz
Algorithm Hash digest
SHA256 8001f79e80998e33a429a9a26c149db8f315676b5de782eacd980eacd0f420c0
MD5 f46192ea664325464a02f1c7f735e3cb
BLAKE2b-256 45fa93df5fae294d619b263ec845717d9b8e9ae550d3cc3ecc702a6d6067837c

See more details on using hashes here.

File details

Details for the file invoke-0.12.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for invoke-0.12.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9df8d03e251c962096457fc724d114f42bd57a13eefd1be11f56c30b8537b601
MD5 c4ef0c34a94438c44c7a68a92d04792e
BLAKE2b-256 8fc17a659d4752d7a4571416599c87fd93b22623a1a78f5a3395f1ee3d0f8633

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