Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.1.1 instead.
Reason given by maintainers: updated the MIT license

pump-azure-radar

A thin wrapper around azure-radar that adds a one-command push of your Azure inventory and billing CSVs to Pump's self-serve onboarding endpoint — no standing cross-account access required.

Everything in azure-radar (inventory, billing, diagram, run) works unchanged. The Pump push is run --upload-token.

Install

pip install pump-azure-radar

You also need the Azure CLI signed in to the subscription you want to onboard (az login).

Usage

pump-azure-radar runs the normal azure-radar CLI with --upload-token added to run:

pump-azure-radar --help
pump-azure-radar inventory      # azure-radar built-in
pump-azure-radar billing --days 90

Pump onboarding

In the Pump app, mint an upload token. Pump shows you a ready-to-paste command.

Run it against the subscription you want to onboard:

az account set --subscription <subscription-id>
pump-azure-radar run --upload-token <TOKEN>

This inventories the subscription read-only, pulls billing from Cost Management, writes azure_inventory.csv and azure_billing.csv locally, and uploads both straight to Pump. Pump detects both files, runs its analysis, and surfaces the findings in the app.

  • --billing is added automatically when --upload-token is given.
  • --days sets the billing window (30, 60 or 90; default 30).
  • --billing-output changes the billing CSV path (default azure_billing.csv).
  • Reading cost data needs the Cost Management Reader role on the subscription.

Only files written during this run are uploaded, so a stale CSV from an earlier run is never sent by mistake. If billing fails, the inventory is still uploaded.

What leaves your machine

Only the two CSVs. The token carries no Azure credentials and no company id — Pump binds the company and derives the S3 key server-side, so a token can only ever write its own upload's prefix. Each file goes to S3 through a short-lived presigned PUT URL that Pump mints on demand.

Pointing at a non-prod backend

The token exchange defaults to https://api.pump.co. Override it for local testing:

pump-azure-radar run --upload-token <TOKEN> --api-base http://localhost:8001
# or
PUMP_API_BASE=http://localhost:8001 pump-azure-radar run --upload-token <TOKEN>

How the push works

pump_azure_radar/upload.py:

  1. For each role (inventory, billing), POSTs {api_base}/api/v1/estimate/radar/urls with {"token", "role"} and receives a presigned S3 PUT URL.
  2. PUTs the corresponding CSV with Content-Type: text/csv (the presigned URL signs the content-type, so it must match).

Relationship to upstream

This package builds on azure-radar (MIT). The scanning and billing code is upstream's; the Pump push is this package's addition. Unlike gcp-radar, azure-radar has no plugin hook and already writes separate inventory and billing CSVs, so this wrapper calls azure-radar's CLI in-process and uploads its output files as-is.

Development

pip install -e ".[dev]"
pytest

Metadata

Release files for pump-azure-radar 0.1.0

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

Source distribution (sdist)

Source distribution for pump-azure-radar 0.1.0
File Size Uploaded
pump_azure_radar-0.1.0.tar.gz 7.3 kB Details

Built distribution (wheel)

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

Total release size: 14.8 kB

Release files / pump_azure_radar-0.1.0.tar.gz

Download URL pump_azure_radar-0.1.0.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ebf54c128b2574ebc696759a0d6821e6025edf5cbb5c462971dd091cda2513cc
BLAKE2b-256 checksum
How to use checksums
41064b87b0c4c3c006a128a609b09dfa8b769f10342af519c0a81b7a7ec71d54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / pump_azure_radar-0.1.0-py3-none-any.whl

Download URL pump_azure_radar-0.1.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d869319e5bcbe4d0933f5f5a874a497e2c07a0f666f1be0adbd6539f0b36a2fc
BLAKE2b-256 checksum
How to use checksums
b28e1936da61f52c4e11b4ff29417a549691dd3cdebca4b6cff4053353c03c12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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