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_robust,
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)
robust_anomaly = check_anomaly_robust([120.0, 118.0, 121.0, 250.0], method="mad", z_threshold=3.5)
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(robust_anomaly.threshold, robust_anomaly.is_spike)
print(alert)
Robust anomaly detection (MAD / percentile)
Mean-based thresholds can be brittle when cloud spend is heavy-tailed or bursty. For more robust
detection, use check_anomaly_robust:
from cloudcircuit import check_anomaly_robust
mad = check_anomaly_robust([120.0, 118.0, 121.0, 250.0], method="mad", z_threshold=3.5)
p95 = check_anomaly_robust([120.0, 118.0, 121.0, 250.0], method="percentile", percentile=0.95)
print(mad.threshold, mad.is_spike)
print(p95.threshold, p95.is_spike)
Common developer problems solved
-
Runaway cron or queue workers
- Use anomaly + burn-rate checks every interval.
- Auto-throttle workers when policy returns
throttle.
-
Unexpected month-end budget breach
- Use forecast checks daily or hourly.
- Trigger remediation before hard limit is hit.
-
No standardized cost incident signal
- Use
make_alert_payloadfor consistent, structured incident events.
- Use
-
Need a safe default during telemetry failure
- Combine breaker logic with fail-closed policy in critical paths.
API overview
check_budget(...) -> BudgetCheckResultcheck_anomaly_spike(...) -> AnomalyCheckResultcheck_anomaly_robust(...) -> AnomalyCheckResultcheck_burn_rate(...) -> BurnRateResultforecast_budget_breach(...) -> ForecastResultevaluate_circuit_breaker(...) -> CircuitBreakerDecisionevaluate_spend_policy(...) -> PolicyDecisionmake_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudcircuit-0.3.7.tar.gz.
File metadata
- Download URL: cloudcircuit-0.3.7.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92aa0c4788f72656cbd54edf04cc652b0f0b88165ecf8ef26ff35e82d36bd156
|
|
| MD5 |
412e6a7fd2488accc908b1313808b4eb
|
|
| BLAKE2b-256 |
2781c4881d36cd1cc313ad2ca7d84126638da17099031e5a465cd53ecf58018d
|
File details
Details for the file cloudcircuit-0.3.7-py3-none-any.whl.
File metadata
- Download URL: cloudcircuit-0.3.7-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b67baf5b6f3d6fcb9a1472270d7f89712eee19316e94cf0c15aa1c6e2cc58381
|
|
| MD5 |
bba65d2c1c85c49e65fd922de5e6e98b
|
|
| BLAKE2b-256 |
a3118d0a51f31d2b648538a48fc032ebae78e7e94a99c05cc2a2538fcb50927f
|