Move mediagoblin dbs out of user_dev for race condition directory-creation reasons.
[mediagoblin.git] / setup.py
CommitLineData
8e1e744d 1# GNU MediaGoblin -- federated, autonomous media hosting
7f4ebeed 2# Copyright (C) 2011, 2012 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',
99812bbc
CAW
65 'sqlalchemy',
66 'sqlalchemy-migrate',
d45e3966
CAW
67 ## For now we're expecting that users will install this from
68 ## their package managers.
69 # 'lxml',
0c04118b 70 ],
1b766201 71 # requires=['gst'],
4b5f4e87 72 test_suite='nose.collector',
243c3843 73 entry_points="""\
b7e57b1f
WKG
74 [console_scripts]
75 gmg = mediagoblin.gmg_commands:main_cli
fbeeacd7 76 pybabel = mediagoblin.babel.messages.frontend:main
029cad45 77
b7e57b1f
WKG
78 [paste.app_factory]
79 app = mediagoblin.app:paste_app_factory
df0953ce 80
72ae87af
CAW
81 [paste.filter_app_factory]
82 errors = mediagoblin.errormiddleware:mgoblin_error_middleware
83
b7e57b1f
WKG
84 [zc.buildout]
85 make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
84d4f04e 86
b7e57b1f
WKG
87 [babel.extractors]
88 jinja2 = jinja2.ext:babel_extract
89 """,
b7e57b1f
WKG
90 license='AGPLv3',
91 author='Free Software Foundation and contributors',
92 author_email='cwebber@gnu.org',
93 url="http://mediagoblin.org/",
94 download_url="http://mediagoblin.org/download/",
cf37fffc 95 long_description=open(READMEFILE).read(),
b7e57b1f
WKG
96 classifiers=[
97 "Development Status :: 3 - Alpha",
98 "Environment :: Web Environment",
99 "License :: OSI Approved :: GNU Affero General Public License",
100 "Operating System :: OS Independent",
101 "Programming Language :: Python",
102 "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
103 ],
31a8ff42 104 )