Bowe Strickland
2018-10-27 323fa95deea50f49c119728fc2eeacb9e0c51241
commit | author | age
612d74 1 ##############################################################################
CM 2 #
b23b13 3 # Copyright (c) 2008-2013 Agendaless Consulting and Contributors.
612d74 4 # All Rights Reserved.
CM 5 #
6 # This software is subject to the provisions of the BSD-like license at
7 # http://www.repoze.org/LICENSE.txt.  A copy of the license should accompany
8 # this distribution.  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL
9 # EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO,
10 # THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND
11 # FITNESS FOR A PARTICULAR PURPOSE
12 #
13 ##############################################################################
21882e 14 from setuptools import find_packages, setup
9c086a 15 from pkg_resources import parse_version
21882e 16
e6c2d2 17
e42ba5 18 def readfile(name):
MM 19     with open(name) as f:
20         return f.read()
21
21882e 22
e42ba5 23 README = readfile('README.rst')
6141a7 24 CHANGES = readfile('CHANGES.rst')
9c086a 25
MM 26 VERSION = '1.10a1'
01a6e5 27
764b5d 28 install_requires = [
21882e 29     'hupper',
14be69 30     'plaster',
db8aea 31     'plaster_pastedeploy',
21882e 32     'setuptools',
BJR 33     'translationstring >= 0.4',  # py3 compat
34     'venusian >= 1.0',  # ``ignore``
364bd7 35     'webob >= 1.8.3',  # Accept.parse_offer
21882e 36     'zope.deprecation >= 3.5.0',  # py3 compat
BJR 37     'zope.interface >= 3.8.0',  # has zope.interface.registry
38 ]
e6c2d2 39
a3744b 40 tests_require = [
21882e 41     'webtest >= 1.3.1',  # py3 compat
BJR 42     'zope.component >= 4.0',  # py3 compat
43 ]
e6c2d2 44
c75e50 45
aca78f 46 docs_extras = [
473663 47     'Sphinx >= 1.8.1',
aca78f 48     'docutils',
eed1d8 49     'pylons-sphinx-themes >= 1.0.8',
21882e 50     'pylons_sphinx_latesturl',
BJR 51     'repoze.sphinx.autointerface',
b7f994 52     'sphinxcontrib-autoprogram',
21882e 53 ]
90da3b 54
CM 55 testing_extras = tests_require + [
56     'coverage',
21882e 57     'nose',
b2a749 58     'virtualenv',  # for scaffolding tests
21882e 59 ]
1e0e9b 60
9c086a 61 base_version = parse_version(VERSION).base_version
MM 62
63 # black is refusing to make anything under 80 chars so just splitting it up
64 docs_fmt = 'https://docs.pylonsproject.org/projects/pyramid/en/{}-branch/'
65 docs_url = docs_fmt.format(base_version)
66
0c29cf 67 setup(
MM 68     name='pyramid',
9c086a 69     version=VERSION,
0c29cf 70     description='The Pyramid Web Framework, a Pylons project',
MM 71     long_description=README + '\n\n' + CHANGES,
72     classifiers=[
73         "Development Status :: 6 - Mature",
74         "Intended Audience :: Developers",
75         "Programming Language :: Python",
76         "Programming Language :: Python :: 2.7",
77         "Programming Language :: Python :: 3",
78         "Programming Language :: Python :: 3.4",
79         "Programming Language :: Python :: 3.5",
80         "Programming Language :: Python :: 3.6",
81         "Programming Language :: Python :: 3.7",
82         "Programming Language :: Python :: Implementation :: CPython",
83         "Programming Language :: Python :: Implementation :: PyPy",
84         "Framework :: Pyramid",
85         "Topic :: Internet :: WWW/HTTP",
86         "Topic :: Internet :: WWW/HTTP :: WSGI",
87         "License :: Repoze Public License",
88     ],
9c086a 89     keywords=['web', 'wsgi', 'pylons', 'pyramid'],
0c29cf 90     author="Chris McDonough, Agendaless Consulting",
MM 91     author_email="pylons-discuss@googlegroups.com",
92     url="https://trypyramid.com",
9c086a 93     project_urls={
MM 94         'Documentation': docs_url,
95         'Changelog': '{}/whatsnew-{}.html'.format(docs_url, base_version),
96         'Issue Tracker': 'https://github.com/Pylons/pyramid/issues',
97     },
0c29cf 98     license="BSD-derived (http://www.repoze.org/LICENSE.txt)",
MM 99     packages=find_packages('src', exclude=['tests']),
100     package_dir={'': 'src'},
101     include_package_data=True,
102     zip_safe=False,
103     python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
104     install_requires=install_requires,
105     extras_require={
106         ':python_version<"3.2"': ['repoze.lru >= 0.4'],
107         'testing': testing_extras,
108         'docs': docs_extras,
109     },
110     tests_require=tests_require,
111     test_suite="tests",
112     entry_points="""\
a30a39 113         [pyramid.scaffold]
CM 114         starter=pyramid.scaffolds:StarterProjectTemplate
115         zodb=pyramid.scaffolds:ZODBProjectTemplate
116         alchemy=pyramid.scaffolds:AlchemyProjectTemplate
b7350e 117         [pyramid.pshell_runner]
MM 118         python=pyramid.scripts.pshell:python_shell_runner
68a711 119         [console_scripts]
a30a39 120         pcreate = pyramid.scripts.pcreate:main
0e0cb7 121         pserve = pyramid.scripts.pserve:main
337960 122         pshell = pyramid.scripts.pshell:main
CM 123         proutes = pyramid.scripts.proutes:main
124         pviews = pyramid.scripts.pviews:main
125         ptweens = pyramid.scripts.ptweens:main
4eab20 126         prequest = pyramid.scripts.prequest:main
b210ce 127         pdistreport = pyramid.scripts.pdistreport:main
0e0cb7 128         [paste.server_runner]
CM 129         wsgiref = pyramid.scripts.pserve:wsgiref_server_runner
a0e3cb 130         cherrypy = pyramid.scripts.pserve:cherrypy_server_runner
0c29cf 131       """,
MM 132 )