|
|
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.rst')).read()
|
|
|
CHANGES = open(os.path.join(here, 'CHANGELOG.rst')).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',
|
|
|
]
|
|
|
}
|
|
|
)
|
|
|
|