feat!: deprecate in favor of langchain-azure-storage - #81
Open
darieldatoon wants to merge 2 commits into
Open
Conversation
The Azure Blob Storage backend now ships first-party as `langchain_azure_storage.deepagents.AzureBlobBackend` in langchain-azure-storage[deepagents]. This package is unmaintained; 0.5.0 is the final release. - Import-time `DeprecationWarning` pointing at the successor package - README banner plus an old-to-new migration table. The constructor API changed upstream (no `AzureBlobConfig`; credentials are SDK credential objects), so a re-export shim would not be compatible - `Development Status :: 7 - Inactive`, deprecation note in the PyPI summary, and a `Successor package` project URL BREAKING CHANGE: deepagents is now capped at <0.7.0. deepagents 0.7.0 changed `BackendProtocol` in ways this backend does not implement (write overwrites instead of erroring, `delete`/`adelete` is required, `GrepResult.truncated`), so the previous unbounded pin resolved to a broken combination. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #81 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 5 5
Lines 458 461 +3
=========================================
+ Hits 458 461 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Summary
Final release of this package. The Azure Blob Storage backend it provides now ships first-party as
langchain_azure_storage.deepagents.AzureBlobBackendinlangchain-azure-storage(ported in langchain-ai/langchain-azure#783), so this one is being wound down per the hand-off plan in that repo's proposal doc.Important
Do not merge until
langchain-azure-storage1.2.0 is released.The published 1.1.1 pins
deepagents>=0.6.12,<0.7.0, so it is not a viable migration target for anyone on deepagents 0.7.x. langchain-ai/langchain-azure#878 raises that floor to>=0.7.1; the migration guide in this PR points at 1.2.0 and is only accurate once it ships.Changes
DeprecationWarningin__init__.pypointing at the successor package and the migration guide.stacklevel=2, so it is attributed to the caller'simportline.## Migrating to langchain-azure-storage— a field-by-field table. Not a drop-in swap: the successor droppedAzureBlobConfigin favor of constructor arguments, moved connection strings to afrom_connection_string()classmethod, and takes SDK credential objects rather than raw key/token strings. A re-export shim would not have been compatible.deepagents>=0.6.1→>=0.6.1,<0.7.0(breaking). deepagents 0.7.0 changedBackendProtocolin ways this backend does not implement:writeoverwrites an existing file instead of returning a file-exists error,delete/adeleteis now required (and is visible-but-broken behind aCompositeBackendwithout it), andGrepResultgainedtruncated. The previous unbounded pin resolved to that broken combination on a fresh install, so this cap is a bug fix as much as a deprecation signal.Development Status :: 7 - Inactive, deprecation note in the PyPI summary,Successor packageproject URL.pdocrenders onto the docs site homepage.Nothing is yanked and no released version is removed — existing pins keep resolving.
Test plan
uv run pytest tests/unit_tests→ 137 passeduv run ruff check .,uv run ruff format --check .,uv run ty check→ cleanimport deepagents_azure_blob_backendand is attributed to the callerFollow-up (not in this PR)
After merge and the resulting 0.5.0 publish, in order — both archive steps disable uploads/Actions, so they come last:
publishanddocsworkflows went green on the release tag.github/dependabot.yml, pin a deprecation issueKnown caveat
Python's default warning filters suppress
DeprecationWarningwhen it is raised from an imported module rather than__main__, so many users will not see the notice.UserWarningwould always be visible.DeprecationWarningis what the hand-off plan specified, so that is what this PR uses — easy to change if we would rather guarantee visibility.