from __future__ import print_function
from setuptools import setup, find_packages
+from io import open
import os
import re
raise RuntimeError("Unable to find version string in %s." %
VERSIONFILE)
-py2_only_install_requires = []
+pyversion_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')
- # Annoying. Please remove once we can! We only indirectly
- # use pbr, and currently it breaks things, presumably till
- # their next release.
- py2_only_install_requires.append('pbr==0.5.22')
- py2_only_install_requires.append('mock') # mock is in the stdlib for 3.3+
+ pyversion_install_requires.append('sqlalchemy-migrate>=0.9.6')
+ pyversion_install_requires.append('mock==1.0.1') # mock is in the stdlib for 3.3+
+ # PyPI version (1.4.2) does not have proper Python 3 support
+ pyversion_install_requires.append('ExifRead')
install_requires = [
- 'gunicorn==19', # TODO: Upgrade to 19.2 -- see https://github.com/benoitc/gunicorn/issues/830
+ 'waitress',
+ 'alembic>=0.7.5',
'python-dateutil',
'wtforms',
'py-bcrypt',
'pytest-xdist',
'werkzeug>=0.7',
'celery>=3.0',
- 'kombu',
'jinja2',
'Babel>=1.3',
- 'webtest<2',
+ 'WebTest>=2.0.18',
'ConfigObj',
'Markdown',
- 'sqlalchemy<0.9.0, >0.8.0',
+ 'sqlalchemy',
'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',
+ 'sphinx',
+ 'six',
+ 'oauthlib',
'unidecode',
- 'ExifRead',
+ 'jsonschema',
'PasteDeploy',
+ 'PasteScript',
+ 'requests>=2.6.0',
+ 'pyld',
+ 'ExifRead>=2.0.0'
# This is optional:
# 'translitcodec',
# For now we're expecting that users will install this from
# their package managers.
# 'lxml',
# 'Pillow',
-] + py2_only_install_requires
+] + pyversion_install_requires
-with open(READMEFILE) as fobj:
+if not PY2:
+ # PyPI version (1.4.2) does not have proper Python 3 support
+ install_requires.append('ExifRead>=2.0.0')
+
+with open(READMEFILE, encoding="utf-8") as fobj:
long_description = fobj.read()
try:
include_package_data = True,
# scripts and dependencies
install_requires=install_requires,
- test_suite='nose.collector', # TODO: We are using py.test now?
+ test_suite='nose.collector',
entry_points="""\
[console_scripts]
gmg = mediagoblin.gmg_commands:main_cli
- pybabel = mediagoblin.babel.messages.frontend:main
[paste.app_factory]
app = mediagoblin.app:paste_app_factory
+ [paste.server_runner]
+ paste_server_selector = mediagoblin.app:paste_server_selector
+
[paste.filter_app_factory]
errors = mediagoblin.errormiddleware:mgoblin_error_middleware
author='Free Software Foundation and contributors',
author_email='cwebber@gnu.org',
url="http://mediagoblin.org/",
- download_url="http://mediagoblin.org/download/",
long_description=long_description,
+ description='MediaGoblin is a web application for publishing all kinds of media',
classifiers=[
"Development Status :: 3 - Alpha",
"Environment :: Web Environment",
"Operating System :: OS Independent",
"Programming Language :: Python",
'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',