Skip to content

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.

tablecontents
matchesOne row per match: teams, venue, city, dates, toss, outcome, match_type, competition, gender.
inningsInnings within a match, linked to a team.
deliveriesBall-by-ball rows: batsman, bowler, non_striker, runs_batsman, runs_total, wicket (JSON).
playersMatch participants, with registry_identifier linking to the registry.
teamsTeams appearing across matches.
player_registryCricsheet registry: unique_name, identifier and external keys (key_cricinfo, …).
player_namesAll 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