#!/usr/bin/env python """Django/PostgreSQL implementation of the Meteor server.""" from distutils.version import StrictVersion import setuptools import sys # setuptools 18.5 introduces support for the `platform_python_implementation` # environment marker: https://github.com/jaraco/setuptools/pull/28 if not StrictVersion(setuptools.__version__) >= StrictVersion('18.5'): # TODO: Is there an official way to upgrade setuptools in-place? import subprocess subprocess.check_call(['pip', 'install', '-U', 'setuptools>=18.5']) sys.stderr.write( 'Your setuptools has been upgraded, ' 'please re-run setup to continue.' ) sys.exit(1) CLASSIFIERS = [ # Beta status until 1.0 is released "Development Status :: 4 - Beta", # Who and what the project is for "Intended Audience :: Developers", "Topic :: Database", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Browsers", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: Internet :: WWW/HTTP :: Session", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Server", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Object Brokering", "Topic :: System :: Distributed Computing", # License classifiers "License :: OSI Approved :: MIT License", "License :: DFSG approved", "License :: OSI Approved", # Generally, we support the following. "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Framework :: Django", # Specifically, we support the following releases. "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Framework :: Django :: 1.7", "Framework :: Django :: 1.8", ] setuptools.setup( name='django-ddp', version='0.18.1', description=__doc__, long_description=open('README.rst').read(), author='Tyson Clugg', author_email='tyson@clugg.net', url='https://github.com/commoncode/django-ddp', license='MIT', packages=setuptools.find_packages(), include_package_data=True, setup_requires=[ 'setuptools>=18.5', ], install_requires=[ 'Django>=1.7', 'django-dbarray>=0.2', 'gevent-websocket>=0.9,!=0.9.4', 'meteor-ejson>=1.0', 'psycogreen>=1.0', 'pybars3>=0.9.1', 'six>=1.10.0', ], extras_require={ # CPython < 3.0 can use gevent 1.0 ':platform_python_implementation == "CPython" ' 'and python_version < "3.0"': [ 'gevent>=1.0', ], # everything else needs gevent 1.1 ':platform_python_implementation != "CPython" ' 'or python_version >= "3.0"': [ 'gevent>=1.1rc1', ], # CPython can use plain old psycopg2 ':platform_python_implementation == "CPython"': [ 'psycopg2>=2.5.4', ], # everything else must use psycopg2cffi ':platform_python_implementation != "CPython"': [ 'psycopg2cffi>=2.7.2', ], }, entry_points={ 'console_scripts': [ 'dddp=dddp.main:main', ], }, classifiers=CLASSIFIERS, )