-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
112 lines (104 loc) · 3.43 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
#!/usr/bin/env python
import multiprocessing
import os
import re
from setuptools import setup
extra = {}
try:
from Cython.Build import cythonize
p = os.path.join("src", "wheezy", "web")
extra["ext_modules"] = cythonize(
[
os.path.join(p, "*.py"),
os.path.join(p, "handlers", "*.py"),
os.path.join(p, "middleware", "*.py"),
],
exclude=[
os.path.join(p, "__init__.py"),
os.path.join(p, "handlers", "__init__.py"),
os.path.join(p, "middleware", "__init__.py"),
],
# https://github.com/cython/cython/issues/3262
nthreads=0 if multiprocessing.get_start_method() == "spawn" else 2,
compiler_directives={"language_level": 3},
quiet=True,
)
except ImportError:
pass
README = open(os.path.join(os.path.dirname(__file__), "README.md")).read()
VERSION = (
re.search(
r'__version__ = "(.+)"',
open("src/wheezy/web/__init__.py").read(),
)
.group(1)
.strip()
)
install_requires = [
"wheezy.core>=0.1.131",
"wheezy.caching>=0.1.96",
"wheezy.html>=0.1.140",
"wheezy.http>=0.1.314",
"wheezy.routing>=0.1.153",
"wheezy.security>=0.1.61",
"wheezy.validation>=0.1.125",
]
try:
import uuid # noqa
except ImportError:
install_requires.append("uuid")
setup(
name="wheezy.web",
version=VERSION,
python_requires=">=3.9",
description="A lightweight, high performance, high concurrency WSGI "
"web framework with the key features to build modern, efficient web",
long_description=README,
long_description_content_type="text/markdown",
url="https://github.com/akornatskyy/wheezy.web",
author="Andriy Kornatskyy",
author_email="andriy.kornatskyy@live.com",
license="MIT",
classifiers=[
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python",
"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",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Internet :: WWW/HTTP :: WSGI",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Software Development :: Libraries :: Python Modules",
],
keywords="wsgi web handler static template mako tenjin jinja2 "
"routing middleware caching transforms",
packages=[
"wheezy",
"wheezy.web",
"wheezy.web.handlers",
"wheezy.web.middleware",
],
package_dir={"": "src"},
namespace_packages=["wheezy"],
zip_safe=False,
install_requires=install_requires,
extras_require={
"mako": ["mako>=0.7.0"],
"tenjin": ["tenjin>=1.1.0"],
"jinja2": ["jinja2>=2.6"],
"wheezy.template": ["wheezy.template>=0.1.107"],
},
platforms="any",
**extra
)