| name | abx-dl |
| description | Use this when working on the standalone ArchiveBox downloader CLI, extractor orchestration, plugin execution, config, and output verification. |
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