@@ -46,9 +46,9 @@ all = [ # users can install duckdb with 'duckdb[all]', which will install this l
4646 " ipython" , # used in duckdb.query_graph
4747 " fsspec" , # used in duckdb.filesystem
4848 " numpy" , # used in duckdb.experimental.spark and in duckdb.fetchnumpy()
49- " pandas" , # used for pandas dataframes all over the place
50- " pyarrow" , # used for pyarrow support
51- " adbc_driver_manager" , # for the adbc driver (TODO: this should live under the duckdb package)
49+ " pandas; python_version < '3.14' " , # used for pandas dataframes all over the place
50+ " pyarrow; python_version < '3.14' " , # used for pyarrow support
51+ " adbc_driver_manager; python_version < '3.14' " , # for the adbc driver (TODO: this should live under the duckdb package)
5252]
5353
5454# #####################################################################################################
@@ -123,7 +123,6 @@ if.env.COVERAGE = false
123123inherit.cmake.define = " append"
124124cmake.define.DISABLE_UNITY = " 1"
125125
126-
127126[tool .scikit-build .sdist ]
128127include = [
129128 " README.md" ,
@@ -204,6 +203,7 @@ required-environments = [ # ... but do always resolve for all of them
204203 " python_version >= '3.9' and sys_platform == 'linux' and platform_machine == 'x86_64'" ,
205204 " python_version >= '3.9' and sys_platform == 'linux' and platform_machine == 'aarch64'" ,
206205]
206+ prerelease = " if-necessary-or-explicit" # for 3.14
207207
208208# We just need pytorch for tests, wihtout GPU acceleration. PyPI doesn't host a cpu-only version for Linux, so we have
209209# to configure the index url for cpu-only pytorch manually
@@ -219,31 +219,31 @@ torchvision = [ { index = "pytorch-cpu" } ]
219219[dependency-groups ] # used for development only, requires pip >=25.1.0
220220stubdeps = [ # dependencies used for typehints in the stubs
221221 " fsspec" ,
222- " pandas" ,
223- " polars" ,
224- " pyarrow" ,
222+ " pandas; python_version < '3.14' " ,
223+ " polars; python_version < '3.14' " ,
224+ " pyarrow; python_version < '3.14' " ,
225225]
226226test = [ # dependencies used for running tests
227227 " pytest" ,
228228 " pytest-reraise" ,
229229 " pytest-timeout" ,
230230 " mypy" ,
231231 " coverage" ,
232- " gcovr" ,
232+ " gcovr; python_version < '3.14' " ,
233233 " gcsfs" ,
234234 " packaging" ,
235- " polars" ,
235+ " polars; python_version < '3.14' " ,
236236 " psutil" ,
237237 " py4j" ,
238238 " pyotp" ,
239- " pyspark" ,
239+ " pyspark; python_version < '3.14' " ,
240240 " pytz" ,
241241 " requests" ,
242242 " urllib3" ,
243243 " fsspec>=2022.11.0" ,
244- " pandas>=2.0.0" ,
245- " pyarrow>=18.0.0" ,
246- " torch>=2.2.2; sys_platform != 'darwin' or platform_machine != 'x86_64' or python_version < '3.13'" ,
244+ " pandas>=2.0.0; python_version < '3.14' " ,
245+ " pyarrow>=18.0.0; python_version < '3.14' " ,
246+ " torch>=2.2.2; python_version < '3.14' and ( sys_platform != 'darwin' or platform_machine != 'x86_64' or python_version < '3.13') " ,
247247 " tensorflow==2.14.0; sys_platform == 'darwin' and python_version < '3.12'" ,
248248 " tensorflow-cpu>=2.14.0; sys_platform == 'linux' and platform_machine != 'aarch64' and python_version < '3.12'" ,
249249 " tensorflow-cpu>=2.14.0; sys_platform == 'win32' and python_version < '3.12'" ,
@@ -256,10 +256,10 @@ scripts = [ # dependencies used for running scripts
256256 " ipython" ,
257257 " ipywidgets" ,
258258 " numpy" ,
259- " pandas" ,
259+ " pandas; python_version < '3.14' " ,
260260 " pcpp" ,
261- " polars" ,
262- " pyarrow" ,
261+ " polars; python_version < '3.14' " ,
262+ " pyarrow; python_version < '3.14' " ,
263263 " pytz"
264264]
265265pypi = [ # dependencies used by the pypi cleanup script
@@ -379,6 +379,7 @@ manylinux-x86_64-image = "manylinux_2_28"
379379manylinux-pypy_x86_64-image = " manylinux_2_28"
380380manylinux-aarch64-image = " manylinux_2_28"
381381manylinux-pypy_aarch64-image = " manylinux_2_28"
382+ enable = [" cpython-freethreading" , " cpython-prerelease" ]
382383
383384[tool .cibuildwheel .linux ]
384385before-build = [" yum install -y ccache" ]
0 commit comments