Skip to main content

Installable cli helpers

Project description

Bashers

CLI command helpers (Rust). Install: cargo install bashers. Both bashers and bs go to ~/.cargo/bin; ensure it’s in PATH before pyenv/shims.

Install from PyPI: pip install bashers (or pip install --upgrade bashers to get the latest). PyPI wheels are built for Python 3.11, 3.12, and 3.13; if you’re on 3.13 and see an old version, a 3.13 wheel may not have been published yet for that release—use the next release or cargo install bashers / install from repo.

Install from repo: ./scripts/install.sh (or curl -sSf https://raw.githubusercontent.com/Sung96kim/bashers/main/scripts/install.sh | sh). Use --no-path to skip profile changes.

Usage

bashers update              # update deps (fuzzy match optional)
bashers setup               # install deps (--frozen, --rm, --dry-run)
bashers show                # list packages
bashers git sync            # checkout default, pull, fetch (--current = current branch only); bs sync works
bashers kube kmg <pattern>  # pod describe + Image lines
bashers kube track <pattern> # follow logs (--err-only, --simple)
bashers docker build [ -f <path> ]  # build from Dockerfile (default: ./Dockerfile; -t tag, --no-cache, -c context); bs build works
bashers watch -n 2 -- <cmd> # run command repeatedly, highlight changes (-n interval, --no-diff)
bashers self update         # upgrade bashers
bashers version
Command Description
update Update deps (uv/poetry), fuzzy match
setup Install project deps
show List installed packages
git sync (default branch or --current)
kube kmg, track
docker build (optional Dockerfile path [default: ./Dockerfile], tag, no-cache, context)
watch Run command on an interval, diff highlight (green = changed)
self update
version Print version

bashers <cmd> --help for options.

Features

Fuzzy package matching, fzf when multiple matches, uv & poetry, color output, dry-run.

Development

Build: cargo build / cargo build --release

Test: cargo test (unit: cargo test --lib; one test: cargo test test_fuzzy_match_exact)

Quality: cargo fmt · cargo clippy · cargo fmt --check · cargo clippy -- -D warnings

Run: cargo run --quiet -- <cmd> or ./target/debug/bashers <cmd>. Optional: NO_SPINNER=1 to disable spinner.

Coverage: cargo install cargo-tarpaulin --locked then cargo tarpaulin --out Xml --output-dir coverage --timeout 120

Python wheel (build and test locally): Install maturin (pip install maturin). From the repo root: maturin build --release --features pyo3. Wheels are written to target/wheels/. Install with a matching Python (e.g. 3.13): python3 -m pip install --force-reinstall target/wheels/bashers-*-cp313-*.whl. Run bashers --help or bashers version to confirm.

New command: Add module under src/commands/ (or src/commands/<group>/), add variant in src/cli.rs, wire in src/lib.rs, then cargo build. When adding or changing any CLI command, update the Usage section and the Command table above.

Releasing

Releases are automated with release-plz on push to main. Use Conventional Commits: feat: (minor), fix: (patch), feat!: or BREAKING CHANGE: (major). Push to main → version/changelog PR, merge → publish to crates.io and GitHub Release. The tag and GitHub Release are created in the workflow run triggered by the merge (not the run that opened the PR). Set CARGO_REGISTRY_TOKEN if publishing to crates.io. First time: run cargo publish once so release-plz knows the current version.

Manual: bump version in Cargo.toml, tag vX.Y.Z, push tag; workflow builds and creates the GitHub Release.

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

bashers-0.8.4.tar.gz (62.6 kB view details)

Uploaded Source

Built Distributions

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

bashers-0.8.4-cp313-cp313-manylinux_2_39_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

bashers-0.8.4-cp312-cp312-manylinux_2_39_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

bashers-0.8.4-cp311-cp311-manylinux_2_39_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

bashers-0.8.4-cp310-cp310-manylinux_2_39_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

File details

Details for the file bashers-0.8.4.tar.gz.

File metadata

  • Download URL: bashers-0.8.4.tar.gz
  • Upload date:
  • Size: 62.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bashers-0.8.4.tar.gz
Algorithm Hash digest
SHA256 d8a35fa30abe8c0eeddee84b79a6b03e24a4aabd32a06571a7efd3421cfc5b99
MD5 4b8cb4b6a5abdab05578d08579206ebd
BLAKE2b-256 6ce08d231a4c4a9b3d519d0b125458f4d58cefa150b528a0461d12de793a3ca5

See more details on using hashes here.

File details

Details for the file bashers-0.8.4-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for bashers-0.8.4-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5b22c8457be4b02428d33b08d51359514a88fbee9145b51297b77dab760decb5
MD5 ae04edfb4a0c40a48b5b4a091443ce5c
BLAKE2b-256 17aa6ff14b8f05a5c1fe10515bf5ea0b47d372fb48441bb1f16d6ff659183608

See more details on using hashes here.

File details

Details for the file bashers-0.8.4-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for bashers-0.8.4-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7e00a9040c1367e5db908876caeffc3340a0d78a390973eec878112a4f1cf2ff
MD5 86f4020a95a336248dc4a733b78937e4
BLAKE2b-256 1e98d9aa5fc5c65cc98b244e9d53f254615f56412ba2d618a3f92925d44c1293

See more details on using hashes here.

File details

Details for the file bashers-0.8.4-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for bashers-0.8.4-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b9e677770c55ee73b74f7a4a95ac49dc617cbc6c6a9730accc76697e4ca4f966
MD5 872e8660e210765e047ff8e110ed7615
BLAKE2b-256 e8939de335faa0d68899166e7aa2d84a8a55f92d470a8e55158b7bb52ff509d8

See more details on using hashes here.

File details

Details for the file bashers-0.8.4-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for bashers-0.8.4-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 03127262a085b1996ac8a2e3b27af95047990e4b3cae040c3d3c97d5022f0eb1
MD5 7efc0fe3c0eff2f48b013cef675ad08a
BLAKE2b-256 1da3c82f549a5f71954d02e0ffcc031bd0573f759a4c18df52cb59ddacb1fead

See more details on using hashes here.

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