Merge remote branch 'remotes/elrond/misc/use_staticdirect'
[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:
32 raise RuntimeError("Unable to find version string in %s." % VERSIONFILE)
33
31a8ff42 34
31a8ff42
CAW
35setup(
36 name = "mediagoblin",
cf37fffc 37 version = get_version(),
31a8ff42
CAW
38 packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
39 zip_safe=False,
0c04118b
CAW
40 # scripts and dependencies
41 install_requires = [
42 'setuptools',
43 'PasteScript',
44 'beaker',
45 'routes',
46 'pymongo',
508775bd 47 'mongokit',
0c04118b
CAW
48 'webob',
49 'wtforms',
6755f50e 50 'py-bcrypt',
4b5f4e87 51 'nose',
9578fe50 52 'werkzeug',
6bcab715 53 'celery',
132a68b5
CAW
54 'jinja2',
55 'sphinx',
883cf497 56 'PIL',
84d4f04e 57 'Babel',
0546833c 58 'translitcodec',
029cad45 59 'argparse',
c5678c1a 60 'webtest',
f970e6e5 61 'ConfigObj',
44e2da2f 62 'Markdown',
851c51a3 63 'python-cloudfiles',
d45e3966
CAW
64 ## For now we're expecting that users will install this from
65 ## their package managers.
66 # 'lxml',
0c04118b 67 ],
4b5f4e87 68 test_suite='nose.collector',
31a8ff42 69 entry_points = """\
b7e57b1f
WKG
70 [console_scripts]
71 gmg = mediagoblin.gmg_commands:main_cli
fbeeacd7 72 pybabel = mediagoblin.babel.messages.frontend:main
029cad45 73
b7e57b1f
WKG
74 [paste.app_factory]
75 app = mediagoblin.app:paste_app_factory
df0953ce 76
72ae87af
CAW
77 [paste.filter_app_factory]
78 errors = mediagoblin.errormiddleware:mgoblin_error_middleware
79
b7e57b1f
WKG
80 [zc.buildout]
81 make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
84d4f04e 82
b7e57b1f
WKG
83 [babel.extractors]
84 jinja2 = jinja2.ext:babel_extract
85 """,
86
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 )