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