forked from mikaell/chromograph
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
54 lines (44 loc) · 1.64 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
import codecs
import os
import io
from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__))
# Load the package's __version__.py module as a dictionary.
about = {}
with open(os.path.join(here, 'chromograph', '__version__.py')) as f:
exec(f.read(), about)
def parse_reqs(req_path='./requirements.txt'):
"""Recursively parse requirements from nested pip files."""
install_requires = []
with io.open(os.path.join(here, 'requirements.txt'), encoding='utf-8') as handle:
# remove comments and empty lines
lines = (line.strip() for line in handle
if line.strip() and not line.startswith('#'))
for line in lines:
# check for nested requirements files
if line.startswith('-r'):
# recursively call this function
install_requires += parse_reqs(req_path=line[3:])
else:
# add the line as a new requirement
install_requires.append(line)
return install_requires
# What packages are required for this module to be executed?
REQUIRED = parse_reqs()
setup(
name='chromograph',
version=about['__version__'],
description='tool for plotting genetic data',
author='mikaell',
author_email='[email protected]',
packages=find_packages(exclude=('tests*', 'docs', 'examples')),
include_package_data=True,
zip_safe=False,
install_requires=REQUIRED,
data_files = [('config', ['chromograph/config_chromograph.yml'])],
entry_points=dict(
console_scripts=[
'chromograph = chromograph.chromograph:main',
],
),
)