-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
122 lines (108 loc) · 3.21 KB
/
pyproject.toml
File metadata and controls
122 lines (108 loc) · 3.21 KB
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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "aind-zarr-utils"
description = "Utilities for working with ZARR data and AIND metadata"
license = "MIT"
requires-python = ">=3.10"
authors = [
{ name = "Allen Institute for Neural Dynamics" },
{ name = "Galen Lynch", email = "galen@galenlynch.com" },
]
classifiers = ["Programming Language :: Python :: 3"]
readme = "README.md"
version = "0.14.1"
dependencies = [
"aind-anatomical-utils>=0.4",
"aind-registration-utils>=0.1",
"aind-s3-cache>=0.1",
"antspyx>=0.2",
# boto3
# Package depends on boto3, but ome-zarr requires s3fs and this causes
# pip dependency resolution issues if specified here.
"numpy>=2",
"ome-zarr>=0.7",
"requests>=2",
# This is a workaround for pip dependency problems with ome-zarr: s3fs is
# NOT a direct dependency of this package, but ome-zarr requires it.
# boto3 option required to help pip resolve dependencies
"s3fs>=2021",
"SimpleITK>=2",
]
[project.urls]
Repository = "https://github.com/AllenNeuralDynamics/aind-zarr-utils/"
Issues = "https://github.com/AllenNeuralDynamics/aind-zarr-utils/issues"
Changelog = "https://github.com/AllenNeuralDynamics/aind-zarr-utils/blob/main/CHANGELOG.md"
[dependency-groups]
types = ["mypy", "types-requests", "boto3-stubs[s3]"]
dev = [{ include-group = "types" }, "codespell", "pytest", "pytest-cov", "ruff", "interrogate"]
jupyter = [{ include-group = "dev" }, "ipykernel", "pip"]
docs = [
{ include-group = "dev" },
"sphinx>=5.0",
"sphinx-autodoc-typehints",
"sphinx-copybutton",
"myst-parser",
"nbsphinx",
"furo",
]
[tool.hatch.build.targets.wheel]
packages = ["src/aind_zarr_utils"]
[tool.ruff]
line-length = 120
target-version = "py310"
extend-exclude = ["scratch", "docs/build", "docs/source/api-reference/generated"]
[tool.ruff.lint]
extend-select = ["Q", "RUF100", "C90", "I", "F", "E", "W", "D", "UP", "ANN", "PYI"]
extend-ignore = ["ANN401"] # Skip self/cls type annotations
per-file-ignores = { "tests/*.py" = ["ANN", "D"] }
mccabe = { max-complexity = 14 }
pydocstyle = { convention = "numpy" }
[tool.codespell]
skip = ".git,*.pdf,*.svg,./docs/build,./docs/_build,uv.lock,scratch,*searchindex.js"
ignore-words-list = "nd"
[tool.pytest.ini_options]
addopts = "--strict-markers --tb=short --cov=src --cov-report=term-missing --cov-fail-under=0"
testpaths = ["tests"]
[tool.interrogate]
ignore-init-method = true
ignore-magic = true
ignore_module = true
fail-under = 30
exclude = [
"__init__.py",
"tests",
"docs",
"build",
"examples",
"site",
"scratch",
".venv",
]
[tool.commitizen]
version_provider = "pep621"
update_changelog_on_bump = true
tag_format = "v$version"
major_version_zero = true
[tool.mypy]
files = ["src/aind_zarr_utils"]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_unreachable = true
strict_equality = true
show_error_codes = true
exclude = ["scratch"]
[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
disallow_incomplete_defs = false