Examples

March 23, 2026 · View on GitHub

Annotation examples

DirectoryLevelDescription
curlie/hostCurlie.org human-edited web directory — 2.9M entries, 90+ languages, 770K categories
slashtag/hostblekko human-curated topic categories — 120K+ domains, 1,280 tags
slashtag-url/urlSame as slashtag but at URL granularity
external-data/hostReady-to-use external datasets — no fetch scripts needed (see below)
fineweb-edu/hostEducational quality scores from HuggingFace FineWeb-Edu (Llama3-70B rated, 0-5 scale)
gneissweb/hostData Prep Kit's Gneissweb topic classification scores (technology, science, education, medical)
gneissweb-url/urlSame as gneissweb above, but at URL granularity
spam-abuse/hostMalware, phishing, and abuse flags from URLhaus, PhishTank, OpenPhish, and UT1
tranco-top1m/hostDomain popularity ranking from Tranco
university-ranking/hostUniversity identification (Hipo) and world rankings (CWUR 2025)
university-ranking-url/urlSame as university-ranking above but at URL granularity
web-graph/hostLink metrics (outdegree, indegree) from Common Crawl's Web Graphs
web-graph-wikipedia/hostMulti-join example combining web-graph + wikipedia-spam
wikipedia/categories/hostWebsite classification from English Wikipedia categories (fact-checking, fake news, satirical, etc.)
wikipedia/categories-intl/hostSame as categories but across all language Wikipedias via langlinks auto-discovery
wikipedia/perennial/hostWikipedia's Reliable Sources
wikipedia/spam/hostSpam and URL shortener flags from Wikipedia's spam list

External data sources (external-data/)

Pre-built YAML files that stream external datasets directly at query time — no local downloads needed. Can be stacked as extra columns on any query.

YAMLSourceDomainsLicense
join_tranco.yamlTranco top sites ranking~5.4MCC BY-SA/BY-NC 4.0
join_majestic_million.yamlMajestic top 1M by referring subnets1MCC BY 3.0
join_cisa_gov_domains.yamlCISA US .gov domain registry~12.6KPublic domain
join_gsa_nongov_federal.yamlGSA US federal non-.gov domains~400Public domain
join_ifcn_factcheckers.yamlIFCN verified fact-checkers~167Public
join_misinfo_domains.yamlLasser et al. misinformation domains~4.8KCC BY-SA 4.0

Quick start

From the project root, fetch dependencies for an example:

make web-graph

Then run a query:

cd examples/web-graph
python annotate.py left_web_host_index.yaml join_web_outin.yaml action_surt_host_name.yaml commoncrawl.org

All examples follow the same pattern: python annotate.py <left.yaml> <join.yaml> [join.yaml ...] <action.yaml> [args]. See docs/yaml-reference.md for the full YAML spec.