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                restore 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-0.1.0.tar.gz (30.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-0.1.0-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bucklet-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5f3b89df436da30cfd7873bbb4fb488c93ea5104620cbc547e62f7afc9cf6c26
MD5 1c3d567a835a61bfaf8b41346cf39e28
BLAKE2b-256 2e418907b6d8599faa89c6e5c1345ef308b73200cd3c79d142fe15a6dde7ebd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bucklet-0.1.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-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for bucklet-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e4c4b098cb7fd5bea0000833474cbe638ed267a5220b3d52c2bd8a548da223e
MD5 3ddc5dc5a28dbe84c58b9bedadcf0074
BLAKE2b-256 b5102c6672aeb74494cac4c9c60f735777cd6f8d94d29b342f484912967946d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bucklet-0.1.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