+py2_only_install_requires = []
+if PY2:
+ py2_only_install_requires.append('argparse') # only for < 2.7
+ py2_only_install_requires.append('PasteScript')
+ # newer sqlalchemy-migrate requires pbr which BREAKS EVERYTHING AND IS
+ # TERRIBLE AND IS THE END OF ALL THINGS
+ # I'd love to remove this restriction.
+ py2_only_install_requires.append('sqlalchemy-migrate<0.8')
+ py2_only_install_requires.append('mock') # mock is in the stdlib for 3.3+
+
+install_requires = [
+ 'setuptools', # TODO: is this necessary
+ 'python-dateutil',
+ 'wtforms',
+ 'py-bcrypt',
+ 'pytest>=2.3.1',
+ 'pytest-xdist',
+ 'werkzeug>=0.7',
+ 'celery>=3.0',
+ 'kombu',
+ 'jinja2',
+ 'sphinx', # TODO: is this a docs requirement?
+ 'Babel<1.0', # TODO: why <1.0 or 0.9.6?
+ 'webtest<2',
+ 'ConfigObj',
+ 'Markdown',
+ 'sqlalchemy<0.9.0, >0.8.0',
+ 'itsdangerous',
+ 'pytz',
+ # PLEASE change this when we can; a dependency is forcing us to set this
+ # specific number and it is breaking setup.py develop
+ 'six==1.5.2',
+ 'oauthlib==0.5.0',
+ 'unidecode',
+ 'ExifRead',
+ # Annoying. Please remove once we can! We only indirectly
+ # use pbr, and currently it breaks things, presumably till
+ # their next release.
+ 'pbr==0.5.22',
+ 'PasteDeploy',
+ # This is optional:
+ # 'translitcodec',
+ # For now we're expecting that users will install this from
+ # their package managers.
+ # 'lxml',
+ # 'PIL', # TODO: switch to Pillow?
+] + py2_only_install_requires