Files
deb-python-sqlalchemy-utils/setup.py
2013-08-03 18:02:49 +03:00

92 lines
2.3 KiB
Python

"""
SQLAlchemy-Utils
----------------
Various utility functions and custom data types for SQLAlchemy.
"""
from setuptools import setup, Command
import subprocess
import sys
class PyTest(Command):
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
errno = subprocess.call(['py.test'])
sys.exit(errno)
PY3 = sys.version_info[0] == 3
extras_require = {
'test': [
'pytest==2.2.3',
'Pygments>=1.2',
'Jinja2>=2.3',
'docutils>=0.10',
'flexmock>=0.9.7',
'psycopg2>=2.4.6',
],
'arrow': ['arrow>=0.3.4'],
'phone': [
# The phonenumbers library has a split for 2.x and 3.x support.
'phonenumbers3k==5.6b1' if PY3 else 'phonenumbers<5.6b1'
],
'password': ['passlib >= 1.6, < 2.0'],
'color': ['colour>=0.0.4'],
'ipaddress': ['ipaddr'] if not PY3 else [],
'timezone': ['python-dateutil']
}
# Add all optional dependencies to testing requirements.
for name, requirements in extras_require.items():
if name != 'test':
extras_require['test'] += requirements
setup(
name='SQLAlchemy-Utils',
version='0.16.2',
url='https://github.com/kvesteri/sqlalchemy-utils',
license='BSD',
author='Konsta Vesterinen',
author_email='konsta@fastmonkeys.com',
description=(
'Various utility functions for SQLAlchemy.'
),
long_description=__doc__,
packages=['sqlalchemy_utils', 'sqlalchemy_utils.types'],
zip_safe=False,
include_package_data=True,
platforms='any',
dependency_links=[
# 5.6b1 only supports python 3.x / pending release
'git+git://github.com/daviddrysdale/python-phonenumbers.git@python3'
'#egg=phonenumbers3k-5.6b1',
],
install_requires=[
'six',
'SQLAlchemy>=0.8.0',
],
extras_require=extras_require,
cmdclass={'test': PyTest},
classifiers=[
'Environment :: Web Environment',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
'Topic :: Software Development :: Libraries :: Python Modules'
]
)