Skip to content

Conversation

@paultiq
Copy link
Owner

@paultiq paultiq commented Sep 17, 2025

This PR adds (and fixes) tests under a mix of different scenarios:

  • Random order, using pytest-randomly: To detect test order dependencies. This was observed in a few tests that created tables with the same name
  • Multiprocessing using pytest-xdist: Runs tests concurrently in separate processes. This should be a non-issue for duckdb, provided tests properly use tmp_path/tmp_file fixtures for test-specific directories.
  • Threading using pytest-run-parallel: Many tests are not thread-safe, due to the concurrent use of the default connection.

paultiq and others added 30 commits September 16, 2025 07:05
…ildwheel to include 3.14rc2, and handle new pandas warning, and mark unsupported packages as < 3.14.
Per [Discussion: Python 3.14 Free-Threading
Support](duckdb#40), this
is the first step / pre-requisite for free-threading work.

This PR adds Python 3.14 & 3.14t (rc2) builds, with a test change to
handle not-yet-available dependencies.

#### Free Threading is not enabled by this
Free threading is **not** implemented here. If DuckDB is imported in
3.14t, the GIL is enabled with the following warning:
> `<frozen importlib._bootstrap>:491: RuntimeWarning: The global
interpreter lock (GIL) has been enabled to load module '_duckdb', which
has not declared that it can run safely without the GIL. To override
this behavior and keep the GIL disabled (at your own risk), run with
PYTHON_GIL=0 or -Xgil=0.`

#### Timeline
- Python 3.14 is scheduled to release on 2025-10-07: [PEP 745 – Python
3.14 Release Schedule](https://peps.python.org/pep-0745/)
- In 3.14, [PEP 779: Free-threaded Python is officially
supported](https://docs.python.org/3.14/whatsnew/3.14.html#pep-779-free-threaded-python-is-officially-supported)

#### Changes
- Update uv to 0.8.16 and cibuilwheel to 3.1.x: needed for the latest
Python builds
- Added Windows specific build flags for 3.14t
- Add markers to disable dependencies that don't yet support 3.14

#### Notes:
- Windows + 3.14t is excluded: tests fail in the CI workflow, yet work
locally & in a modified workflow. Root cause is unknown.
- Marked xfailed duckdb#48
@paultiq paultiq closed this Sep 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants