Skip to content

Quickstart

This quickstart demonstrates the smallest useful SkeinRank path: noisy text → canonical terms. It does not require the governance API, UI, PostgreSQL, Elasticsearch, OpenRouter, or background workers.

For the full platform beta with the governance console, bindings, enrichment jobs, snapshots, and Search Playground, use the Docker beta quickstart.

Terminal window
pip install skeinrank

From a source checkout:

Terminal window
cd packages/skeinrank-core
poetry install

2. Canonicalize with the built-in demo dictionary

Section titled “2. Canonicalize with the built-in demo dictionary”
import skeinrank
print(skeinrank.canonicalize("k8s pg timeout"))
# kubernetes postgresql timeout
print(skeinrank.extract("sev1 on kube after deploy"))
# ["critical incident", "kubernetes", "deployment"]
Terminal window
skeinrank canonicalize "k8s pg timeout" --text
skeinrank extract "sev1 on kube after deploy" --text --compact
skeinrank demo-dictionary --compact
from skeinrank import SkeinRank
sr = SkeinRank({
"kubernetes": ["k8s", "kube", "kuber"],
"postgresql": ["pg", "postgres", "psql"],
})
print(sr.canonicalize("kuber timeout on pg"))
# kubernetes timeout on postgresql

Save this as company_dictionary.json:

{
"profile_name": "infra_incidents",
"profile_description": "Small infrastructure incident dictionary",
"terms": [
{
"canonical_value": "kubernetes",
"slot": "TOOL",
"aliases": ["k8s", "kube", "kuber"]
},
{
"canonical_value": "postgresql",
"slot": "DATABASE",
"aliases": ["pg", "postgres", "psql"]
}
],
"profile_stop_list": [],
"global_stop_list": []
}

Validate and use it:

Terminal window
skeinrank validate-dictionary company_dictionary.json
skeinrank canonicalize "k8s rollout uses pg database" --text --dictionary company_dictionary.json

Expected output:

kubernetes rollout uses postgresql database

Why this path is the public MVP

It shows the core value without needing a full platform deployment. The UI, PostgreSQL store, and Elasticsearch enrichment workflow can be introduced after the end-to-end case is tested.