-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
108 lines (92 loc) · 2.29 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
[tool.poetry]
name = "cell-abm-pipeline"
version = "0.0.0"
description = "Cell ABM workflows."
authors = [
"Jessica S. Yu <[email protected]>"
]
license = "BSD-3-Clause"
readme = "README.md"
[tool.poetry.dependencies]
python = ">=3.9,<3.12"
prefect = "^2.14.3"
hydra-core = "^1.2.0"
io-collection = "^0.10.1"
container-collection = "^0.6.1"
arcade-collection = "^0.15.0"
abm-initialization-collection = "^0.6.1"
abm-shape-collection = "^0.9.0"
abm-colony-collection = "^0.4.0"
[tool.poetry.group.dev.dependencies]
black = "^22.12.0"
isort = "^5.12.0"
mypy = "^1.4.1"
pylint = "^2.16.2"
pytest = "^7.3.0"
pytest-cov = "^4.0.0"
pytest-subtests = "^0.11.0"
sphinx = "^7.0.1"
furo = "^2023.5.20"
myst-parser = "^2.0.0"
sphinx-copybutton = "^0.5.2"
tox = "^4.5.1"
pre-commit = "^3.3.3"
types-requests = "^2.31.0.2"
[tool.poetry.scripts]
abmpipe = "cell_abm_pipeline.__main__:main"
[tool.black]
line-length = 100
[tool.isort]
profile = "black"
line_length = 100
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.pylint.messages_control]
disable = [
"missing-module-docstring",
]
good-names = ["i", "j", "k", "x", "y", "z", "ax", "ds", "dt"]
[tool.pylint.design]
max-args = 10 # maximum number of arguments for function / method
[tool.pylint.similarities]
min-similarity-lines = 10 # minimum lines number of a similarity
[tool.mypy]
mypy_path = "src"
explicit_package_bases = true
namespace_packages = true
disable_error_code = "attr-defined"
plugins = "src/cell_abm_pipeline/utilities/prefect_plugin.py"
[[tool.mypy.overrides]]
module = [
"boto3.*",
"matplotlib.*",
"mpl_toolkits.*",
"pandas.*",
"ruamel.*",
"simulariumio.*",
"sklearn.*",
"scipy.*",
]
ignore_missing_imports = true
[tool.tox]
legacy_tox_ini = """
[tox]
isolated_build = True
envlist = py{39,310}, format, lint, typecheck
skipsdist=True
[testenv]
allowlist_externals = poetry
commands =
poetry run pytest --cov-report html --cov=src/ tests/
[testenv:format]
commands =
poetry run black -l 100 src/ tests/
poetry run isort -l 100 src/ tests/
[testenv:lint]
commands =
poetry run pylint --ignore-patterns=test.*?py src/ tests/ --fail-under=9.0
[testenv:typecheck]
commands =
poetry run mypy --disallow-untyped-calls --disallow-untyped-defs --disallow-incomplete-defs src
"""