{"adoption": {"forks": 300, "observed_at": "2026-08-28T04:03:46.273066+00:00", "stars": 1149}, "canonical_url": "https://ross.abutalabs.com/products/pythainlp", "card": {"archived": false, "artifact_type": "library", "description": "Thai natural language processing in Python", "domain": ["text-editors"], "enriched": true, "function": ["nlp", "parser", "sdk"], "health_score": 99, "homepage": "https://pythainlp.org/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["PyThaiNLP/pythainlp"], "name": "PyThaiNLP/pythainlp", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-20T19:05:13+00:00", "repo": "PyThaiNLP/pythainlp", "stars": 1149, "tags": ["thai-language", "tokenization", "word-segmentation", "pos-tagging", "transliteration", "soundex", "spell-correction", "computational-linguistics", "natural-language-processing", "localization"], "topics": ["python", "thai-nlp", "nlp-library", "thai-language", "natural-language-processing", "thai-nlp-library", "thai-soundex", "soundex", "word-segmentation", "thai", "hacktoberfest", "computational-linguistics", "text-processing", "hacktoberfest-accepted"], "urls": [], "use_cases": ["segment Thai text into words, sentences, and subwords", "part-of-speech tagging for Thai sentences", "romanize or transliterate Thai text to IPA or Latin script", "spell-check and correct Thai words", "generate Thai soundex codes for name matching", "convert numbers to Thai words and format Thai dates", "fix Thai-English keyboard mistyping", "preprocess Thai text for machine learning pipelines"], "what_it_is": "PyThaiNLP is a Python library for Thai natural language processing, offering tokenization, POS tagging, transliteration, soundex, spell correction, and related linguistic utilities, comparable to NLTK but focused on Thai. It also ships a small command-line interface (thainlp) and bundled corpora and models under open licenses.", "when_to_avoid": ["your project processes only English or other non-Thai languages", "you need a general-purpose NLP framework with broad multilingual model support", "you require deep-learning model training rather than text processing utilities"], "when_to_choose": ["you need Thai-specific NLP in Python with a mature, well-maintained toolkit", "you want multiple tokenization engines and bundled corpora under permissive licenses", "you need utilities like Thai soundex, collation, or bahttext that general NLP libraries lack"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pythainlp", "repo": "PyThaiNLP/pythainlp", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "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:03:46.273066+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.273066+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:33:43.361653+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "261af69074eb9aaf367db52877207102ae378f5f8adece302a3959c9d81e77c1", "fetched_at": "2026-08-28T04:03:46.273066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PyThaiNLP/pythainlp"}, {"content_hash": "6819e579a0deb10860709703e8aae17482b5f8ae14a3f604fbf50f0121c764d9", "fetched_at": "2026-08-29T12:38:41.131159+00:00", "kind": "homepage", "missing": false, "url": "https://pythainlp.org/"}, {"content_hash": "9c88a8ea94c379cacf7de81540533f6da5144e60e127d807746287d4fcc9a311", "fetched_at": "2026-08-29T12:38:41.143498+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/about"}, {"content_hash": "2025ae7cd2541ff7fc74d1c7ae64d9aba7eb61cb0b1b2baaefd6834f679d826c", "fetched_at": "2026-08-29T12:38:41.144996+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pythainlp/json"}, {"content_hash": "5d568c31a6aac508096bdd150ef56391361c4f4118d4189eec55175134231b0f", "fetched_at": "2026-08-29T12:38:41.140139+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/resource"}, {"content_hash": "efdea0677c9bb4cbd84d8e7d417a484d5f5262f0dba6262f1e76ff3ac7c88979", "fetched_at": "2026-08-29T12:38:41.141878+00:00", "kind": "site_page", "missing": false, "url": "https://pythainlp.org/FAQ"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3723, "days_push": 13, "days_rel": 19, "gap_med": 24.0, "n_releases_24m": 13}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}