@@ -26,7 +26,7 @@ classifiers = [
26
26
" Typing :: Typed" ,
27
27
]
28
28
dynamic = [" version" ]
29
- dependencies = [" array-api-compat>=1.1.1 " ]
29
+ # dependencies = ["array-api-compat>=1.10.0"] # Do not release
30
30
31
31
[project .optional-dependencies ]
32
32
tests = [
@@ -63,9 +63,11 @@ platforms = ["linux-64", "osx-arm64", "win-64"]
63
63
64
64
[tool .pixi .dependencies ]
65
65
python = " >=3.10.15,<3.14"
66
- array-api-compat = " >=1.1.1 "
66
+ # array-api-compat = ">=1.10.0" # Do not release
67
67
68
68
[tool .pixi .pypi-dependencies ]
69
+ # Do not release: main at least @ gh#205
70
+ array-api-compat = { git = " https://github.com/data-apis/array-api-compat.git" }
69
71
array-api-extra = { path = " ." , editable = true }
70
72
71
73
[tool .pixi .feature .lint .dependencies ]
@@ -130,6 +132,35 @@ python = "~=3.10.0"
130
132
[tool .pixi .feature .py313 .dependencies ]
131
133
python = " ~=3.13.0"
132
134
135
+ # Backends that can run on CPU-only hosts
136
+ [tool .pixi .feature .backends .target .linux-64 .dependencies ]
137
+ pytorch = " *"
138
+ dask = " *"
139
+ sparse = " >=0.15"
140
+ jax = " *"
141
+
142
+ [tool .pixi .feature .backends .target .osx-arm64 .dependencies ]
143
+ pytorch = " *"
144
+ dask = " *"
145
+ sparse = " >=0.15"
146
+ jax = " *"
147
+
148
+ [tool .pixi .feature .backends .target .win-64 .dependencies ]
149
+ # pytorch = "*" # Package unavailable on Windows
150
+ dask = " *"
151
+ sparse = " >=0.15"
152
+ # jax = "*" # Package unavailable on Windows
153
+
154
+ # Backends that require a GPU host and a CUDA driver
155
+ [tool .pixi .feature .cuda-backends .target .linux-64 .dependencies ]
156
+ cupy = " *"
157
+
158
+ [tool .pixi .feature .cuda-backends .target .osx-arm64 .dependencies ]
159
+ # cupy = "*" # Package unavailable on macOSX
160
+
161
+ [tool .pixi .feature .cuda-backends .target .win-64 .dependencies ]
162
+ cupy = " *"
163
+
133
164
[tool .pixi .environments ]
134
165
default = { solve-group = " default" }
135
166
lint = { features = [" lint" ], solve-group = " default" }
@@ -138,7 +169,9 @@ docs = { features = ["docs"], solve-group = "default" }
138
169
dev = { features = [" lint" , " tests" , " docs" , " dev" ], solve-group = " default" }
139
170
ci-py310 = [" py310" , " tests" ]
140
171
ci-py313 = [" py313" , " tests" ]
141
-
172
+ # CUDA not available on free github actions
173
+ ci-backends = [" py310" , " tests" , " backends" ]
174
+ tests-backends = [" py310" , " tests" , " backends" , " cuda-backends" ]
142
175
143
176
# pytest
144
177
@@ -195,6 +228,8 @@ reportAny = false
195
228
reportExplicitAny = false
196
229
# data-apis/array-api-strict#6
197
230
reportUnknownMemberType = false
231
+ # no array-api-compat type stubs
232
+ reportUnknownVariableType = false
198
233
199
234
200
235
# Ruff
@@ -236,6 +271,7 @@ ignore = [
236
271
" PLR09" , # Too many <...>
237
272
" PLR2004" , # Magic value used in comparison
238
273
" ISC001" , # Conflicts with formatter
274
+ " N801" , # Class name should use CapWords convention
239
275
" N802" , # Function name should be lowercase
240
276
" N806" , # Variable in function should be lowercase
241
277
]
@@ -271,6 +307,7 @@ checks = [
271
307
" ES01" ,
272
308
]
273
309
exclude = [ # don't report on objects that match any of these regex
310
+ ' .*test_at.*' ,
274
311
' .*test_funcs.*' ,
275
312
' .*test_utils.*' ,
276
313
' .*test_version.*' ,
0 commit comments