-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
114 lines (106 loc) · 3.55 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
# stdlib
import os
import re
# pypi
from setuptools import find_packages
from setuptools import setup
# ==============================================================================
HERE = os.path.abspath(os.path.dirname(__file__))
long_description = (
description
) = "peter_sslers is an integrated SSL Certificate Manager and ACME Client"
with open(os.path.join(HERE, "README.md")) as f:
long_description = f.read()
# store version in the init.py
with open(os.path.join(HERE, "src", "peter_sslers", "__init__.py")) as v_file:
VERSION = re.compile(r'.*__VERSION__ = "(.*?)"', re.S).match(v_file.read()).group(1)
requires = [
"cert_utils", # formerly in this package, but migrated out
"formencode>=2.0.0",
"josepy",
"psutil>=4.4.0", # for Python2/3 compat
"packaging",
"pyacmedns", # not used by all, but it's small
"pypages",
"pyramid_formencode_classic>=0.5.1",
"pyramid_mako",
"pyramid_route_7>=0.0.3",
"pyramid_tm",
"pyramid>=2",
"python-dateutil",
"requests",
"SQLAlchemy>2",
"waitress",
"zope.sqlalchemy>=1.6", # support for python2&3
]
tests_require = [
"certbot",
"cryptography",
"pre-commit",
"pycryptodome", # installs into pycrypto's space
"pyramid_debugtoolbar>=4.4",
"pyramid-debugtoolbar-ajax",
"pytest",
"redis",
"types-invoke",
"types-urllib3",
"webtest",
]
testing_extras = tests_require + []
# PyOpenSSL Version Pinning
# 23.1.0 is a bad release, see
# https://github.com/pyca/pyopenssl/issues/1199
# PyOpenSSl 23.2.0 introduces a backwards incompatible change
# Invalid versions are now rejected in OpenSSL.crypto.X509Req.set_version.
# The `acme` package (via Certbot) ends support for py3.6 on version `v1.23.0`
# v1.23.0 calls make_csr with a bad version, and does not pin PyOpenSSL
tests_require.append("PyOpenSSL>=17.5.0,!=23.1.0")
tests_require.append("types-PyOpenSSL>=17.5.0,!=23.1.0")
testing_extras.append("PyOpenSSL>=17.5.0,!=23.1.0")
testing_extras.append("types-PyOpenSSL>=17.5.0,!=23.1.0")
setup(
name="peter_sslers",
version=VERSION,
description=description,
long_description=long_description,
long_description_content_type="text/markdown",
classifiers=[
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Framework :: Pyramid",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
"License :: OSI Approved :: MIT License",
],
author="jonathan vanasco",
author_email="jvanasco@2xlp.com",
url="https://github.com/aptise/peter_sslers",
keywords="web pyramid letsencrypt ssl",
license="MIT",
zip_safe=False,
test_suite="tests",
packages=find_packages(
where="src",
),
package_dir={"": "src"},
include_package_data=True,
python_requires=">=3.7",
install_requires=requires,
tests_require=tests_require,
extras_require={
"testing": testing_extras,
},
entry_points="""\
[paste.app_factory]
main = peter_sslers.web:main
[console_scripts]
initialize_peter_sslers_db = peter_sslers.web.scripts.initializedb:main
disable_acme_account_providers = peter_sslers.web.scripts.disable_acme_account_providers:main
""",
)