Home / Docs
Documentation
This page orients you around CricketLogic. The full API reference lives in the mkdocs site and the source is on GitHub; start here to understand the data model and entry points.
What is the data model?
Ingestion produces these DuckDB tables. Predefined views are built on top of them.
| table | contents |
|---|---|
| matches | One row per match: teams, venue, city, dates, toss, outcome, match_type, competition, gender. |
| innings | Innings within a match, linked to a team. |
| deliveries | Ball-by-ball rows: batsman, bowler, non_striker, runs_batsman, runs_total, wicket (JSON). |
| players | Match participants, with registry_identifier linking to the registry. |
| teams | Teams appearing across matches. |
| player_registry | Cricsheet registry: unique_name, identifier and external keys (key_cricinfo, …). |
| player_names | All name variations per registry player for accurate matching. |
How do I access it?
Python
CricketDB — ingest_directory, query, list_views, create_custom_view, get_view_definition.
CLI
cricketlogic ingest / query / ask / info / views / download / serve.
HTTP
cricketlogic serve exposes /query, /views, /schema, /info and (auth) /ask.
Filtering guidance
For meaningful aggregates, filter by match_type ('Test', 'ODI', 'T20'), competition and gender ('male', 'female'). The predefined views already group by these dimensions.
Last updated 2026-07-02 · Schema per cricketlogic/core.py · Source: https://github.com/cricketlogic/cricketlogic