Azure Management Core Library for Python
raw JSON → 1.6.0 verified Tue May 12 auth: no python install: stale
The `azure-mgmt-core` library provides extensions to Azure Core that are specific to Azure Resource Management (ARM), primarily used by Azure SDK management client libraries (e.g., `azure-mgmt-resource`). As a foundational component, it handles common ARM-specific patterns such as long-running operations and authentication challenges. The current stable version is 1.6.0, and it follows the release cadence of the broader Azure SDK for Python.
pip install azure-mgmt-core Common errors
error ModuleNotFoundError: No module named 'azure.mgmt.core' ↓
cause This error occurs when the `azure-mgmt-core` package, or a module within it like `azure.mgmt.core.tools`, is not installed in the Python environment or is not accessible to the running script, often seen in misconfigured Azure CLI extensions or automation environments.
fix
Ensure
azure-mgmt-core is installed in your environment, especially if you are using higher-level Azure management SDKs or Azure CLI extensions:
pip install azure-mgmt-core error ImportError: cannot import name 'get_arm_endpoints' from 'azure.mgmt.core.tools' ↓
cause This `ImportError` typically happens when an older version of `azure-mgmt-core` is installed, and a dependent library (such as an Azure CLI extension or another `azure-mgmt-*` package) attempts to import `get_arm_endpoints`, a function that was added in `azure-mgmt-core` version 1.5.0 or later.
fix
Upgrade your
azure-mgmt-core package to a version that includes the get_arm_endpoints function:
pip install --upgrade azure-mgmt-core error ImportError: cannot import name 'AzureClouds' from 'azure.core' ↓
cause This error indicates a version incompatibility between `azure-core` and `azure-mgmt-core`, where `azure-mgmt-core` (or another dependent library) expects the `AzureClouds` object to be available in `azure.core`, but it's either missing or moved in the installed `azure-core` version.
fix
Ensure
azure-core and azure-mgmt-core are compatible and updated. Upgrading both usually resolves the issue:
pip install --upgrade azure-core azure-mgmt-core error ModuleNotFoundError: No module named 'azure.profiles' ↓
cause This error commonly occurs when a management client library, such as `azure-mgmt-compute`, which relies on `azure-mgmt-core` and implicitly `azure.profiles`, cannot find the `azure.profiles` module. This module is often provided by the `azure-common` package, which might be a missing transitive dependency.
fix
Install the
azure-common package, which provides the azure.profiles module:
pip install azure-common
It's also advisable to ensure all related Azure SDK packages are up to date:
pip install --upgrade azure-core azure-identity azure-mgmt-compute azure-mgmt-core Warnings
gotcha Direct installation of `azure-mgmt-core` is generally not needed for end-users. It is an internal dependency automatically installed when you install other service-specific Azure management SDKs (e.g., `azure-mgmt-compute`, `azure-mgmt-resource`). ↓
fix Install the specific `azure-mgmt-<service>` package you need; `azure-mgmt-core` will be installed as a dependency.
breaking Python 3.8 is no longer supported starting with `azure-mgmt-core` version 1.6.0. Earlier versions of the Azure SDK for Python might have supported it, but the current generation of management libraries requires Python 3.9 or later. ↓
fix Upgrade your Python environment to version 3.9 or later. The `requires_python` metadata is `^=3.9`.
breaking The credential system for Azure SDKs has been completely revamped. Older management libraries used `azure.common.credentials` or `msrestazure.azure_active_directory`. All modern Azure management libraries, which `azure-mgmt-core` underpins, now use classes from the `azure-identity` package. ↓
fix Install the `azure-identity` package (`pip install azure-identity`) and then migrate your authentication code to use classes from it, such as `DefaultAzureCredential`. The `credential` parameter has also been renamed from `credentials` in many client constructors.
gotcha Asynchronous long-running operations in the newer Azure SDKs, which are handled through `azure-mgmt-core`, now typically use methods prefixed with `begin_` (e.g., `begin_create`, `begin_delete`). These methods return an `azure.core.polling.LROPoller` object. ↓
fix When performing long-running operations, call the `begin_` prefixed method and then await or poll the returned `LROPoller` object for the final result.
Install compatibility stale last tested: 2026-05-12
python os / libc status wheel install import disk
3.10 alpine (musl) wheel - - 23.3M
3.10 alpine (musl) - - - -
3.10 slim (glibc) wheel 2.3s - 24M
3.10 slim (glibc) - - - -
3.11 alpine (musl) wheel - - 25.6M
3.11 alpine (musl) - - - -
3.11 slim (glibc) wheel 2.3s - 26M
3.11 slim (glibc) - - - -
3.12 alpine (musl) wheel - - 17.3M
3.12 alpine (musl) - - - -
3.12 slim (glibc) wheel 2.1s - 18M
3.12 slim (glibc) - - - -
3.13 alpine (musl) wheel - - 17.1M
3.13 alpine (musl) - - - -
3.13 slim (glibc) wheel 2.2s - 18M
3.13 slim (glibc) - - - -
3.9 alpine (musl) wheel - - 22.5M
3.9 alpine (musl) - - - -
3.9 slim (glibc) wheel 2.6s - 23M
3.9 slim (glibc) - - - -
Imports
- ARMPipelineClient
from azure.mgmt.core.pipeline_client import ARMPipelineClient - ARMChallengeAuthenticationPolicy
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy - get_arm_endpoints
from azure.mgmt.core.tools import get_arm_endpoints
Quickstart last tested: 2026-04-24
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# NOTE: azure-mgmt-core is an internal dependency for Azure management SDKs.
# This quickstart demonstrates how a typical Azure management client is used,
# which indirectly relies on azure-mgmt-core.
# Your Azure subscription ID
# It's recommended to set this as an environment variable (AZURE_SUBSCRIPTION_ID)
# or retrieve it from your Azure context.
subscription_id = os.environ.get("AZURE_SUBSCRIPTION_ID", "your-subscription-id")
if subscription_id == "your-subscription-id":
print("Please set the AZURE_SUBSCRIPTION_ID environment variable or replace 'your-subscription-id'.")
exit()
# Authenticate with Azure using DefaultAzureCredential.
# This attempts to authenticate via various methods like environment variables, Azure CLI, managed identity, etc.
credential = DefaultAzureCredential()
# Create a ResourceManagementClient (which uses azure-mgmt-core internally)
resource_client = ResourceManagementClient(credential, subscription_id)
# Example: List all resource groups in the subscription
print(f"Listing resource groups in subscription: {subscription_id}")
for rg in resource_client.resource_groups.list():
print(f"- {rg.name} (Location: {rg.location})")
print("\nQuickstart finished. This demonstrates how an Azure management client (which relies on azure-mgmt-core) is typically used.")