release(py): 0.7.34#2778
Merged
Mukil Loganathan (langchain-infra) merged 1 commit intomainfrom Apr 23, 2026
Merged
Conversation
Ships the snapshot-based sandbox provisioning API added in #2769: - `SandboxClient.create_sandbox(..., snapshot_name=...)` and the async equivalent on `AsyncSandboxClient` - `list_snapshots(name_contains=..., limit=..., offset=...)` on both clients (server-side name filter + pagination) Motivated by the downstream migration in deepagents#2888, which pins `langsmith>=0.7.34` to drop the `# ty: ignore[unknown-argument]` suppressions on those two kwargs. JS parity (#2770) already shipped in [email protected] (#2774), so this release only bumps Python. Made-with: Cursor
Mukil Loganathan (langchain-infra)
approved these changes
Apr 23, 2026
ad8acf7
into
main
29 of 36 checks passed
Daniel Kneipp (DanielKneipp)
added a commit
to langchain-ai/deepagents
that referenced
this pull request
Apr 23, 2026
`langsmith==0.7.34` (langchain-ai/langsmith-sdk#2778, released 2026-04-23) is now on PyPI, so the lockfile can be regenerated cleanly against the pin bumped in 4a25d8a. Un-blocks the `Verify uv.lock files` CI check and the evals test jobs. - `uv lock --upgrade-package langsmith` in libs/evals - `uv run --group test ruff check` clean on changed files - `uv run --group test ty check` clean (no "unused ignore" warnings) - `uv run --group test pytest tests/unit_tests/` - 253 passed Made-with: Cursor
Daniel Kneipp (DanielKneipp)
added a commit
to langchain-ai/deepagents
that referenced
this pull request
Apr 23, 2026
…2888) Migrates the LangSmith harbor env (and its integration-test fixture) from the deprecated template API to shared-per-image snapshots, matching the CLI migration shipped in #2824. `start()` now resolves snapshots by name via `list_snapshots(name_contains=...)` / `create_sandbox(snapshot_name=...)` and routes per-trial vCPU / memory / filesystem limits onto `create_sandbox`; `stop()` never deletes the shared snapshot. Touches `libs/deepagents` (integration-test fixture only) alongside `libs/evals` because the shared snapshot fixture has to move to the new API in lock-step with the harbor env. ## SDK dependency The Python-side new-kwargs support was added in langchain-ai/langsmith-sdk#2769 (Python `snapshot_name` on `create_sandbox` + `name_contains`/`limit`/`offset` on `list_snapshots`) and released in `langsmith==0.7.34` on PyPI on 2026-04-23 (release PR: langchain-ai/langsmith-sdk#2778). JS parity (#2770) shipped earlier in `[email protected]` (#2774) but is not consumed here. `libs/evals/pyproject.toml` now pins `langsmith>=0.7.34`; the two `# ty: ignore[unknown-argument]` suppressions that the original draft mentioned have been removed (`ty check` is clean); `libs/evals/uv.lock` has been regenerated. ## How did you verify your code works? - `uv run --group test ruff check` clean on changed files - `uv run --group test ty check deepagents_evals/ deepagents_harbor/ tests/unit_tests/` — clean (no "unused ignore" warnings) - `uv run --group test pytest tests/unit_tests/ -q` in `libs/evals` — **253 passed** - Integration test `libs/deepagents/tests/integration_tests/test_langsmith_sandbox.py` against live LangSmith prod — **81 passed, 4 xfailed** (the markers explicitly declared in the file). Exercises the full new API end-to-end: `list_snapshots(name_contains=...)` → `create_snapshot` (when missing) → `create_sandbox(snapshot_name=...)` → `delete_sandbox(...)`. Verified post-run that the shared `deepagents-cli` snapshot is preserved (`status='ready'`) and the sandbox was cleaned up (0 leftovers). - One pre-existing `@pytest.mark.xfail(strict=True)` from #2694 on `test_awrite_aread_adownload_large_text_with_escaped_content` surfaces as an XPASS against the 0.7.34 SDK — orthogonal to this PR; a follow-up cleanup will drop that stale marker. --- _Used Cursor (Claude Opus 4.7) to draft the migration following an existing plan; all code reviewed and tested locally._ Made with [Cursor](https://cursor.com)
Merged
Jacob Lee (jacoblee93)
pushed a commit
that referenced
this pull request
Apr 24, 2026
Bumps langsmith Python from 0.7.34 → 0.7.35 to publish the hub methods merged in #2746. Unblocks deepagents PR langchain-ai/deepagents#2898, which imports `AgentEntry`/`FileEntry`/`SkillEntry` from `langsmith.schemas` and calls `Client.pull_agent`/`push_agent`. Same two-file scope as #2778.
james8814
pushed a commit
to james8814/deepagents
that referenced
this pull request
May 1, 2026
…angchain-ai#2888) Migrates the LangSmith harbor env (and its integration-test fixture) from the deprecated template API to shared-per-image snapshots, matching the CLI migration shipped in langchain-ai#2824. `start()` now resolves snapshots by name via `list_snapshots(name_contains=...)` / `create_sandbox(snapshot_name=...)` and routes per-trial vCPU / memory / filesystem limits onto `create_sandbox`; `stop()` never deletes the shared snapshot. Touches `libs/deepagents` (integration-test fixture only) alongside `libs/evals` because the shared snapshot fixture has to move to the new API in lock-step with the harbor env. The Python-side new-kwargs support was added in langchain-ai/langsmith-sdk#2769 (Python `snapshot_name` on `create_sandbox` + `name_contains`/`limit`/`offset` on `list_snapshots`) and released in `langsmith==0.7.34` on PyPI on 2026-04-23 (release PR: langchain-ai/langsmith-sdk#2778). JS parity (langchain-ai#2770) shipped earlier in `[email protected]` (langchain-ai#2774) but is not consumed here. `libs/evals/pyproject.toml` now pins `langsmith>=0.7.34`; the two `# ty: ignore[unknown-argument]` suppressions that the original draft mentioned have been removed (`ty check` is clean); `libs/evals/uv.lock` has been regenerated. - `uv run --group test ruff check` clean on changed files - `uv run --group test ty check deepagents_evals/ deepagents_harbor/ tests/unit_tests/` — clean (no "unused ignore" warnings) - `uv run --group test pytest tests/unit_tests/ -q` in `libs/evals` — **253 passed** - Integration test `libs/deepagents/tests/integration_tests/test_langsmith_sandbox.py` against live LangSmith prod — **81 passed, 4 xfailed** (the markers explicitly declared in the file). Exercises the full new API end-to-end: `list_snapshots(name_contains=...)` → `create_snapshot` (when missing) → `create_sandbox(snapshot_name=...)` → `delete_sandbox(...)`. Verified post-run that the shared `deepagents-cli` snapshot is preserved (`status='ready'`) and the sandbox was cleaned up (0 leftovers). - One pre-existing `@pytest.mark.xfail(strict=True)` from langchain-ai#2694 on `test_awrite_aread_adownload_large_text_with_escaped_content` surfaces as an XPASS against the 0.7.34 SDK — orthogonal to this PR; a follow-up cleanup will drop that stale marker. --- _Used Cursor (Claude Opus 4.7) to draft the migration following an existing plan; all code reviewed and tested locally._ Made with [Cursor](https://cursor.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.
Bumps Python SDK to
0.7.34.Ships the snapshot-based sandbox provisioning API added in #2769:
SandboxClient.create_sandbox(..., snapshot_name=...)and the async equivalent onAsyncSandboxClientlist_snapshots(name_contains=..., limit=..., offset=...)on both sync and async clients (server-side name filter + pagination)Why now
Downstream consumer
langchain-ai/deepagents#2888is migrating the LangSmith harbor environment + CLI integration test from the deprecated template API to shared-per-image snapshots. It pinslangsmith>=0.7.34and drops the two# ty: ignore[unknown-argument]suppressions onsnapshot_name=/name_contains=. That PR is currently held in draft until this release is on PyPI.Scope
Python-only bump. JS parity (#2770) already shipped in
[email protected]via #2774.How did you verify your code works?
Used Cursor (Claude Opus 4.7) to draft this release PR.
Made with Cursor
Made with Cursor