-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
117 lines (110 loc) · 3.89 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
# 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>=1.0.0", # formerly in this package, but migrated out
"configobj", # used to read Certbot files
"cryptography>42.0.0",
"dnspython",
"formencode>=2.0.0",
"josepy>=2.0.0",
"psutil>=4.4.0", # for Python2/3 compat
"packaging",
"pyacmedns", # not used by all, but it's small
"pypages",
"pyramid_formencode_classic>=0.7.0",
"pyramid_mako",
"pyramid_route_7>=0.5.3",
"pyramid_tm",
"pyramid>=2",
"python-dateutil",
"redis",
"requests",
"SQLAlchemy>2",
"tldextract",
"typing_extensions",
"waitress",
"zope.sqlalchemy>=1.6", # support for python2&3
]
tests_require = [
"certbot",
"pre-commit",
# "pycryptodome", # installs into pycrypto's space
"pyramid_debugtoolbar>=4.4",
"pyramid-debugtoolbar-ajax",
"pytest",
"types-invoke",
"types-urllib3",
"urllib3",
"webtest",
]
testing_extras = tests_require + []
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.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"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]
import_certbot = peter_sslers.web.scripts.import_certbot:main
initialize_peter_sslers_db = peter_sslers.web.scripts.initializedb:main
refresh_pebble_ca_certs = peter_sslers.web.scripts.refresh_pebble_ca_certs:main
register_acme_servers = peter_sslers.web.scripts.register_acme_servers:main
routine__clear_old_ari_checks = peter_sslers.web.scripts.routine__clear_old_ari_checks:main
routine__automatic_orders = peter_sslers.web.scripts.routine__automatic_orders:main
routine__run_ari_checks = peter_sslers.web.scripts.routine__run_ari_checks:main
routine__reconcile_blocks = peter_sslers.web.scripts.routine__reconcile_blocks:main
update_filepaths = peter_sslers.web.scripts.update_filepaths:main
deactivate_duplicate_certificates = peter_sslers.web.scripts.deactivate_duplicate_certificates:main
acme_dns_audit = peter_sslers.web.scripts.acme_dns_audit:main
periodic_tasks = peter_sslers.web.scripts.periodic_tasks:main
ssl_manage = peter_sslers.web.scripts.ssl_manage:main
""",
)