{"adoption": {"forks": 311, "observed_at": "2026-08-28T04:08:05.620973+00:00", "stars": 3460}, "canonical_url": "https://ross.abutalabs.com/products/symspell", "card": {"archived": false, "artifact_type": "library", "description": "SymSpell: 1 million times faster spelling correction & fuzzy search through Symmetric Delete spelling correction algorithm", "domain": [], "enriched": true, "function": ["nlp", "search-engine", "parser"], "health_score": 84, "homepage": "https://seekstorm.com/blog/1000x-spelling-correction/", "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["wolfgarbe/SymSpell"], "name": "wolfgarbe/SymSpell", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-07-04T07:27:10+00:00", "repo": "wolfgarbe/SymSpell", "stars": 3460, "tags": ["spell-check", "fuzzy-search", "edit-distance", "damerau-levenshtein", "word-segmentation", "string-matching", "natural-language-processing", "search", "algorithms"], "topics": ["levenshtein", "fuzzy-search", "approximate-string-matching", "edit-distance", "spellcheck", "spell-check", "levenshtein-distance", "damerau-levenshtein", "spelling", "fuzzy-matching", "word-segmentation", "chinese-text-segmentation", "chinese-word-segmentation", "text-segmentation", "spelling-correction", "symspell"], "urls": [], "use_cases": ["correct spelling errors in user search queries", "fuzzy match strings against a dictionary at high speed", "segment concatenated text into words", "build autocorrect for a text editor", "check spelling of Chinese or other language text", "find closest dictionary match for OCR output"], "what_it_is": "SymSpell is a C# library implementing the Symmetric Delete spelling correction algorithm for extremely fast spelling correction and fuzzy string search. It also supports compound-aware correction and word segmentation, and is language independent.", "when_to_avoid": ["you need a full-featured search engine rather than a spelling component", "your project cannot use .NET and no port is available", "you need context-aware (grammar-based) correction rather than edit-distance lookup"], "when_to_choose": ["you need spelling correction orders of magnitude faster than Norvig-style approaches", "you need language-independent correction including CJK text", "you need compound-aware correction or word segmentation in .NET"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/symspell", "repo": "wolfgarbe/SymSpell", "role": "main", "score": 63}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.620973+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:36:56.566373+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cab4c9d60f6c1876638e3660e16c9ecafb517d4e467255ad5ce103af773adb13", "fetched_at": "2026-08-28T04:08:05.620973+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wolfgarbe/SymSpell"}, {"content_hash": "97c66cc9e9867c3418ebd12de24f7926271361429e8270745adc1e988bdb36ad", "fetched_at": "2026-08-29T09:30:59.871256+00:00", "kind": "homepage", "missing": false, "url": "https://seekstorm.com/blog/1000x-spelling-correction/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 90, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4544, "days_push": 60, "days_rel": 606, "gap_med": null, "n_releases_24m": 1}, "score": 63, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}