CLI to get the size of your cloud buckets
Project description
shopvac
Get prefix sizes from cloud storage buckets (S3 / GCS) for cleanups and data audits. Supports flat (top-level only) and tree modes that descend N prefix levels.
Install
uv tool install git+https://github.com/carbonplan/shopvac
Usage
Single bucket:
shopvac --bucket-url s3://my-bucket --min-size-gb 5
Multiple buckets from a file (one URL per line, # lines ignored):
shopvac --bucket-file buckets.txt --min-size-gb 1
GCS bucket:
shopvac --bucket-url gs://my-gcs-bucket --min-size-gb 1
Send results to Slack:
shopvac --bucket-url s3://my-bucket --send-slack --slack-webhook-url "https://hooks.slack.com/..."
Rich table output:
shopvac --bucket-url s3://my-bucket --rich-table
Tree mode (descend 3 prefix levels, show subtrees ≥ 1 GB):
shopvac --bucket-url s3://my-bucket --depth 3 --min-size-gb 1 --rich-table
Options
| Flag | Default | Description |
|---|---|---|
-b, --bucket-url |
— | Bucket URL(s), repeatable |
-B, --bucket-file |
— | File with one bucket URL per line |
-d, --depth |
1 | Prefix levels to descend; 1 = flat, >1 = tree |
--min-size-gb |
10.0 | Exclude prefixes smaller than this (applies at every depth) |
--rich-table |
off | Display as rich table instead of plain text |
--send-slack |
off | Post results to Slack |
--slack-webhook-url |
— | Slack incoming webhook URL |
--timeout-per-prefix |
3600 | Seconds before a prefix scan times out |
--fail-fast |
off | Stop on first error instead of continuing |
--max-concurrent-buckets |
5 | Concurrent bucket scans |
AWS options
Credentials follow the standard AWS credential chain (env vars, ~/.aws/credentials, IAM role). Override with:
| Flag | Description |
|---|---|
--aws-profile |
Profile name from ~/.aws/credentials |
--aws-region |
Override region |
--aws-access-key-id |
Explicit key ID |
--aws-secret-access-key |
Explicit secret |
--aws-session-token |
Session token for temporary credentials |
--skip-signature |
Skip signing (public buckets) |
GCS options
| Flag | Description |
|---|---|
--gcp-service-account-path |
Path to service account JSON |
--gcp-project-id |
GCP project ID |
Application Default Credentials are used when no flags are provided.
Project details
Release history Release notifications | RSS feed
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 shopvac-0.0.1.tar.gz.
File metadata
- Download URL: shopvac-0.0.1.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a86804f042da04c3c762ebae6b0c8e5cbcd238fe97de5b7c9437474a6f289ec
|
|
| MD5 |
e4c5ace6e930c3f1c99489ede67a8341
|
|
| BLAKE2b-256 |
63b7a44e5d6ceb48e1724a35b51f8088971144e485049c1dd8d5e6576629ff43
|
File details
Details for the file shopvac-0.0.1-py3-none-any.whl.
File metadata
- Download URL: shopvac-0.0.1-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a09ad10984c55d2ecf4aeb4b5f5afbd57c4a689667bafcfb9faf9dddceef6e82
|
|
| MD5 |
86d25739455631006d318d50f92d3faa
|
|
| BLAKE2b-256 |
bef6e5437d5275fc1f90edd1fc6c8f2c89199308816c4dae299811317d97aff1
|