Skip to main content

CDXJ Indexer

A command-line tool for generating CDXJ (and CDX) indexes from WARC and ARC files. The indexer is a new tool redesigned for fast and flexible indexing. (Based on the indexing functionality from pywb)

Install with pip install cdxj-indexer or install locally with pip install --editable .

The indexer supports classic CDX index format as well as the more flexible CDXJ. With CDXJ, the indexer supports custom fields and request record access for WARC files. See the examples below and the command line -h option for latest features. (This is a work in progress).

Usage examples

Generate CDXJ index:

> cdxj-indexer /path/to/archive-file.warc.gz
com,example)/ 20170730223850 {"url": "http://example.com/", "mime": "text/html", "status": "200", "digest": "G7HRM7BGOKSKMSXZAHMUQTTV53QOFSMK", "length": "1219", "offset": "771", "filename": "example-20170730223917.warc.gz"}

CDX Index (11 field):

> cdxj-indexer -11 /path/to/archive-file.warc.gz
CDX N b a m s k r M S V g
com,example)/ 20170730223850 http://example.com/ text/html 200 G7HRM7BGOKSKMSXZAHMUQTTV53QOFSMK - - 1219 771 example-20170730223917.warc.gz

More advanced use cases: add additional http headers as fields. http: prefix specifies current record headers, while req.http: specifies corresponding request record headers. The following adds the Date, Referer headers, and the request method to the index:

> cdxj-indexer -f req.http:method,http:date,req.http:referer /path/to/archive-file.warc.gz
com,example)/ 20170801032435 {"url": "http://example.com/", "mime": "text/html", "status": "200", "digest": "A6DESOVDZ3WLYF57CS5E4RIC4ARPWRK7", "length": "1207", "offset": "834", "filename": "temp-20170801032445.warc.gz", "req.http:method": "GET", "http:date": "Tue, 01 Aug 2017 03:24:35 GMT", "referrer": "https://webrecorder.io/temp-NU34HBNO/temp/recording-session/record/http://example.com/"}
org,iana)/domains/example 20170801032437 {"url": "http://www.iana.org/domains/example", "mime": "text/html", "status": "302", "digest": "RP3Y66FDBYBZKSFYQ4VJ4RMDA5BPDJX2", "length": "675", "offset": "2652", "filename": "temp-20170801032445.warc.gz", "req.http:method": "GET", "http:date": "Tue, 01 Aug 2017 02:35:05 GMT", "referrer": "http://example.com/"}

The CDXJ Indexer extends the Indexer functionality in warcio and should be flexible to extend.

Metadata

Release files for cdxj-indexer 1.5.0

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

Source distribution (sdist)

Source distribution for cdxj-indexer 1.5.0
File Size Uploaded
cdxj_indexer-1.5.0.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cdxj-indexer 1.5.0
File Interpreter ABI Platform
cdxj_indexer-1.5.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 34.3 kB

Release files / cdxj_indexer-1.5.0.tar.gz

Download URL cdxj_indexer-1.5.0.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ecac1f76c9bf77ed1720e1ff875e4fa6b7ae3376ecceb7c4f0d167e5ccc3f8ef
BLAKE2b-256 checksum
How to use checksums
a1bc56f3b156c58fc1c1eadd95e69ff7178c45ddb7a750876254a7f0ad69b600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / cdxj_indexer-1.5.0-py2.py3-none-any.whl

Download URL cdxj_indexer-1.5.0-py2.py3-none-any.whl
Size 15.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5f7f0f15249c9821fb02543dd6e10546967060139c7f47c5760627b29b2ebc38
BLAKE2b-256 checksum
How to use checksums
c79cbc2f7827146b36ad3db63e65932450bae21bda34f939c4f522e998c33f59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0

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