@@ -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,17 +229,18 @@ 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'" ,
233+ " typing-extensions" ,
230234]
231235test = [ # dependencies used for running tests
232- " adbc-driver-manager" ,
236+ " adbc-driver-manager; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
233237 " pytest" ,
234238 " pytest-reraise" ,
235239 " pytest-timeout" ,
236240 " pytest-timestamper" ,
237241 " coverage" ,
238242 " gcovr" ,
239- " gcsfs" ,
243+ " gcsfs; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
240244 " packaging" ,
241245 " polars" ,
242246 " psutil" ,
@@ -246,16 +250,18 @@ test = [ # dependencies used for running tests
246250 " pytz" ,
247251 " requests" ,
248252 " urllib3" ,
249- " fsspec>=2022.11.0" ,
253+ " fsspec>=2022.11.0; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
250254 " 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' )" ,
255+ " pyarrow>=18.0.0; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
256+ " 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' ) " ,
253257 " tensorflow==2.14.0; sys_platform == 'darwin' and python_version < '3.12'" ,
254258 " 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'" ,
259+ " tensorflow-cpu>=2.14.0; sys_platform == 'win32' and platform_machine != 'ARM64' and python_version < '3.12'" ,
256260 " 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'" ,
261+ " typing-extensions" ,
262+ " numpy<2; ( sys_platform != 'win32' or platform_machine != 'ARM64' ) and python_version < '3.12'" ,
263+ " numpy>=2; ( sys_platform != 'win32' or platform_machine != 'ARM64' ) and python_version >= '3.12'" ,
264+ " numpy>=2.3; sys_platform == 'win32' and platform_machine == 'ARM64' and python_version >= '3.11'" ,
259265]
260266scripts = [ # dependencies used for running scripts
261267 " cxxheaderparser" ,
@@ -265,7 +271,7 @@ scripts = [ # dependencies used for running scripts
265271 " pandas" ,
266272 " pcpp" ,
267273 " polars" ,
268- " pyarrow" ,
274+ " pyarrow; sys_platform != 'win32' or platform_machine != 'ARM64' " ,
269275 " pytz"
270276]
271277pypi = [ # dependencies used by the pypi cleanup script
0 commit comments