Skip to main content

CloudCircuit Python package.

Project description

cloudcircuit

CloudCircuit is a Python library for cloud cost control, real-time spend anomaly detection, budget overrun prevention, and circuit-breaker style safety automation.

If you are searching for solutions like:

  • prevent unexpected cloud bills
  • detect cloud spend spikes
  • add budget guardrails in Python
  • implement FinOps automation for developers
  • stop runaway infrastructure loops

this package is built for that exact problem set.

Why this library exists

Many teams discover cloud overspend only after invoices land. A single misconfigured loop, unbounded worker fan-out, or retry storm can create massive costs in hours.

CloudCircuit provides deterministic primitives so you can add spend safety in:

  • background jobs
  • CI/CD workflows
  • internal developer platforms
  • API middleware
  • scheduled FinOps monitors

Features

  • Budget guardrails: warning and hard-breach checks with explicit thresholds
  • Spend anomaly detection: latest-point spike detection against baseline
  • Burn-rate monitoring: detect hot spend acceleration before full breach
  • Forecasting: project period-end spend and overrun amount
  • Circuit breaker decisions: open/close logic for high-risk operations
  • Policy engine: combine budget + anomaly + breaker into allow/throttle/block
  • Alert payload builder: provider-agnostic payloads for Slack/webhooks/ops pipelines
  • Typed API: dataclass results with clear fields for logs and audits

Install

python -m pip install cloudcircuit

Quickstart

from cloudcircuit import (
    check_anomaly_spike,
    check_budget,
    check_burn_rate,
    evaluate_circuit_breaker,
    evaluate_spend_policy,
    forecast_budget_breach,
    make_alert_payload,
)

budget = check_budget(current_spend=920.0, budget_limit=1000.0, warning_ratio=0.9)
anomaly = check_anomaly_spike([120.0, 118.0, 121.0, 250.0], spike_multiplier=1.6)
burn = check_burn_rate([120.0, 118.0, 121.0, 250.0], hot_multiplier=1.4)
breaker = evaluate_circuit_breaker(consecutive_failures=0, failure_threshold=3)
forecast = forecast_budget_breach(
    current_spend=920.0,
    budget_limit=1000.0,
    periods_elapsed=22,
    total_periods=30,
)

policy = evaluate_spend_policy(budget=budget, anomaly=anomaly, breaker=breaker)
alert = make_alert_payload(policy, service="billing-worker", environment="prod")

print(policy.action, policy.severity)
print(forecast.projected_total_spend, forecast.will_breach)
print(burn.burn_rate_ratio, burn.is_hot)
print(alert)

Common developer problems solved

  1. Runaway cron or queue workers

    • Use anomaly + burn-rate checks every interval.
    • Auto-throttle workers when policy returns throttle.
  2. Unexpected month-end budget breach

    • Use forecast checks daily or hourly.
    • Trigger remediation before hard limit is hit.
  3. No standardized cost incident signal

    • Use make_alert_payload for consistent, structured incident events.
  4. Need a safe default during telemetry failure

    • Combine breaker logic with fail-closed policy in critical paths.

API overview

  • check_budget(...) -> BudgetCheckResult
  • check_anomaly_spike(...) -> AnomalyCheckResult
  • check_burn_rate(...) -> BurnRateResult
  • forecast_budget_breach(...) -> ForecastResult
  • evaluate_circuit_breaker(...) -> CircuitBreakerDecision
  • evaluate_spend_policy(...) -> PolicyDecision
  • make_alert_payload(...) -> dict[str, object]

SEO keywords (for discoverability)

cloud cost control python, finops python library, cloud budget guardrails, spend anomaly detection, prevent cloud bill shock, cost circuit breaker, cloud billing safety, cloud overspend monitoring, infrastructure cost alerts, developer finops toolkit

Development

python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check .
python -m mypy src

Roadmap ideas

  • rolling window and percentile-based anomaly models
  • provider adapters for AWS/GCP/Azure billing streams
  • async event pipeline helpers
  • OpenTelemetry metric exporters
  • policy DSL for org-wide spend controls

License

MIT

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

cloudcircuit-0.2.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

cloudcircuit-0.2.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file cloudcircuit-0.2.0.tar.gz.

File metadata

  • Download URL: cloudcircuit-0.2.0.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for cloudcircuit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e611b1307b4948d85cba91ba0d6791da332301008c289373f16f96a809bf759b
MD5 d5f395bd6d9bff9db1a58337c90f7dc8
BLAKE2b-256 3ed3da659d9614fc7b40b348c4a4dc0c3ae1f2444924975756e40f912704f40c

See more details on using hashes here.

File details

Details for the file cloudcircuit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: cloudcircuit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for cloudcircuit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0885c92b7faf282b33f53ecb60cae2b015fd10ae5226f64b56be78cef36943ad
MD5 e5a09fd5f9c9f3b086d534d1868fad26
BLAKE2b-256 c87f6c0123e770f1640ea0d22359c903b6d0f254df05844cadf77f74c2e77d1c

See more details on using hashes here.

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