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.9.tar.gz (389.0 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.9 Windows x86-64

dulwich-0.20.9-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.9-cp38-cp38-win_amd64.whl (460.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

dulwich-0.20.9-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.9-cp37-cp37m-win_amd64.whl (460.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

dulwich-0.20.9-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.9-cp36-cp36m-win_amd64.whl (460.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

dulwich-0.20.9-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.9.tar.gz.

File metadata

  • Download URL: dulwich-0.20.9.tar.gz
  • Upload date:
  • Size: 389.0 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.9.tar.gz
Algorithm Hash digest
SHA256 73c2b6ed90e484f4224ac31ab0ad2d52c4ed292ea661b2730687a875ae8c5e99
MD5 ca6c85e18711bf25ee9511ea8255e2b1
BLAKE2b-256 44cb8c9c79c2445c27990ce10721ccfd30e76be203c7345003e9ce1e5901c9f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5775bc247f52f3a55d8effca5d55dc35b503e0aa4798567cef0807155cee860f
MD5 8d097e5932aabf5d3d62ed40c2fec7de
BLAKE2b-256 2ef34b233e6f8d8e259e4475185fed70a021cca49fd76b3715882a30a6f6181f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 f27c14e0f97f6799f0692afa060a6180d0c48010187e890fe27c229b74324a0d
MD5 fc54355b9131d0a02d6e721b392f7f2c
BLAKE2b-256 3835feed586e0b674504ffa9b811bd87e0268fbdc6ee4ecd5e5f8b02a52c1d53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a41cdcb2fc4fcda1def4d06dfca4b3f0aaf4f4f5c6e2712d32f447854ef2b634
MD5 620a9aac1ff61854b5f70622d384e587
BLAKE2b-256 4ec51ce62f79ac89087a8079282c10e696f2a224e316c2db6bf43f70596763cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4b7544f74b15e30a66baa75da3fe8508d9b69886a7437a2341e3e17a665c32e5
MD5 343ea5b804cd6cff7097fcb1bb99bab3
BLAKE2b-256 a3f99d92df2255471cdeeb0aa7be107f107c102bb3234e5124f6ad05ce8c0be2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d08f11a147a9cd7bb5515aa7e474b30d36a4ca1ecfd7cafecb65d90c3bfa4773
MD5 9b3a1ad117a99bf9936be7bc7413aa81
BLAKE2b-256 f854c9e2046b21e29a5c612421b9310ecd7e2aec05e515d34b2f9d1391b5b252

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a922c7414c6bfaeffb8db2a2452c145877d2385de3b966ddb37db13f09a10c53
MD5 9db01090f7c957f1f89e23f09f8c37c3
BLAKE2b-256 d82e1b45ac2ec4d7993db0c551e1e633f1e1e3bb5b48312a585fb3b11840f656

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d3db2e7f1352dc4bb26fd76164fa4402cf9504512a4597ca73d7c518c39615bc
MD5 cc48dd69f7431c425f562e50561a2898
BLAKE2b-256 16392c56015eb9a8c0b2dfcce808f47a2ddd170b147fa8fade90f63f840c2235

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.9-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.9-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c2b6822bc57d3938ad4087dd093da2101bafe55bb89b3871a8357e6d93c8f961
MD5 d8885532a7c2d475eecc6752f8fa325a
BLAKE2b-256 9a01322605cd53ba7a6a033993c801d8c128d800e470dfe332571b3c8eb0fa9b

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