-
Notifications
You must be signed in to change notification settings - Fork 17
/
pyproject.toml
105 lines (90 loc) · 1.88 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
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "aind-data-schema"
description = "A library that defines AIND data schema and validates JSON files."
license = {text = "MIT"}
requires-python = ">=3.8"
classifiers = [
"Programming Language :: Python :: 3"
]
readme = "README.md"
dynamic = ["version"]
dependencies = [
'aind-data-schema-models>=0.5.4, <1.0.0',
'dictdiffer',
'pydantic>=2.7',
'inflection',
'jsonschema',
'semver'
]
[project.optional-dependencies]
dev = [
'aind_data_schema[linters]',
'pydantic>=2.7, !=2.9.0, !=2.9.1'
]
linters = [
'codespell',
'black',
'coverage',
'flake8',
'interrogate',
'isort',
'aind-flake8-extensions==0.5.2'
]
docs = [
'Sphinx',
'sphinx-jinja',
'furo',
'erdantic>=0.7.0,<1.0',
'autodoc_pydantic',
'myst-parser'
]
viz = [
'matplotlib'
]
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.dynamic]
version = {attr = "aind_data_schema.__version__"}
readme = {file = ["README.md"]}
[tool.black]
line-length = 120
target_version = ['py38']
exclude = '''
(
/(
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| build
| dist
)/
| .gitignore
)
'''
[tool.coverage.run]
omit = [
"*__init__*",
"*/aind_data_schema/utils/diagrams.py",
"*/aind_data_schema/visualizations/*",
"*/tests/test_diagram_builder.py"
]
source = ["aind_data_schema", "tests"]
[tool.coverage.report]
exclude_lines = ["if __name__ == .__main__.:", "pragma: no cover"]
fail_under = 100
[tool.isort]
line_length = 120
profile = "black"
[tool.interrogate]
exclude = ["setup.py", "docs", "build"]
fail-under = 100
[tool.codespell]
skip = '.git,*.pdf,*.svg'
ignore-words-list = 'nd,assertIn'