Skip to content

Getting Started

Install ISNAD and grade your first chain in under a minute.

Install

pip install isnad

Requires Python 3.12+. Optional extras: pip install isnad[langchain] (LangChain tracing) and isnad[mcp] (MCP server).

30 seconds to a verdict

from isnad import Registry, grade
from isnad.types import NarratorGrade

reg = Registry()
reg.register("openstax", "physics", grade=NarratorGrade.RELIABLE)
reg.register("pdf-scraper", "physics", grade=NarratorGrade.UNGRADED)
reg.register("ingest-model", "physics", grade=NarratorGrade.ACCEPTABLE)

verdict = grade("p = mv", ["openstax", "pdf-scraper", "ingest-model"], reg, domain="physics")
print(verdict.why)
# claim 'p = mv' -> chain DAIF (weakest: pdf-scraper, ungraded)

The chain is capped by its weakest link — the ungraded scraper drags the whole claim to DAIF, regardless of how reliable the other narrators are.

Warm-start a registry

A fresh pipeline has no observations, so every narrator starts UNGRADED and every claim routes to REVIEW. Seed the shipped evidence-sourced defaults to start warm (these are Estimated priors, never Supported observations):

from isnad import default_registry

reg = default_registry()          # ~39 evidence-sourced "Estimated" priors
entries = default_seed_entries()  # the same seeds, as data

Grades stay operator-local: override or ignore any shipped entry.

Serve it over HTTP

isnad serve

Then POST /v1/claims to submit a claim + its chain, and read the graded surface at GET /v1/claims. See Onboard in a Day for copy-paste recipes.

Next steps