mitmproxy/setup.py

90 lines
2.6 KiB
Python
Raw Normal View History

2015-05-28 08:56:00 +00:00
from distutils.command.build import build
from setuptools.command.install import install
2014-10-01 21:22:53 +00:00
from setuptools import setup, find_packages
from codecs import open
import os
2015-05-28 08:56:00 +00:00
2012-06-23 01:49:57 +00:00
from netlib import version
2014-10-01 21:22:53 +00:00
# Based on https://github.com/pypa/sampleproject/blob/master/setup.py
# and https://python-packaging-user-guide.readthedocs.org/
2015-05-28 08:56:00 +00:00
# and https://caremad.io/2014/11/distributing-a-cffi-project/
2014-09-08 16:58:07 +00:00
2014-10-01 21:22:53 +00:00
here = os.path.abspath(os.path.dirname(__file__))
2012-06-23 01:49:57 +00:00
2014-10-01 21:22:53 +00:00
with open(os.path.join(here, 'README.mkd'), encoding='utf-8') as f:
2014-09-08 16:58:07 +00:00
long_description = f.read()
2015-05-28 08:56:00 +00:00
def get_ext_modules():
from netlib import certffi
return [certffi.xffi.verifier.get_extension()]
class CFFIBuild(build):
def finalize_options(self):
self.distribution.ext_modules = get_ext_modules()
build.finalize_options(self)
class CFFIInstall(install):
def finalize_options(self):
self.distribution.ext_modules = get_ext_modules()
install.finalize_options(self)
2012-06-23 01:49:57 +00:00
setup(
2014-09-08 16:58:07 +00:00
name="netlib",
version=version.VERSION,
description="A collection of network utilities used by pathod and mitmproxy.",
long_description=long_description,
2014-10-01 21:22:53 +00:00
url="http://github.com/mitmproxy/netlib",
2014-09-08 16:58:07 +00:00
author="Aldo Cortesi",
author_email="aldo@corte.si",
2014-10-01 21:22:53 +00:00
license="MIT",
2014-09-08 16:58:07 +00:00
classifiers=[
"License :: OSI Approved :: MIT License",
"Development Status :: 3 - Alpha",
"Operating System :: POSIX",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
2015-02-07 00:43:25 +00:00
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
2014-09-08 16:58:07 +00:00
"Topic :: Internet",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Testing :: Traffic Generation",
],
2014-10-01 21:22:53 +00:00
packages=find_packages(),
include_package_data=True,
2015-05-28 08:56:00 +00:00
zip_safe=False,
2014-09-08 16:58:07 +00:00
install_requires=[
2015-05-28 08:56:00 +00:00
"cffi",
2014-09-08 16:58:07 +00:00
"pyasn1>=0.1.7",
"pyOpenSSL>=0.15.1",
"cryptography>=0.9",
2015-05-27 15:53:06 +00:00
"passlib>=1.6.2",
2015-05-30 00:02:58 +00:00
"hpack>=1.0.1"],
2015-05-28 08:56:00 +00:00
setup_requires=[
"cffi",
"pyOpenSSL>=0.15.1",
],
2014-09-08 16:58:07 +00:00
extras_require={
'dev': [
"mock>=1.0.1",
"nose>=1.3.0",
"nose-cov>=1.6",
"coveralls>=0.4.1",
2015-05-27 09:34:14 +00:00
"autopep8>=1.0.3",
"autoflake>=0.6.6",
2015-05-30 00:02:58 +00:00
"pathod>=%s, <%s" %
(version.MINORVERSION,
2015-05-28 08:56:00 +00:00
version.NEXT_MINORVERSION)]},
cmdclass={
"build": CFFIBuild,
"install": CFFIInstall,
},
)