forked from cherrypy/cherrypy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·129 lines (112 loc) · 3.78 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#! /usr/bin/env python
"""CherryPy package setuptools installer."""
import io
import setuptools
###############################################################################
# arguments for the setup command
###############################################################################
name = 'CherryPy'
desc = 'Object-Oriented HTTP framework'
with io.open('README.rst', encoding='utf-8') as strm:
long_desc = strm.read()
classifiers = [
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'License :: Freely Distributable',
'Operating System :: OS Independent',
'Framework :: CherryPy',
'License :: OSI Approved :: BSD License',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: Jython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
'Topic :: Internet :: WWW/HTTP :: HTTP Servers',
'Topic :: Internet :: WWW/HTTP :: WSGI',
'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
'Topic :: Internet :: WWW/HTTP :: WSGI :: Server',
'Topic :: Software Development :: Libraries :: Application Frameworks',
]
author = 'CherryPy Team'
author_email = 'team@cherrypy.org'
url = 'http://www.cherrypy.org'
cp_license = 'BSD'
packages = [
'cherrypy', 'cherrypy.lib',
'cherrypy.tutorial', 'cherrypy.test',
'cherrypy.process',
'cherrypy.scaffold',
]
# install requirements must not contain namespace
# packages. See #1673
install_requires = [
'six>=1.11.0',
'cheroot>=5.9.1',
'portend>=2.1.1',
]
extras_require = {
'docs': [
'sphinx',
'docutils',
'alabaster',
'rst.linker>=1.9',
'jaraco.packaging>=3.2',
],
'json': ['simplejson'],
'routes_dispatcher': ['routes>=2.3.1'],
'ssl': ['pyOpenSSL'],
'testing': [
'coverage', # inspects tests coverage
'codecov', # sends tests coverage to codecov.io
# cherrypy.lib.gctools
'objgraph',
'pytest>=2.8',
'pytest-cov',
'pytest-sugar',
'backports.unittest_mock',
'path.py',
],
# Enables memcached session support via `cherrypy[memcached_session]`:
'memcached_session': ['python-memcached>=1.58'],
'xcgi': ['flup'],
# http://docs.cherrypy.org/en/latest/advanced.html?highlight=windows#windows-console-events
':sys_platform == "win32"': ['pypiwin32'],
}
"""Feature flags end-users can use in dependencies"""
###############################################################################
# end arguments for setup
###############################################################################
setup_params = dict(
name=name,
use_scm_version=True,
description=desc,
long_description=long_desc,
classifiers=classifiers,
author=author,
author_email=author_email,
url=url,
license=cp_license,
packages=packages,
entry_points={'console_scripts': ['cherryd = cherrypy.__main__:run']},
include_package_data=True,
install_requires=install_requires,
extras_require=extras_require,
setup_requires=[
'setuptools_scm',
],
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
)
def main():
"""Package installation entry point."""
setuptools.setup(**setup_params)
if __name__ == '__main__':
main()