close

rustcci

Fast Commons Category Inspection — deep category operations over Wikimedia Commons.

rustcci answers questions across the whole (deep, loopy) Commons category tree that are impractical live on the database replicas: files in the intersection of two categories, files in one but not another, everything below a category, the Featured / Quality / Valued images below it, and the subcategory path between two categories. It is a Rust re-implementation of FastCCI and is wire-compatible with it, so the Commons FastCCI gadget works against it unchanged.

API explorer

Interactive Swagger UI — try every parameter in the browser.

OpenAPI spec

The machine-readable API description (openapi.json).

Status

Queue depth, snapshot age, category count, system load.

Try a query

Responses are plain text — one RESULT line per batch, then a total — so they display fine in a browser. Keep the depth small on a first click; unlimited depth over a huge category traverses its entire subtree.

To query your own category, find its page id — for example this API call for Category:Cats — and use it as c1.

Parameters

NameMeaning
c1Primary category page id (required).
c2Secondary category or file page id (defaults to c1).
d1, d2Search depth for c1 / c2 (default: unlimited).
aAction: and (intersect, default), not (subtract), list, fqv, path.
o, sResult window offset and size (default 0 / 100).
tt=js wraps the response in a JSONP callback.

The same URL upgraded to a WebSocket streams progressive QUEUED/WAITING/WORKING status before the result.

Result format

Each result is a triplet pageid,depth,tag, joined by | into RESULT lines; then OUTOF n (total or estimate), DBAGE seconds, and DONE. A failed path emits NOPATH. The tag marks quality: