1
1
[build-system ]
2
2
build-backend = " hatchling.build"
3
- requires = [ " hatch-docstring-description>=1.1.1" , " hatch-fancy-pypi-readme" , " hatch-vcs" , " hatchling" ]
3
+ requires = [
4
+ " hatch-docstring-description>=1.1.1" ,
5
+ " hatch-fancy-pypi-readme" ,
6
+ " hatch-min-requirements" ,
7
+ " hatch-vcs" ,
8
+ " hatchling" ,
9
+ ]
4
10
5
11
[project ]
6
12
name = " fast-array-utils"
@@ -18,7 +24,7 @@ classifiers = [
18
24
" Programming Language :: Python :: 3.13" ,
19
25
]
20
26
dynamic = [ " description" , " readme" , " version" ]
21
- dependencies = [ " numpy" ]
27
+ dependencies = [ " numpy>=1.25.2 " ]
22
28
optional-dependencies.accel = [ " numba" ]
23
29
optional-dependencies.doc = [
24
30
" furo" ,
@@ -29,7 +35,7 @@ optional-dependencies.doc = [
29
35
" sphinx-autofixture" ,
30
36
]
31
37
optional-dependencies.full = [ " dask" , " fast-array-utils[accel,sparse]" , " h5py" , " zarr" ]
32
- optional-dependencies.sparse = [ " scipy>=1.8 " ]
38
+ optional-dependencies.sparse = [ " scipy>=1.11 " ]
33
39
optional-dependencies.test = [
34
40
" anndata" ,
35
41
" fast-array-utils[accel,test-min]" ,
@@ -61,6 +67,7 @@ path = "README.rst"
61
67
start-after = " .. begin"
62
68
63
69
[tool .hatch .metadata .hooks .docstring-description ]
70
+ [tool .hatch .metadata .hooks .min_requirements ]
64
71
65
72
[tool .hatch .build .targets .wheel ]
66
73
packages = [ " src/testing" , " src/fast_array_utils" ]
@@ -87,11 +94,19 @@ overrides.matrix.extras.dependencies = [
87
94
{ if = [ " full" ], value = " scipy-stubs" },
88
95
{ if = [ " full" ], value = " scikit-learn" },
89
96
]
97
+ overrides.matrix.resolution.features = [
98
+ { if = [ " lowest" ], value = " min-reqs" }, # feature added by hatch-min-requirements
99
+ ]
90
100
91
101
[[tool .hatch .envs .hatch-test .matrix ]]
92
102
python = [ " 3.13" , " 3.11" ]
93
103
extras = [ " full" , " min" ]
94
104
105
+ [[tool .hatch .envs .hatch-test .matrix ]]
106
+ python = [ " 3.11" ]
107
+ extras = [ " full" ]
108
+ resolution = [ " lowest" ]
109
+
95
110
[tool .ruff ]
96
111
line-length = 160
97
112
namespace-packages = [ " src/testing" ]
@@ -124,6 +139,7 @@ lint.per-file-ignores."typings/**/*.pyi" = [ "A002", "F403", "F405", "N801" ] #
124
139
lint.allowed-confusables = [ " ×" , " ’" ]
125
140
lint.flake8-bugbear.extend-immutable-calls = [ " testing.fast_array_utils.Flags" ]
126
141
lint.flake8-copyright.notice-rgx = " SPDX-License-Identifier: MPL-2\\ .0"
142
+ lint.flake8-tidy-imports.banned-api."numpy.bool".msg = " Use `np.bool_` instead for numpy>=1.24<2 compatibility"
127
143
lint.flake8-type-checking.exempt-modules = [ ]
128
144
lint.flake8-type-checking.strict = true
129
145
lint.isort.known-first-party = [ " fast_array_utils" ]
@@ -133,6 +149,7 @@ lint.pydocstyle.convention = "numpy"
133
149
134
150
[tool .pytest .ini_options ]
135
151
addopts = [
152
+ " -ptesting.fast_array_utils._private" ,
136
153
" --import-mode=importlib" ,
137
154
" --strict-markers" ,
138
155
" --doctest-modules" ,
0 commit comments