NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #280 most downloaded on PyPI
Microsoft Azure Blob Storage Client Library for Python
Last release today
30 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
94 releases · first in 2017
Deprecated new_name in for undelete container operation
New Features
Fixes
Notes
Fixed retry on large block upload
Fixes
AccountName, AccountKey etc. in conn_str case insensitiveexists() for CPK encrypted blobs (#18041)ThreadPoolExecutor (#8955)One column per quarter.
Stable release of preview features
Stable release of preview features
ContainerClient.exists() methodFixes
delete_blob() method signature (#15891)Added ContainerClient.exists() method
New Features
ContainerClient.exists() methodFixes - Fixed msrest dependency issue
Fixes
Code | Docs Text Analytics azure-ai-textanalytics
Code | Docs
Text Analytics
azure-ai-textanalytics
Stable release of preview features
upload_blob_from_url api on BlobClient.AzureSasCredential to allow SAS rotation in long living clients.Fixes
Added upload_blob_from_url api on BlobClient
New features
upload_blob_from_url api on BlobClientStable release of preview features
Stable release of preview features
ArrowDialect as output format of query_blobundelete_container on BlobServiceClient.Fixes
Notes
azure-core from azure-core<2.0.0,>=1.6.0 to azure-core<2.0.0,>=1.9.0 to get continuation_token attr on AzureError.Added support for Arrow format (ArrowType) output serialization using quick_query().
New features
ArrowType) output serialization using quick_query().LastAccessTime property on a blob, which could be the last time a blob was written or read.Added support for checking if a blob exists using the exists method (#13221).
New features
exists method (#13221).Fixes
copy_blob_from_url, upload_blob_from_url etc (#13275).get_blob_properties response (#13287).Added support for Object Replication Service on list_blobs and get_blob_properties.
New features
list_blobs and get_blob_properties.if_tags_match_condition that allow a user to specify a SQL statement for the blob's tags to satisfy.default_index_document_path of StaticWebsite property on the service client.rehydrate_priority to BlobProperties.test_seal_append_blob. Added ability to specify seal_destination_blob on start_copy_from_url. is_append_blob_sealed property returned on get_blob_properties/download_blob/list_blobs.Fixes
blob_samples_query bug.Added query_blob API to enable users to select/project on block blob or block blob snapshot data by providing simple query expressions.
New features
query_blob API to enable users to select/project on block blob or block blob snapshot data by providing simple query expressions.version_id will be updated automatically and returned in the response, the version_id could be used later to refer to the overwritten blob.set_blob_tags,get_blob_tags and find_blobs_by_tags so that user can get blobs based on blob tags.Fixed issue where batch requests could not be combined with SAS
Fixes
Notes
Fixed issue where batch requests could not be combined with token credentials
Fixes
stage_block now propagates the response from the service.
New features
stage_block now propagates the response from the service.Fixes
get_blob_client method instead
of using the existing one in the ContainerClient.Notes
StorageUserAgentPolicy is now replaced with the UserAgentPolicy from azure-core. With this, the custom user agents are now added as a prefix instead of being appended.Added support for the 2019-07-07 service version, and added api_version parameter to clients.
New features
api_version parameter to clients.get_page_range_diff_for_managed_disk API which returns the list of valid page ranges diff between a snapshot and managed disk or another snapshot.Fixes
Added download_blob method to the container_client.
New features
download_blob method to the container_client.close() method to close the sockets opened by the client when using without a context manager.Fixes and improvements
commit_block_list operation.Code | Docs Support: Active
Code | Docs
Support: Active
Breaking changes
set_container_access_policy has required parameter signed_identifiers.NoRetry policy has been removed. Use keyword argument retry_total=0 for no retries.StorageStreamDownloader is no longer iterable. To iterate over the blob data stream, use StorageStreamDownloader.chunks.StorageStreamDownloader have been limited to:
name (str): The name of the blob.container (str): The container the blob is being downloaded from.properties (BlobProperties): The properties of the blob.size (int): The size of the download. Either the total blob size, or the length of a subsection if sepcified. Previously called download_size.StorageStreamDownloader now has new functions:
readall(): Reads the complete download stream, returning bytes. This replaces the functions content_as_bytes and content_as_text which have been deprecated.readinto(stream): Download the complete stream into the supplied writable stream, returning the number of bytes written. This replaces the function download_to_stream which has been deprecated.upload_blob_to_url and download_blob_from_url functions options are now keyword only:
overwritemax_concurrencyencodingBlobServiceClient, ContainerClient,
BlobClient and BlobLeaseClient should be imported from azure.storage.blob.aioLogging has been renamed to BlobAnalyticsLogging.azure.storage.blob and azure.storage.blob.aio only.if_match and if_none_match) now take explicit etag and match_condition parameters, where etag is the Etag value, and match_condition is an instance of azure.core.MatchConditions.generate_shared_access_signature methods on each of BlobServiceClient, ContainerClient and BlobClient have been replaced by module level functions generate_account_sas, generate_container_sas and generate_blob_sas.raise_on_any_failure which defaults to True. This will raise an error even if there's a partial batch failure.LeaseClient has been renamed to BlobLeaseClient.get_service_stats now returns a dictget_service_properties now returns a dict with keys consistent to set_service_propertiesNew features
upload_blob_to_url and download_blob_from_url functions.ResourceTypes, and Services now have method from_string which takes parameters as a string.AccountPermissions, BlobPermissions and ContainerPermissions have been renamed to AccountSasPermissions, BlobSasPermissions and ContainerSasPermission
Breaking changes
AccountPermissions, BlobPermissions and ContainerPermissions have been renamed to
AccountSasPermissions, BlobSasPermissions and ContainerSasPermissions respectively.__add__ and __or__ methods are removed.max_connections is now renamed to max_concurrency.ContainerClient now accepts only account_url with a mandatory string param container_name.
To use a container_url, the method from_container_url must be used.BlobClient now accepts only account_url with mandatory string params container_name and
blob_name. To use a blob_url, the method from_blob_url must be used.loopmax_concurrencyvalidate_contenttimeout etc.offset and length instead of range_start and range_end consistently.
length is the number of bytes to take in starting from the offset. The APIs that have been
changed include:
get_page_rangesupload_pageupload_pages_from_urlclear_pageappend_block_from_urlblock_id is not optional in BlobBlock model.New features
AccountSasPermissions, BlobSasPermissions, ContainerSasPermissions now have method from_string
which takes parameters as a string.Fixes and improvements
length param in download_blob now takes the number of bytes to take in starting from the offset
instead of a harde set end value.Dependency updates
Adopted azure-core 1.0.0b4
pip install azure-core==1.0.0b2 azure-storage-blob==12.0.0b2
Added SAS support for snapshot and identity.
New features
Dependency updates
Adopted azure-core 1.0.0b3
pip install azure-core==1.0.0b2 azure-storage-blob==12.0.0b2
Fixes and improvements
Renamed copy_blob_from_url to start_copy_from_url and changed behaviour to return a dictionary of copy properties rather than a polling object. Status
Breaking changes
copy_blob_from_url to start_copy_from_url and changed behaviour to return a dictionary of copy properties rather than a polling object. Status of the copy operation can be retrieved with the get_blob_properties operation.abort_copy operation to the BlobClient class. This replaces the previous abort operation on the copy status polling operation.marker parameter has been removed.by_page function that will return a secondary iterator of batches of results. This function supports a continuation_token parameter to replace the previous marker parameter.timeoutleaseencodingif_modified_since, if_match , maxsize_condition, etcNew features
azure.storage.blob.aio.Dependency updates
Adopted azure-core 1.0.0b2
pip install azure-core==1.0.0b1 azure-storage-blob==12.0.0b1
Fixes and improvements
Breaking changes: New API design
Version 12.0.0b1 is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Storage Blobs. For more information about this, and preview releases of other Azure SDK libraries, please visit https://aka.ms/azure-sdk-preview1-python.
Breaking changes: New API design
Operations are now scoped to a particular client:
BlobServiceClient: This client handles account-level operations. This includes managing service properties and listing the containers within an account.ContainerClient: The client handles operations for a particular container. This includes creating or deleting that container, as well as listing the blobs within that container and managing properties and metadata.BlobClient: The client handles operations for a particular blob. This includes creating or deleting that blob, as well as upload and download data and managing properties.
This BlobClient handles all blob types (block, page and append). Where operations can behave differently according to type (i.e. upload_blob) the default behaviour will be block blobs unless otherwise specified.LeaseClient: Handles all lease operations for both containers and blobs.These clients can be accessed by navigating down the client hierarchy, or instantiated directly using URLs to the resource (account, container or blob). For full details on the new API, please see the reference documentation.
Copy blob operations now return a polling object that can be used to check the status of the operation, as well as abort the operation.
New module level operations for simple upload and download using a blob URL.
Download operations now return a streaming object that can download data in multiple ways:
content_as_bytes: Return the entire blob content as bytes. Blocking operation that supports multi-threaded download.content_as_text: Return the entire blob content as decoded text. Blocking operation that supports multi-threaded download.download_to_stream: Download the entire content to an open stream handle (e.g. an open file). Supports multi-threaded download.New underlying REST pipeline implementation, based on the new azure-core library.
Client and pipeline configuration is now available via keyword arguments at both the client level, and per-operation. See reference documentation for a full list of optional configuration arguments.
Authentication using azure-identity credentials
New error hierarchy:
azure.core.exceptions.HttpResponseErrorResourceNotFoundError: The resource (e.g. queue, message) could not be found. Commonly a 404 status code.ResourceExistsError: A resource conflict - commonly caused when attempting to create a resource that already exists.ResourceModifiedError: The resource has been modified (e.g. overwritten) and therefore the current operation is in conflict. Alternatively this may be raised if a condition on the operation is not met.ClientAuthenticationError: Authentication failed.Operation set_blob_properties has been renamed to set_http_headers.
Operations get_blob_to_<output> have been replaced with download_blob. See above for download output options.
Operations create_blob_from_<input> have been replace with upload_blob.
Operation create_blob has been renamed to separate create_page_blob and create_append_blob.
Operations get_container_acl and set_container_acl have been renamed to get_container_access_policy and set_container_access_policy.
Operation snapshot_blob has been renamed to create_snapshot.
Operation copy_blob has been renamed to copy_blob_from_url.
Operations put_block and put_block_from_url have been renamed to stage_block and stage_block_from_url.
Operation put_block_list has been renamed to commit_block_list.
No longer have specific operations for get_metadata - use get_properties instead.
No longer have specific operations for exists - use get_properties instead.
Operation incremental_copy_blob has been replaced by an optional boolean flag in the copy_blob_from_url operation.
Operation update_page has been renamed to upload_page.
Operation get_page_ranges_diff has been replaced by an optional str flag in the get_page_ranges operation.
Code | Docs
Code | Docs
Updated dependency on azure-storage-common.
Code | Docs Event Grid azure-eventgrid
Code | Docs
Event Grid
azure-eventgrid
Code | Docs Communication JobRouter azure-communication-jobrouter
Code | Docs
Communication JobRouter
azure-communication-jobrouter
Code | Docs Communication Rooms azure-communication-rooms
Code | Docs
Communication Rooms
azure-communication-rooms
Fixed design flaw where get_blob_to_* methods buffer entire blob when max_connections is set to 1.
Code | Docs Communication Email azure-communication-email
Code | Docs
Communication Email
azure-communication-email
Support for 2017-11-09 REST version. Please see our REST API documentation and blog for information about the related added features.
Code | Docs
Code | Docs
Code | Docs Azure AI Search azure-search-documents
Code | Docs
Azure AI Search
azure-search-documents
Enabling MD5 validation no longer uses the memory-efficient algorithm for large block blobs, since computing the MD5 hash requires reading the entire
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →