Skip to main content

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
port Find processes listening on TCP ports;--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)
gdoc Pull/push Google Docs as Markdown (`b gdoc pull push

Movies + LLM

b movies --service <name> selects the backend for one run (openai, groq, ollama, bedrock — see b movies --help). LLM_SERVICE sets the default. Set LLM_SERVICE 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

Metadata

Release files for bhtool 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bhtool 0.3.1
File Size Uploaded
bhtool-0.3.1.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bhtool 0.3.1
File Interpreter ABI Platform
bhtool-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 40.9 kB

Release files / bhtool-0.3.1.tar.gz

Download URL bhtool-0.3.1.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8daa43ee73f0ffca81e8b2843365f1fee77e50878219003db2d513b2ed980fb9
BLAKE2b-256 checksum
How to use checksums
bd95d1f2fb9db88f5a54180e811741b858ee54d587496d1dcebb4244c0f8b0b9
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / bhtool-0.3.1-py3-none-any.whl

Download URL bhtool-0.3.1-py3-none-any.whl
Size 22.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
393f4cbaf75a80f0352454a08290b3b2e6c695b2943355d0798c04b6a071f1c9
BLAKE2b-256 checksum
How to use checksums
7c0a3ca978d76e9c7f4cdab9e84e2885340735fdf88bb65f2319bf209d3fda14
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.10

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page