1# Copyright (c) 2011, Andres Moreira <andres@andresmoreira.com>
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are met:
6#     * Redistributions of source code must retain the above copyright
7#       notice, this list of conditions and the following disclaimer.
8#     * Redistributions in binary form must reproduce the above copyright
9#       notice, this list of conditions and the following disclaimer in the
10#       documentation and/or other materials provided with the distribution.
11#     * Neither the name of the authors nor the
12#       names of its contributors may be used to endorse or promote products
13#       derived from this software without specific prior written permission.
14#
15# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18# DISCLAIMED. IN NO EVENT SHALL ANDRES MOREIRA BE LIABLE FOR ANY
19# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
26import sys
27try:
28    from setuptools import setup, Extension
29except ImportError:
30    from distutils.core import setup, Extension
31
32version = '0.5.4'
33long_description = """
34Python bindings for the snappy compression library from Google.
35
36More details about Snappy library: http://google.github.io/snappy
37"""
38
39
40snappymodule = Extension('snappy._snappy',
41                         libraries=['snappy'],
42                         sources=['snappy/snappymodule.cc', 'snappy/crc32c.c'])
43
44ext_modules = [snappymodule]
45packages = ['snappy']
46install_requires = []
47setup_requires = []
48cffi_modules = []
49
50if 'PyPy' in sys.version:
51    from setuptools import setup
52    ext_modules = []
53    install_requires = ['cffi>=1.0.0']
54    setup_requires = ['cffi>=1.0.0']
55    cffi_modules = ['./snappy/snappy_cffi_builder.py:ffi']
56
57setup(
58    name='python-snappy',
59    version=version,
60    author='Andres Moreira',
61    author_email='andres@andresmoreira.com',
62    url='http://github.com/andrix/python-snappy',
63    description='Python library for the snappy compression library from Google',
64    long_description=long_description,
65    keywords='snappy, compression, google',
66    license='BSD',
67    classifiers=['Development Status :: 4 - Beta',
68                 'Topic :: Internet',
69                 'Topic :: Software Development',
70                 'Topic :: Software Development :: Libraries',
71                 'Topic :: System :: Archiving :: Compression',
72                 'License :: OSI Approved :: BSD License',
73                 'Intended Audience :: Developers',
74                 'Intended Audience :: System Administrators',
75                 'Operating System :: MacOS :: MacOS X',
76                 # 'Operating System :: Microsoft :: Windows', -- Not tested yet
77                 'Operating System :: POSIX',
78                 'Programming Language :: Python :: 2.7',
79                 'Programming Language :: Python :: 3',
80                 'Programming Language :: Python :: 3.5',
81                 'Programming Language :: Python :: 3.6',
82                 'Programming Language :: Python :: 3.7',
83                 ],
84    ext_modules=ext_modules,
85    packages=packages,
86    install_requires=install_requires,
87    setup_requires=setup_requires,
88    cffi_modules=cffi_modules
89)
90