Proper url_to_{prev,next} for SQL
[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,
0c04118b 41 # scripts and dependencies
243c3843 42 install_requires=[
0c04118b
CAW
43 'setuptools',
44 'PasteScript',
45 'beaker',
46 'routes',
47 'pymongo',
508775bd 48 'mongokit',
eb5bb3fc 49 'webob<=1.2a2',
0c04118b 50 'wtforms',
6755f50e 51 'py-bcrypt',
4b5f4e87 52 'nose',
9578fe50 53 'werkzeug',
6bcab715 54 'celery',
132a68b5
CAW
55 'jinja2',
56 'sphinx',
883cf497 57 'PIL',
84d4f04e 58 'Babel',
0546833c 59 'translitcodec',
029cad45 60 'argparse',
c5678c1a 61 'webtest',
f970e6e5 62 'ConfigObj',
44e2da2f 63 'Markdown',
d45e3966
CAW
64 ## For now we're expecting that users will install this from
65 ## their package managers.
66 # 'lxml',
0c04118b 67 ],
1b766201 68 # requires=['gst'],
4b5f4e87 69 test_suite='nose.collector',
243c3843 70 entry_points="""\
b7e57b1f
WKG
71 [console_scripts]
72 gmg = mediagoblin.gmg_commands:main_cli
fbeeacd7 73 pybabel = mediagoblin.babel.messages.frontend:main
029cad45 74
b7e57b1f
WKG
75 [paste.app_factory]
76 app = mediagoblin.app:paste_app_factory
df0953ce 77
72ae87af
CAW
78 [paste.filter_app_factory]
79 errors = mediagoblin.errormiddleware:mgoblin_error_middleware
80
b7e57b1f
WKG
81 [zc.buildout]
82 make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
84d4f04e 83
b7e57b1f
WKG
84 [babel.extractors]
85 jinja2 = jinja2.ext:babel_extract
86 """,
b7e57b1f
WKG
87 license='AGPLv3',
88 author='Free Software Foundation and contributors',
89 author_email='cwebber@gnu.org',
90 url="http://mediagoblin.org/",
91 download_url="http://mediagoblin.org/download/",
cf37fffc 92 long_description=open(READMEFILE).read(),
b7e57b1f
WKG
93 classifiers=[
94 "Development Status :: 3 - Alpha",
95 "Environment :: Web Environment",
96 "License :: OSI Approved :: GNU Affero General Public License",
97 "Operating System :: OS Independent",
98 "Programming Language :: Python",
99 "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
100 ],
31a8ff42 101 )