Paver: ソフトウェアプロジェクトのための簡易スクリプティング

../_images/paver_banner.jpg

Paver は Make や Rake によく似た Python ベースのソフトウェアプロジェクトのスクリプティングツールです。例えば C 言語のプログラムのように必要な依存関係を追跡して扱うようには設計されていません。Python 構文と豊富なライブラリコードの利便性により、雑多な全ての繰り返しタスク(ドキュメントを生成する、関連ファイルを移動する、ダウンロードする)に対して 補助するように 設計されています

もしあなたが Python でアプリケーションを開発しているなら、なおさら使用してみましょう。大半の Python のパブリックプロジェクトは再配布向けのソース tarball を作成するために distutils か setuptools を使用します(プライベートプロジェクトもこの利点を得ることができる!)。あなたはこれまでにソースディストリビューションを作成する前にドキュメントを生成したことがありますか?Paver を使えばまさにそれができます。次に完全な pavement.py があります。

from paver.easy import *
from paver.setuputils import setup

setup(
    name="MyCoolProject",
    packages=['mycool'],
    version="1.0",
    url="http://www.blueskyonmars.com/",
    author="Kevin Dangoor",
    author_email="dangoor@gmail.com"
)

@task
@needs(['html', "distutils.command.sdist"])
def sdist():
    """Generate docs and source distribution."""
    pass

この pavement ファイルを使用して、ただ paver sdist を実行するだけでドキュメントがソースディストリビューションを作成する前に自動的にリビルドされます。そして、生成したドキュメントを他のディレクトリへ移動することも簡単です(もちろん Paver にそのドキュメントをデフォルトの場所以外にどこへ置くかを教えることができます)。

機能

  • ビルドファイルは ただの Python プログラムです
  • 1つの構文で1つのファイル , pavement.py はプロジェクトの管理方法を知っています
  • File 操作 は Jason Orendorff が作成した path.py のビルトインを使用して信じられないぐらい簡単です
  • 5行でできることに必要なコードは? やはり5行だけです
  • 必要に応じてカスタマイズできるように完全に distutils と setuptools を内包します
  • ドキュメントを生成するために Sphinx をラップして、テストされたサンプルコードを組み込み易くするためのユーティリティを追加します
  • チェックアウトするコードと共に動作する Subversion をラップする
  • 仮想環境を構築して実行するブートストラップスクリプトの作成を許容する virtualenv をラップする、これは影響範囲が制限された環境にパッケージをインストールするための素晴らしい方法です
  • これらのうち全てのライブラリを使用できますが 依存関係がありません
  • Paver のインストールや関連内容をユーザが学習することなく簡単に setup.py から変換します!(サンプルは スタートガイド を参照)

Paver がどのように動作するかを見てください! スタートガイド をチェックアウトしよう。

Paver は SitePen に所属する Kevin Dangoor が作成しました。

ステータス

Paver は2008年中頃に本番環境で使用されています。そして1.0 リリースから後方互換性に大きな注意が払われています。

最新の改善内容は changelog を参照してください。

インストール

setuptools をインストールしているなら Paver をインストールする最も簡単な方法です。

easy_install Paver

setuptools がなくても本当に簡単です。 Paver の Cheeseshop ページ から Paver の .tgz ファイルをダウンロードして解凍して次のように実行してください。

python setup.py install

ヘルプと開発

困ったときは メーリングリスト で質問することができます。

Paver を支援したいなら Googlecode からそのコードをチェックアウトすることができます。

svn checkout http://paver.googlecode.com/svn/trunk/ paver-read-only

Googlecode の Paver プロジェクト で見ることもできます。

ライセンス

Paver は BSD ライセンスを採用します。配布に関しては LICENSE.txt を参照してください。

コンテンツ

インデックスとテーブル