-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.py
96 lines (86 loc) · 2.88 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/env python
"""proxenos: A rendezvous hashing and service routing toolkit."""
from __future__ import absolute_import
import io
import sys
import setuptools
__all__ = ('setup',)
def readme():
try:
with io.open('README.rst') as fp:
return fp.read()
except OSError:
return ''
def setup():
"""Package setup entrypoint."""
extra_requirements = {
':python_version=="2.7"': ['enum34'],
':python_version<"3.5"': ['typing'],
'consul': ['consulate'],
'murmur': ['mmh3'],
}
install_requirements = [
'attrs',
'consulate',
'netaddr',
'siphash',
'stevedore',
]
setup_requirements = ['six', 'setuptools>=17.1', 'setuptools_scm']
needs_sphinx = {
'build_sphinx',
'docs',
'upload_docs',
}.intersection(sys.argv)
if needs_sphinx:
setup_requirements.append('sphinx')
setuptools.setup(
author='David Gidwani',
author_email='david.gidwani@gmail.com',
classifiers=[
'Development Status :: 2 - Pre-Alpha',
'Environment :: Console',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Operating System :: MacOS',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX :: Linux',
'Operating System :: Unix',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'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',
'Programming Language :: Python',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Software Development :: Libraries',
'Topic :: Utilities',
],
description=__doc__,
entry_points={
'console_scripts': [
'proxenos = proxenos.cli:main',
],
'proxenos.mapper': [
'consul = proxenos.mappers.consul'
':ConsulClusterMapper [consul]',
],
},
extras_require=extra_requirements,
include_package_data=True,
install_requires=install_requirements,
long_description=readme(),
name='proxenos',
package_dir={'': 'src'},
packages=setuptools.find_packages('./src'),
setup_requires=setup_requirements,
url='https://github.com/darvid/proxenos',
use_scm_version=True,
zip_safe=False,
)
if __name__ == '__main__':
setup()