NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3175 most downloaded on PyPI
Microsoft Azure Storage File Client Library for Python
Last release 7 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
14 releases · first in 2017
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
One column per quarter.
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.
Support for 2019-02-02 REST version. No new features for Queue.
Updated the dependency to use azure-storage-common~=2.0.
Added minor helpers for SAS related changes.
azure-storage-nspkg is not installed anymore on Python 3 (PEP420-based namespace package)
Fixed design flaw where get_file_to_* methods buffer entire file when max_connections is set to 1.
Support for 2018-03-28 REST version. Please see our REST API documentation and blog for information about the related added features.
Support for 2017-11-09 REST version. Please see our REST API documentation and blog for information about the related added features.
Support for 2017-07-29 REST version. Please see our REST API documentation and blogs for information about the related added features.
The package has switched from Apache 2.0 to the MIT license.
The package azure-storage is now deprecated.
azure-storage is now deprecated.Your coding agent can read these notes before it upgrades. Set up the MCP server →