GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

pyinvoke

invoke – Pythonicタスク管理とコマンド実行

投稿日:

Pythonicタスク管理とコマンド実行。 http://pyinvoke.org

InvokeはPython(2.7および3.4​​+)のタスク実行ツール&ライブラリで、さまざまなソースからインスピレーションを得て、強力でクリーンな機能セットを実現します。

  • RubyのRakeツールやInvoke自身の前身であるFabric 1.xと同様に、シェルコマンドを実行したり、 tasks.pyファイルからタスク関数を定義/整理するためのきれいで高水準のAPIを提供します。

    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 {}".format(pattern))
    
    @task
    def build(ctx, docs=False):
        ctx.run("python setup.py build")
        if docs:
            ctx.run("sphinx-build docs docs/_build")
  • GNU Makeでは、一般的なパターンのための最小限の定型文と、単一の呼び出しで複数のタスクを実行する能力を重視しています。

    $ invoke clean build
    
  • Fabric 1.xがコマンドラインアプローチをデフォルトの使用モードとみなした場合、Invoke(およびその上に構築されたツール)は、自分のPythonコードまたはREPLに同じように組み込まれています。

    .. testsetup:: blurb
    
        fakeout = """
        Hello, this is pip
        Installing is fun
        Fake output is fake
        Successfully installed invocations-0.13.0 pep8-1.5.7 spec-1.3.1
        """
        proc = MockSubprocess(out=fakeout, exit=0)
    
    
    .. testcleanup:: blurb
    
        proc.stop()
    
    
    >>> 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
  • ほとんどのUnix CLIアプリケーションのリードに続いて、従来のフラグベースのコマンドライン解析スタイルを提供し、フラグシグネチャからフラグ名と値の型を派生させました。

    $ invoke clean --docs --bytecode build --docs --extra='**/*.pyo'
    $ invoke clean -d -b build --docs -e '**/*.pyo'
    $ invoke clean -db build -de '**/*.pyo'
    
  • 以前の多くの人々と同様に、名前空間、タスクエイリアシング、前後のフック、並列実行など、高度な機能も提供しています。

詳細なインストール情報を含むドキュメントについては、 http://pyinvoke.orgを参照してください。 インストール後の使用状況に関する情報は、 invoke --help

あなたはpip install -e git+https://github.com/pyinvoke/invoke#egg=invokeを通して開発版をインストールすることができpip install -e git+https://github.com/pyinvoke/invoke#egg=invoke







-pyinvoke

執筆者: