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. So, using the CLI (or its equivalent, Azure PowerShell) for automated creation and management scripts can be 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/.

  • Starting in 2019, we updated Azure Python libraries to share common cloud patterns such as authentication protocols, logging, tracing, transport protocols, buffered responses, and retries. The updated libraries adhere to current Azure SDK guidelines.

    • On 31 March 2023, we retired support for Azure SDK libraries that don't conform to current Azure SDK guidelines. While older libraries can still be used beyond 31 March 2023, they'll no longer receive official support and updates from Microsoft. For more information, see the notice Update your Azure SDK libraries.

    • To avoid missing security and performance updates to the Azure SDKs, upgrade to the latest Azure SDK libraries by 31 March 2023.

    • To check which Python libraries are impacted, see Azure SDK Deprecated Releases for Python.

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

Create 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, configure, and otherwise manage Azure resources from Python scripts. All Azure services have corresponding management libraries. For more information, see Azure control plane and data plane.

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 more code snippets in the reference documentation and the Azure Samples.

Migrating from older management libraries

If you're 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 other 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 more 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.