Skip to content

Migrate to the tenki SDK 0.5.1 and drop project ID support - #2

Merged
francoluxor merged 3 commits into
mainfrom
chore/migrate-tenki-sdk-0.5.1
Jul 28, 2026
Merged

Migrate to the tenki SDK 0.5.1 and drop project ID support#2
francoluxor merged 3 commits into
mainfrom
chore/migrate-tenki-sdk-0.5.1

Conversation

@francoluxor

Copy link
Copy Markdown
Collaborator

Summary

Two related SDK changes:

1. tenki-sandboxtenki. The Python SDK now publishes under the canonical tenki name (LuxorLabs/tenki.cloud#477). Verified against the real 0.5.1 wheel: tenki ships the implementation and re-exports everything from tenki_sandbox, so from tenki import AsyncSandbox is equivalent and the legacy namespace still works as an alias.

  • pyproject.toml: tenki-sandbox[async]>=0.3.5tenki[async]>=0.5.1
  • src/open_webui_tenki/core.py and the live tests: from tenki import ...
  • requirements: frontmatter in both distributables (via scripts/build.py)
  • README / TESTING / CONTRIBUTING install notes

2. Project ID support removed. AsyncClient.create() in 0.5.1 no longer accepts project_id — passing it now raises TypeError, so this is a required change, not just cleanup.

  • Dropped the tenki_project_id valve and its create-call argument
  • Dropped TENKI_PROJECT_ID plumbing from scripts/try_live.py and tests/integration/test_live.py
  • tenki_workspace_id is unchanged and remains the way to scope a sandbox

Notes

  • The files under open-webui/ are regenerated by python scripts/build.py; the source of truth is src/open_webui_tenki/.
  • tenki_project_id is removed from the Valves schema. Operators who had set it will see it disappear from the plugin settings after re-import; no action needed since the API no longer honors project scoping.

Test plan

  • pytest — 59 passed, 10 skipped (live integration tests, gated on TENKI_API_KEY)
  • ruff check . and ruff format --check . — clean
  • python scripts/build.py regenerated both distributables; test_build.py loads and instantiates them
  • Live tests against a real API were not run (no key in this environment)

🤖 Generated with Claude Code

The Python SDK now publishes as `tenki` (LuxorLabs/tenki.cloud#477); the
`tenki_sandbox` namespace remains as a legacy alias but new code should use
the canonical one. Pin `tenki[async]>=0.5.1` and import `from tenki import ...`
in the core, the frontmatter `requirements:` of both distributables, and the
live integration tests.

Project scoping was removed from the API: `AsyncClient.create()` in 0.5.1 no
longer accepts `project_id`, so passing it raises TypeError. Drop the
`tenki_project_id` valve, the create-call argument, and the `TENKI_PROJECT_ID`
env plumbing in `scripts/try_live.py` and the live tests. `workspace_id` is
unchanged and still the way to scope a sandbox.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tenki-reviewer

tenki-reviewer Bot commented Jul 27, 2026

Copy link
Copy Markdown

Review Complete

Risk: 🟡 Medium (28/100) — 1 low finding · 61 LOC across 14 files

Files Reviewed: 14
Findings: 1

By Severity:

  • 🟢 Low: 1

PR migrates from tenki-sandbox to the tenki SDK, removing project_id support. Two low-severity findings: a removed config field lacks deprecation notice, and a CI workflow still sets a now-unused TENKI_PROJECT_ID env var.

Files Reviewed (14 files)
CONTRIBUTING.md
README.md
TESTING.md
open-webui/functions/tenki_run_code.py
open-webui/tools/tenki_code_execution.py
pyproject.toml
scripts/build.py
scripts/try_live.py
src/open_webui_tenki/config.py
src/open_webui_tenki/core.py
tests/conftest.py
tests/integration/test_live.py
tests/unit/test_build.py
tests/unit/test_core.py

@francoluxor francoluxor self-assigned this Jul 27, 2026
francoluxor and others added 2 commits July 27, 2026 19:31
Leftover from the project-ID removal: nothing reads TENKI_PROJECT_ID
anymore now that the live tests no longer plumb it into Valves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Flagged in review: the valve disappears from plugin settings with no
explanation. A stale stored value is ignored rather than fatal, so this is a
docs matter, not a migration — say so, and point operators at
tenki_workspace_id.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@francoluxor
francoluxor merged commit d968b87 into main Jul 28, 2026
6 checks passed
@francoluxor
francoluxor deleted the chore/migrate-tenki-sdk-0.5.1 branch July 28, 2026 01:10
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.

1 participant