-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsetup.py
More file actions
69 lines (60 loc) · 2.38 KB
/
setup.py
File metadata and controls
69 lines (60 loc) · 2.38 KB
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
import re
from glob import glob
import numpy as np
import os
import subprocess
from setuptools import setup, find_packages
from Cython.Build import cythonize
try:
root_dir = os.environ['ROOT_DIR']
except KeyError:
root_dir = '.'
try:
scripts_dir = os.environ['SCRIPTS_DIR']
except KeyError:
scripts_dir = 'scripts'
cmd = os.path.join(scripts_dir, 'show-version.sh')
version, err = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE).communicate()
version = version.decode('utf-8')
version_py_name = os.path.join(root_dir, 'sloika', 'version.py')
version_py_contents = u"__version__ = '%s'\n" % version
open(version_py_name, 'w').write(version_py_contents)
requirements_file = os.path.join(root_dir, 'requirements.txt')
with open(requirements_file) as f:
install_requires = f.read().splitlines()
package_dir = os.path.join(root_dir, 'sloika')
setup(
name='sloika',
version=version,
description='Neural network model training for Nanopore base calling',
maintainer='Tim Massingham',
maintainer_email='tim.massingham@nanoporetech.com',
url='http://www.nanoporetech.com',
long_description="""Sloika is a library to support training and developing new base calling models
for Oxford Nanopore Technologies' sequencing platforms.
Sloika is built on top of Theano package for computational graphs and is
compatible with python 3.4 or above.""",
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)',
'Natural Language :: English',
'Operating System :: Unix',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'Topic :: Scientific/Engineering :: Bio-Informatics',
'Topic :: Scientific/Engineering :: Mathematics'
],
packages=find_packages(exclude=["*.test", "*.test.*", "test.*", "test", "bin"]),
package_data={'configs': 'data/configs/*'},
exclude_package_data={'': ['*.hdf', '*.c', '*.h']},
ext_modules=cythonize(os.path.join(package_dir, "viterbi_helpers.pyx")),
include_dirs=[np.get_include()],
tests_require=[],
install_requires=install_requires,
dependency_links=[],
zip_safe=False,
scripts=[x for x in glob('bin/*.py')],
)