trec-car-tools
Support tools for TREC CAR participants. Also see trec-car.cs.unh.edu
What it is and what it does
trec-car-tools is a toolkit for participants in the TREC Complex Answer Retrieval track, a shared task in information retrieval research. It provides Python and Java libraries to deserialize Wikipedia data (articles, outlines, paragraphs) that have been encoded in CBOR binary format, and to serialize ranking results back into the standard TREC evaluation format. The package preserves Wikipedia-internal hyperlinks and metadata (categories, redirects, infoboxes, Wikidata IDs) during deserialization.
The typical workflow involves downloading TREC CAR data, using the package to parse it into Python or Java objects, running your retrieval or ranking algorithm, then using format_runs utilities to write results in the format expected by trec_eval and the official evaluation pipeline. It integrates with standard IR evaluation tools used in the research community.
Use it for:
- Parse Wikipedia paragraph collections and outlines for TREC CAR shared task participation
- Extract structured Wikipedia metadata (sections, hyperlinks, categories, infoboxes) for IR research
- Format and validate ranking results to submit to TREC CAR evaluation
- Integrate TREC CAR data into information retrieval pipelines supporting multiple format versions
- Analyze Wikipedia structure and entity-passage relationships for complex answer retrieval
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python and Java bindings to read TREC Complex Answer Retrieval track data in CBOR format, including paragraph collections, outlines, and Wikipedia articles with preserved hyperlinks.
Yes, if you are actively participating in the TREC CAR track or building research systems that depend on its data formats. The package has no runtime dependencies, installs easily, and carries no licensing restrictions. However, the aging maintenance status (last release 2022-02-01) means you should verify compatibility with your Python version and check whether the cbor library remains available before committing to a dependency.
Install
trec-car-tools on PyPI
pip
pip install trec-car-toolsuv
uv add trec-car-toolspoetry
poetry add trec-car-toolsInstalling trec-car-tools
Before you install
Low friction installation as a pure Python wheel with no runtime dependencies. However, the package is aging—last release was 2022-02-01, and the repository shows minimal recent activity.
License in practice
BSD 3-Clause is permissive and poses no restrictions on commercial or proprietary use, modification, or redistribution as long as the license and copyright notice are included.
Quickstart
pip install trec-car-tools
import trec_car_tools
# Read paragraph collection or outline data in CBOR format
# See package documentation for specific module and function names
Requires the cbor library; install via 'conda install -c laura-dietz cbor=1.0.0' (Anaconda) or 'pip install cbor' (pip). Python 3.6 is the minimum supported version per classifiers.
Verify before relying
- Whether the package works reliably with Python versions beyond 3.8 despite classifiers listing 3.6–3.8
- Current status and availability of the cbor dependency in modern Python environments
- Whether TREC CAR data formats v1.5, v2.0, and v2.6 remain in active use or if the track has evolved
- Specific module names and APIs available in the package for reading and writing data
Package facts
| License | BSD 3-Clause (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 1,655 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 217,808/month — #9,351 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: trec_car_tools-2.6-py3-none-any.whl
Keywords: wikipedia
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
pytrec-evalProvides Python bindings to compute standard…
permissive · top 15,000 on PyPI
pytrec-eval-terrierProvides Python bindings to TREC's trec_eval…
permissive · top 5,000 on PyPI
ir-datasetsProvides a unified Python interface to…
permissive · top 15,000 on PyPI
ir-measuresProvides a unified Python interface to compute…
permissive · top 15,000 on PyPI
colbert-aiColBERT is a BERT-based retrieval model that…
unclear · top 15,000 on PyPI
ranxranx computes ranking evaluation metrics…
permissive · top 15,000 on PyPI
Wikipedia-APIWikipedia-API is a Python wrapper for…
permissive · top 5,000 on PyPI
pdfminerExtracts text and layout information from PDF…
permissive · top 15,000 on PyPI
cbor2Encodes and decodes CBOR (Concise Binary Object…
permissive · top 1,000 on PyPI
cborSerializes and deserializes data in CBOR…
permissive · top 5,000 on PyPI