Skip to main content

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.

Metadata

Release files for dulwich 0.20.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dulwich 0.20.13
File Size Uploaded
dulwich-0.20.13.tar.gz 389.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dulwich 0.20.13
File
dulwich-0.20.13-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
dulwich-0.20.13-cp39-cp39-manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64 Details
dulwich-0.20.13-cp39-cp39-manylinux1_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64 Details
dulwich-0.20.13-cp39-cp39-macosx_10_14_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.14+ x86-64 Details
dulwich-0.20.13-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
dulwich-0.20.13-cp38-cp38-manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
dulwich-0.20.13-cp38-cp38-manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details
dulwich-0.20.13-cp38-cp38-macosx_10_14_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.14+ x86-64 Details
dulwich-0.20.13-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
dulwich-0.20.13-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
dulwich-0.20.13-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
dulwich-0.20.13-cp37-cp37m-macosx_10_14_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.14+ x86-64 Details
dulwich-0.20.13-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
dulwich-0.20.13-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
dulwich-0.20.13-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
dulwich-0.20.13-cp36-cp36m-macosx_10_14_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.14+ x86-64 Details

Total release size: 8.1 MB

Release files / dulwich-0.20.13.tar.gz

Download URL dulwich-0.20.13.tar.gz
Size 389.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a5edcd168c66a10f9a663950eb3e7bd6c8e5a2ecf10495331f44c549e03c36c2
BLAKE2b-256 checksum
How to use checksums
3863d13c38c45e44b616ca7160bd9132387593f779feffeb0ea751ecc3e2ee71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.8.0 tqdm/4.51.0 CPython/3.9.0+

Release files / dulwich-0.20.13-cp39-cp39-win_amd64.whl

Download URL dulwich-0.20.13-cp39-cp39-win_amd64.whl
Size 461.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
071f326dcc67835141102e80bbfaf847d6ea9debf91e6fe258ceb94c5bf49118
BLAKE2b-256 checksum
How to use checksums
d4232c8b2c0b40569f2aadd16d84e29b7483723f15bdbe988fd7f7dc662a6c06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp39-cp39-manylinux2010_x86_64.whl

Download URL dulwich-0.20.13-cp39-cp39-manylinux2010_x86_64.whl
Size 503.6 kB
Tags CPython 3.9 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
245153c87aceae02ed020535592cdaa1c1ca51b1488b58433c0edc17e6d30816
BLAKE2b-256 checksum
How to use checksums
e1f41badb307288026fce99a0d3681512ba8000b0c0eda3c47594f77f3fd5a75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp39-cp39-manylinux1_x86_64.whl

Download URL dulwich-0.20.13-cp39-cp39-manylinux1_x86_64.whl
Size 503.6 kB
Tags CPython 3.9 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
2ec505895eb13d399ed8b230a7129ed04ca022ac5d224410189f3ef59b9adcae
BLAKE2b-256 checksum
How to use checksums
5c68a4cc5d28a9d99c7e14e232464101ac90b2ca7722847ae3a6f1b320cb832f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp39-cp39-macosx_10_14_x86_64.whl

Download URL dulwich-0.20.13-cp39-cp39-macosx_10_14_x86_64.whl
Size 449.5 kB
Tags CPython 3.9 macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
fd68ee1117028f225e0d93b39715962062bc480535d63416397524d5fab02a26
BLAKE2b-256 checksum
How to use checksums
321bb162f2f10813a467036913ed761222d68f60a29285f0a929a426628c2118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp38-cp38-win_amd64.whl

Download URL dulwich-0.20.13-cp38-cp38-win_amd64.whl
Size 461.3 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
440f05994e5e519dc57a46a91413345771ee5ebfb631f777d227a0a507cef996
BLAKE2b-256 checksum
How to use checksums
62c7778feeda4155e574547883a129859a5df03e40dc0ad758ebdda9bd8f5d8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

Release files / dulwich-0.20.13-cp38-cp38-manylinux2010_x86_64.whl

Download URL dulwich-0.20.13-cp38-cp38-manylinux2010_x86_64.whl
Size 505.4 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
ff9ca68b53eea74e1dc27c7e024d8098cdd1d63543929d93268f1e8a39c7133e
BLAKE2b-256 checksum
How to use checksums
1289f0d1693ca70fd371b461dbbdc49aaf1277e9d3c9511c622f432e2d03fcae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp38-cp38-manylinux1_x86_64.whl

Download URL dulwich-0.20.13-cp38-cp38-manylinux1_x86_64.whl
Size 505.4 kB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
0b186d3e89f1ba9c7532c526de63a922ed16d5e6dabd7c134eac887ac383bc55
BLAKE2b-256 checksum
How to use checksums
041477856c619c8a0201a588ed7764d9fc40384a20986837a3c80641c8cb0ad7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp38-cp38-macosx_10_14_x86_64.whl

Download URL dulwich-0.20.13-cp38-cp38-macosx_10_14_x86_64.whl
Size 449.5 kB
Tags CPython 3.8 macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
45626880ecfc5f031c70f0110587ab8a67e3c2a923898734a975dc68b2ffb719
BLAKE2b-256 checksum
How to use checksums
cff636f2926425466afcbbb73ddfaf57d96424211fce09ac24a8897915b98453
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

Release files / dulwich-0.20.13-cp37-cp37m-win_amd64.whl

Download URL dulwich-0.20.13-cp37-cp37m-win_amd64.whl
Size 461.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
bf4ea47612520add27b32abdc6aacba4e8d9bd7745117fa778b4f1b46ff7d6d7
BLAKE2b-256 checksum
How to use checksums
444c8210eb6f158632894769c0953b416335d781de3c64d27c2f3a8fce425886
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dulwich-0.20.13-cp37-cp37m-manylinux2010_x86_64.whl

Download URL dulwich-0.20.13-cp37-cp37m-manylinux2010_x86_64.whl
Size 504.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
3a530835186d213a3f7ae4893186713511d6f64ac944c0343cac10b675b93dbd
BLAKE2b-256 checksum
How to use checksums
1535eee4eee93539d67a8a2c64b395ad14fdd2a09cc83408adbab71742de6890
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp37-cp37m-manylinux1_x86_64.whl

Download URL dulwich-0.20.13-cp37-cp37m-manylinux1_x86_64.whl
Size 504.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
9cd4c927ccc22176217cf1761c142883fb7bd30f60d1e815125f249286cac77a
BLAKE2b-256 checksum
How to use checksums
c7a6dc151e3ebae1d1865f056b90b2a6a1474db099052b5dd336fc2683d9b5bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp37-cp37m-macosx_10_14_x86_64.whl

Download URL dulwich-0.20.13-cp37-cp37m-macosx_10_14_x86_64.whl
Size 449.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
0dd50a5638ea3fd2b7832e4c0d7c4d2a4b83c95d49ba4f6b262cb2fc44517a57
BLAKE2b-256 checksum
How to use checksums
a8011104a4dbe22311d5585eeeb484aeb39e0a77efecb664c68bba69c0393594
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

Release files / dulwich-0.20.13-cp36-cp36m-win_amd64.whl

Download URL dulwich-0.20.13-cp36-cp36m-win_amd64.whl
Size 461.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
7fc766d73d9d2c566e74e2916f5c033cac57049d7c3bf09377ebf2e0a55bb701
BLAKE2b-256 checksum
How to use checksums
c97e1e2ce2314cb8406978aad0e58c4e0686da92be12a8858ab7b360063fe76c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.8

Release files / dulwich-0.20.13-cp36-cp36m-manylinux2010_x86_64.whl

Download URL dulwich-0.20.13-cp36-cp36m-manylinux2010_x86_64.whl
Size 501.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
d8a5b8d935ac4fd3c8213e35071727b94792b942ce3eae1917c7f1371cd10613
BLAKE2b-256 checksum
How to use checksums
964970713d919a5b28933fbb15f230ef3fedfbe835659a2a3a3088539b389d92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp36-cp36m-manylinux1_x86_64.whl

Download URL dulwich-0.20.13-cp36-cp36m-manylinux1_x86_64.whl
Size 501.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
63130605e32cdeef8a1e7f7d77b044c0b144c69ab24c5f3788091058219be4da
BLAKE2b-256 checksum
How to use checksums
a86430eec5794a1c31af4c7373e963922a2a78b59879952a8e4d90ac71fc2601
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0

Release files / dulwich-0.20.13-cp36-cp36m-macosx_10_14_x86_64.whl

Download URL dulwich-0.20.13-cp36-cp36m-macosx_10_14_x86_64.whl
Size 449.4 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
db921fc595a5561c0a8b5419c1f77b4b6911af890e4f748e6d078a89e425bb8c
BLAKE2b-256 checksum
How to use checksums
0beb81ed9637ad3521ac62081a62907e0b8a1904cc412b5de6a7f0b95efa7fa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.12

Release history Release notifications | RSS feed

1.2.7

42 release files

1.2.6

42 release files

1.2.5

42 release files

1.2.4

42 release files

1.2.3

42 release files

1.2.2

42 release files

1.2.1

42 release files

1.2.0

42 release files

1.1.0

36 release files

1.0.0

26 release files

0.20.40

1 release file

0.20.39

1 release file

0.20.38

1 release file

0.20.36

1 release file

0.20.31

1 release file

This release

0.20.13 This release

17 release files

0.20.9

9 release files

0.20.8

9 release files

0.20.7

7 release files

0.19.10

1 release file

0.19.9

1 release file

0.19.8

1 release file

0.19.7

1 release file

0.19.6

1 release file

0.19.5

1 release file

0.19.4

1 release file

0.19.3

1 release file

0.19.2

1 release file

0.19.1

1 release file

0.19.0

1 release file

0.18.6

1 release file

0.18.5

1 release file

0.18.4

1 release file

0.18.3

1 release file

0.18.2

1 release file

0.18.1

1 release file

0.18.0

1 release file

0.17.3

1 release file

0.17.2

1 release file

0.17.1

1 release file

0.16.3

1 release file

0.16.2

1 release file

0.16.1

1 release file

0.16.0

1 release file

0.15.0

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.9

1 release file

0.9.8

1 release file

0.9.7

1 release file

0.9.6

1 release file

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

0.8.7

0.8.6

0.8.5

0.8.4

0.8.3

0.8.2

0.8.1

0.8.0

0.7.1

0.7.0

0.6.2

0.6.1

0.6.0

0.5.0

0.4.1

0.4.0

0.3.3

0.3.2

0.3.1

0.3.0

0.2.1

0.1.1

0.1.0

0.0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page