skillfed

abx-plugins

ArchiveBox-compatible plugin suite (hooks, configs, binaries manifests)

abx-plugins v1.12.122 189.2K downloads/30d#9,934 on PyPI11
Permissive license MIT Active released

What it is and what it does

abx-plugins is a collection of hook scripts and configuration schemas that implement ArchiveBox's plugin contract. It allows tools like abx-dl and ArchiveBox to discover and orchestrate plugins for web archiving tasks without needing environment variables or symlinks. Each plugin declares its binary dependencies, hook lifecycle (crawl setup or per-snapshot), and output format (JSONL records for ArchiveResult, Snapshot, and Tag events).

The package provides base utilities for both Python and JavaScript plugins to load configuration, emit standardized output records, and access shared runtime variables like SNAP_DIR, CRAWL_DIR, and ABXPKG_LIB_DIR. Plugins are organized by directory, each with optional config.json schemas, binary dependency declarations, and hook scripts that run in isolated working directories with controlled environment variables. The contract ensures plugins can run as standalone CLIs or be orchestrated by runners, with output routed to snapshot or crawl directories and accessible to sibling plugins.

Use it for:

  • Extend ArchiveBox with custom snapshot extraction plugins (e.g., media download, PDF scraping, metadata extraction) without modifying core code.
  • Build standalone CLI tools that follow the ArchiveBox plugin contract and integrate seamlessly with abx-dl or ArchiveBox runners.
  • Declare and manage binary dependencies (yt-dlp, ffmpeg, etc.) declaratively in config.json so runners can handle preflight installation and environment setup.
  • Implement crawl setup hooks for shared initialization (e.g., browser launch, cache preparation) that run once per crawl before snapshot extraction.
  • Test and debug individual plugin hooks in isolation using the provided test utilities (parse_jsonl_output, run_hook, get_hook_script).

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a suite of ArchiveBox-compatible plugin hooks and configuration schemas for web archiving, enabling tools like abx-dl and ArchiveBox to discover and run snapshot extraction and crawl setup plugins.

Yes. The package is actively maintained, has no known vulnerabilities, and provides a well-documented plugin contract essential for extending ArchiveBox. Install it if you are building or running ArchiveBox plugins, or if you need to integrate custom web archiving workflows into abx-dl or ArchiveBox. The low install friction and permissive MIT license remove barriers to adoption.

Install

abx-plugins on PyPI

pip

pip install abx-plugins

uv

uv add abx-plugins

poetry

poetry add abx-plugins

Installing abx-plugins

Before you install

Active maintenance with a release on 2026-08-14 and low install friction. Depends on abxbus, abxpkg, imagesize, rich-click, and uv—all standard Python packages. The wheel distribution suggests straightforward installation.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install abx-plugins

from abx_plugins.plugins.base.utils import load_config, emit_archive_result_record

config = load_config()
emit_archive_result_record('succeeded', 'output/path')

Requires Python 3.12 or later (3.12, 3.13, or 3.14). Plugins also expect SNAP_DIR and CRAWL_DIR environment variables to be set by the runner; standalone hook execution may require manual setup of these variables.

Verify before relying

  • Whether plugin discovery works automatically without manual registration or symlink setup in all deployment contexts.
  • Performance characteristics when running many concurrent snapshot hooks in a single crawl.
  • Compatibility with ArchiveBox versions prior to the plugin contract stabilization mentioned in the description.

Package facts

License MIT (permissive)
Python support supports the current Python release (<3.15,>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 5 — abxbus, abxpkg, imagesize, rich-click, uv
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 189,202/month — #9,934 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: abx_plugins-1.12.122-py3-none-any.whl

Keywords: archivebox, hooks, plugins, scraping, web-archiving

Environment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

archivebox pluginsweb archiving hookssnapshot extraction pluginsarchivebox plugin marketplacecrawl setup hooksplugin configuration schemasarchivebox extensions
web-archivingplugin-frameworkarchivebox

More WWW/HTTP packages