Microsoft Azure Storage Library for Python





GitHub Stars



Last Commit

1yr ago







MIT License



Microsoft Azure Storage SDK for Python

NEWS!! azure-storage-blob version 12.0.0 is GA now!

Here is the link to v12.0.0 repo_.

Note: the current repo is for azure-storage-blob<=2.1.0, upgrading to v12.0.0 could break you current code. Link for breaking change details_.

.. image:: :target: .. image:: :target:

This project provides a client library in Python that makes it easy to consume Microsoft Azure Storage services. For documentation please see the Microsoft Azure Python Developer Center and our API Reference (also available on readthedocs_).

If you are looking for the Service Bus or Azure Management
libraries, please visit


IMPORTANT: If you have an earlier version of the azure package (version < 1.0), you should uninstall it before installing this package.

You can check the version using pip:

.. code:: shell

pip freeze

If you see azure==0.11.0 (or any version below 1.0), uninstall it first then install it again:

.. code:: shell

pip uninstall azure
pip install azure

If you are upgrading from a version older than 0.30.0, see the upgrade doc, the usage samples in the samples directory, and the ChangeLog and BreakingChanges.

If you are encountering problems installing azure storage on Azure Web Apps, upgrading pip might help.

IMPORTANT: If you have an earlier version of the azure-storage package (version <= 0.36.0), you should uninstall it before installing the new split packages.

You can check the version using pip:

.. code:: shell

pip freeze

If you see azure-storage==0.36.0 (or any version below 0.36.0), uninstall it first:

.. code:: shell

pip uninstall azure-storage


  • Blob

    • Create/Read/Update/Delete Containers
    • Create/Read/Update/Delete Blobs
    • Advanced Blob Operations
  • Queue

    • Create/Delete Queues
    • Insert/Peek Queue Messages
    • Advanced Queue Operations
  • Files

    • Create/Update/Delete Shares
    • Create/Update/Delete Directories
    • Create/Read/Update/Delete Files
    • Advanced File Operations

Getting Started


The Azure Storage SDK for Python is composed of 5 packages:

  • azure-storage-blob

    • Contains the blob service APIs.
  • azure-storage-file

    • Contains the file service APIs.
  • azure-storage-queue

    • Contains the queue service APIs.
  • azure-storage-common

    • Contains common code shared by blob, file and queue.
  • azure-storage-nspkg

    • Owns the namespace, user should not use this directly.

Note: prior to and including version 0.36.0, there used to be a single package (azure-storage) containing all services. It is no longer supported, and users should install the 3 before-mentioned service packages individually, depending on the need. In addition, the table package is no longer releasing under the azure-storage namespace, please refer to cosmosdb_.

Option 1: Via PyPi

To install via the Python Package Index (PyPI), type:

    pip install azure-storage-blob
    pip install azure-storage-file
    pip install azure-storage-queue

Option 2: Source Via Git

To get the source code of the SDK via git just type:


git clone git://

cd ./azure-storage-python/azure-storage-nspkg
python install

cd ../azure-storage-common
python install

cd ../azure-storage-blob
python install

Replace azure-storage-blob with azure-storage-file or azure-storage-queue, to install the other services.

Option 3: Source Zip

Download a zip of the code via GitHub or PyPi. Then follow the same instructions in option 2.

Minimum Requirements

-  Python 2.7, 3.3-3.7.
-  See for dependencies


To use this SDK to call Microsoft Azure storage services, you need to
first `create an account`_.


To make debugging easier, it is recommended to turn on logging for the logger named ''.
Here are two example configurations:

.. code:: python

    # Basic configuration: configure the root logger, including ''
    logging.basicConfig(format='%(asctime)s %(name)-20s %(levelname)-5s %(message)s', level=logging.INFO)

.. code:: python

    # More advanced configuration allowing more control
    logger = logging.getLogger('')
    handler = logging.StreamHandler()
    formatter = logging.Formatter('%(asctime)s %(name)-20s %(levelname)-5s %(message)s')

Here is how we use the logging levels, it is recommended to use INFO:

-  DEBUG: log strings to sign
-  INFO: log outgoing requests and responses, as well as retry attempts
-  WARNING: not used
-  ERROR: log calls that still failed after all the retries

Code Sample

See the samples directory for blob, queue, and file usage samples.

Need Help?

Be sure to check out the Microsoft Azure `Developer Forums on MSDN`_ or
the `Developer Forums on Stack Overflow`_ if you have trouble with the
provided code.

Contribute Code or Provide Feedback

If you would like to become an active contributor to this project, please
follow the instructions provided in `Azure Projects Contribution
Guidelines`_. You can find more details for contributing in the ` doc`_.

If you encounter any bugs with the library, please file an issue in the
`Issues`_ section of the project.

Learn More

-  `Python Developer Center`_
-  `Azure Storage Service`_
-  `Azure Storage Team Blog`_
-  `API Reference`_

.. _Python Developer Center:
.. _API Reference:
.. _readthedocs:
.. _here:
.. _create an account:
.. _Developer Forums on MSDN:
.. _Developer Forums on Stack Overflow:
.. _Azure Projects Contribution Guidelines:
.. _Issues:
.. _Azure Storage Service:
.. _Azure Storage Team Blog:
.. doc:
.. _problems:
.. _upgrading pip:
.. _cosmosdb:
.. _v12.0.0 Repo:
.. _Link for breaking change details:

Rate & Review

Great Documentation0
Easy to Use0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Unwelcoming Community0