forked from biocore/biom-format
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
112 lines (101 loc) · 3.94 KB
/
setup.py
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
112
#!/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", "Michael Hall"]
__license__ = "BSD"
__version__ = "2.1.3-dev"
__maintainer__ = "Daniel McDonald"
__email__ = "[email protected]"
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=['scripts/biom',
'scripts/serve-biom'],
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
)