migrations_to_run here a list, so no reason to call it
[mediagoblin.git] / setup.py
CommitLineData
8e1e744d 1# GNU MediaGoblin -- federated, autonomous media hosting
12a100e4 2# Copyright (C) 2011 MediaGoblin contributors. See AUTHORS.
e5572c60
ML
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU Affero General Public License as published by
6# the Free Software Foundation, either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU Affero General Public License for more details.
13#
14# You should have received a copy of the GNU Affero General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
31a8ff42 17from setuptools import setup, find_packages
cf37fffc
WKG
18import os
19import re
20
21READMEFILE = "README"
22VERSIONFILE = os.path.join("mediagoblin", "_version.py")
23VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]"
24
25
26def get_version():
27 verstrline = open(VERSIONFILE, "rt").read()
28 mo = re.search(VSRE, verstrline, re.M)
29 if mo:
30 return mo.group(1)
31 else:
243c3843
NY
32 raise RuntimeError("Unable to find version string in %s." %
33 VERSIONFILE)
cf37fffc 34
31a8ff42 35
31a8ff42 36setup(
243c3843
NY
37 name="mediagoblin",
38 version=get_version(),
31a8ff42
CAW
39 packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
40 zip_safe=False,
d595374d 41 include_package_data = True,
0c04118b 42 # scripts and dependencies
243c3843 43 install_requires=[
0c04118b
CAW
44 'setuptools',
45 'PasteScript',
46 'beaker',
47 'routes',
48 'pymongo',
508775bd 49 'mongokit',
eb5bb3fc 50 'webob<=1.2a2',
0c04118b 51 'wtforms',
6755f50e 52 'py-bcrypt',
4b5f4e87 53 'nose',
9578fe50 54 'werkzeug',
6bcab715 55 'celery',
132a68b5
CAW
56 'jinja2',
57 'sphinx',
883cf497 58 'PIL',
84d4f04e 59 'Babel',
b4e877ae 60 'translitcodec',
029cad45 61 'argparse',
c5678c1a 62 'webtest',
f970e6e5 63 'ConfigObj',
44e2da2f 64 'Markdown',
d45e3966
CAW
65 ## For now we're expecting that users will install this from
66 ## their package managers.
67 # 'lxml',
0c04118b 68 ],
1b766201 69 # requires=['gst'],
4b5f4e87 70 test_suite='nose.collector',
243c3843 71 entry_points="""\
b7e57b1f
WKG
72 [console_scripts]
73 gmg = mediagoblin.gmg_commands:main_cli
fbeeacd7 74 pybabel = mediagoblin.babel.messages.frontend:main
029cad45 75
b7e57b1f
WKG
76 [paste.app_factory]
77 app = mediagoblin.app:paste_app_factory
df0953ce 78
72ae87af
CAW
79 [paste.filter_app_factory]
80 errors = mediagoblin.errormiddleware:mgoblin_error_middleware
81
b7e57b1f
WKG
82 [zc.buildout]
83 make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
84d4f04e 84
b7e57b1f
WKG
85 [babel.extractors]
86 jinja2 = jinja2.ext:babel_extract
87 """,
b7e57b1f
WKG
88 license='AGPLv3',
89 author='Free Software Foundation and contributors',
90 author_email='cwebber@gnu.org',
91 url="http://mediagoblin.org/",
92 download_url="http://mediagoblin.org/download/",
cf37fffc 93 long_description=open(READMEFILE).read(),
b7e57b1f
WKG
94 classifiers=[
95 "Development Status :: 3 - Alpha",
96 "Environment :: Web Environment",
97 "License :: OSI Approved :: GNU Affero General Public License",
98 "Operating System :: OS Independent",
99 "Programming Language :: Python",
100 "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
101 ],
31a8ff42 102 )