Github: https://github.com/dulwich/dulwich
これはDulwichプロジェクトです。
これは、git repos(ローカルとリモートの両方)へのインタフェースを提供することを目的としていますが、gitを直接呼び出すのではなく、代わりに純粋なPythonを使用します。
メインのウェブサイト : www.dulwich.io
ライセンス :Apache License、バージョン2またはGNU General Public License、バージョン2以降
このプロジェクトは、Git氏が特定のMonty Pythonスケッチで生きているロンドンの一部にちなんで命名されています。
インストール
デフォルトでは、Dulwichのsetup.pyはオプションのC拡張をビルドしてインストールしようとします。 その理由は、実行されるいくつかの低レベル操作がしばしばCPythonではるかに遅いため、パフォーマンスが大幅に向上するからです。
Cバインディングをインストールしない場合は、setup.py ::に–pure引数を指定します。
$ python setup.py --pure install
またはpipからインストールしている場合::
$ pip install dulwich --global-option="--pure"
requirements.txtファイルで–global-optionを指定することもできます。例:
dulwich --global-option=--pure
入門
Dulwichには、低レベルAPIと高水準の配管(「磁器」)があります。
たとえば、下位レベルのAPIを使用して最後のコミットのコミット・メッセージにアクセスするには、次のようにします。
>>> from dulwich.repo import Repo
>>> r = Repo('.')
>>> r.head()
'57fbe010446356833a6ad1600059d80b1e731e15'
>>> c = r[r.head()]
>>> c
<Commit 015fc1267258458901a94d228e39f0a378370466>
>>> c.message
'Add note about encoding.\n'
磁器を使って印刷するには:
>>> from dulwich import porcelain
>>> porcelain.log('.', max_entries=1)
--------------------------------------------------
commit: 57fbe010446356833a6ad1600059d80b1e731e15
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Date: Sat Apr 29 2017 23:57:34 +0000
Add note about encoding.
さらなるドキュメンテーション
dulwichのドキュメントは、docs /とwebにあります 。
APIリファレンスは、pydoctorを使用して、 “make pydoctor”を実行するか、Web上で生成できます。
助けて
Freenodeに #dulwich IRCチャンネルがあり、 dulwich-announceとdulwich-discussメーリングリストがあります。
貢献する
貢献者の完全なリストについては、gitログまたは著者を参照してください。
Dulwichに貢献したい場合は、 CONTRIBUTINGファイルと公開されている問題のリストをご覧ください。
サポートされているPythonのバージョン
現時点で、DulwichはCPython 2.7,3.3,3.4,3.5,3.6、およびPypyをサポートしています。