bedrock-quota
A CLI-based dashboard to see your AWS Bedrock model quotas and usage.
The AWS console shows quota limits on one page and CloudWatch usage on another — nothing joins them per model. bedrock-quota pulls both and shows headroom per model, per region, so you know where you stand before you scale. Read-only, no dashboard to maintain.
Features
- Know your headroom — RPM, TPM, TPD quotas next to last-day usage, per model.
- Spot throttle risk early — ⚠ flagged when 7-day P90 TPM crosses 80% of quota.
- Every variant in one table — on-demand, cross-region, and global cross-region inference profiles.
- Drill into a model — per-period stats, stacked token charts, hourly heatmap, per-inference-profile breakdown.
- Multi-region view — each region loads independently, shown as a separate section.
- Keyboard-first — works over SSH, 5-minute metric cache.
Install
uvx bedrock-quota # try without installing (recommended)
uv tool install bedrock-quota # or install as a uv tool
pipx install bedrock-quota # or via pipx
pip install bedrock-quota # or plain pip
Quickstart
AWS_PROFILE=my-sso-profile AWS_DEFAULT_REGION=us-east-1 bedrock-quota
Credentials are picked up like any other AWS CLI tool — AWS_PROFILE, SSO, environment variables, or an attached instance role.
IAM permissions
Most developers already have enough read-only access through their SSO or dev IAM role and can skip this section. If you need to scope a dedicated policy, this is the minimum:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:ListFoundationModels",
"bedrock:ListInferenceProfiles",
"bedrock:ListTagsForResource",
"cloudwatch:GetMetricData",
"cloudwatch:ListMetrics",
"pricing:GetProducts",
"servicequotas:ListServiceQuotas"
],
"Resource": "*"
}
]
}
Keyboard shortcuts
| Key | Action |
|---|---|
g |
Switch / add region |
p |
Switch provider |
r |
Refresh data |
Enter |
Open model detail screen |
Escape |
Back / close |
Ctrl+Q |
Quit |
Model detail
Press Enter on any row to open a per-model detail screen with stats (P50/P90/Avg/Max for TPD, RPM, TPM, latency), token charts, an hourly heatmap, and a per-inference-profile breakdown — for time periods Last 24h, Today, 7d, 14d, 30d, This Month, Last Month.
Troubleshooting
- No usage data — CloudWatch only records metrics for models you've actually invoked. Check that
AWS_DEFAULT_REGIONmatches the region you're calling Bedrock in. - Slow first load — the first run queries CloudWatch for every model across every time period; subsequent loads hit the 5-minute cache. Press
rto force-refresh. - Credentials error — run
aws configure,aws sso login, or setAWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_DEFAULT_REGION.
Implementation notes
Usage data is queried from CloudWatch (AWS/Bedrock namespace, ModelId dimension): InputTokenCount + OutputTokenCount → TPM/TPD, Invocations → RPM, InvocationLatency → latency, InvocationThrottles / InvocationClientErrors / InvocationServerErrors → error counts. Quotas come from AWS Service Quotas. Model IDs are discovered from ListFoundationModels, ListInferenceProfiles, and observed CloudWatch dimensions, so cross-region variants like us.anthropic.claude-sonnet-4-6 match their quota automatically. Per-token costs shown in the detail screen are list prices from the AWS Pricing API (pricing:GetProducts); they exclude Savings Plans and batch-inference discounts. If pricing:GetProducts is not granted, cost rows render — and the status bar shows a note.
Development
git clone https://github.com/Kelet-ai/bedrock-quota
cd bedrock-quota
uv sync
uv run bedrock-quota
License
Release files for bedrock-quota 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bedrock_quota-1.1.2.tar.gz | 35.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bedrock_quota-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.3 kB
Release files / bedrock_quota-1.1.2.tar.gz
| Download URL | bedrock_quota-1.1.2.tar.gz |
|---|---|
| Size | 35.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c305cfb3c28c59911a33730f53d57c0604f484cb2cb01f63114b0a97feec472
|
|
BLAKE2b-256 checksum How to use checksums |
5160fa2417f7f3a60f18388ee1afeb7ee35bbd12232ac403dcec147a700ebf1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / bedrock_quota-1.1.2-py3-none-any.whl
| Download URL | bedrock_quota-1.1.2-py3-none-any.whl |
|---|---|
| Size | 34.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7f5247e8b7d1fb52f19a806a5e2510f7d8d26dcafffe011d5b10ac65bb13a46
|
|
BLAKE2b-256 checksum How to use checksums |
0f20d8ce959d80fab4f9f29582afa02a0a81e26792b4a356f7a5592ff2f10fc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|