django-ddp/setup.py

110 lines
3.5 KiB
Python

#!/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,
)