-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsetup.py
111 lines (95 loc) · 3.17 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
#!/usr/bin/env python3
"""Install LORALS"""
import os
import sys
import glob
import types
import builtins
from datetime import datetime
from typing import Dict, Iterator, List
builtins.__LORALS_SETUP__: bool = True
# Get stuff from setuptools
from setuptools import setup
from setuptools import find_packages
from setuptools.command.install import install
# Some basic information
NAME: str = "LORALS"
AUTHOR: str = "Dafni Glinos"
AUTHOR_EMAIL: str = "[email protected]"
LICENSE: str = ""
DESCRIPTION: str = ""
PROJECT_URLS: Dict[str, str] = {
'Documentation': '',
'Source': '',
'Tracker': ''
}
# Set version information
VERSION = ""
# Classifiers
CLASSIFIERS: List[str] = [
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
# For more classfiiers
# How mature is this project?
'Development Status :: 3 - Alpha',
# What environment does this run in?
'Environment :: Console',
# Indicate who your project is intended for
'Intended Audience :: Science/Research',
'Intended Audience :: End Users/Desktop',
'Topic :: Scientific/Engineering :: Bio-Informatics',
# 'Topic :: Software Development :: Libraries :: Python Modules',
# Language
'Natural Language :: English',
# Pick your license as you wish (should match "license" above)
# 'License :: OSI Approved :: MIT License',
# Specify the Python versions you support here. In particular, ensure
# that you indicate whether you support Python 2, Python 3 or both.
'Programming Language :: Python :: 3 :: Only',
# Operating systems we support
# 'Operating System :: Microsoft :: Windows',
'Operating System :: MacOS :: MacOS X',
'Operating System :: POSIX :: Linux',
'Operating System :: Unix',
'Typing :: Typed',
]
# Specify Python version
# We support Python 3.5 or higher
PYTHON_REQUIRES: str ='>=3.5, <4'
# Platforms
PLATFORMS: List[str] = ['Linux', 'Mac OS-X', 'UNIX']
# Dependencies
INSTALL_REQUIRES: List[str] = [
"numpy",
"pandas",
"pybedtools",
"pysam",
"scipy",
]
# Command-line scripts included in this module
import lorals.scripts as scripts
SCRIPTS: Iterator[str] = (script for script in dir(scripts) if isinstance(eval('scripts.' + script), types.FunctionType))
SCRIPTS: Iterator[str] = (script for script in SCRIPTS if eval('scripts.%s.__module__' % script) == 'lorals.scripts')
SCRIPTS: Iterator[str] = (script for script in SCRIPTS if not script.startswith('_'))
SCRIPTS: List[str] = ['%(script)s = %(pkg)s.scripts:%(script)s' % {'script': script, 'pkg': NAME.lower()} for script in SCRIPTS]
ENTRY_POINTS: Dict[str, List[str]] = {
'console_scripts': SCRIPTS
}
# Run setup
setup(
name=NAME,
version=VERSION,
author=AUTHOR,
author_email=AUTHOR_EMAIL,
description=DESCRIPTION,
license=LICENSE,
project_urls=PROJECT_URLS,
platforms=PLATFORMS,
python_requires=PYTHON_REQUIRES,
classifiers=CLASSIFIERS,
install_requires=INSTALL_REQUIRES,
packages=find_packages(),
cmdclass={'install': install},
package_data={"lorals": ['blacklists/*.bed*', 'py.typed']},
entry_points=ENTRY_POINTS,
scripts=glob.glob('scripts/*.sh')
)