ب، ٥، جت ببيثون: Dulwich

توجد كذلك نسخة بَيثونيّة خالصة من جت: Dulwich. وهذا المشروع مستضاف في dulwich.io. ومسعاه أن يتيح واجهة لمستودعات جت (المحلية والبعيدة)، لكن بغير برنامج جت نفسه، بل بلغة Python وحدها. لكن فيه امتدادات اختيارية مكتوبة بلغة C، وهي تُزيد كثيرًا من سرعة تنفيذه.

(من المترجم) يتوقف الموقع الرسمي كثيرًا. لكنه على أرشيف الإنترنت في: https://web.archive.org/web/20250114030653/https://www.dulwich.io/، وكذلك توثيقه ودروسه وحدها في: https://dulwich.readthedocs.io/en/latest/.

وفي أبريل ٢٠٢٤م غيّر المشروع امتداداته الاختيارية من لغة C إلى Rust.

يتبع Dulwich تصميم جت فيقسم واجهته البرمجية إلى مستويين: سباكة (أوامر سفلية) وبورسلين (أوام‍ر علوية).

هذا مثال على الواجهة البرمجية السفلى للوصول إلى رسالة الإيداع الأخير:

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

قراءة المزيد

تجد على موقع Dulwich الرسمي توثيق الواجهة البرمجية ودروسًا وأمثلة كثيرة على فعل أمور معينة به.