Skip to main content

azure-radar

A CLI tool to inventory, diagram, and run operations on Azure services using Azure CLI, mirroring gcp-radar for GCP.

Requirements

Installation

pip install azure-radar

Authentication

This tool uses Azure CLI for authentication, supporting various methods including SSO.

For SSO-enabled accounts:

  1. Install Azure CLI (if not already installed):

    brew install azure-cli  # macOS
    # or use appropriate installer for your OS
    
  2. Authenticate with SSO:

    az login --use-device-code
    # or if browser available
    az login
    
  3. Set subscription (if you have multiple):

    az account set --subscription <subscription-id>
    # or export it
    export AZURE_SUBSCRIPTION_ID=<your-subscription-id>
    

Usage

# Generate CSV inventory of all Azure resources
azure-radar inventory

# Generate draw.io diagram of services
azure-radar diagram

# Run both inventory and diagram
azure-radar run

# Pull the last 30 days of cost data to CSV
azure-radar billing

# ...or fold billing into the full run
azure-radar run --billing

Billing

azure-radar billing queries the Azure Cost Management API (via az rest) and writes daily cost rows broken down by service and resource.

# Last 30 days (default)
azure-radar billing

# Last 60 or 90 days
azure-radar billing --days 60
azure-radar billing --days 90

# Custom output file
azure-radar billing --days 90 --output q3-spend.csv

# Amortized instead of actual cost (spreads reservation/savings-plan purchases)
azure-radar billing --cost-type AmortizedCost

# Narrow to specific services and/or resource groups (both repeatable)
azure-radar billing --service "Virtual Machines" --service "Storage" --resource-group rg-prod

# Same options are available on the full run
azure-radar run --billing --days 90 --billing-output spend.csv
Option Default Description
--days, -d 30 Lookback window — must be 30, 60, or 90
--output, -o azure_billing.csv CSV output file
--cost-type ActualCost ActualCost or AmortizedCost
--service (all) Filter to a service name; repeat for several
--resource-group (all) Filter to a resource group; repeat for several

The CSV contains one row per day / service / resource:

Column Description
Date Usage day (YYYY-MM-DD)
ServiceName Cost Management service name
ServiceType Normalized service name, matching azure_inventory.csv
ResourceName Resource name parsed from the resource ID
ResourceGroup Resource group parsed from the resource ID
ResourceType ARM type, e.g. Microsoft.Compute/virtualMachines
ResourceId Full ARM resource ID
Cost Cost for that day
Currency Billing currency
SubscriptionId Subscription the cost belongs to

Because ServiceType is normalized the same way as the inventory output, the two CSVs can be joined on ServiceType (or on resource name/group) for cost-per-service reporting.

Permissions: reading cost data requires the Cost Management Reader role (or higher) on the subscription, which is separate from the reader role used by inventory.

Output Files

  • azure_inventory.csv - CSV file with all Azure resources
  • azure_diagram.drawio - Draw.io diagram of service distribution
  • azure_billing.csv - CSV file with daily costs per service and resource (with billing / --billing)

Supported Azure Services

This tool currently supports the following Azure service categories for inventory and diagram generation:

  • Virtual Machines
  • Azure SQL
  • Azure Functions
  • AKS
  • Storage Accounts
  • Container Apps
  • Cosmos DB
  • Service Bus
  • Azure ML

Cloud Service Mapping (Azure → AWS → GCP → OCI)

Azure AWS GCP OCI
Virtual Machines EC2 Compute Engine OCI Compute
Azure SQL RDS Cloud SQL Autonomous Database
Azure Functions Lambda Cloud Functions OCI Functions
AKS EKS GKE Container Engine for Kubernetes
Storage Accounts S3 Cloud Storage Object Storage
Container Apps App Runner Cloud Run Container Instances
Cosmos DB DynamoDB Firestore NoSQL Database
Service Bus SNS/SQS Pub/Sub Streaming Service
Azure ML SageMaker Vertex AI Data Science

Related PyPI packages

This project is part of a family of "radars" tools available on PyPI. Two related packages you may find useful:

  • aws-radar — available on PyPI (example versions: 0.1.1, 0.1.0)
  • gcp-radar — available on PyPI (example versions: 0.1.9, 0.1.3, 0.1.1, 0.1.0)

Install them with pip:

pip install aws-radar
pip install gcp-radar

These packages follow a similar CLI shape (inventory, diagram, run) for their respective clouds.

Metadata

Release files for azure-radar 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azure-radar 1.2.1
File Size Uploaded
azure_radar-1.2.1.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for azure-radar 1.2.1
File Interpreter ABI Platform
azure_radar-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 24.3 kB

Release files / azure_radar-1.2.1.tar.gz

Download URL azure_radar-1.2.1.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4ca71b0f96192c15dd1f0e921a141ddb215dd762174425ca2fbaaf232c4e6494
BLAKE2b-256 checksum
How to use checksums
e26c6dfb4a1f2a9eac646978c336e1a48b487070867194cd4509fefe8444194b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / azure_radar-1.2.1-py3-none-any.whl

Download URL azure_radar-1.2.1-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b67efa30b998c8a5e6628b43cd3dc789a3732f412ccc7835a20f169acdc87baa
BLAKE2b-256 checksum
How to use checksums
e7fbf222dbabd6cf59bc34c5ba2c48ab064b56c5611049932aec249f5f81ea89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page