@@ -184,7 +184,8 @@ exclude = [
184184# - numpy: tensorflow doesn't play nice with numpy>2 so for every platform that can run tensorflow (cp39-cp311) we use
185185# numpy<2. numpy<2 has no wheels for cp31[2|3], meaning an sdist will be used. However, on Windows amd64 +
186186# cp313 this results in a segfault / access violation. To get around this, we install numpy>=2 on all >=cp312
187- # platforms.
187+ # platforms. Then for windows arm64, for which there is no tensorflow, we only allow numpy>=2.3 because that
188+ # ships arm64 win32 wheels.
188189# #####################################################################################################
189190
190191[tool .uv ]
@@ -197,13 +198,15 @@ environments = [ # no need to resolve packages beyond these platforms with uv...
197198 " python_version >= '3.9' and sys_platform == 'darwin' and platform_machine == 'arm64'" ,
198199 " python_version >= '3.9' and sys_platform == 'darwin' and platform_machine == 'x86_64'" ,
199200 " python_version >= '3.9' and sys_platform == 'win32' and platform_machine == 'AMD64'" ,
201+ " python_version >= '3.11' and sys_platform == 'win32' and platform_machine == 'ARM64'" ,
200202 " python_version >= '3.9' and sys_platform == 'linux' and platform_machine == 'x86_64'" ,
201203 " python_version >= '3.9' and sys_platform == 'linux' and platform_machine == 'aarch64'" ,
202204]
203205required-environments = [ # ... but do always resolve for all of them
204206 " python_version >= '3.9' and sys_platform == 'darwin' and platform_machine == 'arm64'" ,
205207 " python_version >= '3.9' and sys_platform == 'darwin' and platform_machine == 'x86_64'" ,
206208 " python_version >= '3.9' and sys_platform == 'win32' and platform_machine == 'AMD64'" ,
209+ " python_version >= '3.11' and sys_platform == 'win32' and platform_machine == 'ARM64'" ,
207210 " python_version >= '3.9' and sys_platform == 'linux' and platform_machine == 'x86_64'" ,
208211 " python_version >= '3.9' and sys_platform == 'linux' and platform_machine == 'aarch64'" ,
209212]
@@ -219,24 +222,26 @@ explicit = true
219222torch = [ { index = " pytorch-cpu" } ]
220223torchvision = [ { index = " pytorch-cpu" } ]
221224
225+ # todo: adjust for windows arm64 while test dependencies become available
222226[dependency-groups ] # used for development only, requires pip >=25.1.0
223227stubdeps = [ # dependencies used for typehints in the stubs
224228 " pybind11-stubgen" ,
225229 " mypy" ,
226230 " fsspec" ,
227231 " pandas" ,
228232 " polars" ,
229- " pyarrow" ,
233+ " pyarrow; sys_platform != 'win32' or platform_machine != 'ARM64'" ,
234+ " typing-extensions" ,
230235]
231236test = [ # dependencies used for running tests
232- " adbc-driver-manager" ,
237+ " adbc-driver-manager; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
233238 " pytest" ,
234239 " pytest-reraise" ,
235240 " pytest-timeout" ,
236241 " pytest-timestamper" ,
237242 " coverage" ,
238243 " gcovr" ,
239- " gcsfs" ,
244+ " gcsfs; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
240245 " packaging" ,
241246 " polars" ,
242247 " psutil" ,
@@ -246,16 +251,18 @@ test = [ # dependencies used for running tests
246251 " pytz" ,
247252 " requests" ,
248253 " urllib3" ,
249- " fsspec>=2022.11.0" ,
254+ " fsspec>=2022.11.0; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
250255 " pandas>=2.0.0" ,
251- " pyarrow>=18.0.0" ,
252- " torch>=2.2.2; python_version < '3.14' and ( sys_platform != 'darwin' or platform_machine != 'x86_64' or python_version < '3.13' )" ,
256+ " pyarrow>=18.0.0; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
257+ " torch>=2.2.2; python_version < '3.14' and ( sys_platform != 'darwin' or platform_machine != 'x86_64' or python_version < '3.13' ) and ( sys_platform != 'win32' or platform_machine != 'ARM64' or python_version > '3.11' ) " ,
253258 " tensorflow==2.14.0; sys_platform == 'darwin' and python_version < '3.12'" ,
254259 " tensorflow-cpu>=2.14.0; sys_platform == 'linux' and platform_machine != 'aarch64' and python_version < '3.12'" ,
255- " tensorflow-cpu>=2.14.0; sys_platform == 'win32' and python_version < '3.12'" ,
260+ " tensorflow-cpu>=2.14.0; sys_platform == 'win32' and platform_machine != 'ARM64' and python_version < '3.12'" ,
256261 " tensorflow-cpu-aws==2.15.1; sys_platform == 'linux' and platform_machine == 'aarch64' and python_version < '3.12'" ,
257- " numpy<2; python_version < '3.12'" ,
258- " numpy>=2; python_version >= '3.12'" ,
262+ " typing-extensions" ,
263+ " numpy<2; ( sys_platform != 'win32' or platform_machine != 'ARM64' ) and python_version < '3.12'" ,
264+ " numpy>=2; ( sys_platform != 'win32' or platform_machine != 'ARM64' ) and python_version >= '3.12'" ,
265+ " numpy>=2.3; sys_platform == 'win32' and platform_machine == 'ARM64' and python_version >= '3.11'" ,
259266]
260267scripts = [ # dependencies used for running scripts
261268 " cxxheaderparser" ,
@@ -265,7 +272,7 @@ scripts = [ # dependencies used for running scripts
265272 " pandas" ,
266273 " pcpp" ,
267274 " polars" ,
268- " pyarrow" ,
275+ " pyarrow; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
269276 " pytz"
270277]
271278pypi = [ # dependencies used by the pypi cleanup script
0 commit comments