Created
November 7, 2013 02:25
-
-
Save tclh123/7347906 to your computer and use it in GitHub Desktop.
Sentry's setup.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
""" | |
Sentry | |
====== | |
Sentry is a realtime event logging and aggregation platform. It specializes | |
in monitoring errors and extracting all the information needed to do a proper | |
post-mortem without any of the hassle of the standard user feedback loop. | |
Sentry is a Server | |
------------------ | |
The Sentry package, at its core, is just a simple server and web UI. It will | |
handle authentication clients (such as `Raven <https://github.com/getsentry/raven-python>`_) | |
and all of the logic behind storage and aggregation. | |
That said, Sentry is not limited to Python. The primary implementation is in | |
Python, but it contains a full API for sending events from any language, in | |
any application. | |
:copyright: (c) 2011-2012 by the Sentry Team, see AUTHORS for more details. | |
:license: BSD, see LICENSE for more details. | |
""" | |
from setuptools import setup, find_packages | |
from setuptools.command.test import test as TestCommand | |
import sys | |
# Hack to prevent stupid "TypeError: 'NoneType' object is not callable" error | |
# in multiprocessing/util.py _exit_function when running `python | |
# setup.py test` (see | |
# http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html) | |
for m in ('multiprocessing', 'billiard'): | |
try: | |
__import__(m) | |
except ImportError: | |
pass | |
setup_requires = [] | |
if 'test' in sys.argv: | |
setup_requires.append('pytest') | |
dev_requires = [ | |
'flake8>=2.0,<2.1', | |
] | |
tests_require = [ | |
'casscache', | |
'cqlsh', | |
'exam>=0.5.1', | |
'eventlet', | |
'httpretty', | |
'pytest', | |
'pytest-cov>=1.4', | |
'pytest-django', | |
'pytest-timeout', | |
'python-coveralls', | |
'nydus', | |
'mock>=0.8.0', | |
'redis', | |
'riak', | |
'unittest2', | |
] | |
install_requires = [ | |
'BeautifulSoup>=3.2.1,<3.3.0', | |
'celery>=3.0.15,<3.1.0', | |
'cssutils>=0.9.9,<0.10.0', | |
'Django>=1.5.4,<1.6', | |
'django-celery>=3.0.11,<3.1.0', | |
'django-crispy-forms>=1.2.3,<1.3.0', | |
'django-paging>=0.2.4,<0.3.0', | |
'django-picklefield>=0.3.0,<0.4.0', | |
'django-social-auth>=0.7.28,<0.8.0', | |
'django-static-compiler>=0.3.0,<0.4.0', | |
'django-templatetag-sugar>=0.1.0,<0.2.0', | |
'gunicorn>=0.17.2,<0.18.0', | |
'httpagentparser>=1.2.1,<1.3.0', | |
'logan>=0.5.8.2,<0.6.0', | |
'nydus>=0.10.0,<0.11.0', | |
'Pygments>=1.6.0,<1.7.0', | |
'pynliner>=0.4.0,<0.6.0', | |
'python-dateutil>=1.5.0,<2.0.0', | |
'python-memcached>=1.53,<2.0.0', | |
'raven>=3.3.8', | |
'redis>=2.7.0,<2.9.0', | |
'simplejson>=3.1.0,<3.4.0', | |
'setproctitle>=1.1.7,<1.2.0', | |
'South>=0.8.0,<0.9.0', | |
'urllib3>=1.7.1,<1.8.0', | |
] | |
postgres_requires = [ | |
'psycopg2>=2.5.0,<2.6.0', | |
] | |
postgres_pypy_requires = [ | |
'psycopg2cffi', | |
] | |
mysql_requires = [ | |
'MySQL-python>=1.2.0,<1.3.0', | |
] | |
class PyTest(TestCommand): | |
def finalize_options(self): | |
TestCommand.finalize_options(self) | |
self.test_args = ['tests'] | |
self.test_suite = True | |
def run_tests(self): | |
#import here, cause outside the eggs aren't loaded | |
import pytest | |
errno = pytest.main(self.test_args) | |
sys.exit(errno) | |
setup( | |
name='sentry', | |
version='6.4.0', | |
author='David Cramer', | |
author_email='[email protected]', | |
url='https://www.getsentry.com', | |
description='A realtime logging and aggregation server.', | |
long_description=open('README.rst').read(), | |
package_dir={'': 'src'}, | |
packages=find_packages('src'), | |
zip_safe=False, | |
install_requires=install_requires, | |
extras_require={ | |
'tests': tests_require, | |
'dev': dev_requires, | |
'postgres': install_requires + postgres_requires, | |
'postgres_pypy': install_requires + postgres_pypy_requires, | |
'mysql': install_requires + mysql_requires, | |
}, | |
tests_require=tests_require, | |
cmdclass={'test': PyTest}, | |
license='BSD', | |
include_package_data=True, | |
entry_points={ | |
'console_scripts': [ | |
'sentry = sentry.utils.runner:main', | |
], | |
}, | |
classifiers=[ | |
'Framework :: Django', | |
'Intended Audience :: Developers', | |
'Intended Audience :: System Administrators', | |
'Operating System :: OS Independent', | |
'Topic :: Software Development' | |
], | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment