Skip to content

feat(clients): add Binary Store alpha APIs - #1329

Open
AdepuSriCharan wants to merge 3 commits into
dapr:mainfrom
AdepuSriCharan:feat/binary-store-alpha1
Open

AdepuSriCharan wants to merge 3 commits into
dapr:mainfrom
AdepuSriCharan:feat/binary-store-alpha1

Conversation

@AdepuSriCharan

Copy link
Copy Markdown

Description

This PR adds support for the Binary Store alpha API in the Python SDK, allowing developers to upload, download, and delete files through Dapr.

It introduces set_binary_file_alpha1, get_binary_file_alpha1, and delete_binary_file_alpha1 for both sync and async clients.

Uploads support bytes and binary file-like objects, while downloads can be streamed in chunks without loading the entire file into memory. It also handles overwrites, timeouts, authentication, cancellation, and resource cleanup.

I've added unit and integration tests, sync/async examples, documentation, and a dedicated CI job for Dapr 1.19.

The generated gRPC files use Dapr v1.19.0-rc.4. These changes overlap with #1327, and the implementation has also been tested with its newer protocol definitions.

Validation:

  • All existing SDK tests pass without regressions.
  • 68 feature-focused tests passed, including integration and examples.
  • Verified 5 MiB sync/async transfers with matching SHA-256 hashes.
  • Ruff, mypy, formatting, protocol generation, and package build checks passed.

A corresponding documentation update is prepared for the Dapr 1.19 docs branch.

Known limitation: An upstream gRPC issue ([grpc/grpc#36066](grpc/grpc#36066)) can occasionally return INTERNAL instead of the original error during early async upload failures. This is covered by regression tests.

Issue reference

Closes #1296

Checklist

  • Code compiles correctly
  • Created/updated tests
  • Extended the documentation

Generate protobuf bindings from Dapr runtime v1.19.0-rc.4
(commit 1cdc46c820eede065522f80652c40304d668ea66)
using grpcio-tools 1.81.1 and mypy-protobuf 5.0.0.

Support immutable runtime refs and reliable generation failures
without changing dependency floors.

Signed-off-by: Adepu Sri Charan <sricharan.adepu36@gmail.com>
Add synchronous and asynchronous streaming file operations with overwrite,
deadlines, authentication, examples and regression coverage.

Signed-off-by: Adepu Sri Charan <sricharan.adepu36@gmail.com>
@AdepuSriCharan
AdepuSriCharan requested review from a team as code owners October 21, 2026 11:39
@AdepuSriCharan AdepuSriCharan changed the title Feat/binary store alpha1 feat(clients): add Binary Store alpha APIs Oct 21, 2026
@CasperGN CasperGN self-assigned this Oct 21, 2026
Signed-off-by: Adepu Sri Charan <sricharan.adepu36@gmail.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.

Support the binary store API (alpha) from Dapr 1.19

2 participants