Disc acquisition and annotation tool. jmoney manages the physical-disc frontier: it controls drive trays, rips video discs, and annotates the resulting files.
git clone https://github.com/jfindlay/jmoney.git
cd jmoney
uv syncuv sync creates .venv/ and installs the runtime dependencies, the project itself, and the
dev dependency group (pytest, pytest-mock, pytest-cov, pyfakefs, mypy, ruff). Run
jmoney --help or jmoney <subcommand> --help for usage.
Open or close a drive tray via the eject binary.
jmoney drive open [--device /dev/sr0]
jmoney drive close [--device /dev/sr0]Classify the disc in the drive.
jmoney detect [--device /dev/sr0]Acquire the disc into a staging area using the appropriate backend (bd_backup, dvd_mirror,
raw_image, or whipper).
jmoney rip --staging-root DIR [--device /dev/sr0] [--disc-type TYPE]Extract MKV titles from a staged disc directory via makemkvcon. Run after rip for video
discs.
jmoney extract --staging-dir DIR [--minlength SEC]Adjudicate extracted tracks in a staging disc directory via mpv.
jmoney annotate --staging-dir DIRjmoney rip --staging-root ~/staging
jmoney extract --staging-dir ~/staging/<disc-dir>
jmoney annotate --staging-dir ~/staging/<disc-dir>uvx tox -m format # ruff check --fix + ruff format (all files)Versions are derived from git tags via hatch-vcs. To cut a release:
git tag -a v1.0.0 -m "v1.0.0"