abx-dl
Purpose
abx-dl runs ArchiveBox plugin hooks against URLs without a full ArchiveBox collection.
Shared Rules
- Keep this repo on branch
main.
- Use
uv and uv run for Python commands.
- Do not use system
python, direct .venv/bin/python, or pip commands.
- Use real CLI commands, real hooks, real installs, real subprocesses, real files, and real URLs or
pytest-httpserver.
- Do not mock, monkeypatch, fake, simulate, skip, xfail, or weaken tests.
- Verify
index.jsonl, hook statuses, output files, config, and filesystem side effects.
- Read
README.md for the full CLI, config, plugin, and release surface.
Development Setup
uv sync
uv run abx-dl --help
uv run abx-dl plugins wget
User-Facing Setup
uvx abx-dl dl --plugins=title,wget 'https://example.com'
Basic Usage
uv run abx-dl dl --plugins=title,wget --dir ./downloads 'https://example.com'
uv run abx-dl dl --plugins=title,wget,screenshot,pdf 'https://example.com'
uv run abx-dl dl --output=html,json,txt,pdf,image 'https://example.com'
uv run abx-dl install wget ytdlp chrome
uv run abx-dl config --get TIMEOUT
Verification
uv run pytest tests/test_cli.py -q
uv run prek run --all-files
For live extractor checks:
repo="$(pwd)"
cd "$(mktemp -d)"
exec >stdout.log
uv run --project "$repo" abx-dl dl --plugins=title,wget 'https://example.com'
find . -maxdepth 3 -type f | sort
Source: ArchiveBox/abx-dl — distributed by TomeVault.
1---2name: abx-dl3description: Use this when working on the standalone ArchiveBox downloader CLI, extractor orchestration, plugin execution, config, and output verification.4---56# abx-dl78## Purpose910`abx-dl` runs ArchiveBox plugin hooks against URLs without a full ArchiveBox collection.1112## Shared Rules1314- Keep this repo on branch `main`.15- Use `uv` and `uv run` for Python commands.16- Do not use system `python`, direct `.venv/bin/python`, or `pip` commands.17- Use real CLI commands, real hooks, real installs, real subprocesses, real files, and real URLs or `pytest-httpserver`.18- Do not mock, monkeypatch, fake, simulate, skip, xfail, or weaken tests.19- Verify `index.jsonl`, hook statuses, output files, config, and filesystem side effects.20- Read `README.md` for the full CLI, config, plugin, and release surface.2122## Development Setup2324<!--25```bash26export UV_PROJECT_ENVIRONMENT="$(mktemp -d)/.venv"27unset VIRTUAL_ENV28```29-->30<!--pytest-codeblocks:cont-->31```bash32uv sync33uv run abx-dl --help34uv run abx-dl plugins wget35```3637## User-Facing Setup3839<!--40```bash41cd "$(mktemp -d)"42exec >stdout.log43```44-->45<!--pytest-codeblocks:cont-->46```bash47uvx abx-dl dl --plugins=title,wget 'https://example.com'48```4950<!--pytest-codeblocks:cont-->51<!--52```bash53test -s index.jsonl54test -s title/title.txt55test -s wget/example.com/index.html56```57-->5859## Basic Usage6061<!--62```bash63cd "$(mktemp -d)"64exec >stdout.log65```66-->67<!--pytest-codeblocks:cont-->68```bash69uv run abx-dl dl --plugins=title,wget --dir ./downloads 'https://example.com'70```7172<!--pytest-codeblocks:cont-->73<!--74```bash75test -s downloads/index.jsonl76test -s downloads/title/title.txt77test -s downloads/wget/example.com/index.html78grep -q 'Example Domain' downloads/title/title.txt79```80-->8182```text83uv run abx-dl dl --plugins=title,wget,screenshot,pdf 'https://example.com'84uv run abx-dl dl --output=html,json,txt,pdf,image 'https://example.com'85uv run abx-dl install wget ytdlp chrome86uv run abx-dl config --get TIMEOUT87```8889## Verification9091<!--pytest.mark.skip(reason="pytest invocation")-->92```bash93uv run pytest tests/test_cli.py -q94uv run prek run --all-files95```9697For live extractor checks:9899```bash100repo="$(pwd)"101cd "$(mktemp -d)"102exec >stdout.log103uv run --project "$repo" abx-dl dl --plugins=title,wget 'https://example.com'104find . -maxdepth 3 -type f | sort105```106107---108> Source: [ArchiveBox/abx-dl](https://github.com/ArchiveBox/abx-dl) — distributed by [TomeVault](https://tomevault.io).109<!-- tomevault:4.0:skill_md:2026-07-06 -->