Skip to main content

Local-first, read-only AWS audit CLI. Generate a VP/CFO-ready AWS audit report in minutes.

Project description

Kulshan

The blood test for your AWS bill.

Generate a local AWS audit report in minutes.

pip install kulshan
aws sso login
kulshan report

No setup. No data uploads. No infrastructure changes.

Just your AWS account and your laptop.

What is Kulshan?

Kulshan reads your AWS account and generates a business-ready report covering:

  • Cost anomalies and trends
  • Waste and orphaned resources
  • Tag compliance and cost attribution
  • Commitment health (RI/SP coverage)
  • Spend forecasting and acceleration
  • Security posture
  • DR readiness

Think of it as a baseline before deeper FinOps work, platform evaluations, or leadership reviews.

What You Get

An HTML report you can open in a browser and hand to your VP, CFO, or platform team. Also available as JSON, SARIF, and CSV.

The report scores your account 0-100 across each dimension, highlights the top actions by dollar impact, and provides an executive summary paragraph.

Install

pip install kulshan

Requires Python 3.9+. macOS, Linux, Windows.

AWS Credentials

Kulshan uses the same AWS credentials as the AWS CLI.

aws sso login
kulshan report

Credential setup docs

More Commands

kulshan doctor                          # Verify credentials and permissions
kulshan report --quick                  # Fast scan (3 regions, ~60s)
kulshan report -o report.html           # Save as HTML
kulshan report --packs security,sweep   # Run specific packs
kulshan report --packs all              # Full 10-pack diagnostic
kulshan shell                           # Interactive REPL

Trust & Security

Read-only by design. No write permissions required. Published IAM policy included.

  • 147 read-only audit actions, zero write actions
  • Reports stay on your machine, no uploads
  • No telemetry, no phone-home
  • Open source: Apache 2.0

View the IAM policy

AWS API Cost

Typical run cost: approximately $0.15-$0.25 in AWS Cost Explorer API charges. All non-cost packs use free AWS APIs.

Cost details

About the Name

Kulshan is the Lummi name for the mountain known colonially as Mt. Baker, meaning "great white watcher." We acknowledge the Lummi and Nooksack peoples as the original namers of this mountain.

Built by

Mission FinOps | Mission, BC, Canada.

AI Agents

Kulshan works with Claude Code, Codex, Kiro, Cursor, and any agent that can run shell commands. See agents/ for integration docs.

License

Apache 2.0. Free and open source forever.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kulshan-0.1.2.tar.gz (218.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kulshan-0.1.2-py3-none-any.whl (286.8 kB view details)

Uploaded Python 3

File details

Details for the file kulshan-0.1.2.tar.gz.

File metadata

  • Download URL: kulshan-0.1.2.tar.gz
  • Upload date:
  • Size: 218.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kulshan-0.1.2.tar.gz
Algorithm Hash digest
SHA256 17cc90c010e3d517410c441bef5fa5fe2ddec7fe8054cee4bc11ed79b5a3ccc3
MD5 c688257a50937de61980793540e3c054
BLAKE2b-256 726d0dcf6ed41b1413eba7fdc68b5758ab88af81aea18344a9882995c0c168f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for kulshan-0.1.2.tar.gz:

Publisher: publish.yml on azz-kikkr/kulshan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kulshan-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: kulshan-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 286.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kulshan-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b919adb44864d9b84af7c454cf08991374586312d812103329af2518123c8a30
MD5 6cba287881c72ebe13cd57850531ff54
BLAKE2b-256 68fb91793bc5154de8d80413cb6fcbf0fa0cea70748b23627c0f9df855b7d26c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kulshan-0.1.2-py3-none-any.whl:

Publisher: publish.yml on azz-kikkr/kulshan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page