Repository navigation
Hold DuckDB below 2 and pandas below 3.1 - #47
Merged
Merged
Conversation
duckdb 2.0.0 was published today and the extra was unbounded, so every CI run since picks it up. 2.0 warns on an Arrow fetch from a DB-API cursor, which the relational engine makes for every DuckDB table and sample it reads, and the engine suite runs warnings as errors, so the required `engine` check fails on main and on every open pull request. The extra is held below 2, and this repository ships against the 1.5 it is tested on. Lifting the bound is its own change, moving those reads off the cursor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Manush Murali <manushm@nvidia.com>
adi-kumo
previously approved these changes
Oct 22, 2026
…-duckdb-below-2 Signed-off-by: Manush Murali <manushm@nvidia.com> # Conflicts: # CHANGELOG.md
pandas 3.1.0 was published this morning, and neither the client nor the engine bounded it, so CI picked it up within hours. 3.1 raises taking a `DateOffset` from `Timestamp.min`, which is the anchor time the engine derives for every graph without a time column, so every relational request over a static graph fails with OutOfBoundsDatetime: 24 client tests that run with an engine present. 3.1 also builds a frame around an integer past the float range where 3.0 refused one, and a request's description relies on that refusal to leave out the table carrying it. Both are held below 3.1, as DuckDB is below 2, and this ships against the 3.0 it is tested on. Lifting it is its own change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Manush Murali <manushm@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two upstream releases came out in the last day, and each one breaks a required check. Neither is caused by #41, and both break
maintoo. This PR caps both, so this client keeps shipping against the versions it's tested on. Lifting either cap is a separate change.DuckDB 2.0.0 (released yesterday)
duckdbextra had no upper bound.cursor.to_arrow_table()). The relational engine does that for every DuckDB table and sample it reads.enginefails.duckdb>=1.5.0,<2instructured-data-models-connectors. DuckDB 2.0 support is going into the Rust package instead.pandas 3.1.0 (released this morning)
pd.Timestamp.min - pd.DateOffset(0)now raisesOutOfBoundsDatetime. That's the anchor time the engine derives for every graph without a time column (rfm.py:2259), so relational requests over a static graph fail. This is the 24 client tests that run in theenginejob._wire_framerelied on that refusal (test_a_number_too_large_to_hold_is_not_a_description).pandas<3.1in the client and the engine, the two packages whose code breaks.uv.lockchanges only in the matchingrequires-distspecifiers. The locked versions were already DuckDB 1.5.6 and pandas 3.0.6.Verified locally: the CI
testsuite failed 1 test under pandas 3.1.0, and with the cap it resolves 3.0.6 and passes, 2218 passed and 0 failed. Hygiene,ruff checkandruff format --checkpass. Both pandas behaviours were reproduced directly on 3.0.6 and 3.1.0.🤖 Generated with Claude Code