setup.py
81 lines
| 2.6 KiB
| text/x-python
|
PythonLexer
/ backend / setup.py
r0 | import os | |||
import sys | ||||
import re | ||||
from setuptools import setup, find_packages | ||||
here = os.path.abspath(os.path.dirname(__file__)) | ||||
r104 | README = open(os.path.join(here, '..', 'README.md')).read() | |||
r56 | CHANGES = open(os.path.join(here, 'CHANGELOG.rst')).read() | |||
r0 | ||||
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] | ||||
r29 | ||||
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('src', 'appenlight', 'VERSION')) 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) | ||||
r0 | ||||
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", | ||||
], | ||||
r29 | version=__version__, | |||
license=__license__, | ||||
author=__author__, | ||||
url=__url__, | ||||
r0 | 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, | ||||
r134 | extras_require={ | |||
"dev": ["coverage", "pytest", "pyramid", "tox", "mock", "webtest"], | ||||
"lint": ["black"], | ||||
}, | ||||
r0 | 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', | ||||
] | ||||
} | ||||
) | ||||