Skip to main content

Python Git Library

Project description

This is the Dulwich project.

It aims to provide an interface to git repos (both local and remote) that doesn’t call out to git directly but instead uses pure Python.

Main website: <https://www.dulwich.io/>

License: Apache License, version 2 or GNU General Public License, version 2 or later.

The project is named after the part of London that Mr. and Mrs. Git live in in the particular Monty Python sketch.

Installation

By default, Dulwich’ setup.py will attempt to build and install the optional C extensions. The reason for this is that they significantly improve the performance since some low-level operations that are executed often are much slower in CPython.

If you don’t want to install the C bindings, specify the –pure argument to setup.py:

$ python setup.py --pure install

or if you are installing from pip:

$ pip install dulwich --global-option="--pure"

Note that you can also specify –global-option in a requirements.txt file, e.g. like this:

dulwich --global-option=--pure

Getting started

Dulwich comes with both a lower-level API and higher-level plumbing (“porcelain”).

For example, to use the lower level API to access the commit message of the last commit:

>>> from dulwich.repo import Repo
>>> r = Repo('.')
>>> r.head()
'57fbe010446356833a6ad1600059d80b1e731e15'
>>> c = r[r.head()]
>>> c
<Commit 015fc1267258458901a94d228e39f0a378370466>
>>> c.message
'Add note about encoding.\n'

And to print it using porcelain:

>>> 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.

Further documentation

The dulwich documentation can be found in docs/ and built by running make doc. It can also be found on the web.

Help

There is a #dulwich IRC channel on the Freenode, and dulwich-announce and dulwich-discuss mailing lists.

Contributing

For a full list of contributors, see the git logs or AUTHORS.

If you’d like to contribute to Dulwich, see the CONTRIBUTING file and list of open issues.

Supported versions of Python

At the moment, Dulwich supports (and is tested on) CPython 3.5 and later and Pypy.

The latest release series to support Python 2.x was the 0.19 series. See the 0.19 branch in the Dulwich git repository.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dulwich-0.20.8.tar.gz (389.3 kB view details)

Uploaded Source

Built Distributions

dulwich-0.20.8-cp39-cp39-win_amd64.whl (461.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

dulwich-0.20.8-cp39-cp39-macosx_10_14_x86_64.whl (449.1 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

dulwich-0.20.8-cp38-cp38-win_amd64.whl (460.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

dulwich-0.20.8-cp38-cp38-macosx_10_14_x86_64.whl (449.1 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

dulwich-0.20.8-cp37-cp37m-win_amd64.whl (460.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

dulwich-0.20.8-cp37-cp37m-macosx_10_14_x86_64.whl (449.0 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

dulwich-0.20.8-cp36-cp36m-win_amd64.whl (460.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

dulwich-0.20.8-cp36-cp36m-macosx_10_14_x86_64.whl (449.0 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

Details for the file dulwich-0.20.8.tar.gz.

File metadata

  • Download URL: dulwich-0.20.8.tar.gz
  • Upload date:
  • Size: 389.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.8.0 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for dulwich-0.20.8.tar.gz
Algorithm Hash digest
SHA256 e955e68352e084fae3a782ada12d26149df615b4118cd1141c05b3f67eec3d00
MD5 333b4a70b3119789ffc1e54472a36048
BLAKE2b-256 d54e6dbbf632bac9e3c4562eaf03134920950d5d5ff22bc90e08cfa01958df5d

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 461.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for dulwich-0.20.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 655ad04020df3fe62e5b767d520157dbf2af09f467e6df6808e42943aa8b92df
MD5 fbdfc5cbe28d0dae36fd96e91133c6c5
BLAKE2b-256 c57ef19c6adf830edaede3aa42330878d9f4633b3118f1ca63ae0e76a1cf251a

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp39-cp39-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 449.1 kB
  • Tags: CPython 3.9, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for dulwich-0.20.8-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7676737011634387376339e44b77a9f0ea6766b8a133afe8fb18425389f05dd5
MD5 b5cffb979a8decaa1a5ac832f31ff5c1
BLAKE2b-256 b9bae52e45d6ee6cf2764b01ceb09e6d32b0537bc29c8f847171a0e1b13b23c2

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 460.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for dulwich-0.20.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cbefb93094e14aba34af612a91e23f19738fe4e16d0d79ba2b79609eb256da50
MD5 4894cf1247785e092076b87f8adedec9
BLAKE2b-256 5bff1d03bb6f5bf4b6025415da0f6c4506ef950bb059be089e3c8b8f808482c5

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 449.1 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for dulwich-0.20.8-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1e171bc1379de90140d99efc2649a4cd951dba7158e5c3aa56efec18a975eb39
MD5 b2785d7d7e9ca59be75b4cbcc77b3502
BLAKE2b-256 798d0d705f1b95dcffbfa0a20f11bab9f813003aa733229eed7389ea28c60056

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 460.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for dulwich-0.20.8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 03c93a7e6c3ca8f30e9b698414f529070e2e4461f610d943b829df0746a09293
MD5 dfd1a311fd9075da2aefc9f22711b903
BLAKE2b-256 29fb7fbf501e99b65168c5e7700c8c9823c4d88e04f8a60b9d51b1479d75779f

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 449.0 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for dulwich-0.20.8-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2a1a1ad0ed6f442d8346a67f8b445038d970581b52e452136719033748869597
MD5 dd2d2e75a097120f1fe2ce3bae3fee11
BLAKE2b-256 45296ea42c5fc899984703c8041a7f9b59a58b05eaa8e10710d5cd5033a44c5d

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 460.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.8

File hashes

Hashes for dulwich-0.20.8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2700e191b961d69bd0fecca7a14a0aea31d14a4d21c84fc772119605d4dbd0a3
MD5 50dc47699b37ed24f73dfeda99069c40
BLAKE2b-256 e85f484937f63663cefcd53c7eaedf2356ad304c3ea3ae266d22b49811979e8f

See more details on using hashes here.

File details

Details for the file dulwich-0.20.8-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.8-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 449.0 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.12

File hashes

Hashes for dulwich-0.20.8-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1e84b4c335c72935bbeffa95f442a5644153a44169104a3e2dfc6b714fca962d
MD5 a0b10c98c119ec7014ef1c278864519b
BLAKE2b-256 8dbabc16c1abd5544cf363bc400a99197ea873203d09cb601fe9f4029a150f7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page