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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| bedrock_quota-1.1.2.tar.gz | 35.0 kB | Without provenance | Details for bedrock_quota-1.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bedrock_quota-1.1.2-py3-none-any.whl | Python 3 | none | any | Details for bedrock_quota-1.1.2-py3-none-any.whl |
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}
|
Security for bedrock-quota 1.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.