Non-performance improvements to cloudfiles
[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',
f2e3a6a0 48 'webob<=1.2a2,>=1.1',
0c04118b 49 'wtforms',
6755f50e 50 'py-bcrypt',
4b5f4e87 51 'nose',
9578fe50 52 'werkzeug',
6bcab715 53 'celery',
132a68b5
CAW
54 'jinja2',
55 'sphinx',
84d4f04e 56 'Babel',
b4e877ae 57 'translitcodec',
029cad45 58 'argparse',
c5678c1a 59 'webtest',
f970e6e5 60 'ConfigObj',
44e2da2f 61 'Markdown',
2a376ae7 62 'sqlalchemy>=0.7.0',
99812bbc 63 'sqlalchemy-migrate',
d45e3966
CAW
64 ## For now we're expecting that users will install this from
65 ## their package managers.
66 # 'lxml',
33e902e3 67 # 'PIL',
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 )