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, 3.6, 3.7, 3.8 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.6.tar.gz (388.7 kB view details)

Uploaded Source

Built Distributions

dulwich-0.20.6-cp38-cp38-win_amd64.whl (460.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

dulwich-0.20.6-cp38-cp38-manylinux2010_x86_64.whl (504.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

dulwich-0.20.6-cp38-cp38-manylinux1_x86_64.whl (504.7 kB view details)

Uploaded CPython 3.8

dulwich-0.20.6-cp38-cp38-macosx_10_14_x86_64.whl (448.6 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

dulwich-0.20.6-cp37-cp37m-win_amd64.whl (460.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

dulwich-0.20.6-cp37-cp37m-manylinux2010_x86_64.whl (503.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

dulwich-0.20.6-cp37-cp37m-manylinux1_x86_64.whl (503.7 kB view details)

Uploaded CPython 3.7m

dulwich-0.20.6-cp37-cp37m-macosx_10_14_x86_64.whl (448.5 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

dulwich-0.20.6-cp36-cp36m-win_amd64.whl (460.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

dulwich-0.20.6-cp36-cp36m-manylinux2010_x86_64.whl (500.9 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

dulwich-0.20.6-cp36-cp36m-manylinux1_x86_64.whl (500.9 kB view details)

Uploaded CPython 3.6m

dulwich-0.20.6-cp36-cp36m-macosx_10_14_x86_64.whl (448.5 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: dulwich-0.20.6.tar.gz
  • Upload date:
  • Size: 388.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.8.0 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6.tar.gz
Algorithm Hash digest
SHA256 e593f514b8ac740b4ceeb047745b4719bfc9f334904245c6edcb3a9d002f577b
MD5 e7f11a8e35db3fd16e848db2899c8ef9
BLAKE2b-256 9e7bead3cba9c4e40c4170a110612fe029ac13e0322a42767d2ae1ddfd58a9bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 460.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5348310f21b2a23847342ce464461499b6652483fa42de03714d0f6421a99698
MD5 df0616964b5926ad1bb10f71dddf9ec8
BLAKE2b-256 6b95c9a30d9ee94b85867dc0eda39521a2ac7aa3ba049e929f670b5951c6c433

See more details on using hashes here.

File details

Details for the file dulwich-0.20.6-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.6-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 504.7 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 50ef300a9fa4efd9f85009c2bd8b515266ec1529400f8834f85c04fa9f09b2c0
MD5 2b457e0e8fcc6c8a33645e853ad79b7c
BLAKE2b-256 e1ce1d9891f26fecb26fa05fe3a7b18de8833c39ac0fbb97a35da21aa8b16578

See more details on using hashes here.

File details

Details for the file dulwich-0.20.6-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.6-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 504.7 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 49e747c72d9099e873bf6196260346d5996c3f28af788294d47a8accdc524de7
MD5 e208891960e44389c35207bbdcfabd6e
BLAKE2b-256 448b0554d297cb219eaee9f271feb219ee0cb90cbd8c11e90ca87c2188c4a295

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dulwich-0.20.6-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 448.6 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2452a0379cc7bbbd7ab893ec104d18039f1ea98b0d6be6bca5646e5cf29e0ae9
MD5 800b998a80298eab7102497b3f902edd
BLAKE2b-256 8e842fc43eb323fc21e247d31c9252491ba432c5065f796972c2310e2176fcab

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dulwich-0.20.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8f7a7f973be2beedfb10dd8d3eb6bdf9ec466c72ad555704897cbd6357fe5021
MD5 eee73a689ecb53136ab6e2cc10bbda97
BLAKE2b-256 c0b2ce84af2a510d7a196016191a2711d49595cdc7f3400d222ce0422f947947

See more details on using hashes here.

File details

Details for the file dulwich-0.20.6-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.6-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 503.7 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4fee359928c59b53af153a582a7ed7595259a5a825df400301a29e17fd78dfd3
MD5 937e4d5084817eef189787275026a56d
BLAKE2b-256 59fa65228345f48e9c7c3fbe11f8525711af8beb309c7d1e79bc4b0f20f4abf3

See more details on using hashes here.

File details

Details for the file dulwich-0.20.6-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.6-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 503.7 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2f4aebc54ed2d37dcee737024421452375570a422eb682232e676aa7ebc9cb4b
MD5 4fc5e2206ffead9e6c7577b9b01c04d1
BLAKE2b-256 01527a01a6f367bbcbd4106fa23c6b1748942e78d88fae63815eab53111b2789

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dulwich-0.20.6-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 304f52b10c49c3a6ddfbd73e2e93d8e979350225cfba9688e51110e74fa2f718
MD5 82cdc08cc30ec2ef7b20175b1fc33c17
BLAKE2b-256 a21306bac5cc474c5933f524cd980ab883079284c5a6195433d5816ac08a287f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dulwich-0.20.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 7e7b5dea5178b6493fdb83adccbe81de9ddff55f79880185ed594c0e3a97209b
MD5 56e7dfd43f4927dbde4dd5fa3d15f9ad
BLAKE2b-256 0e4d6d3483ef81a1e347855ab9ea97994ff3c5be309e1c46b6cbf8f9cb15f77f

See more details on using hashes here.

File details

Details for the file dulwich-0.20.6-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.6-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 500.9 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1ccd55e38fa9f169290f93e027ab4508202f5bdd6ef534facac4edd3f6903f0d
MD5 34d15e68cd0b764b8b83c3d765f14e6d
BLAKE2b-256 04f17ef538f8be37fd306dd9fcfd09de2be076b0c4bd2b92945140a157ad1703

See more details on using hashes here.

File details

Details for the file dulwich-0.20.6-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dulwich-0.20.6-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 500.9 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for dulwich-0.20.6-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e5871b86a079e9e290f52ab14559cea1b694a0b8ed2b9ebb898f6ced7f14a406
MD5 328c117f29c969e81adc963c0516b34e
BLAKE2b-256 698ff988df18b2519923783cc9b0670ec886a0794a5e4d517f3d4853e2b885b8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dulwich-0.20.6-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bea6e6caffc6c73bfd1647714c5715ab96ac49deb8beb8b67511529afa25685a
MD5 acb3a6d6dfabfff9acb9a9fd8f47791d
BLAKE2b-256 44c78185fb990e8ef82084205da5658a7ec75bb6bc9ce377c3706a27d7d9d8e2

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