Ayrıca saf bir Python Git uygulaması da var: Dulwich. Proje https://www.dulwich.io/ adresinden yayınlanmaktadır. Git repolarına (hem yerel, hem de uzak) doğrudan Git’i çağırmayan, bunun yerine saf Python kullanan bir arayüz sağlamayı amaçlamaktadır. Performansı önemli ölçüde artıran, isteğe bağlı bir C uzantısı vardır.
Dulwich Git tasarımını takip eder ve iki temel API düzeyini ayırır: tesisat (plumbing) ve döşeme (porcelain).
Son katkının mesajına erişmek için alt düzey API’yi kullanmanın bir örneği:
from dulwich.repo import Repo
r = Repo('.')
r.head()
# '57fbe010446356833a6ad1600059d80b1e731e15'
c = r[r.head()]
c
# <Commit 015fc1267258458901a94d228e39f0a378370466>
c.message
# 'Add note about encoding.\n'
Yüksek seviyeli döşeme API’si kullanarak bir katkı günlüğü yazdırmak için aşağıdakiler kullanılabilir:
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
-
Resmi API kılavuzuna https://www.dulwich.io/apidocs/dulwich.html adresinden ulaşabilirsiniz.
-
https://www.dulwich.io/docs/tutorial adresindeki anlatılar Dulwich’le belli özel görevleri nasıl yapacağınıza dair pek çok örnek sunmaktadir.