##// END OF EJS Templates
release preparations
ergo -
Show More
@@ -1,95 +1,98 b''
1 1 import os
2 2 import re
3 3
4 4 from setuptools import setup, find_packages
5 5
6 6 here = os.path.abspath(os.path.dirname(__file__))
7 7 README = open(os.path.join(here, "README.md")).read()
8 8 CHANGES = open(os.path.join(here, "CHANGELOG.md")).read()
9 9
10 10 REQUIREMENTS = open(os.path.join(here, "requirements.txt")).readlines()
11 11
12 12 compiled = re.compile("([^=><]*).*")
13 13
14 14
15 15 def parse_req(req):
16 16 return compiled.search(req).group(1).strip()
17 17
18 18
19 requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
19 if "APPENLIGHT_DEVELOP" in os.environ:
20 requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
21 else:
22 requires = REQUIREMENTS
20 23
21 24
22 25 def _get_meta_var(name, data, callback_handler=None):
23 26 import re
24 27
25 28 matches = re.compile(r"(?:%s)\s*=\s*(.*)" % name).search(data)
26 29 if matches:
27 30 if not callable(callback_handler):
28 31 callback_handler = lambda v: v
29 32
30 33 return callback_handler(eval(matches.groups()[0]))
31 34
32 35
33 36 with open(os.path.join(here, "src", "appenlight", "__init__.py"), "r") as _meta:
34 37 _metadata = _meta.read()
35 38
36 39 __license__ = _get_meta_var("__license__", _metadata)
37 40 __author__ = _get_meta_var("__author__", _metadata)
38 41 __url__ = _get_meta_var("__url__", _metadata)
39 42
40 43 found_packages = find_packages("src")
41 44 found_packages.append("appenlight.migrations.versions")
42 45 setup(
43 46 name="appenlight",
44 47 description="appenlight",
45 48 long_description=README,
46 49 classifiers=[
47 50 "Framework :: Pyramid",
48 51 "License :: OSI Approved :: Apache Software License",
49 52 "Programming Language :: Python",
50 53 "Programming Language :: Python :: 3 :: Only",
51 54 "Programming Language :: Python :: 3.6",
52 55 "Topic :: System :: Monitoring",
53 56 "Topic :: Software Development",
54 57 "Topic :: Software Development :: Bug Tracking",
55 58 "Topic :: Internet :: Log Analysis",
56 59 "Topic :: Internet :: WWW/HTTP",
57 60 "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
58 61 ],
59 62 version="2.0.0rc1",
60 63 license=__license__,
61 64 author=__author__,
62 65 url=__url__,
63 66 keywords="web wsgi bfg pylons pyramid flask django monitoring apm instrumentation appenlight",
64 67 python_requires=">=3.5",
65 68 long_description_content_type="text/markdown",
66 69 package_dir={"": "src"},
67 70 packages=found_packages,
68 71 include_package_data=True,
69 72 zip_safe=False,
70 73 test_suite="appenlight",
71 74 install_requires=requires,
72 75 extras_require={
73 76 "dev": [
74 77 "coverage",
75 78 "pytest",
76 79 "pyramid",
77 80 "tox",
78 81 "mock",
79 82 "pytest-mock",
80 83 "webtest",
81 84 ],
82 85 "lint": ["black"],
83 86 },
84 87 entry_points={
85 88 "paste.app_factory": ["main = appenlight:main"],
86 89 "console_scripts": [
87 90 "appenlight-cleanup = appenlight.scripts.cleanup:main",
88 91 "appenlight-initializedb = appenlight.scripts.initialize_db:main",
89 92 "appenlight-migratedb = appenlight.scripts.migratedb:main",
90 93 "appenlight-reindex-elasticsearch = appenlight.scripts.reindex_elasticsearch:main",
91 94 "appenlight-static = appenlight.scripts.static:main",
92 95 "appenlight-make-config = appenlight.scripts.make_config:main",
93 96 ],
94 97 },
95 98 )
General Comments 4
Under Review
author

Auto status change to "Under Review"

Under Review
author

Auto status change to "Under Review"

You need to be logged in to leave comments. Login now