chore(wren)!: rename PyPI package from wren-engine to wrenai#2315
Conversation
Rename the core/wren CLI/SDK distribution from `wren-engine` to
`wrenai` on PyPI. The Python import path (`import wren`) and the
`wren` CLI entrypoint are unchanged.
Scope of this PR:
- core/wren/pyproject.toml `name`, self-referencing `main` / `all` extras
- importlib.metadata lookup in src/wren/__init__.py + test_version.py
- user-facing CLI strings and install hints in src/wren/**
- .github/workflows/publish-wren.yml workflow name + PyPI env URL
- core/wren/scripts/publish.sh messages
- core/wren/README.md, core/wren/docs/cli.md
- root README.md PyPI badge + tree, SECURITY.md
- docs/core/{get_started,guides,reference}/*.md (non-SDK docs)
- skills/{README, wren-onboarding, wren-usage, wren-generate-mdl}
Intentionally NOT in this PR (follow-up after wrenai is on PyPI):
- sdk/wren-langchain, sdk/wren-pydantic pyproject deps
- docs/core/sdk/langchain.md, docs/core/sdk/pydantic.md
These still resolve `wren-engine>=0.5.0` from PyPI; flipping them
before `wrenai` exists would break their CIs.
Release / PyPI ops required before merge:
- Configure PyPI Pending Trusted Publisher for `wrenai`
(project + testpypi, Canner/WrenAI repo, publish-wren.yml,
environments `pypi` / `testpypi`).
- Decide transition strategy for the legacy `wren-engine` PyPI
project (deprecated meta-package vs. hard cut).
BREAKING CHANGE: `pip install wren-engine` no longer receives new
releases of this package. Users should switch to `pip install wrenai`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
WalkthroughRenames the Python distribution from ChangesPackage Rename from wren-engine to wrenai
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
skills/wren-generate-mdl/SKILL.md (1)
6-6: 💤 Low valueConsider updating author metadata for consistency.
The other skill files (
wren-onboarding/SKILL.mdandwren-usage/SKILL.md) update their author metadata towrenai, but this file still showswren-engine. For consistency with the package rename, consider updating this towrenaias well.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/wren-generate-mdl/SKILL.md` at line 6, Update the SKILL.md author metadata by replacing the existing "author: wren-engine" entry with "author: wrenai" so it matches the other skill files; locate the literal author metadata line (author: wren-engine) and change it to author: wrenai to maintain consistency with the package rename.skills/wren-usage/SKILL.md (1)
42-42: 💤 Low valueClarify heading to distinguish package name from CLI command.
The heading "Check if
wrenaiis installed" could be confusing because the section actually checks for thewrenCLI command (which remains unchanged per the PR objectives). Consider rewording to "Check ifwrenCLI is installed" to make it clear that we're checking for the CLI availability, even though the package is now namedwrenai.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/wren-usage/SKILL.md` at line 42, The heading "Check if `wrenai` is installed" is ambiguous; update the markdown heading text to say "Check if `wren` CLI is installed" so readers understand we're verifying the `wren` CLI command rather than the package name; locate the heading string "Check if `wrenai` is installed" in SKILL.md and replace it with the clarified text exactly as specified.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@skills/wren-generate-mdl/SKILL.md`:
- Line 6: Update the SKILL.md author metadata by replacing the existing "author:
wren-engine" entry with "author: wrenai" so it matches the other skill files;
locate the literal author metadata line (author: wren-engine) and change it to
author: wrenai to maintain consistency with the package rename.
In `@skills/wren-usage/SKILL.md`:
- Line 42: The heading "Check if `wrenai` is installed" is ambiguous; update the
markdown heading text to say "Check if `wren` CLI is installed" so readers
understand we're verifying the `wren` CLI command rather than the package name;
locate the heading string "Check if `wrenai` is installed" in SKILL.md and
replace it with the clarified text exactly as specified.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 989100a2-14af-43f4-9376-c005e335df80
📒 Files selected for processing (24)
.github/workflows/publish-wren.ymlREADME.mdSECURITY.mdcore/wren/README.mdcore/wren/docs/cli.mdcore/wren/pyproject.tomlcore/wren/scripts/publish.shcore/wren/src/wren/__init__.pycore/wren/src/wren/cli.pycore/wren/src/wren/context.pycore/wren/src/wren/context_cli.pycore/wren/src/wren/memory/cli.pycore/wren/src/wren/profile.pycore/wren/src/wren/profile_cli.pycore/wren/tests/unit/test_version.pydocs/core/get_started/quickstart.mddocs/core/guides/connect.mddocs/core/guides/memory.mddocs/core/guides/profiles.mddocs/core/reference/cli.mdskills/README.mdskills/wren-generate-mdl/SKILL.mdskills/wren-onboarding/SKILL.mdskills/wren-usage/SKILL.md
…ine-to-wrenai # Conflicts: # docs/core/guides/memory.md # docs/core/guides/profiles.md
- wren-generate-mdl/SKILL.md: align author metadata to wrenai (was missed by the package-name sweep; other skill files already updated) - wren-usage/SKILL.md: clarify Step 2 heading from "Check if `wrenai` is installed" to "Check if the `wren` CLI is installed" — the command we probe is the CLI, which is named `wren` and is unchanged by the PyPI rename Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a "Package rename" section near the end of core/wren/README.md explaining: distribution name changed on PyPI starting 0.7.0, `import wren` / `wren` CLI are unchanged, migration is a re-install, and `wren-langchain` / `wren-pydantic` will follow in their next release. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Rename the
core/wren/Python SDK/CLI distribution fromwren-enginetowrenaion PyPI. The Python import path (import wren) and thewrenCLI entrypoint are unchanged — only the PyPI project name andpip installargument change.Scope
Included — everything needed for
core/wren/to build & publish under the new name:core/wren/pyproject.toml:name = \"wrenai\", self-referencingmain/allextrascore/wren/src/wren/__init__.py+tests/unit/test_version.py:importlib.metadata.version(\"wrenai\")src/wren/{cli,profile,profile_cli,context,context_cli,memory/cli}.py.github/workflows/publish-wren.yml: workflow name + PyPI environment URLcore/wren/scripts/publish.sh: build/publish output messagescore/wren/README.md,core/wren/docs/cli.mdREADME.md(PyPI badge + tree),SECURITY.mddocs/core/{get_started,guides,reference}/*.md(non-SDK docs)skills/{README,wren-onboarding,wren-usage,wren-generate-mdl}Intentionally NOT included — follow-up PR after
wrenaifirst publishes to PyPI:sdk/wren-langchain/pyproject.toml,sdk/wren-pydantic/pyproject.tomldeps (wren-engine>=0.5.0)docs/core/sdk/langchain.md,docs/core/sdk/pydantic.mdwren-enginefrom PyPI; flipping them beforewrenaiexists would break their CIs.Required before merge (PyPI ops)
wrenai:wrenai, ownerCanner, repoWrenAI, workflowpublish-wren.yml, environmentpypitestpypiwren-enginePyPI project (out of scope of this PR):wren-enginewhose only dep iswrenai==X.Y.ZVerification path
After merge → release-please opens release PR → merging it triggers
publish-wren.yml→ publisheswrenai-X.Y.Zto PyPI. RC dispatch (rc-release.yml→ componentwren) can be used to push a release candidate to TestPyPI first.The
wrenrelease-please component name andwren-vX.Y.Ztag scheme are unchanged — only the published distribution name differs.Test plan
uvx ruff format --check src/,uvx ruff check src/) — verified locallywren-enginereferences left in updated files (grep -r wren-engine)workflow_dispatch→ rc-release → wren component)pip install wrenaiworks end-to-endwren --versionprintswrenai X.Y.Z(CLI string check)wrenai🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Documentation
CLI/UX
Tests