Det finns också en ren Python‑implementation av Git som heter Dulwich. Projektet finns på https://www.dulwich.io/. Det siktar på att ge ett gränssnitt till Git‑kodförråd (både lokala och fjärrkodförråd) som inte anropar Git direkt utan i stället använder ren Python. Det har dock valfria C‑tillägg som avsevärt förbättrar prestandan.
Dulwich följer Gits design och delar upp API:t i två huvudnivåer: lågnivådel och användardel.
Här är ett exempel på hur man använder lågnivå‑API:t för att komma åt incheckningsmeddelandet för den senaste incheckningen:
from dulwich.repo import Repo
r = Repo('.')
r.head()
# '57fbe010446356833a6ad1600059d80b1e731e15'
c = r[r.head()]
c
# <Commit 015fc1267258458901a94d228e39f0a378370466>
c.message
# 'Add note about encoding.\n'För att skriva ut en incheckningslogg med användar‑API:t (porcelain) på hög nivå kan du göra så här:
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 +0000API‑dokumentation, handledning och många exempel på hur man gör specifika uppgifter med Dulwich finns på den officiella webbplatsen https://www.dulwich.io.