forked from Pylons/deform
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
133 lines (118 loc) · 3.85 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
130
131
132
133
##############################################################################
#
# Copyright (c) 2011 Agendaless Consulting and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the BSD-like license at
# http://www.repoze.org/LICENSE.txt. A copy of the license should accompany
# this distribution. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL
# EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND
# FITNESS FOR A PARTICULAR PURPOSE
#
##############################################################################
# Standard Library
import sys
from setuptools import find_packages
from setuptools import setup
def readfile(name):
with open(name) as f:
return f.read()
README = readfile("README.rst")
CHANGES = readfile("CHANGES.txt")
VERSION = '3.0.0.dev0'
PY37MIN = sys.version_info[0] == 3 and sys.version_info[1] >= 7
requires = [
"Chameleon>=2.5.1", # Markup class
"colander>=1.0a1", # cstruct_children/appstruct_children, Set
"iso8601",
"peppercorn>=0.3", # rename operation type
"translationstring>=1.0", # add format mapping with %
"zope.deprecation",
]
lint_extras = [
"black",
"check-manifest",
"flake8",
"flake8-bugbear",
"flake8-builtins",
"isort",
"readme_renderer",
]
testing_extras = [
"beautifulsoup4",
"coverage",
"flaky",
"pyramid",
"pytest",
"pytest-cov",
]
# Needed to run deformdemo tests
functional_testing_extras = [
"pygments",
"waitress",
"lingua",
]
docs_extras = [
"Sphinx >= 1.7.4",
"repoze.sphinx.autointerface",
"pylons_sphinx_latesturl",
"pylons-sphinx-themes",
]
# Selenium 4.0 does not work on Python 3.6.
if PY37MIN:
functional_testing_extras.extend(["selenium >= 4.0.0.b4"])
else:
functional_testing_extras.extend(["selenium >= 3.0, < 4.0"])
branch_version = ".".join(VERSION.split(".")[:2])
# black is refusing to make anything under 80 chars so just splitting it up
docs_fmt = "https://docs.pylonsproject.org/projects/deform/en/{}-branch/"
docs_url = docs_fmt.format(branch_version)
setup(
name="deform",
version=VERSION,
description="Form library with advanced features like nested forms",
long_description=README + "\n\n" + CHANGES,
classifiers=[
"Intended Audience :: Developers",
"License :: Repoze Public License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
keywords="web forms form generation schema validation pyramid",
author="Chris McDonough, Agendaless Consulting",
author_email="pylons-discuss@googlegroups.com",
maintainer="Steve Piercy",
maintainer_email="web@stevepiercy.com",
url="https://docs.pylonsproject.org/projects/deform/en/latest/",
project_urls={
'Documentation': docs_url,
'Changelog': '{}changes.html'.format(docs_url),
'Issue Tracker': 'https://github.com/Pylons/deform/issues',
},
license="BSD-derived",
packages=find_packages(),
include_package_data=True,
zip_safe=False,
tests_require=testing_extras,
install_requires=requires,
test_suite="deform.tests",
extras_require={
"lint": lint_extras,
"testing": testing_extras,
"docs": docs_extras,
"functional": functional_testing_extras,
"dev": (
lint_extras
+ testing_extras
+ docs_extras
+ functional_testing_extras
),
},
)