Name | pynum2words JSON |
Version |
1.2.0
JSON |
| download |
home_page | None |
Summary | A Python library for converting numbers to their word representation and vice versa using a built-in or custom dictionary. |
upload_time | 2025-07-11 19:41:02 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | Apache-2.0 |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
rich
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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\r\n\r\n\r\n[](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"
}