Skip to content

deps(sdk): raise the wrenai floor to 0.13.1 - #2610

Merged
PaulChen79 merged 1 commit into
mainfrom
deps/sdk-wrenai-floor
Jul 29, 2026
Merged

deps(sdk): raise the wrenai floor to 0.13.1#2610
PaulChen79 merged 1 commit into
mainfrom
deps/sdk-wrenai-floor

Conversation

@goldmedal

@goldmedal goldmedal commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Both SDKs declared wrenai>=0.7.0 — the floor they were first added with, when 0.7.0 was
current (May 2026). This moves it to >=0.13.1, the newest published wrenai and the version
CI actually resolves. 16 constraints per file: the base dependency plus each wrenai[<extra>]
passthrough.

What failure does this repair?

None — nothing observable changes for a user today, which is why this is deps: and not
fix:. >=0.7.0 already permits 0.13.1, so any resolver run today picks the same wrenai
before and after this change.

What it fixes is the declared contract rather than the installed result:

  • The floor advertises a compatibility range nobody verifies. Both SDK CI workflows run
    uv pip install --system -e ".[dev]" from the SDK directory, and neither pyproject has a
    path dependency or [tool.uv.sources] entry — so wrenai comes from PyPI and the suites
    have only ever run against the then-latest release. wrenai 0.7.0 has never been tested
    against either SDK.
  • With the old floor, a resolver constrained by an unrelated pin can legally satisfy
    wrenai>=0.7.0 with a release predating the wren.engine, wren.memory.store,
    wren.context, wren.profile, and wren.model.error APIs both toolkits import at module
    import time — failing at ImportError rather than at resolution.

How is it tested?

The existing wren-langchain CI and wren-pydantic CI workflows, both of which trigger on
sdk/wren-*/** and therefore run on this PR. Their install step is the check that matters
here: a green lint / tests job proves the raised floor is still satisfiable alongside the
rest of the dependency set (langchain, pydantic-ai, and the memory extras), and that the
resolved wrenai still satisfies the imports the test suites exercise.

No new test is added — there is no behaviour to assert on. A test that parsed the pyproject and
asserted on the version string would be exactly the substring-assertion anti-pattern the
contribution bar rules out.

Duplicate check

Checked every open PR touching sdk/:

Nothing else declares wrenai constraints. Both SDKs are changed in one PR rather than one
per package, per one change, once — the resulting convention is visible in a single diff.

Note for whoever merges

deps is a released section in this repo's release-please config, so this will add a
Dependencies entry to both SDK CHANGELOGs. The already-open 0.2.1 release PRs (#2427,
#2428) will regenerate to include it — they stay 0.2.1, since this is another patch-level
change.

Summary by CodeRabbit

  • Chores
    • Updated package compatibility requirements to support the latest WrenAI release.
    • Aligned all datasource pass-through, memory, aggregate, and development installation options with the updated minimum version.

@github-actions github-actions Bot added the dependencies Pull requests that update a dependency file label Jul 28, 2026
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a1aa6083-683b-44af-85d2-1b401edf0275

📥 Commits

Reviewing files that changed from the base of the PR and between be9201d and fe43d50.

📒 Files selected for processing (2)
  • sdk/wren-langchain/pyproject.toml
  • sdk/wren-pydantic/pyproject.toml
🚧 Files skipped from review as they are similar to previous changes (2)
  • sdk/wren-langchain/pyproject.toml
  • sdk/wren-pydantic/pyproject.toml

Walkthrough

Both SDK packages now require wrenai>=0.13.1, including datasource, memory, aggregate, and development optional extras.

Changes

WrenAI dependency update

Layer / File(s) Summary
Align core and optional dependency constraints
sdk/wren-langchain/pyproject.toml, sdk/wren-pydantic/pyproject.toml
Raises core wrenai, datasource extras, memory, aggregate, and development requirements from >=0.7.0 to >=0.13.1.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • Canner/WrenAI#2425: Updates dependency wiring in the same two SDK package metadata files.

Suggested labels: python

Suggested reviewers: yichieh-lu

Poem

I’m a rabbit with packages to tend,
Bumping wrenai where requirements bend.
Extras hop neatly, memory stays bright,
Datasources follow the version just right.
0.13.1—what a delightful flight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: raising the wrenai minimum version in the SDKs.
Description check ✅ Passed The description follows the template with summary, failure context, testing, and duplicate-check sections filled out.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch deps/sdk-wrenai-floor

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Both SDKs still declared `wrenai>=0.7.0` — the floor they were first added
with, when 0.7.0 was current. Neither suite has ever run against it: CI
resolves `wrenai` from PyPI with no path or workspace source, so both have
only tested whatever the newest release happened to be. The stale floor
advertises a compatibility range nobody verifies, and lets a resolver
satisfy the requirement with a wrenai far older than the `wren.engine` /
`wren.memory.store` / `wren.model.error` APIs these toolkits import.

Move the floor to the newest published wrenai so the declared minimum is
the version CI actually exercises.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@goldmedal
goldmedal force-pushed the deps/sdk-wrenai-floor branch from be9201d to fe43d50 Compare July 28, 2026 13:03
@goldmedal
goldmedal requested a review from PaulChen79 July 29, 2026 01:27
@PaulChen79
PaulChen79 merged commit 3615a8d into main Jul 29, 2026
12 checks passed
@goldmedal
goldmedal deleted the deps/sdk-wrenai-floor branch July 29, 2026 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants