Metadata-Version: 2.4
Name: nepalikit
Version: 1.0.7
Summary: A Nepali language processing library
Author-email: Prabhash Kumar Jha <prabhashj07@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/prabhashj07/nepalikit
Project-URL: Repository, https://github.com/prabhashj07/nepalikit
Project-URL: Bug Reports, https://github.com/prabhashj07/nepalikit/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: Nepali
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Topic :: Text Processing :: General
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: sentencepiece<1.0,>=0.2.1
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: ruff>=0.4.0; extra == "dev"
Requires-Dist: mypy>=1.10.0; extra == "dev"
Requires-Dist: pip-audit>=2.7.0; extra == "dev"
Requires-Dist: mkdocs>=1.6.0; extra == "dev"
Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
Dynamic: license-file

NepaliKit
=========

[![Current Release Version](https://img.shields.io/github/release/prabhashj07/nepalikit.svg?style=flat-square&logo=github)](https://github.com/prabhashj07/nepalikit/releases)
[![pypi Version](https://img.shields.io/pypi/v/nepalikit.svg?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/NepaliKit/)
[![PyPi downloads](https://static.pepy.tech/personalized-badge/NepaliKit?period=total&units=international_system&left_color=grey&right_color=orange&left_text=pip%20downloads)](https://pypi.org/project/NepaliKit/)

NepaliKit is a Python library for natural language processing tasks in the Nepali language.

## Installation

```bash
pip install nepalikit
```

## Quick Start

```python
from nepalikit.tokenization import Tokenizer
from nepalikit.preprocessing import TextProcessor
from nepalikit.manage_stopwords import get_stopwords, remove_stopwords_from_text

# Tokenize text
tokenizer = Tokenizer()
tokens = tokenizer.tokenize("नमस्ते, के छ खबर? यो एउटा वाक्य हो।", level='word')

# Clean text
processor = TextProcessor()
clean = processor.remove_html_tags("<p>नमस्ते</p>")
clean = processor.remove_special_characters(clean)

# Remove stopwords
filtered = remove_stopwords_from_text("म घर जाँदै छु")
```

## Features

- **Tokenization** — Rule-based and SentencePiece tokenizers
- **Preprocessing** — HTML removal, special character cleaning, whitespace normalization
- **Stopword Management** — 340+ curated Nepali stopwords with dynamic add/remove
- **Stemming** — Rule-based suffix stripping
- **Normalization** — Unicode NFC normalization, ZWNJ/ZWJ stripping, script detection
- **POS Tagging** — Dictionary-based tagger with 11 grammatical categories
- **Spell Checking** — Dictionary-based with Levenshtein edit distance suggestions
- **Transliteration** — Roman ↔ Devanagari + Preeti font conversion
- **Number Extraction** — Parse Devanagari digits and Nepali number words to integers
- **Sentence Operations** — Sentence segmentation, extraction, and analysis

## Documentation

Full documentation is available at the living website:

- **Webpage:** [prabhashj07.github.io/nepalikit](https://prabhashj07.github.io/nepalikit)
- **Source:** [docs/](docs/index.md)

Alternatively, browse the raw documentation files:
- [Installation](docs/installation.md)
- [Quick Start](docs/quickstart.md)
- [Usage](docs/usage/)
- [API Reference](docs/api/)
- [Examples](docs/examples/)
- [Changelog](docs/changelog.md)

## License

This project is licensed under the MIT License.

## Author

- Prabhash Kumar Jha
- Email: prabhashj07@gmail.com
