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-0.3.0.tar.gz (41.2 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.3.0-py3-none-any.whl (48.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bucklet-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9dbbc169700ee4aa2e29c7d84fe3f25925b00efd29d320390217f9dedcfb0064
MD5 881aef561ba89042d81e2769596c29bd
BLAKE2b-256 710ebba7da436f0918236a8a85b88068bdb9e5e3933d433c50d481a36b611472

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: bucklet-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 48.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 033fb98d1aa2205bdc3563bc2050386101518c32e37f78044c30f46574b94eb5
MD5 9090ab141a3260b33faf7c336ce52819
BLAKE2b-256 e418373c111f362428e32372a54e7c2f317f763020b39b75fa4334d4798dbf31

See more details on using hashes here.

Provenance

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