3 from os.path import abspath, dirname, join
4 from setuptools import setup
7 if sys.version_info[:2] == (2, 7):
8 from imp import load_source
10 elif sys.version_info >= (3, 4):
11 from importlib.machinery import SourceFileLoader
14 def load_source(fullname, path):
15 loader = SourceFileLoader(fullname, path)
16 loaded = types.ModuleType(loader.name)
17 loader.exec_module(loaded)
21 raise ImportError("m_librarian requires Python 2.7 or 3.4+")
23 versionpath = join(abspath(dirname(__file__)), 'm_librarian', '__version__.py')
24 m_librarian_version = load_source('m_librarian_version', versionpath)
28 version=m_librarian_version.__version__,
29 description='m_Librarian for LibRusEc/Flibusta libraries',
30 long_description=open('README.rst', 'rU').read(),
31 long_description_content_type="text/x-rst",
32 author='Oleg Broytman',
33 author_email='phd@phdru.name',
34 url='https://phdru.name/Software/Python/m_librarian/',
36 'Homepage': 'https://phdru.name/Software/Python/m_librarian/',
37 'Download': 'https://pypi.org/project/m_librarian/%s/'
38 % m_librarian_version.__version__,
40 'https://phdru.name/Software/Python/m_librarian/docs/',
42 'https://phdru.name/Software/Python/m_librarian/docs/ru/',
43 'Git repo': 'https://git.phdru.name/m_librarian.git/',
44 'Github repo': 'https://github.com/phdru/m_librarian',
45 'Issue tracker': 'https://github.com/phdru/m_librarian/issues',
48 keywords=['books', 'library', 'Flibusta', 'LibRusEc', 'lib.rus.ec'],
51 'Development Status :: 2 - Pre-Alpha',
52 'Environment :: Console',
53 'Intended Audience :: End Users/Desktop',
54 'License :: OSI Approved :: GNU General Public License (GPL)',
55 'Natural Language :: English',
56 'Natural Language :: Russian',
57 'Operating System :: POSIX',
58 'Programming Language :: Python :: 2',
59 'Programming Language :: Python :: 2.7',
60 'Programming Language :: Python :: 3',
61 'Programming Language :: Python :: 3.4',
62 'Programming Language :: Python :: 3.5',
63 'Programming Language :: Python :: 3.6',
64 'Programming Language :: Python :: 3.7',
66 packages=['m_librarian', 'm_librarian.web'],
67 package_data={'m_librarian': [
68 'glst/*.txt', 'glst/genres_*.glst',
72 scripts=['scripts/ml-import.py', 'scripts/ml-initdb.py',
73 'scripts/ml-search.py', 'scripts/ml-web.py'],
74 python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
76 'SQLObject>=2.2.1; python_version=="2.7"',
77 'SQLObject>=3.0.0; python_version>="3.4"',
81 'pbar': ['m_lib>=3.1'],
82 'web': ['bottle', 'Cheetah3'],