From 197eb3a2ad19c944b88b1ee3bc84c6501ea9ba35 Mon Sep 17 00:00:00 2001
From: Michael Merickel <github@m.merickel.org>
Date: Fri, 26 Oct 2018 17:16:27 +0200
Subject: [PATCH] Merge pull request #3401 from mmerickel/project-url-metadata

---
 setup.py |  162 +++++++++++++++++++++++++++--------------------------
 1 files changed, 82 insertions(+), 80 deletions(-)

diff --git a/setup.py b/setup.py
index d437bb5..df7e5dd 100644
--- a/setup.py
+++ b/setup.py
@@ -11,103 +11,105 @@
 # FITNESS FOR A PARTICULAR PURPOSE
 #
 ##############################################################################
+from setuptools import find_packages, setup
+from pkg_resources import parse_version
 
-import os
-import sys
-import warnings
 
-from setuptools import setup, find_packages
+def readfile(name):
+    with open(name) as f:
+        return f.read()
 
-py_version = sys.version_info[:2]
 
-PY2 = py_version[0] == 2
+README = readfile('README.rst')
+CHANGES = readfile('CHANGES.rst')
 
-if (3, 0) <= py_version < (3, 4):
-    warnings.warn(
-        'On Python 3, Pyramid only supports Python 3.4 or better',
-        UserWarning,
-    )
-elif py_version < (2, 7):
-    raise RuntimeError('On Python 2, Pyramid requires Python 2.7 or better')
-
-here = os.path.abspath(os.path.dirname(__file__))
-try:
-    with open(os.path.join(here, 'README.rst')) as f:
-        README = f.read()
-    with open(os.path.join(here, 'CHANGES.txt')) as f:
-        CHANGES = f.read()
-except IOError:
-    README = CHANGES = ''
+VERSION = '1.10a1'
 
 install_requires = [
-    'setuptools',
-    'WebOb >= 1.3.1', # request.domain and CookieProfile
-    'repoze.lru >= 0.4', # py3 compat
-    'zope.interface >= 3.8.0',  # has zope.interface.registry
-    'zope.deprecation >= 3.5.0', # py3 compat
-    'venusian >= 1.0a3', # ``ignore``
-    'translationstring >= 0.4', # py3 compat
-    'PasteDeploy >= 1.5.0', # py3 compat
     'hupper',
-    ]
+    'plaster',
+    'plaster_pastedeploy',
+    'setuptools',
+    'translationstring >= 0.4',  # py3 compat
+    'venusian >= 1.0',  # ``ignore``
+    'webob >= 1.8.3',  # Accept.parse_offer
+    'zope.deprecation >= 3.5.0',  # py3 compat
+    'zope.interface >= 3.8.0',  # has zope.interface.registry
+]
 
 tests_require = [
-    'WebTest >= 1.3.1', # py3 compat
-    ]
+    'webtest >= 1.3.1',  # py3 compat
+    'zope.component >= 4.0',  # py3 compat
+]
 
-if PY2:
-    tests_require.append('zope.component>=3.11.0')
 
 docs_extras = [
-    'Sphinx >= 1.3.5',
+    'Sphinx >= 1.8.1',
     'docutils',
-    'repoze.sphinx.autointerface',
+    'pylons-sphinx-themes >= 1.0.8',
     'pylons_sphinx_latesturl',
-    'pylons-sphinx-themes',
-    'sphinxcontrib-programoutput',
-    ]
+    'repoze.sphinx.autointerface',
+    'sphinxcontrib-autoprogram',
+]
 
 testing_extras = tests_require + [
-    'nose',
     'coverage',
-    'virtualenv', # for scaffolding tests
-    ]
+    'nose',
+    'virtualenv',  # for scaffolding tests
+]
 
-setup(name='pyramid',
-      version='1.8.dev0',
-      description='The Pyramid Web Framework, a Pylons project',
-      long_description=README + '\n\n' + CHANGES,
-      classifiers=[
-          "Development Status :: 6 - Mature",
-          "Intended Audience :: Developers",
-          "Programming Language :: Python",
-          "Programming Language :: Python :: 2.7",
-          "Programming Language :: Python :: 3",
-          "Programming Language :: Python :: 3.4",
-          "Programming Language :: Python :: 3.5",
-          "Programming Language :: Python :: Implementation :: CPython",
-          "Programming Language :: Python :: Implementation :: PyPy",
-          "Framework :: Pyramid",
-          "Topic :: Internet :: WWW/HTTP",
-          "Topic :: Internet :: WWW/HTTP :: WSGI",
-          "License :: Repoze Public License",
-      ],
-      keywords='web wsgi pylons pyramid',
-      author="Chris McDonough, Agendaless Consulting",
-      author_email="pylons-discuss@googlegroups.com",
-      url="https://trypyramid.com",
-      license="BSD-derived (http://www.repoze.org/LICENSE.txt)",
-      packages=find_packages(),
-      include_package_data=True,
-      zip_safe=False,
-      install_requires=install_requires,
-      extras_require={
-          'testing': testing_extras,
-          'docs': docs_extras,
-          },
-      tests_require=tests_require,
-      test_suite="pyramid.tests",
-      entry_points="""\
+base_version = parse_version(VERSION).base_version
+
+# black is refusing to make anything under 80 chars so just splitting it up
+docs_fmt = 'https://docs.pylonsproject.org/projects/pyramid/en/{}-branch/'
+docs_url = docs_fmt.format(base_version)
+
+setup(
+    name='pyramid',
+    version=VERSION,
+    description='The Pyramid Web Framework, a Pylons project',
+    long_description=README + '\n\n' + CHANGES,
+    classifiers=[
+        "Development Status :: 6 - Mature",
+        "Intended Audience :: Developers",
+        "Programming Language :: Python",
+        "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 :: 3.7",
+        "Programming Language :: Python :: Implementation :: CPython",
+        "Programming Language :: Python :: Implementation :: PyPy",
+        "Framework :: Pyramid",
+        "Topic :: Internet :: WWW/HTTP",
+        "Topic :: Internet :: WWW/HTTP :: WSGI",
+        "License :: Repoze Public License",
+    ],
+    keywords=['web', 'wsgi', 'pylons', 'pyramid'],
+    author="Chris McDonough, Agendaless Consulting",
+    author_email="pylons-discuss@googlegroups.com",
+    url="https://trypyramid.com",
+    project_urls={
+        'Documentation': docs_url,
+        'Changelog': '{}/whatsnew-{}.html'.format(docs_url, base_version),
+        'Issue Tracker': 'https://github.com/Pylons/pyramid/issues',
+    },
+    license="BSD-derived (http://www.repoze.org/LICENSE.txt)",
+    packages=find_packages('src', exclude=['tests']),
+    package_dir={'': 'src'},
+    include_package_data=True,
+    zip_safe=False,
+    python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
+    install_requires=install_requires,
+    extras_require={
+        ':python_version<"3.2"': ['repoze.lru >= 0.4'],
+        'testing': testing_extras,
+        'docs': docs_extras,
+    },
+    tests_require=tests_require,
+    test_suite="tests",
+    entry_points="""\
         [pyramid.scaffold]
         starter=pyramid.scaffolds:StarterProjectTemplate
         zodb=pyramid.scaffolds:ZODBProjectTemplate
@@ -126,5 +128,5 @@
         [paste.server_runner]
         wsgiref = pyramid.scripts.pserve:wsgiref_server_runner
         cherrypy = pyramid.scripts.pserve:cherrypy_server_runner
-      """
-      )
+      """,
+)

--
Gitblit v1.9.3