Files
deb-python-falcon/setup.py
kgriffs 8640dc2783 fix(Request.client_accepts): Accept parsing doesn't handle application/*
This patch adds support to the parser for robust accept header handling,
courtesy of mimeparse. Care was taken to make the common cases fast.

As part of this change, Request gains a new client_prefers() method that
can be used for content negotiation when the service supports multiple media
types.

Fixes #155
2013-09-11 13:51:58 -05:00

95 lines
2.8 KiB
Python

import imp
import sys
from os import path
from setuptools import setup, find_packages, Extension
VERSION = imp.load_source('version', path.join('.', 'falcon', 'version.py'))
VERSION = VERSION.__version__
# NOTE(kgriffs): python-mimeparse is newer than mimeparse, supports Py3
# TODO(kgriffs): Fork and optimize/modernize python-mimeparse
REQUIRES = ['six', 'python-mimeparse']
if sys.version_info < (2, 7):
REQUIRES.append('ordereddict')
PYPY = True
CYTHON = False
try:
sys.pypy_version_info
except AttributeError:
PYPY = False
if not PYPY:
try:
from Cython.Distutils import build_ext
CYTHON = True
except ImportError:
print('\nWARNING: Cython not installed. '
'Falcon modules WILL NOT be compiled with Cython.\n')
CYTHON = False
if CYTHON:
ext_names = (
'api',
'api_helpers',
'request',
'request_helpers',
'response',
'response_helpers',
'responders',
'http_error',
'exceptions'
)
cmdclass = {'build_ext': build_ext}
ext_modules = [
Extension('falcon.' + ext, [path.join('falcon', ext + '.py')])
for ext in ext_names]
else:
cmdclass = {}
ext_modules = []
setup(
name='falcon',
version=VERSION,
description='A supersonic micro-framework for building cloud APIs.',
long_description=open('README.rst', 'r').read(),
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Web Environment',
'Natural Language :: English',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Topic :: Internet :: WWW/HTTP :: WSGI',
'Topic :: Software Development :: Libraries :: Application Frameworks',
'Programming Language :: Python',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
],
keywords='wsgi web api framework rest http cloud',
author='Kurt Griffiths',
author_email='mail@kgriffs.com',
url='http://falconframework.org',
license='Apache 2.0',
packages=find_packages(exclude=['*.tests']),
include_package_data=True,
zip_safe=False,
install_requires=REQUIRES,
setup_requires=[],
cmdclass=cmdclass,
ext_modules=ext_modules,
test_suite='nose.collector',
entry_points={
'console_scripts': [
'falcon-bench = falcon.cmd.bench:main'
]
}
)