pynum2words


Namepynum2words JSON
Version 1.2.0 PyPI version JSON
download
home_pageNone
SummaryA Python library for converting numbers to their word representation and vice versa using a built-in or custom dictionary.
upload_time2025-07-11 19:41:02
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements rich
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pynum2words

![GitHub Repo stars](https://img.shields.io/github/stars/BirukBelihu/pynum2words)
![GitHub forks](https://img.shields.io/github/forks/BirukBelihu/pynum2words)
![GitHub issues](https://img.shields.io/github/issues/BirukBelihu/pynum2words)
[![PyPI Downloads](https://static.pepy.tech/badge/pynum2words)](https://pepy.tech/projects/pynum2words)

**pynum2words** is a Python library for converting numbers to their word representation and vice versa, using a built-in or custom dictionary.

---
GitHub: [pynum2words](https://github.com/BirukBelihu/pynum2words)
---

## ✨ Features

- πŸ”§ Highly Customizable
- πŸ”’ Convert number ➜ word and word ➜ number without an upper limit
- 🌍 Supports custom language dictionaries (`.n2w`)
- 🌐 25+ Built-in Language dictionaries out of the box
- πŸš€ Support Comment On The Dictionaries(.n2w).  
- πŸ“¦ Command Line & Python API support

---

## πŸ“¦ Installation

```
pip install pynum2words
```

You can also install pynum2words from source code. source code may not be stable, but it will have the latest features and bug fixes.

Clone The Repository:

```
git clone https://github.com/birukbelihu/pynum2words.git
```

Go Inside The Project Directory:

```
cd pynum2words
```

Install The Package:

```
pip install -e .
```

---

## Builtin Dictionaries

- **Amharic**: `pynum2words.builtin_dictionaries.amharic_dictionary()`
- **Arabic**: `pynum2words.builtin_dictionaries.arabic_dictionary()`
- **Chinese**: `pynum2words.builtin_dictionaries.chinese_dictionary()`
- **Dutch**: `pynum2words.builtin_dictionaries.dutch_dictionary()`
- **English**: `pynum2words.builtin_dictionaries.english_dictionary()`
- **French**: `pynum2words.builtin_dictionaries.french_dictionary()`
- **German**: `pynum2words.builtin_dictionaries.german_dictionary()`
- **Greek**: `pynum2words.builtin_dictionaries.greek_dictionary()`
- **Hindi**: `pynum2words.builtin_dictionaries.hindi_dictionary()`
- **Italian**: `pynum2words.builtin_dictionaries.italian_dictionary()`
- **Japanese**: `pynum2words.builtin_dictionaries.japanese_dictionary()`
- **Korean**: `pynum2words.builtin_dictionaries.korean_dictionary()`
- **Portuguese**: `pynum2words.builtin_dictionaries.portuguese_dictionary()`
- **Romanian**: `pynum2words.builtin_dictionaries.romanian_dictionary()`
- **Russian**: `pynum2words.builtin_dictionaries.russian_dictionary()`
- **Spanish**: `pynum2words.builtin_dictionaries.spanish_dictionary()`
- **Swahili**: `pynum2words.builtin_dictionaries.swahili_dictionary()`
- **Tigrinya**: `pynum2words.builtin_dictionaries.tigrinya_dictionary()`
- **Turkish**: `pynum2words.builtin_dictionaries.turkish_dictionary()`

**N.B:-** You Can Get More Language Dictionaries From [Here](https://github.com/birukbelihu/pynum2words-dictionaries)

If Your Language Is Not Listed Here You Can Create Your Own Dictionary By Following This [Guide](https://github.com/birukbelihu/pynum2words-language-packs?tab=readme-ov-file#how-to-create-a-language-dictionary)

## 🧠 Example Usage

### CLI

```bash
# Convert number to words
pyn2w --number 12345
# Output: Twelve Thousand Three Hundred Forty Five

# Convert words to number with custom dictionary
pyn2w --word "αˆαˆˆα‰΅ αˆ˜α‰Ά αˆ€αˆαˆ³ αˆ°α‰£α‰΅ αˆΊαˆ… αŠ αˆαˆ΅α‰΅ αˆ˜α‰Ά αˆ°αˆ‹αˆ³ αˆΆαˆ΅α‰΅" --dict dictionaries/amharic.n2w
# Output: 257533
```

### Python

```python
from pynum2words.builtin_dictionaries import amharic_dictionary, english_dictionary
from pynum2words.pynum2words import PyNum2Words

# Initialize converters for each language

amharic_converter = PyNum2Words(amharic_dictionary())
english_converter = PyNum2Words(english_dictionary())

# Number to words(Amharic)
print(amharic_converter.number_to_words(248914))  # Output: αˆαˆˆα‰΅ αˆ˜α‰Ά αŠ αˆ­α‰£ αˆ΅αˆαŠ•α‰΅ αˆΊαˆ… α‹˜αŒ αŠ αˆ˜α‰Ά አሡር αŠ αˆ«α‰΅
# Words to number(Amharic)
print(amharic_converter.words_to_number("αˆαˆˆα‰΅ αˆ˜α‰Ά αˆ€αˆαˆ³ αˆ°α‰£α‰΅ αˆΊαˆ… αŠ αˆαˆ΅α‰΅ αˆ˜α‰Ά αˆ°αˆ‹αˆ³ αˆΆαˆ΅α‰΅"))  # Output: 257533

# Number to words(English)
print(english_converter.number_to_words(49285294))  # Output: Forty Nine Million Two Hundred Eighty Five Thousand Two Hundred Ninety Four
# Words to number(English)
print(english_converter.words_to_number("Two Hundred Forty One Thousand Eight Hundred Forty One"))  # Output: 241841
```

---

## πŸ“’ Social Media

- πŸ“Ί [YouTube: @pythondevs](https://youtube.com/@pythondevs?si=_CZxaEBwDkQEj4je)

---

## πŸ“„ License

This project is licensed under the **Apache License 2.0**. See the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pynum2words",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "BirukBelihu <birukbelihu1995@email.com>",
    "download_url": "https://files.pythonhosted.org/packages/77/a0/c973be805a2db08da67e5d14d421db01d2f1f94da1c133657e4dd8c42616/pynum2words-1.2.0.tar.gz",
    "platform": null,
    "description": "# pynum2words\r\n\r\n![GitHub Repo stars](https://img.shields.io/github/stars/BirukBelihu/pynum2words)\r\n![GitHub forks](https://img.shields.io/github/forks/BirukBelihu/pynum2words)\r\n![GitHub issues](https://img.shields.io/github/issues/BirukBelihu/pynum2words)\r\n[![PyPI Downloads](https://static.pepy.tech/badge/pynum2words)](https://pepy.tech/projects/pynum2words)\r\n\r\n**pynum2words** is a Python library for converting numbers to their word representation and vice versa, using a built-in or custom dictionary.\r\n\r\n---\r\nGitHub: [pynum2words](https://github.com/BirukBelihu/pynum2words)\r\n---\r\n\r\n## \u2728 Features\r\n\r\n- \ud83d\udd27 Highly Customizable\r\n- \ud83d\udd22 Convert number \u279c word and word \u279c number without an upper limit\r\n- \ud83c\udf0d Supports custom language dictionaries (`.n2w`)\r\n- \ud83c\udf10 25+ Built-in Language dictionaries out of the box\r\n- \ud83d\ude80 Support Comment On The Dictionaries(.n2w).  \r\n- \ud83d\udce6 Command Line & Python API support\r\n\r\n---\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n```\r\npip install pynum2words\r\n```\r\n\r\nYou can also install pynum2words from source code. source code may not be stable, but it will have the latest features and bug fixes.\r\n\r\nClone The Repository:\r\n\r\n```\r\ngit clone https://github.com/birukbelihu/pynum2words.git\r\n```\r\n\r\nGo Inside The Project Directory:\r\n\r\n```\r\ncd pynum2words\r\n```\r\n\r\nInstall The Package:\r\n\r\n```\r\npip install -e .\r\n```\r\n\r\n---\r\n\r\n## Builtin Dictionaries\r\n\r\n- **Amharic**: `pynum2words.builtin_dictionaries.amharic_dictionary()`\r\n- **Arabic**: `pynum2words.builtin_dictionaries.arabic_dictionary()`\r\n- **Chinese**: `pynum2words.builtin_dictionaries.chinese_dictionary()`\r\n- **Dutch**: `pynum2words.builtin_dictionaries.dutch_dictionary()`\r\n- **English**: `pynum2words.builtin_dictionaries.english_dictionary()`\r\n- **French**: `pynum2words.builtin_dictionaries.french_dictionary()`\r\n- **German**: `pynum2words.builtin_dictionaries.german_dictionary()`\r\n- **Greek**: `pynum2words.builtin_dictionaries.greek_dictionary()`\r\n- **Hindi**: `pynum2words.builtin_dictionaries.hindi_dictionary()`\r\n- **Italian**: `pynum2words.builtin_dictionaries.italian_dictionary()`\r\n- **Japanese**: `pynum2words.builtin_dictionaries.japanese_dictionary()`\r\n- **Korean**: `pynum2words.builtin_dictionaries.korean_dictionary()`\r\n- **Portuguese**: `pynum2words.builtin_dictionaries.portuguese_dictionary()`\r\n- **Romanian**: `pynum2words.builtin_dictionaries.romanian_dictionary()`\r\n- **Russian**: `pynum2words.builtin_dictionaries.russian_dictionary()`\r\n- **Spanish**: `pynum2words.builtin_dictionaries.spanish_dictionary()`\r\n- **Swahili**: `pynum2words.builtin_dictionaries.swahili_dictionary()`\r\n- **Tigrinya**: `pynum2words.builtin_dictionaries.tigrinya_dictionary()`\r\n- **Turkish**: `pynum2words.builtin_dictionaries.turkish_dictionary()`\r\n\r\n**N.B:-** You Can Get More Language Dictionaries From [Here](https://github.com/birukbelihu/pynum2words-dictionaries)\r\n\r\nIf Your Language Is Not Listed Here You Can Create Your Own Dictionary By Following This [Guide](https://github.com/birukbelihu/pynum2words-language-packs?tab=readme-ov-file#how-to-create-a-language-dictionary)\r\n\r\n## \ud83e\udde0 Example Usage\r\n\r\n### CLI\r\n\r\n```bash\r\n# Convert number to words\r\npyn2w --number 12345\r\n# Output: Twelve Thousand Three Hundred Forty Five\r\n\r\n# Convert words to number with custom dictionary\r\npyn2w --word \"\u1201\u1208\u1275 \u1218\u1276 \u1200\u121d\u1233 \u1230\u1263\u1275 \u123a\u1205 \u12a0\u121d\u1235\u1275 \u1218\u1276 \u1230\u120b\u1233 \u1236\u1235\u1275\" --dict dictionaries/amharic.n2w\r\n# Output: 257533\r\n```\r\n\r\n### Python\r\n\r\n```python\r\nfrom pynum2words.builtin_dictionaries import amharic_dictionary, english_dictionary\r\nfrom pynum2words.pynum2words import PyNum2Words\r\n\r\n# Initialize converters for each language\r\n\r\namharic_converter = PyNum2Words(amharic_dictionary())\r\nenglish_converter = PyNum2Words(english_dictionary())\r\n\r\n# Number to words(Amharic)\r\nprint(amharic_converter.number_to_words(248914))  # Output: \u1201\u1208\u1275 \u1218\u1276 \u12a0\u122d\u1263 \u1235\u121d\u1295\u1275 \u123a\u1205 \u12d8\u1320\u129d \u1218\u1276 \u12a0\u1235\u122d \u12a0\u122b\u1275\r\n# Words to number(Amharic)\r\nprint(amharic_converter.words_to_number(\"\u1201\u1208\u1275 \u1218\u1276 \u1200\u121d\u1233 \u1230\u1263\u1275 \u123a\u1205 \u12a0\u121d\u1235\u1275 \u1218\u1276 \u1230\u120b\u1233 \u1236\u1235\u1275\"))  # Output: 257533\r\n\r\n# Number to words(English)\r\nprint(english_converter.number_to_words(49285294))  # Output: Forty Nine Million Two Hundred Eighty Five Thousand Two Hundred Ninety Four\r\n# Words to number(English)\r\nprint(english_converter.words_to_number(\"Two Hundred Forty One Thousand Eight Hundred Forty One\"))  # Output: 241841\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udce2 Social Media\r\n\r\n- \ud83d\udcfa [YouTube: @pythondevs](https://youtube.com/@pythondevs?si=_CZxaEBwDkQEj4je)\r\n\r\n---\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the **Apache License 2.0**. See the [LICENSE](LICENSE) file for details.\r\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A Python library for converting numbers to their word representation and vice versa using a built-in or custom dictionary.",
    "version": "1.2.0",
    "project_urls": {
        "Homepage": "https://github.com/birukbelihu/pynum2words",
        "Issues": "https://github.com/birukbelihu/pynum2words/issues",
        "Source": "https://github.com/birukbelihu/pynum2words"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "056799fe998ed668da80074312aef9d2b7c18932644c764f67acb90156810e6b",
                "md5": "85a2414cc444ef33a5b33026cee8b198",
                "sha256": "f954da25f47d30904f97dad85cb87e67ff2720d386b8e78e073090502dc4e2ba"
            },
            "downloads": -1,
            "filename": "pynum2words-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "85a2414cc444ef33a5b33026cee8b198",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 25333,
            "upload_time": "2025-07-11T19:41:01",
            "upload_time_iso_8601": "2025-07-11T19:41:01.016132Z",
            "url": "https://files.pythonhosted.org/packages/05/67/99fe998ed668da80074312aef9d2b7c18932644c764f67acb90156810e6b/pynum2words-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "77a0c973be805a2db08da67e5d14d421db01d2f1f94da1c133657e4dd8c42616",
                "md5": "d23f7a3fb1cfe32cbfe03a4c2ea82cc3",
                "sha256": "3b52ae486c781fdda5e0f9a6b4891479bb80878589b9e400124ecbd1dda1c5d1"
            },
            "downloads": -1,
            "filename": "pynum2words-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d23f7a3fb1cfe32cbfe03a4c2ea82cc3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 19219,
            "upload_time": "2025-07-11T19:41:02",
            "upload_time_iso_8601": "2025-07-11T19:41:02.192725Z",
            "url": "https://files.pythonhosted.org/packages/77/a0/c973be805a2db08da67e5d14d421db01d2f1f94da1c133657e4dd8c42616/pynum2words-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 19:41:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "birukbelihu",
    "github_project": "pynum2words",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "rich",
            "specs": [
                [
                    "~=",
                    "14.0.0"
                ]
            ]
        }
    ],
    "lcname": "pynum2words"
}
        
Elapsed time: 1.20297s