-
Notifications
You must be signed in to change notification settings - Fork 7
/
pyproject.toml
97 lines (86 loc) · 2.93 KB
/
pyproject.toml
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
[tool.poetry]
name = "make_prg"
version = "0.5.0"
description = "Code to create a PRG from a Multiple Sequence Alignment file"
authors = ["Michael Hall <[email protected]>", "Leandro Ishi <[email protected]>", "Brice Letcher <[email protected]>",
"Rachel Colquhoun <[email protected]>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/iqbal-lab-org/make_prg"
repository = "https://github.com/iqbal-lab-org/make_prg"
documentation = "https://github.com/iqbal-lab-org/make_prg"
packages = [{include = "make_prg"}]
keywords = ["python", "reference-graph", "genome-graph", "bioinformatics"]
[tool.poetry.scripts]
make_prg = 'make_prg.__main__:main'
[tool.poetry.dependencies]
python = ">=3.8,<=3.11"
setuptools = "^65"
biopython = "1.79"
loguru = "^0.6.0"
numpy = "^1.24.4"
scikit-learn = "^1.3.0"
intervaltree = "^3.1.0"
pygraphviz = { version = "1.7", optional = true }
networkx = { version = "^2.6.3", optional = true }
matplotlib = { version = "^3.5.0", optional = true }
pyinstaller = {version = "^5.6", optional = true}
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-cov = "^4.1.0"
pytest-forked = "^1.6.0"
pytest-xdist = "^3.3.1"
pytest-ordering = "^0.6"
hypothesis = "^6.24.5"
black = "^22.10.0"
isort = "^5.10.1"
flake8 = "^5.0.4"
[tool.black]
line-length = 88
include = '\.pyi?$'
exclude = '''
(
/(
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| venv
| _build
| buck-out
| build
| dist
)/
)
'''
[tool.isort]
profile = "black"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.extras]
debug_graphs = ["pygraphviz", "networkx", "matplotlib"]
precompiled_binary = ["pygraphviz", "networkx", "matplotlib", "pyinstaller"]
# Note: to make breakpoints work when running tests through pycharm IDE, comment out section [tool.pytest.ini_options]
# See https://intellij-support.jetbrains.com/hc/en-us/community/posts/360008107400-PyCharm-2020-1-not-stopping-on-breakpoints-anymore
# Note: to make pycharm IDE able to collect coverage statistics, comment out sections
# [tool.pytest.ini_options], [tool.coverage.run], [tool.coverage.report]
[tool.pytest.ini_options]
addopts = "--cov --cov-report term --cov-report xml --cov-fail-under=98 --forked -n 4"
testpaths = ["tests"]
[tool.coverage.run]
omit = [
"make_prg/utils/recursive_tree_drawer.py", # this source file is never executed by users, just for internal debugging
"make_prg/subcommands/from_msa.py", # CLI source file, ignored in coverage
"make_prg/subcommands/update.py", # CLI source file, ignored in coverage
"tests/**" # test source dir, ignored in coverage, as it can bring the percentage up
]
[tool.coverage.report]
exclude_lines = [
"def __repr__",
"@abstractmethod",
"raise NotImplementedError",
"logger.*"
]