Skip to main content

Manage S3 objects in any storage class.

Project description

bucklet

Bucklet is a small CLI/TUI tool for managing objects in S3 compatible buckets, with support for all storage classes.

Install

Python >=3.10 is required.

  1. Install the bucklet package from PyPI:
# using pipx
pipx ensurepath && pipx install bucklet

# using uv
uv tool install bucklet
  1. Optionally, install shell completion:
# fish
register-python-argcomplete --shell fish bucklet > ~/.config/fish/completions/bucklet.fish

# bash
echo 'eval "$(register-python-argcomplete bucklet)"' >> ~/.bashrc

# zsh
echo 'autoload -U compinit bashcompinit && compinit && bashcompinit; eval "$(register-python-argcomplete bucklet)"' >> ~/.zshrc

# PowerShell
Add-Content $PROFILE 'register-python-argcomplete --shell powershell bucklet | Out-String | Invoke-Expression'
  1. Run bucklet to open the TUI and configure a profile with your S3 credentials.

[!IMPORTANT] Deletion of objects is only supported through the TUI when launched with the --allow-deletion flag.

Usage

bucklet [-h] [--profile NAME] [--allow-deletion] {up,get,thaw,ls,stat,profile} ...

positional arguments:
  {up,get,thaw,ls,stat,profile}
    up                  upload files/dirs (mirrors absolute path)
    get                 download objects (globs allowed)
    thaw                thaw archived objects (globs allowed)
    ls                  list objects
    stat                show detailed status of objects (globs allowed)
    profile             manage saved profiles

options:
  -h, --help            show this help message and exit
  --profile NAME        profile to use (a saved name, or a raw bucket name). Defaults to the configured default profile
  --allow-deletion      allow deleting objects in the TUI (no effect on the subcommands)

Development

Set up the environment:

uv sync
pre-commit install

Test the project:

uv run pytest
uv run pytest --cov=bucklet

Run the project:

uv run bucklet

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

bucklet-1.0.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bucklet-1.0.0-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

File details

Details for the file bucklet-1.0.0.tar.gz.

File metadata

  • Download URL: bucklet-1.0.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for bucklet-1.0.0.tar.gz
Algorithm Hash digest
SHA256 24841509edee1055b142126c856b8f7d96d9ee46d351b589c7d3bed18b458f48
MD5 9862ff88527c894a9d1cd561ac6f27cd
BLAKE2b-256 535088a779375ea3442c0117dd64beb9b995f7b856cc8d0c0d7d4825f04a76c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for bucklet-1.0.0.tar.gz:

Publisher: publish.yml on tomasvana10/bucklet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bucklet-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bucklet-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 50.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for bucklet-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b8fcebae17e05a22fbe9079cd5049a9304d8ee3d2b161a6e44c4a44fc35ee54
MD5 424e244d4f77f85a4d7327808609c0f4
BLAKE2b-256 61c9593114932f0a0c3c758d38b4068175c2ac4e4d1774c5b3f0db44cf289e45

See more details on using hashes here.

Provenance

The following attestation bundles were made for bucklet-1.0.0-py3-none-any.whl:

Publisher: publish.yml on tomasvana10/bucklet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page