Switch branches/tags
upstream/0.19.0 upstream/0.18.5 upstream/0.18.4 upstream/0.18.3 upstream/0.18.2 upstream/0.18.0 upstream/0.17.3 upstream/0.17.1 upstream/0.16.3 upstream/0.16.2 upstream/0.16.1 upstream/0.16.0 upstream/0.15.0 upstream/0.14.1 upstream/0.14.0 upstream/0.13.0 upstream/0.12.0 upstream/0.11.2 upstream/0.11.1 upstream/0.10.1 upstream/0.10.1+git20150525 upstream/0.10.1+git20150425 upstream/0.10.0 upstream/0.9.8 upstream/0.9.7 upstream/0.9.6 upstream/0.9.5 upstream/0.9.1 rc-fix-pack-protocol-v2 dulwich-0.19.0 dulwich-0.18.6 dulwich-0.18.5 dulwich-0.18.4 dulwich-0.18.3 dulwich-0.18.2 dulwich-0.18.1 dulwich-0.18.0 dulwich-0.17.3 dulwich-0.17.2 dulwich-0.17.1 dulwich-0.17.0 dulwich-0.16.3 dulwich-0.16.2 dulwich-0.16.1 dulwich-0.16.0 dulwich-0.15.0 dulwich-0.14.1 dulwich-0.14.0 dulwich-0.13.0 dulwich-0.12.0 dulwich-0.11.1 dulwich-0.11.0 dulwich-0.10.1 dulwich-0.10.0 dulwich-0.9.10 dulwich-0.9.9 dulwich-0.9.8 dulwich-0.9.7 dulwich-0.9.6 dulwich-0.9.5 dulwich-0.9.4 dulwich-0.9.3 dulwich-0.9.2 dulwich-0.9.1 dulwich-0.9.0 dulwich-0.8.7 dulwich-0.8.6 dulwich-0.8.5 dulwich-0.8.4 dulwich-0.8.3 dulwich-0.8.2 dulwich-0.8.1 dulwich-0.8.0 dulwich-0.7.1 dulwich-0.7.0 dulwich-0.6.2 dulwich-0.6.1 dulwich-0.6.0 dulwich-0.5.0 dulwich-0.4.1 dulwich-0.4.0 dulwich-0.3.3 dulwich-0.3.2 dulwich-0.3.1 dulwich-0.3.0 dulwich-0.2.1 dulwich-0.2.0 dulwich-0.1.1 dulwich-0.1.0 debian/0.19.0-2 debian/0.19.0-1 debian/0.18.5-1 debian/0.18.4-1 debian/0.18.3-1 debian/0.18.2-1 debian/0.18.1-2 debian/0.18.0-1 debian/0.17.3-2 debian/0.17.3-1 debian/0.17.1-1
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 129 lines (105 sloc) 4.15 KB
# encoding: utf-8
# Setup file for dulwich
# Copyright (C) 2008-2016 Jelmer Vernooij <>
from setuptools import setup, Extension
except ImportError:
from distutils.core import setup, Extension
has_setuptools = False
has_setuptools = True
from distutils.core import Distribution
import os
import sys
dulwich_version_string = '0.19.1'
include_dirs = []
# Windows MSVC support
if sys.platform == 'win32' and sys.version_info[:2] < (3, 6):
# Include dulwich/ for fallback stdint.h
class DulwichDistribution(Distribution):
def is_pure(self):
if self.pure:
return True
def has_ext_modules(self):
return not self.pure
global_options = Distribution.global_options + [
('pure', None, "use pure Python code instead of C "
"extensions (slower on CPython)")]
pure = False
if sys.platform == 'darwin' and os.path.exists('/usr/bin/xcodebuild'):
# XCode 4.0 dropped support for ppc architecture, which is hardcoded in
# distutils.sysconfig
import subprocess
p = subprocess.Popen(
['/usr/bin/xcodebuild', '-version'], stdout=subprocess.PIPE,
stderr=subprocess.PIPE, env={})
out, err = p.communicate()
for line in out.splitlines():
line = line.decode("utf8")
# Also parse only first digit, because 3.2.1 can't be parsed nicely
if (line.startswith('Xcode') and
int(line.split()[1].split('.')[0]) >= 4):
os.environ['ARCHFLAGS'] = ''
tests_require = ['fastimport']
if '__pypy__' not in sys.modules and not sys.platform == 'win32':
'gevent', 'geventhttpclient', 'mock', 'setuptools>=17.1'])
ext_modules = [
Extension('dulwich._objects', ['dulwich/_objects.c'],
Extension('dulwich._pack', ['dulwich/_pack.c'],
Extension('dulwich._diff_tree', ['dulwich/_diff_tree.c'],
setup_kwargs = {}
if has_setuptools:
setup_kwargs['extras_require'] = {'fastimport': ['fastimport']}
setup_kwargs['install_requires'] = ['urllib3[secure]>=1.21']
setup_kwargs['include_package_data'] = True
setup_kwargs['test_suite'] = 'dulwich.tests.test_suite'
setup_kwargs['tests_require'] = tests_require
if sys.platform == 'win32':
# Win32 setup breaks with non-ascii characters.
author = "Jelmer Vernooij"
author = "Jelmer Vernooij"
description='Python Git Library',
license='Apachev2 or later or GPLv2',
Python implementation of the Git file formats and protocols,
without the need to have git installed.
All functionality is available in pure Python. Optional
C extensions can be built for improved performance.
The project is named after the part of London that Mr. and Mrs. Git live
in in the particular Monty Python sketch.
packages=['dulwich', 'dulwich.tests', 'dulwich.tests.compat',
package_data={'': ['../docs/tutorial/*.txt']},
scripts=['bin/dulwich', 'bin/dul-receive-pack', 'bin/dul-upload-pack'],
'Development Status :: 4 - Beta',
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Operating System :: POSIX',
'Operating System :: Microsoft :: Windows',
'Topic :: Software Development :: Version Control',