@@ -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.9' 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.9' 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]
@@ -226,10 +229,10 @@ stubdeps = [ # dependencies used for typehints in the stubs
226229 " fsspec" ,
227230 " pandas" ,
228231 " polars" ,
229- " pyarrow" ,
232+ " pyarrow; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
230233]
231234test = [ # dependencies used for running tests
232- " adbc-driver-manager" ,
235+ " adbc-driver-manager; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
233236 " pytest" ,
234237 " pytest-reraise" ,
235238 " pytest-timeout" ,
@@ -248,14 +251,15 @@ test = [ # dependencies used for running tests
248251 " urllib3" ,
249252 " fsspec>=2022.11.0" ,
250253 " 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' )" ,
254+ " pyarrow>=18.0.0; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
255+ " 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' ) " ,
253256 " tensorflow==2.14.0; sys_platform == 'darwin' and python_version < '3.12'" ,
254257 " 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'" ,
258+ " tensorflow-cpu>=2.14.0; sys_platform == 'win32' and platform_machine != 'ARM64' and python_version < '3.12'" ,
256259 " 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'" ,
260+ " numpy<2; ( sys_platform != 'win32' or platform_machine != 'ARM64' ) and python_version < '3.12'" ,
261+ " numpy>=2; ( sys_platform != 'win32' or platform_machine != 'ARM64' ) and python_version >= '3.12'" ,
262+ " numpy>=2.3; sys_platform == 'win32' and platform_machine == 'ARM64' and python_version >= '3.11'" ,
259263]
260264scripts = [ # dependencies used for running scripts
261265 " cxxheaderparser" ,
@@ -265,7 +269,7 @@ scripts = [ # dependencies used for running scripts
265269 " pandas" ,
266270 " pcpp" ,
267271 " polars" ,
268- " pyarrow" ,
272+ " pyarrow; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
269273 " pytz"
270274]
271275pypi = [ # dependencies used by the pypi cleanup script
0 commit comments