1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ----------------------------------------------------------------------------
# Copyright (c) 2011-2013, The BIOM Format Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
# ----------------------------------------------------------------------------
import os
from setuptools import setup
from setuptools.extension import Extension
from glob import glob
try:
import numpy as np
except ImportError:
raise ImportError("numpy must be installed prior to installing biom")
# 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),
# borrowed from https://github.com/getsentry/sentry/blob/master/setup.py
for m in ('multiprocessing', 'logging'):
try:
__import__(m)
except ImportError:
pass
__author__ = "Daniel McDonald"
__copyright__ = "Copyright 2011-2013, The BIOM Format Development Team"
__credits__ = ["Greg Caporaso", "Daniel McDonald", "Jose Clemente",
"Jai Ram Rideout", "Jorge CaƱardo Alastuey"]
__license__ = "BSD"
__version__ = "2.1"
__maintainer__ = "Daniel McDonald"
__email__ = "mcdonadt@colorado.edu"
long_description = """BIOM: Biological Observation Matrix
http://www.biom-format.org
The Biological Observation Matrix (BIOM) format or: how I learned to stop
worrying and love the ome-ome
Daniel McDonald, Jose C Clemente, Justin Kuczynski, Jai Ram Rideout,
Jesse Stombaugh, Doug Wendel, Andreas Wilke, Susan Huse, John Hufnagle,
Folker Meyer, Rob Knight, J Gregory Caporaso
GigaScience 2012, 1:7.
"""
classes = """
Development Status :: 4 - Beta
License :: OSI Approved :: BSD License
Topic :: Scientific/Engineering :: Bio-Informatics
Topic :: Software Development :: Libraries :: Application Frameworks
Topic :: Software Development :: Libraries :: Python Modules
Programming Language :: Python
Programming Language :: Python :: 2.7
Programming Language :: Python :: Implementation :: CPython
Operating System :: OS Independent
Operating System :: POSIX :: Linux
Operating System :: MacOS :: MacOS X
"""
classifiers = [s.strip() for s in classes.split('\n') if s]
# Dealing with Cython
USE_CYTHON = os.environ.get('USE_CYTHON', False)
ext = '.pyx' if USE_CYTHON else '.c'
extensions = [Extension("biom._filter",
["biom/_filter" + ext]),
Extension("biom._transform",
["biom/_transform" + ext]),
Extension("biom._subsample",
["biom/_subsample" + ext])]
if USE_CYTHON:
from Cython.Build import cythonize
extensions = cythonize(extensions)
setup(name='biom-format',
version=__version__,
description='Biological Observation Matrix (BIOM) format',
long_description=long_description,
license=__license__,
author=__maintainer__,
author_email=__email__,
maintainer=__maintainer__,
maintainer_email=__email__,
url='http://www.biom-format.org',
test_suite='nose.collector',
packages=['biom',
'biom/commands',
'biom/interfaces',
'biom/interfaces/optparse',
'biom/interfaces/optparse/config',
'biom/interfaces/html',
'biom/interfaces/html/config'
],
ext_modules=extensions,
include_dirs=[np.get_include()],
scripts=glob('scripts/*'),
install_requires=["numpy >= 1.3.0",
"pyqi == 0.3.2",
"scipy >= 0.13.0"],
extras_require={'test': ["nose >= 0.10.1", "pep8", "flake8"],
'hdf5': ["h5py >= 2.2.0"]
},
classifiers=classifiers
)
|