|
|
import os
|
|
|
import re
|
|
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
|
|
README = open(os.path.join(here, "README.md")).read()
|
|
|
CHANGES = open(os.path.join(here, "CHANGELOG.md")).read()
|
|
|
|
|
|
REQUIREMENTS = open(os.path.join(here, "requirements.txt")).readlines()
|
|
|
|
|
|
compiled = re.compile("([^=><]*).*")
|
|
|
|
|
|
|
|
|
def parse_req(req):
|
|
|
return compiled.search(req).group(1).strip()
|
|
|
|
|
|
|
|
|
requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
|
|
|
|
|
|
|
|
|
def _get_meta_var(name, data, callback_handler=None):
|
|
|
import re
|
|
|
|
|
|
matches = re.compile(r"(?:%s)\s*=\s*(.*)" % name).search(data)
|
|
|
if matches:
|
|
|
if not callable(callback_handler):
|
|
|
callback_handler = lambda v: v
|
|
|
|
|
|
return callback_handler(eval(matches.groups()[0]))
|
|
|
|
|
|
|
|
|
with open(os.path.join(here, "src", "appenlight", "__init__.py"), "r") as _meta:
|
|
|
_metadata = _meta.read()
|
|
|
|
|
|
with open(os.path.join(here, "VERSION"), "r") as _meta_version:
|
|
|
__version__ = _meta_version.read().strip()
|
|
|
|
|
|
__license__ = _get_meta_var("__license__", _metadata)
|
|
|
__author__ = _get_meta_var("__author__", _metadata)
|
|
|
__url__ = _get_meta_var("__url__", _metadata)
|
|
|
|
|
|
found_packages = find_packages("src")
|
|
|
found_packages.append("appenlight.migrations.versions")
|
|
|
setup(
|
|
|
name="appenlight",
|
|
|
description="appenlight",
|
|
|
long_description=README + "\n\n" + CHANGES,
|
|
|
classifiers=[
|
|
|
"Programming Language :: Python",
|
|
|
"Framework :: Pylons",
|
|
|
"Topic :: Internet :: WWW/HTTP",
|
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
|
|
|
],
|
|
|
version=__version__,
|
|
|
license=__license__,
|
|
|
author=__author__,
|
|
|
url=__url__,
|
|
|
keywords="web wsgi bfg pylons pyramid",
|
|
|
package_dir={"": "src"},
|
|
|
packages=found_packages,
|
|
|
include_package_data=True,
|
|
|
zip_safe=False,
|
|
|
test_suite="appenlight",
|
|
|
install_requires=requires,
|
|
|
extras_require={
|
|
|
"dev": [
|
|
|
"coverage",
|
|
|
"pytest",
|
|
|
"pyramid",
|
|
|
"tox",
|
|
|
"mock",
|
|
|
"pytest-mock",
|
|
|
"webtest",
|
|
|
],
|
|
|
"lint": ["black"],
|
|
|
},
|
|
|
entry_points={
|
|
|
"paste.app_factory": ["main = appenlight:main"],
|
|
|
"console_scripts": [
|
|
|
"appenlight-cleanup = appenlight.scripts.cleanup:main",
|
|
|
"appenlight-initializedb = appenlight.scripts.initialize_db:main",
|
|
|
"appenlight-migratedb = appenlight.scripts.migratedb:main",
|
|
|
"appenlight-reindex-elasticsearch = appenlight.scripts.reindex_elasticsearch:main",
|
|
|
"appenlight-static = appenlight.scripts.static:main",
|
|
|
"appenlight-make-config = appenlight.scripts.make_config:main",
|
|
|
],
|
|
|
},
|
|
|
)
|
|
|
|