2012-08-12 01:07:52 -04:00
|
|
|
#!/usr/bin/env python
|
2015-01-29 17:28:22 -05:00
|
|
|
import codecs
|
2015-01-29 08:58:20 -05:00
|
|
|
import os
|
|
|
|
|
import re
|
|
|
|
|
|
2012-08-12 01:07:52 -04:00
|
|
|
from setuptools import setup
|
2014-11-19 07:28:02 -05:00
|
|
|
|
2015-01-29 09:25:28 -05:00
|
|
|
|
|
|
|
|
def read_file(filename, encoding='utf8'):
|
2015-01-29 17:28:22 -05:00
|
|
|
"""Read unicode from given file."""
|
2015-01-29 09:25:28 -05:00
|
|
|
with codecs.open(filename, encoding=encoding) as fd:
|
|
|
|
|
return fd.read()
|
|
|
|
|
|
2015-01-29 09:38:20 -05:00
|
|
|
|
2015-01-29 08:58:20 -05:00
|
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
|
|
|
|
|
|
# read version number (and other metadata) from package init
|
|
|
|
|
init_fn = os.path.join(here, 'letsencrypt', '__init__.py')
|
2015-01-29 09:25:28 -05:00
|
|
|
meta = dict(re.findall(r"""__([a-z]+)__ = "([^"]+)""", read_file(init_fn)))
|
2014-11-19 07:28:02 -05:00
|
|
|
|
2015-01-29 09:38:20 -05:00
|
|
|
readme = read_file(os.path.join(here, 'README.rst'))
|
|
|
|
|
changes = read_file(os.path.join(here, 'CHANGES.rst'))
|
|
|
|
|
|
2014-11-22 08:19:19 -05:00
|
|
|
install_requires = [
|
2014-11-26 21:30:42 -05:00
|
|
|
'argparse',
|
2015-01-31 06:37:24 -05:00
|
|
|
'ConfArgParse',
|
2014-11-22 08:19:19 -05:00
|
|
|
'jsonschema',
|
2014-12-09 13:24:16 -05:00
|
|
|
'mock',
|
2014-11-22 08:19:19 -05:00
|
|
|
'pycrypto',
|
|
|
|
|
'python-augeas',
|
|
|
|
|
'python2-pythondialog',
|
|
|
|
|
'requests',
|
2014-12-17 06:02:15 -05:00
|
|
|
'zope.component',
|
2014-12-17 04:12:59 -05:00
|
|
|
'zope.interface',
|
2015-01-24 14:50:51 -05:00
|
|
|
# order of items in install_requires DOES matter and M2Crypto has
|
|
|
|
|
# to go last, see #152
|
|
|
|
|
'M2Crypto',
|
2014-11-22 08:19:19 -05:00
|
|
|
]
|
|
|
|
|
|
2015-02-06 18:41:28 -05:00
|
|
|
dev_extras = [
|
|
|
|
|
'pylint>=1.4.0', # upstream #248
|
2015-01-30 19:28:09 -05:00
|
|
|
'repoze.sphinx.autointerface',
|
2014-11-23 14:36:34 -05:00
|
|
|
'Sphinx',
|
|
|
|
|
]
|
|
|
|
|
|
2014-11-22 08:19:19 -05:00
|
|
|
testing_extras = [
|
|
|
|
|
'coverage',
|
|
|
|
|
'nose',
|
2014-11-27 14:30:56 -05:00
|
|
|
'nosexcover',
|
2014-11-23 09:29:11 -05:00
|
|
|
'tox',
|
2014-11-22 08:19:19 -05:00
|
|
|
]
|
|
|
|
|
|
2012-08-12 01:07:52 -04:00
|
|
|
setup(
|
2014-11-18 23:15:22 -05:00
|
|
|
name="letsencrypt",
|
2015-01-29 08:58:20 -05:00
|
|
|
version=meta['version'],
|
2014-11-18 23:15:22 -05:00
|
|
|
description="Let's Encrypt",
|
2015-01-29 09:38:20 -05:00
|
|
|
long_description=readme, # later: + '\n\n' + changes
|
2014-11-18 23:15:22 -05:00
|
|
|
author="Let's Encrypt Project",
|
2012-08-12 01:07:52 -04:00
|
|
|
license="",
|
2014-11-18 21:28:09 -05:00
|
|
|
url="https://letsencrypt.org",
|
2012-08-12 01:07:52 -04:00
|
|
|
packages=[
|
2014-11-18 21:28:09 -05:00
|
|
|
'letsencrypt',
|
|
|
|
|
'letsencrypt.client',
|
2014-12-17 00:00:14 -05:00
|
|
|
'letsencrypt.client.apache',
|
2015-02-08 03:46:16 -05:00
|
|
|
'letsencrypt.client.display',
|
2014-12-17 02:14:35 -05:00
|
|
|
'letsencrypt.client.tests',
|
2015-01-17 05:29:29 -05:00
|
|
|
'letsencrypt.client.tests.apache',
|
2015-02-08 03:46:16 -05:00
|
|
|
'letsencrypt.client.tests.display',
|
2014-11-19 07:28:02 -05:00
|
|
|
'letsencrypt.scripts',
|
2012-08-12 01:07:52 -04:00
|
|
|
],
|
2014-11-22 08:19:19 -05:00
|
|
|
install_requires=install_requires,
|
|
|
|
|
tests_require=install_requires,
|
2014-11-27 14:24:50 -05:00
|
|
|
test_suite='letsencrypt',
|
2014-11-22 08:19:19 -05:00
|
|
|
extras_require={
|
2015-02-06 18:41:28 -05:00
|
|
|
'dev': dev_extras,
|
2014-11-22 08:19:19 -05:00
|
|
|
'testing': testing_extras,
|
|
|
|
|
},
|
2012-08-12 01:07:52 -04:00
|
|
|
entry_points={
|
|
|
|
|
'console_scripts': [
|
2014-11-21 20:52:03 -05:00
|
|
|
'letsencrypt = letsencrypt.scripts.main:main',
|
|
|
|
|
],
|
2012-08-12 01:07:52 -04:00
|
|
|
},
|
2014-11-19 07:29:48 -05:00
|
|
|
zip_safe=False,
|
|
|
|
|
include_package_data=True,
|
2012-08-12 01:07:52 -04:00
|
|
|
)
|