#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import os
import sys
import platform
if sys.version_info < (2, 5):
raise Exception('Kallithea requires python 2.5 or later')
here = os.path.abspath(os.path.dirname(__file__))
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]))
_meta = open(os.path.join(here, 'kallithea', '__init__.py'), 'rb')
_metadata = _meta.read()
_meta.close()
callback = lambda V: ('.'.join(map(str, V[:3])) + '.'.join(V[3:]))
__version__ = _get_meta_var('VERSION', _metadata, callback)
__license__ = _get_meta_var('__license__', _metadata)
__author__ = _get_meta_var('__author__', _metadata)
__url__ = _get_meta_var('__url__', _metadata)
# defines current platform
__platform__ = platform.system()
is_windows = __platform__ in ['Windows']
requirements = [
"waitress==0.8.8",
"webob==1.0.8",
"webtest==1.4.3",
"Pylons==1.0.0",
"Beaker==1.6.4",
"WebHelpers==1.3",
"formencode==1.2.4",
"SQLAlchemy==0.7.10",
"Mako==0.9.0",
"Mako>=0.9.0,<=1.0.0",
"pygments>=1.5",
"whoosh>=2.4.0,<2.5",
"celery>=2.2.5,<2.3",
"babel==0.9.6",
"python-dateutil>=1.5.0,<2.0.0",
"dulwich>=0.9.3,<=0.9.7",
"markdown==2.2.1",
"docutils>=0.8.1,<=0.11",
"simplejson==2.5.2",
"mock",
"pycrypto>=2.6.0,<=2.6.1",
"URLObject==2.3.4",
"Routes==1.13",
]
if sys.version_info < (2, 6):
requirements.append("pysqlite")
if sys.version_info < (2, 7):
requirements.append("importlib==1.0.1")
requirements.append("unittest2")
requirements.append("argparse")
if is_windows:
requirements.append("mercurial==2.8.2")
else:
requirements.append("py-bcrypt==0.3.0")
dependency_links = [
classifiers = [
'Development Status :: 4 - Beta',
'Environment :: Web Environment',
'Framework :: Pylons',
'Intended Audience :: Developers',
'License :: OSI Approved :: GNU General Public License (GPL)',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Topic :: Software Development :: Version Control',
Status change: