Assorted CLI utilities for Bosco’s workflows (dev, media, macOS, LLM helpers).
Project description
bhtool
Assorted CLI utilities that are handy in Bosco’s day-to-day work—version bumps, file conversions, process helpers, macOS shortcuts, LLM-assisted movie renaming, and other small odds and ends. Python ≥3.13.
Install options
| Option | Description |
|---|---|
uvx bhtool … |
Run from PyPI on demand (no clone). Example:uvx bhtool --help, uvx bhtool run cursor. |
uv tool install bhtool |
Install**b** / bhtool globally from PyPI (released versions). |
uv sync then uv run bhtool … |
Use the project venv from a checkout (no global install). |
uv tool install . |
Install**b** / bhtool globally from the current directory (pinned copy). |
uv tool install --editable . |
Install**b** / bhtool globally in editable mode from a checkout (code changes apply without reinstall). |
Commands
| Command | Description | |
|---|---|---|
| bumpver | Bump version inpyproject.toml, commit, push; PyPI publish is on by default (--no-publish to skip) |
|
| run | Open macOS applications by partial name (e.g.uvx bhtool run cursor or b run cursor after a local install) |
|
| clr-chmod | Remove execute bit from non-shell files; tighten group/other write | |
| npread | Print the shape of NumPy.npy files |
|
| psword | Find processes by name;--kill to terminate |
|
| rm-npm | Recursively deletenode_modules dirs and package-lock.json files |
|
| text | Convert between Markdown, HTML, DOCX, and Pug (needspandoc and related tools on PATH) |
|
| todict | JSON or YAML file, or stdin, → Pythondict(...)-style repr on stdout |
|
| movies | uvx bhtool movies (or b movies) — ask an LLM for normalized names; writes movie_mapping.json in the current working directory; --execute applies renames (default is dry-run table) |
Movies + LLM
LLM_SERVICE selects the backend (openai, groq, ollama, bedrock, …). Set it in the process environment or in bhtool/.env (loaded from the installed package directory). Model defaults come from microeval’s config for that service.
jtools
Node CLI: pug formatting, agent config copy. Usage: jtools <subcommand>
Install: cd jtools && npm install — dependencies only; this package is not published, so run it from that directory (or npm link after install).
Run (after install): npx jtools <subcommand> resolves the local jtools binary (same as node_modules/.bin/jtools). Examples: npx jtools format-pug, npx jtools copy-agent.
| Subcommand | Description |
|---|---|
| format-pug | Format pug in./index.html |
| copy-agent | Copy~/.claude/CLAUDE.md → ./AGENT.md |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bhtool-0.2.0.tar.gz.
File metadata
- Download URL: bhtool-0.2.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60a32d287afcae7c5f33919ada8b7288fc7631a84ab64651edc30d4757def860
|
|
| MD5 |
6e43cda79cb1d4a10f75334ecfa8ca21
|
|
| BLAKE2b-256 |
1d9537284a99281dad8b540f745510f409ac48cb88d84fafe71f1ce36be5fc54
|
File details
Details for the file bhtool-0.2.0-py3-none-any.whl.
File metadata
- Download URL: bhtool-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fabeae96ab4708f32886895ac71de8b277a587cf694d10c3921ee37b62e6c076
|
|
| MD5 |
5ba394d7b7b1db8cfbd9db459861b2d2
|
|
| BLAKE2b-256 |
bc2abf846fbb314e0b7fc767ed9d4bef85e73290b4841749d344adc7d7b0b7c0
|