-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.py
84 lines (79 loc) · 2.74 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
#!/usr/bin/env python
# This file adapted from https://github.com/biocore/qurro/blob/master/setup.py
from setuptools import find_packages, setup
from strainflye import __version__
classifier_str = """
Development Status :: 3 - Alpha
License :: OSI Approved :: BSD License
Topic :: Scientific/Engineering
Topic :: Scientific/Engineering :: Bio-Informatics
Programming Language :: Python :: 3 :: Only
Operating System :: Unix
Operating System :: POSIX
Operating System :: MacOS :: MacOS X
"""
classifiers = [s.strip() for s in classifier_str.split("\n") if s]
description = (
"Pipeline for analyzing rare mutations in metagenomes assembled using "
"long and accurate reads"
)
with open("README.md", "r") as f:
long_description = f.read()
setup(
name="strainFlye",
version=__version__,
license="BSD",
description=description,
long_description=long_description,
long_description_content_type="text/markdown",
author="Marcus Fedarko",
author_email="[email protected]",
maintainer="Marcus Fedarko",
maintainer_email="[email protected]",
url="https://github.com/fedarko/strainFlye",
packages=find_packages(),
install_requires=[
"scikit-bio",
"networkx",
# Also not a hard requirement.
"pandas >= 1.0",
# We use the min_open and max_open parameters of click.IntRange and
# click.FloatRange, which need click >= 8.0. We explicitly avoid
# needing to rely on click >= 8.1.0 (e.g. using the newly-added
# "executable" parameter of click.Path), because click 8.1.0 removes
# support for python 3.6.
"click >= 8.0",
],
setup_requires=[
"cython",
"numpy",
"scipy",
"pysam",
"pysamstats",
],
# Based on how Altair splits up its requirements:
# https://github.com/altair-viz/altair/blob/master/setup.py
extras_require={
"dev": [
"pytest >= 4.2",
"pytest-cov >= 2.0",
"flake8",
# black 22.10 stopped supporting python 3.6; ideally we'd adjust
# our CI to use later versions of black on the 3.7 build, but as a
# hacky solution pinning black is fine
"black < 22.10",
# This isn't a hard version requirement -- I'm not sure what the
# absolute minimum version is (maybe lower, probably not higher).
# This should be good enough. (Needed for tutorial notebooks.)
"matplotlib >= 3.0",
]
},
classifiers=classifiers,
entry_points={
"console_scripts": [
"strainFlye=strainflye._cli:strainflye",
"strainflye=strainflye._cli:strainflye",
],
},
python_requires=">=3.6,<3.8",
)