indic-nlp-library
The goal of the Indic NLP Library is to build Python based libraries for common text processing and Natural Language Processing in Indian languages.
What it is and what it does
Indic NLP Library is a Python toolkit for processing text in Indian languages. It provides functionality for text normalization, script information, word tokenization and detokenization, sentence splitting, word segmentation, syllabification, script conversion, romanization, indicization, transliteration, and translation. The library leverages structural similarities across Indic scripts to provide a unified interface for these operations.
The package depends on pandas, numpy, morfessor, sphinx-argparse, and sphinx-rtd-theme. It requires Python 3.5 or later and external language resources hosted in a separate repository. Maintenance is dormant as of mid-2024, meaning no active development or bug fixes are expected, though the codebase remains stable for existing use cases.
Use it for:
- Tokenize and normalize Indian language text for downstream machine learning pipelines.
- Convert text between different Indic scripts for cross-lingual applications.
- Split sentences in Indian languages while handling language-specific punctuation.
- Perform word segmentation and syllabification for morphological analysis.
- Transliterate between Indian languages or convert text to romanized forms.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Indic NLP Library provides text processing and natural language processing tools for Indian languages, including tokenization, normalization, transliteration, script conversion, and sentence splitting.
Yes, if you work with Indian language NLP and can accept dormant maintenance. The library is stable, has no known vulnerabilities, and provides specialized functionality not easily found elsewhere. However, verify that external resources are available and compatible with your setup, and plan for no upstream bug fixes or updates. Well-suited for research and established production workflows but not for projects requiring active vendor support.
Install
indic-nlp-library on PyPI
pip
pip install indic-nlp-libraryuv
uv add indic-nlp-librarypoetry
poetry add indic-nlp-libraryInstalling indic-nlp-library
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance is dormant—last release was 2023-05-15 with no commits since 2024-06-07—so expect no active bug fixes or feature updates, though the repository remains public and unarchived.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute the library freely as long as you include the license notice.
Quickstart
pip install indic-nlp-library
import indic_nlp_library
# Text processing operations available through the library's API
Requires the Indic NLP Resources repository to be downloaded separately and its path set via the INDIC_RESOURCES_PATH environment variable for full functionality.
Verify before relying
- Which language-specific modules require external resources versus working standalone.
- Current compatibility with modern versions of numpy and pandas given dormant maintenance since mid-2024.
- Performance characteristics and scalability for large-scale text processing tasks.
- Whether Urduhack dependency and its Tensorflow requirement are mandatory or optional for core operations.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — sphinx-argparse, sphinx-rtd-theme, morfessor, pandas, numpy |
| Maintenance | dormant — 1,187 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 98,676/month — #13,065 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: indic_nlp_library-0.92-py3-none-any.whl
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
silpa_commonProvides common utility functions for SILPA,…
copyleft · top 15,000 on PyPI
urduhackUrduhack provides NLP preprocessing,…
permissive · top 15,000 on PyPI
whisper-normalizerStandardizes and normalizes text using the…
permissive · top 15,000 on PyPI
indic-transliterationConverts text between different Indic script…
permissive · top 15,000 on PyPI
bnunicodenormalizerNormalizes Bangla Unicode text by fixing…
permissive · top 15,000 on PyPI
indic-numtowordsConverts non-negative integers to their word…
permissive · top 15,000 on PyPI
pythainlpPyThaiNLP provides Thai-language natural…
permissive · top 5,000 on PyPI
tokenizerTokenizes Icelandic text into words,…
permissive · top 15,000 on PyPI
PyArabicPyArabic provides functions to manipulate…
copyleft · top 15,000 on PyPI
titlecaseConverts text to title case with intelligent…
permissive · top 15,000 on PyPI