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.1.tar.gz (43.6 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.1-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bucklet-1.0.1.tar.gz
  • Upload date:
  • Size: 43.6 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.1.tar.gz
Algorithm Hash digest
SHA256 820e66de0e78c45e856cd840ef9a2241f998193f541b6653e32147c5b18c25e7
MD5 572635109d56dab1ad0f139d38b7d84b
BLAKE2b-256 423a33906a9e45ddcede50223f280d6c0a6c02db38c3f091bf0916e40a06ecdf

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: bucklet-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 51.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10b0d0fb542127631e6c7fc2ae602b482da10f8c125199040a2959d348a6d5a3
MD5 d1a509620470cdc0c33727f7067289e6
BLAKE2b-256 4c72d635d3ae63db957e376dd72cc1b45e098d42fbd9df18da19474c14545c1c

See more details on using hashes here.

Provenance

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