Pure-Python Git implementation
Python C Other
Permalink
Failed to load latest commit information.
bin Update header to reflect that license is now Apachev2 or GNU GPLv2+. Sep 17, 2016
devscripts Add script for updating preamble. Sep 17, 2016
docs Correct formatting in Porcelain doc Aug 5, 2016
dulwich Update header to reflect that license is now Apachev2 or GNU GPLv2+. Sep 17, 2016
examples Fix clone example. (#374) Sep 13, 2015
.gitignore Release 0.11.0. Sep 13, 2015
.testr.conf testr: Allow id list files (fixes parallel runs). Dec 19, 2010
.travis.yml Revert "Drop dependency on greenlet/etc for Python3, as swift module … Jul 5, 2016
AUTHORS Change my e-mailaddress to jelmer@jelmer.uk. Jul 27, 2015
CONTRIBUTING Remove relicensing file, update CONTRIBUTING for license changes. Aug 7, 2016
COPYING As agreed by all contributors, change the license from: Aug 7, 2016
MANIFEST.in Release 0.14.0. Jul 3, 2016
Makefile Drop support for python 2.6. Apr 3, 2016
NEWS Pull in tags during dulwich.porcelain.clone. Fixes #408 Sep 5, 2016
README.md As agreed by all contributors, change the license from: Aug 7, 2016
README.swift Move the swift backend to dulwich/contrib. Jun 7, 2014
TODO Initial work towards git-upload-archive support. Nov 1, 2015
appveyor.yml Increase appveyor matrix, and enable bdist_wheel builds. May 28, 2015
dulwich.cfg Change homepage to www.dulwich.io. Jul 27, 2015
setup.cfg Add trivial setup.cfg file. Apr 26, 2015
setup.py As agreed by all contributors, change the license from: Aug 7, 2016
tox.ini Drop support for python 2.6. Apr 3, 2016

README.md

Build Status

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"

Further documentation

The dulwich documentation can be found in doc/ and on the web:

https://www.dulwich.io/docs/

The API reference can be generated using pydoctor, by running "make pydoctor", or on the web:

https://www.dulwich.io/apidocs

Help

There is a #dulwich IRC channel on Freenode, and a dulwich mailing list at https://launchpad.net/~dulwich-users.

Supported versions of Python

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