Skip to content

release(py): 0.7.34#2778

Merged
Mukil Loganathan (langchain-infra) merged 1 commit intomainfrom
daniel/release-py-0.7.34
Apr 23, 2026
Merged

release(py): 0.7.34#2778
Mukil Loganathan (langchain-infra) merged 1 commit intomainfrom
daniel/release-py-0.7.34

Conversation

@DanielKneipp
Copy link
Copy Markdown
Contributor

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 on AsyncSandboxClient
  • list_snapshots(name_contains=..., limit=..., offset=...) on both sync and async clients (server-side name filter + pagination)

Why now

Downstream consumer langchain-ai/deepagents#2888 is migrating the LangSmith harbor environment + CLI integration test from the deprecated template API to shared-per-image snapshots. It pins langsmith>=0.7.34 and drops the two # ty: ignore[unknown-argument] suppressions on snapshot_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

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
@langchain-infra Mukil Loganathan (langchain-infra) merged commit ad8acf7 into main Apr 23, 2026
29 of 36 checks passed
@langchain-infra Mukil Loganathan (langchain-infra) deleted the daniel/release-py-0.7.34 branch April 23, 2026 13:51
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)
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)
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.

2 participants