Metadata-Version: 2.1
Name: indic-num2words
Version: 1.3.1
Summary: Package to convert numbers to words with support of multiple indian languages.
Home-page: https://github.com/sutariyaraj/indic-num2words/
Author: Indic-Num2Words Contributors
Author-email: sutariyaraj77725@gmail.com
License: Apache License
Project-URL: Source, https://github.com/sutariyaraj/indic-num2words/
Project-URL: Tracker, https://github.com/sutariyaraj/indic-num2words/issues
Keywords: python,indic,languages,text to speech,TTS,setup.py
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Customer Service
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Communications
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# indic-num2words - Convert Numbers to Words for Indian Languages

The `indic-num2words` module converts numerical digits like `36` into words like `छत्तीस` in various Indian languages.

## Installation

To install the latest stable release from PyPI:

```sh
pip install indic-num2words
```

## Usage

The module provides a single function for converting numbers to words:

```python
from num_to_words import num_to_word

# Examples:
print(num_to_word(36, lang='hi'))  # Output: छत्तीस
print(num_to_word('४५', lang='hi'))  # Output: पैंतालीस
print(num_to_word("35,43,57,730", lang='hi'))  # Output: पैंतीसकरोड़ तैंतालीसलाख सत्तावनहज़ार सातसौ तीस
print(num_to_word(795, lang='kn', separator='-'))  # Output: ಏಳುನೂರ-ತೊಂಬತ್ತೈದು
print(num_to_word(445951, lang='ne')) # Output: चार लाख, पैंतालीस हजार, नौ सय, एकाउन्न
print(num_to_word(545589, lang='en', separator=', ', combiner='-'))  # Output: five-lakh, forty-five-thousand, five-hundred, eighty-nine
```

### Function Parameters

- `num` (int, str): The number to be converted. This can be an integer, string of digits, or a formatted number string.
- `lang` (str): The language code for the desired output language. Supported languages are listed below.
- `separator` (str, optional): A string to use as a separator between number groups. Default is a space.
- `combiner` (str, optional): A string to combine words in complex numbers. Default is a space.

## Supported Languages

The module currently supports conversion to the following languages:

- `en` (English-India)
- `hi` (Hindi)
- `ne` (Nepali)
- `gu` (Gujarati)
- `mr` (Marathi)
- `bn` (Bengali)
- `te` (Telugu)
- `ta` (Tamil)
- `kn` (Kannada)
- `or` (Oriya)
- `pa` (Punjabi)
- `ml` (Malayalam)

## Use Cases

1. **Speech Recognition Pre-processing:** Convert numbers to words to improve speech recognition accuracy.
2. **Language Modeling Data Pre-processing:** Prepare text data for training language models by converting numerical data to words.

## What's Next

We are planning to add support for the following languages:

- Urdu
- Assamese

If you'd like to contribute or request support for another language, check `utils/constants.py` to see how you can add support. It's designed to be straightforward.

## Contributing

We welcome contributions! If you'd like to help out, feel free to submit pull requests or raise issues on our GitHub repository.

---

Feel free to reach out if you have any questions or need further assistance. Happy coding!
