Skip to main content

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.

Metadata

Release files for shopvac 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shopvac 0.0.1
File Size Uploaded Provenance Actions
shopvac-0.0.1.tar.gz 10.0 kB Without provenance Details for shopvac-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for shopvac 0.0.1
File Interpreter ABI Platform Actions
shopvac-0.0.1-py3-none-any.whl Python 3 none any Details for shopvac-0.0.1-py3-none-any.whl

Total release size: 22.3 kB

Release files / shopvac-0.0.1.tar.gz

Download URL shopvac-0.0.1.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4a86804f042da04c3c762ebae6b0c8e5cbcd238fe97de5b7c9437474a6f289ec
BLAKE2b-256 checksum
How to use checksums
63b7a44e5d6ceb48e1724a35b51f8088971144e485049c1dd8d5e6576629ff43
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / shopvac-0.0.1-py3-none-any.whl

Download URL shopvac-0.0.1-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a09ad10984c55d2ecf4aeb4b5f5afbd57c4a689667bafcfb9faf9dddceef6e82
BLAKE2b-256 checksum
How to use checksums
bef6e5437d5275fc1f90edd1fc6c8f2c89199308816c4dae299811317d97aff1
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for shopvac 0.0.1

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.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page