Use the Azure libraries (SDK) for Python

The open-source Azure libraries for Python simplify provisioning, managing, and using Azure resources from Python application code.

The details you really want to know

Non-essential but still interesting details

  • Because the Azure CLI is written in Python using the management libraries, anything you can do with Azure CLI commands you can also do from a Python script. That said, the CLI commands provide many helpful features such as performing multiple tasks together, automatically handling asynchronous operations, formatting output like connection strings, and so on. Consequently, using the CLI (or its equivalent, Azure PowerShell) for automated provisioning and management scripts can be significantly more convenient than writing the equivalent Python code, unless you want to have a much more exacting degree of control over the process.

  • The Azure libraries for Python build on top of the underlying Azure REST API, allowing you to use those APIs through familiar Python paradigms. However, you can always use the REST API directly from Python code, if desired.

  • You can find the source code for the Azure libraries on https://github.com/Azure/azure-sdk-for-python. As an open-source project, contributions are welcome!

  • Although you can use the libraries with interpreters such as IronPython and Jython that we don't test against, you may encounter isolated issues and incompatibilities.

  • The source repo for the library API reference documentation resides on https://github.com/MicrosoftDocs/azure-docs-sdk-python/.

  • We're currently updating the Azure libraries for Python libraries to share common cloud patterns such as authentication protocols, logging, tracing, transport protocols, buffered responses, and retries.

    • This shared functionality is contained in the azure-core library.

    • The libraries that currently work with the Core library are listed on Azure SDK for Python latest releases. These libraries, primarily the client libraries, are sometimes referred to as "track 2".

    • The management libraries and any other that aren't yet updated are sometimes referred to as "track 1".

  • For details on the guidelines we apply to the libraries, see the Python Guidelines: Introduction.

Provision and manage Azure resources with management libraries

The SDK's management (or "management plane") libraries, the names of which all begin with azure-mgmt-, help you create, provision and otherwise manage Azure resources from Python scripts. All Azure services have corresponding management libraries.

With the management libraries, you can write configuration and deployment scripts to perform the same tasks that you can through the Azure portal or the Azure CLI. (As noted earlier, the Azure CLI is written in Python and uses the management libraries to implement its various commands.)

The following examples illustrate how to use some of the primary management libraries:

For details on working with each management library, see the README.md or README.rst file located in the library's project folder in the SDK GitHub repository. You can also find additional code snippets in the reference documentation and the Azure Samples.

Migrating from older management libraries

If you are migrating code from older versions of the management libraries, see the following details:

Connect to and use Azure resources with client libraries

The SDK's client (or "data plane") libraries help you write Python application code to interact with already-provisioned services. Client libraries exist only for those services that support a client API.

The article, Example: Use Azure Storage, provides a basic illustration of using client library.

Different Azure services also provide examples using these libraries. See the following index pages for additional links:

For details on working with each client library, see the README.md or README.rst file located in the library's project folder in the SDK's GitHub repository. You can also find additional code snippets in the reference documentation and the Azure Samples.

Get help and connect with the SDK team

Next step

We strongly recommend doing a one-time setup of your local development environment so that you can easily use any of the Azure libraries for Python.