-
Notifications
You must be signed in to change notification settings - Fork 3
/
pyproject.toml
130 lines (111 loc) · 2.92 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[tool.poetry]
name = "Toffy"
version = "0.0.0"
description = "Scripts for interacting with and generating data from the commercial MIBIScope."
authors = [
"Noah Frey Greenwald <[email protected]>",
"Adam Kagel <[email protected]>",
"Alex Kong <[email protected]>",
"Cami Laura Sowers <[email protected]>",
"Sricharan Reddy Varra <[email protected]>",
]
license = "Modified Apache 2.0"
homepage = "https://github.com/angelolab/toffy"
repository = "https://github.com/angelolab/toffy"
documentation = "https://toffy.readthedocs.io"
readme = "README.md"
classifiers = [
"License :: OSI Approved :: Apache Software License",
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
packages = [{ include = 'toffy', from = 'src' }]
[build-system]
requires = ["poetry-core", "poetry-dynamic-versioning"]
build-backend = "poetry_dynamic_versioning.backend"
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
bump = true
style = "pep440"
metadata = false
[tool.poetry.dependencies]
python = "^3.9,<3.12"
alpineer = ">=0.1.10"
mibi-bin-tools = "0.2.12"
ipywidgets = "^8"
numpy = "1.*"
natsort = "^8"
seaborn = "^0.13"
scikit-learn = "^1"
watchdog = "^3"
tqdm = "^4"
scipy = "^1.10.1"
pandas = "^2"
pywavelets = "^1.4.1"
[tool.poetry.group.test]
optional = true
[tool.poetry.group.test.dependencies]
coveralls = { version = "^3.3.1", extras = ["toml"] }
pytest = "^7.2.2"
pytest-cases = "^3.6.14"
pytest-cov = "^4.0.0"
pytest-mock = "^3.10.0"
pytest-pycodestyle = "^2.3.1"
pytest-randomly = "^3.12.0"
mock = "^5.0.1"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
black = "^22.10.0"
isort = "^5.10.1"
jupyterlab = "^3.6.1"
jupyter-contrib-nbextensions = "^0.7.0"
loguru = "^0.7.0"
## TYPE CHECKING ##
[tool.mypy]
python_version = "3.9"
mypy_path = "$MYPY_CONFIG_FILE_DIR/src:$MYPY_CONFIG_FILE_DIR/tests"
warn_return_any = true
warn_unused_configs = true
warn_unused_ignores = false
ignore_missing_imports = true
## LINTING, FORMATTING ##
[tool.black]
line-length = 100
target-version = ["py39", "py310", "py311"]
include = '\.pyi?$'
preview = true
[tool.isort]
py_version = 38
line_length = 100
profile = "black"
multi_line_output = 3
## COVERAGE ##
[tool.coverage.paths]
source = ["src", "*/site-packages"]
[tool.coverage.run]
branch = true
source = ["toffy"]
[tool.coverage.report]
exclude_lines = [
"except ImportError",
"raise AssertionError",
"raise NotImplementedError",
]
show_missing = true
ignore_errors = false
fail_under = 45
omit = ["**/*test*.py"]
## TESTING ##
[tool.pytest.ini_options]
addopts = ["-vv", "-s", "--cov", "--pycodestyle", "--cov-report=lcov"]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::PendingDeprecationWarning",
]
testpaths = ["tests"]
norecursedirs = ["tests/utilities"]