kumaoni 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kumaoni-1.0.0/LICENSE +21 -0
- kumaoni-1.0.0/PKG-INFO +463 -0
- kumaoni-1.0.0/README.md +435 -0
- kumaoni-1.0.0/kumaoni/__init__.py +329 -0
- kumaoni-1.0.0/kumaoni/cli.py +148 -0
- kumaoni-1.0.0/kumaoni/constants.py +123 -0
- kumaoni-1.0.0/kumaoni/culture/__init__.py +33 -0
- kumaoni-1.0.0/kumaoni/culture/calendar.py +29 -0
- kumaoni-1.0.0/kumaoni/culture/festivals.py +88 -0
- kumaoni-1.0.0/kumaoni/culture/literature.py +515 -0
- kumaoni-1.0.0/kumaoni/grammar/__init__.py +80 -0
- kumaoni-1.0.0/kumaoni/grammar/nouns.py +124 -0
- kumaoni-1.0.0/kumaoni/grammar/postpositions.py +108 -0
- kumaoni-1.0.0/kumaoni/grammar/pronouns.py +154 -0
- kumaoni-1.0.0/kumaoni/grammar/syntax.py +327 -0
- kumaoni-1.0.0/kumaoni/grammar/verbs.py +282 -0
- kumaoni-1.0.0/kumaoni/lexicon/__init__.py +34 -0
- kumaoni-1.0.0/kumaoni/lexicon/data/phrases.json +807 -0
- kumaoni-1.0.0/kumaoni/lexicon/data/proverbs.json +637 -0
- kumaoni-1.0.0/kumaoni/lexicon/data/riddles.json +302 -0
- kumaoni-1.0.0/kumaoni/lexicon/data/words.json +12802 -0
- kumaoni-1.0.0/kumaoni/lexicon/dictionary.py +394 -0
- kumaoni-1.0.0/kumaoni/lexicon/morphology.py +567 -0
- kumaoni-1.0.0/kumaoni/numbers/__init__.py +21 -0
- kumaoni-1.0.0/kumaoni/numbers/converter.py +261 -0
- kumaoni-1.0.0/kumaoni/phonetics.py +331 -0
- kumaoni-1.0.0/kumaoni/translator/__init__.py +21 -0
- kumaoni-1.0.0/kumaoni/translator/engine.py +152 -0
- kumaoni-1.0.0/kumaoni/translator/llm_adapter.py +154 -0
- kumaoni-1.0.0/kumaoni/translator/pivot.py +103 -0
- kumaoni-1.0.0/kumaoni/translator/rule_based.py +645 -0
- kumaoni-1.0.0/kumaoni/voice/__init__.py +18 -0
- kumaoni-1.0.0/kumaoni/voice/engine.py +280 -0
- kumaoni-1.0.0/kumaoni/voice/synthesizer.py +159 -0
- kumaoni-1.0.0/kumaoni/web/app.py +181 -0
- kumaoni-1.0.0/kumaoni/web/static/app.js +703 -0
- kumaoni-1.0.0/kumaoni/web/static/index.html +524 -0
- kumaoni-1.0.0/kumaoni/web/static/style.css +1396 -0
- kumaoni-1.0.0/kumaoni.egg-info/PKG-INFO +463 -0
- kumaoni-1.0.0/kumaoni.egg-info/SOURCES.txt +51 -0
- kumaoni-1.0.0/kumaoni.egg-info/dependency_links.txt +1 -0
- kumaoni-1.0.0/kumaoni.egg-info/top_level.txt +1 -0
- kumaoni-1.0.0/pyproject.toml +30 -0
- kumaoni-1.0.0/setup.cfg +4 -0
- kumaoni-1.0.0/setup.py +41 -0
- kumaoni-1.0.0/tests/test_culture.py +106 -0
- kumaoni-1.0.0/tests/test_grammar.py +141 -0
- kumaoni-1.0.0/tests/test_lexicon.py +41 -0
- kumaoni-1.0.0/tests/test_morphology.py +64 -0
- kumaoni-1.0.0/tests/test_numbers.py +37 -0
- kumaoni-1.0.0/tests/test_phonetics.py +33 -0
- kumaoni-1.0.0/tests/test_translator.py +176 -0
- kumaoni-1.0.0/tests/test_voice.py +55 -0
kumaoni-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Akshat Singh Bisht
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
kumaoni-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: kumaoni
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Kumaoni (कुमाऊँनी) Language Standard Library: 300,516+ Inflections, Voice AI, Speech Translation, and Himalayan Culture
|
|
5
|
+
Home-page: https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library
|
|
6
|
+
Author: Akshat Singh Bisht
|
|
7
|
+
Author-email: Akshat Singh Bisht <infoakshatsinghbisht@gmail.com>
|
|
8
|
+
Maintainer: Akshat Singh Bisht
|
|
9
|
+
Maintainer-email: Akshat Singh Bisht <infoakshatsinghbisht@gmail.com>
|
|
10
|
+
Project-URL: Homepage, https://akshatsinghbisht.com/
|
|
11
|
+
Project-URL: GitHub, https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library
|
|
12
|
+
Project-URL: LinkedIn, https://www.linkedin.com/in/akshat-singh-bisht-digital-performance-marketing-specialist/
|
|
13
|
+
Project-URL: Amazon Author, https://www.amazon.com/stores/Akshat-Singh-Bisht/author/B0D5TYDT28
|
|
14
|
+
Project-URL: ResearchGate, https://www.researchgate.net/profile/Akshat-Bisht-8
|
|
15
|
+
Project-URL: Bug Tracker, https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library/issues
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Topic :: Text Processing :: Linguistic
|
|
20
|
+
Requires-Python: >=3.8
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Dynamic: author
|
|
24
|
+
Dynamic: home-page
|
|
25
|
+
Dynamic: license-file
|
|
26
|
+
Dynamic: maintainer
|
|
27
|
+
Dynamic: requires-python
|
|
28
|
+
|
|
29
|
+
# Kumaoni (कुमाऊँनी) Language Library for Python
|
|
30
|
+
|
|
31
|
+
[](https://akshatsinghbisht.com/)
|
|
32
|
+
[](https://akshatsinghbisht.com/)
|
|
33
|
+
[](https://www.linkedin.com/in/akshat-singh-bisht-digital-performance-marketing-specialist/)
|
|
34
|
+
[](https://www.researchgate.net/profile/Akshat-Bisht-8)
|
|
35
|
+
[](https://www.amazon.com/stores/Akshat-Singh-Bisht/author/B0D5TYDT28?ref=sr_ntt_srch_lnk_1&qid=1789906571&sr=8-1&shoppingPortalEnabled=true)
|
|
36
|
+
[](https://github.com/infoakshatsinghbisht-eng)
|
|
37
|
+
[](https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library)
|
|
38
|
+
[](LICENSE)
|
|
39
|
+
|
|
40
|
+
A standard-library-style Python package for the **Kumaoni language** (कुमाऊँनी / Central Pahari). Designed to be as simple, fast, and comprehensive for Kumaoni as Python's built-in `math` library is for mathematics.
|
|
41
|
+
|
|
42
|
+
This library empowers developers to build **web applications, mobile apps, educational tools, chatbots**, and perform **universal translation from any language of the world into Kumaoni**.
|
|
43
|
+
|
|
44
|
+
> 📖 **Full Reference Manual**: Check out [DOCUMENTATION.md](file:///c:/Users/digit_lgfi273/OneDrive/Desktop/kumaoni%20language%20library/DOCUMENTATION.md) for the exhaustive guide, complete API references, grammatical rules, and application recipes.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 🌟 Key Features
|
|
49
|
+
|
|
50
|
+
1. **Universal Multi-Language Translator**
|
|
51
|
+
- Translate from **any world language** (English, French, Spanish, German, Japanese, Russian, Arabic, Hindi, Bengali, etc.) into Kumaoni.
|
|
52
|
+
- Multi-tiered architecture: Offline rule-based engine + Zero-key universal world language bridge + Neural AI adapter (Gemini / OpenAI).
|
|
53
|
+
|
|
54
|
+
2. **Morphological Verb Conjugation Engine**
|
|
55
|
+
- Automatically conjugates regular and irregular Kumaoni verbs (e.g., `खाण` to eat, `जाण` to go, `करन` to do).
|
|
56
|
+
- Handles tenses (Present, Past, Future, Continuous), person (1st, 2nd, 3rd), gender (Masculine/Feminine), and honorific forms.
|
|
57
|
+
- Auxiliary substantive verb (`छ-` / to be) conjugation.
|
|
58
|
+
|
|
59
|
+
3. **Kumaoni Numbers & Numerals**
|
|
60
|
+
- Converts any integer (0 to 1,000,000,000+) to Kumaoni words in Devanagari or Romanized script.
|
|
61
|
+
- Converts Kumaoni words back to numbers.
|
|
62
|
+
- Supports ordinals (1st `पैलो`, 2nd `दुसर`, 3rd `तेसर`...), customary fractions (`आधो`, `पाव`, `पौण`, `सवा`, `डेढ़`), and Devanagari numerals (`०१२३४५६७८९`).
|
|
63
|
+
|
|
64
|
+
4. **100,000+ Words Morphological Paradigm Engine & Lemmatizer**
|
|
65
|
+
- Synthesizes and indexes **300,000+ unique authenticated Kumaoni word forms** across verbal paradigms (Present, Past, Future, Continuous, Imperatives, Causatives, Participles, Agentives), nominal declensions (Direct, Plural, Oblique, Case postpositions bound/spaced, Diminutives, Echo words), and adjectival agreements.
|
|
66
|
+
- Sub-millisecond `kumaoni.lemmatize()` and `kumaoni.analyze()` for inflected surface forms.
|
|
67
|
+
- Seamless dictionary lookups: querying inflected forms like `खान्छू`, `ग्यूँ`, `ईजा कणी`, or `घरबटि` resolves directly to their base lemmas and definitions.
|
|
68
|
+
|
|
69
|
+
5. **Rich Lexicon & Dictionary (1,355+ Authenticated Base Lemmas)**
|
|
70
|
+
- Search across Kumaoni, English, and Hindi.
|
|
71
|
+
- Comprehensive vocabulary sourced from Grierson's *Linguistic Survey of India (Vol. IX, Part IV)*, Badri Datt Pande's *Kumaun ka Itihas (1937)*, Edwin T. Atkinson's *Himalayan Gazetteer*, Pt. Ganga Datt Upreti's *Hill Dialects of the Kumaun Division (1900)* & *Proverbs & Folklore of Kumaun (1894)*, Dr. Trilochan Pandey's *Kumaoni Bhasha Aur Sahitya (1977)* & *Kumaoni Lok-Sahitya ki Prushthbhoomi*, Dr. Gunanand Juyal's *Madhya Pahadi Bhasha (1967)*, and Hem Pant's *Ghughuti Basuti (2022)*.
|
|
72
|
+
- Categorized by historical governance & land tenure (`बूढ़ा`, `स्याणा`, `कामीन`, `थोकदार`, `थातवान`, `खायकर`, `सिरतान`, `गूठ`, `रौत`, `सिरती`, `बैकर`, `कटक`), shamanic & sacred rituals (`जागरिया`, `डांगरिया`, `थात`, `डौँर`, `हुड़का`, `आंछरी`, `मसाण`), alpine pastoralism & high valleys (`छानि`, `खर्क`, `बुग्याल`, `शौका`, `रंग-भंग`, `झूलाघाट`, `लाप्चा`, `हुणिया`, `पिरुल`, `लिसो`), seasonal dynamics & climate (`ह्यूंद`, `रूड़ि`, `चौमास`, `बशगाल`, `शरद`, `ब्वार`, `तुसार`, `कुइड़ो`), traditional cuisine, handicrafts & textiles (`थुलमा`, `चुटका`, `पंखी`, `दन`), and traditional measurements.
|
|
73
|
+
- Phonetic Latin transliteration and Devanagari script normalization.
|
|
74
|
+
|
|
75
|
+
6. **Cultural Treasury (अखाण, आणा, लोकगीत, महागाथा & साहित्य)**
|
|
76
|
+
- **45+ Authentic Proverbs (*Akhaan*)**: Sourced from Pt. Ganga Datt Upreti's foundational compilation, Badri Datt Pande, Dr. Trilochan Pandey, and living hill tradition with literal, figurative, and parallel interpretations.
|
|
77
|
+
- **75+ Authentic Conversational & Folk Phrases**: Traditional greetings, blessings (`जीरये जागि रये`), lullabies, travel advice, and everyday idioms.
|
|
78
|
+
- **20+ Traditional Riddles (*Aan / Aana*)**: Engaging folk puzzles with hints and cultural context.
|
|
79
|
+
- **6 Monumental Folk Epics & Ballads**: *Malushahi-Rajula*, *Ajuva Bafaul ki Bhad*, *Golu Devta Jagar*, *Jiya Rani ki Gatha* (The Warrior Queen of Katyur), *Veer Balak Haru Singh Heet*, and *Amar Gopichand Yogi*.
|
|
80
|
+
- **6 Canonical Folk Poems & Songs**: *Bedu Pako Baro Masa*, *Malushahi Geet*, *Nyoli Lokgeet*, *Kalyug Varnan*, *Bajyaani Ka Dhur*, and *Ghughuti Basuti* (Traditional Lullaby & Nursery Rhymes).
|
|
81
|
+
- **15+ Canonical Authors & Scholars**: Profiles and canonical works for Badri Datt Pande (*Kumaun ka Itihas*), Gumani Pant, Gaurda, Krishna Pandey (*Kalyug Varnan*), Pt. Ganga Datt Upreti (*Proverbs & Folklore*, *Hill Dialects*), Dr. Trilochan Pandey (*Kumaoni Bhasha aur Uska Sahitya*), Dr. Gunanand Juyal (*Madhya Pahadi Bhasha*), Thakur Dewan Singh Bisht (*Deewani Vinod*), Chintamani Paliwal (*Kumaun ke Samrat*), Dr. Pramila Joshi (*Bajyaani Ka Dhur*), Girish Tiwari 'Girda', Heera Singh Rana, Kabootari Devi, Mohan Upreti, and Dr. Charu Chandra Pande.
|
|
82
|
+
- **Festivals & Almanac**: Traditional festivals (*Harela*, *Phool Dei*, *Ghughutiya*, *Olgia*, *Nanda Devi*, *Saatu-Aathu*, *Bhitauli*, *Khataduva*, *Bagwal*) and Kumaoni solar calendar months and seasons.
|
|
83
|
+
|
|
84
|
+
7. **Interactive Developer Playground & CLI**
|
|
85
|
+
- Built-in command line interface (`kumaoni translate`, `kumaoni lookup`, `kumaoni number`).
|
|
86
|
+
- Modern glassmorphism web playground running locally with zero dependencies.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 🚀 Installation
|
|
91
|
+
|
|
92
|
+
Install via pip directly from PyPI:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pip install kumaoni
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Or install from GitHub source in development mode:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
git clone https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library.git
|
|
102
|
+
cd kumaoni-language-library
|
|
103
|
+
pip install -e .
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 📖 Quickstart Guide
|
|
109
|
+
|
|
110
|
+
### 1. Universal Translation
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
import kumaoni
|
|
114
|
+
|
|
115
|
+
# Translate from English to Kumaoni
|
|
116
|
+
result = kumaoni.translate("Where is the hospital?", source="en")
|
|
117
|
+
print(result) # Output: अस्पताल कतुक दूर छ?
|
|
118
|
+
print(result.romanized) # Output: Aspataal katuk door chha?
|
|
119
|
+
|
|
120
|
+
# Translate from any world language (e.g., French, Spanish, Hindi)
|
|
121
|
+
fr_result = kumaoni.translate("Comment allez-vous?", source="fr")
|
|
122
|
+
print(fr_result) # Output: कस छू तुम?
|
|
123
|
+
|
|
124
|
+
hi_result = kumaoni.translate("मुझे पानी चाहिए।", source="hi")
|
|
125
|
+
print(hi_result) # Output: मैंकणी पाणि चाही।
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 2. Verb Conjugator
|
|
129
|
+
|
|
130
|
+
```python
|
|
131
|
+
import kumaoni
|
|
132
|
+
from kumaoni.constants import Tense, Gender
|
|
133
|
+
|
|
134
|
+
# Conjugate 'जाण' (to go) in the past tense for 1st person
|
|
135
|
+
past_form = kumaoni.conjugate("जाण", tense=Tense.PAST, person=1, gender=Gender.MASCULINE)
|
|
136
|
+
print(past_form) # Output: 'ग्यूँ' (I went)
|
|
137
|
+
|
|
138
|
+
# Conjugate 'खाण' (to eat) in the future tense
|
|
139
|
+
future_form = kumaoni.conjugate("खाण", tense=Tense.FUTURE, person=1)
|
|
140
|
+
print(future_form) # Output: 'खालूँ' (I will eat)
|
|
141
|
+
|
|
142
|
+
# Auxiliary verb 'to be' (छ-)
|
|
143
|
+
is_form = kumaoni.conjugate_to_be(tense=Tense.PRESENT, person=3)
|
|
144
|
+
print(is_form) # Output: 'छ' (is)
|
|
145
|
+
|
|
146
|
+
# Morphological Participles & Agent Nouns
|
|
147
|
+
print(kumaoni.conjunctive_participle("खाण")) # 'खाईबेर' (having eaten)
|
|
148
|
+
print(kumaoni.agent_noun("गाण")) # 'गाण्या' (singer)
|
|
149
|
+
print(kumaoni.imperative("औण", polite=True)) # 'आया' (please come)
|
|
150
|
+
|
|
151
|
+
# Causatives & Compound Verbs
|
|
152
|
+
print(kumaoni.causative("करण", degree=1)) # 'करौण' (to make someone do)
|
|
153
|
+
print(kumaoni.causative("खाण", degree=1)) # 'खिलाण' (to feed)
|
|
154
|
+
print(kumaoni.compound_verb("खाण", "हाल्ण")) # 'खाईहाल्ण' (to eat up completely)
|
|
155
|
+
|
|
156
|
+
# Passive & Medio-Passive (Inability with -बटि)
|
|
157
|
+
print(kumaoni.passive("करण")) # 'कर्यो जान्छ' (is done)
|
|
158
|
+
print(kumaoni.medio_passive_inability("मैं", "हिंण")) # 'मैंबटि हिंड्यो नी जाँछ।'
|
|
159
|
+
|
|
160
|
+
# SOV Sentence Builder & Conditionals
|
|
161
|
+
sent = kumaoni.build_sentence(subject="राम", direct_object="भात", verb="खाण")
|
|
162
|
+
print(sent) # 'राम भात खान्छ।'
|
|
163
|
+
|
|
164
|
+
cond = kumaoni.conditional("बरखा होली", "हम घर म रौला")
|
|
165
|
+
print(cond) # 'जै बरखा होली, त हम घर म रौला।'
|
|
166
|
+
|
|
167
|
+
# Relative-Correlative Clauses (सम्बन्धवाचक रचना)
|
|
168
|
+
print(kumaoni.relative_correlative("मेहनत करलो", "फल पालो", marker_type="who"))
|
|
169
|
+
# Output: 'जो मेहनत करलो, सो फल पालो।'
|
|
170
|
+
|
|
171
|
+
# Prohibitive Commands (निषेधात्मक आज्ञा - झनि)
|
|
172
|
+
print(kumaoni.prohibitive("जाण", polite=True)) # 'झनि जाया' (Please do not go)
|
|
173
|
+
print(kumaoni.prohibitive("रोण", polite=True)) # 'झनि रोया' (Please don't cry)
|
|
174
|
+
|
|
175
|
+
# Modals: Ability, Obligation, and Desideratives
|
|
176
|
+
print(kumaoni.modal_ability("मैं", "हिंण")) # 'मैं हिंडि सकन्छू।' (I can walk)
|
|
177
|
+
print(kumaoni.modal_obligation("तुम", "काम करण")) # 'तुमकणी काम करण चाही।' (You should work)
|
|
178
|
+
print(kumaoni.modal_obligation("मैं", "जाण", strong=True)) # 'मैंकणी जाण पडलो।' (I will have to go)
|
|
179
|
+
print(kumaoni.modal_desiderative("मैं", "भात खाण")) # 'मैं भात खाण चान्छू।' (I want to eat food)
|
|
180
|
+
|
|
181
|
+
# Interrogative Questions (प्रश्नवाचक रचना)
|
|
182
|
+
print(kumaoni.interrogative_sentence("कहाँ", subject="अस्पताल")) # 'अस्पताल कहाँ छ?'
|
|
183
|
+
print(kumaoni.interrogative_sentence("क्या", subject="तुमार नाम")) # 'तुमार नाम क्या छ?'
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
### 3. Numbers & Devanagari Numerals
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
import kumaoni
|
|
191
|
+
|
|
192
|
+
# Integer to Kumaoni words
|
|
193
|
+
print(kumaoni.num_to_words(42)) # 'बयालीस'
|
|
194
|
+
print(kumaoni.num_to_words(108, script="latin")) # 'ek sau aath'
|
|
195
|
+
|
|
196
|
+
# Ordinals & fractions
|
|
197
|
+
print(kumaoni.ordinal(1)) # 'पैलो' (1st)
|
|
198
|
+
print(kumaoni.ordinal(2)) # 'दुसर' (2nd)
|
|
199
|
+
print(kumaoni.fraction(1, 2)) # 'आधो' (half)
|
|
200
|
+
|
|
201
|
+
# Devanagari numerals
|
|
202
|
+
print(kumaoni.to_devanagari_numerals(2026)) # '२०२६'
|
|
203
|
+
print(kumaoni.from_devanagari_numerals("२०२६")) # 2026
|
|
204
|
+
|
|
205
|
+
# Words back to numbers
|
|
206
|
+
print(kumaoni.words_to_num("बयालीस")) # 42
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 4. Dictionary & Lexicon Search
|
|
210
|
+
|
|
211
|
+
```python
|
|
212
|
+
import kumaoni
|
|
213
|
+
|
|
214
|
+
# Exact lookup
|
|
215
|
+
word = kumaoni.lookup("ईजा")
|
|
216
|
+
print(f"{word.kumaoni} -> {word.english} ({word.hindi})")
|
|
217
|
+
# Output: 'ईजा -> mother (माँ)'
|
|
218
|
+
|
|
219
|
+
# Cross-language search
|
|
220
|
+
results = kumaoni.search("water")
|
|
221
|
+
for w in results:
|
|
222
|
+
print(f"{w.kumaoni} ({w.roman}): {w.english}")
|
|
223
|
+
# Output: 'पाणि (paani): water'
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### 5. Morphological Lemmatizer & Analyzer (200,000+ Words)
|
|
227
|
+
|
|
228
|
+
```python
|
|
229
|
+
import kumaoni
|
|
230
|
+
|
|
231
|
+
# Check total synthesized and indexed full-form vocabulary
|
|
232
|
+
print(kumaoni.total_word_forms()) # Output: 300,516+ words
|
|
233
|
+
|
|
234
|
+
# Lemmatize inflected verb forms, case-marked nouns, or postpositions
|
|
235
|
+
print(kumaoni.lemmatize("खान्छू")) # 'खाण' (to eat)
|
|
236
|
+
print(kumaoni.lemmatize("जाँला")) # 'जाण' (to go)
|
|
237
|
+
print(kumaoni.lemmatize("घरबटि")) # 'घर' (house)
|
|
238
|
+
print(kumaoni.lemmatize("ईजा कणी")) # 'ईजा' (mother)
|
|
239
|
+
|
|
240
|
+
# Deep morphological analysis (extracts tense, person, case, number, lemma)
|
|
241
|
+
analyses = kumaoni.analyze("खान्छू")
|
|
242
|
+
for a in analyses:
|
|
243
|
+
print(f"Lemma: {a.lemma}, POS: {a.pos}, Tense: {a.tense}, Person: {a.person}, Number: {a.number}")
|
|
244
|
+
# Output: Lemma: खाण, POS: verb_finite, Tense: present, Person: 1, Number: sg
|
|
245
|
+
|
|
246
|
+
# Seamless dictionary lookup on inflected words
|
|
247
|
+
w = kumaoni.lookup("खान्छू")
|
|
248
|
+
print(f"Resolved to: {w.kumaoni} -> {w.english}") # Resolved to: खाण -> to eat
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### 6. Script & Phonetics
|
|
252
|
+
|
|
253
|
+
```python
|
|
254
|
+
import kumaoni
|
|
255
|
+
|
|
256
|
+
# Transliterate English phonetics to Devanagari
|
|
257
|
+
print(kumaoni.transliterate("Jai Dev, dajyu kas chou?", to_script="devanagari"))
|
|
258
|
+
# Output: 'जय देव, दाज्यू कस छौ?'
|
|
259
|
+
|
|
260
|
+
# Transliterate Devanagari to Romanized
|
|
261
|
+
print(kumaoni.transliterate("पैलाग भुली", to_script="latin"))
|
|
262
|
+
# Output: 'pailag bhuli'
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 7. Cultural Heritage, Literature & Folklore
|
|
266
|
+
|
|
267
|
+
```python
|
|
268
|
+
import kumaoni
|
|
269
|
+
|
|
270
|
+
# Access Folk Epics (Pauwada / Bhad)
|
|
271
|
+
malushahi = kumaoni.literature.get_epic("malushahi")
|
|
272
|
+
print(malushahi.title_kumaoni) # 'राजुला मालूशाही'
|
|
273
|
+
print(malushahi.synopsis)
|
|
274
|
+
|
|
275
|
+
# Explore Traditional Valley Poetry (Nyoli / Jhora)
|
|
276
|
+
bedu_pako = kumaoni.literature.poems()[0]
|
|
277
|
+
print(bedu_pako.title_kumaoni) # 'बेड़ू पाको बारह मासा'
|
|
278
|
+
print(bedu_pako.verses_kumaoni[0]) # 'बेड़ू पाको बारह मासा, ओ नरण काफल पाको चैत, मेरी छैला!'
|
|
279
|
+
|
|
280
|
+
# Canonical Kumaoni Authors & Poets (Gumani Pant, Gaurda, Dr. Charu Chandra Pande)
|
|
281
|
+
gumani = kumaoni.literature.get_author("gumani_pant")
|
|
282
|
+
print(f"{gumani.name_kumaoni} ({gumani.era}): {gumani.significance}")
|
|
283
|
+
|
|
284
|
+
# Random proverb (Akhaan) & riddle (Aana)
|
|
285
|
+
proverb = kumaoni.proverbs.random()
|
|
286
|
+
print("Akhaan:", proverb["kumaoni"], "->", proverb["figurative_meaning"])
|
|
287
|
+
|
|
288
|
+
riddle = kumaoni.riddles.random()
|
|
289
|
+
print("Aana:", riddle["riddle"], "-> Answer:", riddle["answer_kumaoni"])
|
|
290
|
+
|
|
291
|
+
# Traditional Kumaoni festival information
|
|
292
|
+
harela = kumaoni.festivals.get("harela")
|
|
293
|
+
print(harela.description)
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## 📋 Comprehensive API Function Reference
|
|
299
|
+
|
|
300
|
+
All key functions are directly accessible via `import kumaoni`:
|
|
301
|
+
|
|
302
|
+
| Category | Function / Property | Description |
|
|
303
|
+
|---|---|---|
|
|
304
|
+
| **Translation** | `kumaoni.translate(text, source='en', target='kumaoni')` | Translate from 100+ world languages into Kumaoni. |
|
|
305
|
+
| **Voice & Speech** | `kumaoni.voice_translate(text, ...)` | Voice translation pipeline (text + IPA phonetic script + audio). |
|
|
306
|
+
| | `kumaoni.voice.phrases()` | Get categorized authentic conversational phrases. |
|
|
307
|
+
| **Dictionary & Search** | `kumaoni.lookup(word)` | Search base dictionary definitions (Kumaoni, Hindi, English). |
|
|
308
|
+
| | `kumaoni.search(query)` | Multi-result search in vocabulary database. |
|
|
309
|
+
| **Morphology (300k+ Forms)** | `kumaoni.lemmatize(word)` | Reduces inflected forms (`खान्छू`, `घरबटि`) to base dictionary lemma. |
|
|
310
|
+
| | `kumaoni.analyze(word)` | Deep grammatical analysis (POS, tense, case, gender, person). |
|
|
311
|
+
| | `kumaoni.total_word_forms()` | Count of indexed morphological forms (300,000+). |
|
|
312
|
+
| **Verb Conjugation** | `kumaoni.conjugate(verb, tense, person, ...)` | Conjugates verbs across Present, Past, Future, Continuous. |
|
|
313
|
+
| | `kumaoni.conjugate_to_be(tense, person, ...)`| Conjugates auxiliary substantive verb (`छ-` / to be). |
|
|
314
|
+
| | `kumaoni.imperative(verb, honorific=...)` | Forms imperative commands (`खा`, `खाओ`, `खाइये`). |
|
|
315
|
+
| | `kumaoni.causative(verb, degree=1)` | Forms 1st and 2nd degree causative verbs (`खवाण`, `खववाण`). |
|
|
316
|
+
| | `kumaoni.passive(verb, tense=...)` | Forms passive voice constructions. |
|
|
317
|
+
| | `kumaoni.conjunctive_participle(verb)` | Conjunctive participle 'having done' (`खाईकन`, `जाईकन`). |
|
|
318
|
+
| | `kumaoni.agent_noun(verb)` | Agentive noun 'the one who does' (`खन्या`, `जन्या`). |
|
|
319
|
+
| | `kumaoni.compound_verb(main, vector, ...)` | Aspectual compound verbs (`खा ल्हियो`). |
|
|
320
|
+
| | `kumaoni.prohibitive(verb, honorific=...)` | Negative prohibitive commands (`झन् खा`). |
|
|
321
|
+
| | `kumaoni.modal_ability(verb, subject=...)` | Modal ability 'can do' (`सकण`). |
|
|
322
|
+
| | `kumaoni.modal_obligation(verb, subject=...)`| Modal obligation 'must / should do' (`पड़ण`). |
|
|
323
|
+
| | `kumaoni.modal_desiderative(verb, ...)` | Modal desiderative 'wants to do' (`चाण`). |
|
|
324
|
+
| **Grammar & Syntax** | `kumaoni.build_sentence(sub, verb, obj, ...)`| Generates grammatically aligned SOV sentences. |
|
|
325
|
+
| | `kumaoni.conditional(cond, conseq)` | Conditional sentences (`अगर... तब...`). |
|
|
326
|
+
| | `kumaoni.relative_correlative(rel, corr)` | Relative-correlative clauses (`जो... सो...`). |
|
|
327
|
+
| | `kumaoni.interrogative_sentence(sub, ...)` | Question sentences (`कहाँ`, `कबे`, `क्योँ`, `को`). |
|
|
328
|
+
| | `kumaoni.echo_word(word)` | Reduplicative echo words (`भात-व़ात`, `किताब-सिताब`). |
|
|
329
|
+
| **Nouns & Declension** | `kumaoni.pluralize(noun, gender=...)` | Pluralizes nouns by declension class. |
|
|
330
|
+
| | `kumaoni.decline_noun(noun, case, ...)` | Declines nouns into grammatical cases. |
|
|
331
|
+
| | `kumaoni.to_oblique(noun, ...)` | Oblique stem for postpositions. |
|
|
332
|
+
| | `kumaoni.attach_case(noun, case, ...)` | Attaches vibhakti case markers to noun. |
|
|
333
|
+
| | `kumaoni.get_marker(case)` | Returns case marker postposition (`-ले`, `-कणी`, `-बटि`, `-म`). |
|
|
334
|
+
| | `kumaoni.get_pronoun(person, case, ...)` | Resolves personal pronouns across cases. |
|
|
335
|
+
| | `kumaoni.to_feminine(word)` / `to_masculine` | Converts gender forms of nouns/adjectives. |
|
|
336
|
+
| | `kumaoni.make_diminutive(noun)` | Diminutive affection forms (`गाड़` ➔ `गड्यूल`). |
|
|
337
|
+
| **Numbers & Fractions** | `kumaoni.num_to_words(number)` | Integer to Kumaoni words (`108` ➔ `'एक सौ आठ'`). |
|
|
338
|
+
| | `kumaoni.words_to_num(words)` | Kumaoni number words to integer. |
|
|
339
|
+
| | `kumaoni.to_devanagari_numerals(n)` | Converts number to Devanagari numerals (`२०२६`). |
|
|
340
|
+
| | `kumaoni.from_devanagari_numerals(s)` | Devanagari numerals back to integer. |
|
|
341
|
+
| | `kumaoni.ordinal(n)` | Ordinals (`पैलो`, `दुसर`, `तेसर`, `चौथ`). |
|
|
342
|
+
| | `kumaoni.fraction(val)` | Fractions (`आधो`, `पाव`, `सवा`, `डेढ़`, `ढाई`). |
|
|
343
|
+
| **Phonetics & Script** | `kumaoni.transliterate(text, to_script=...)`| Two-way Devanagari ↔ Latin/Roman transliteration. |
|
|
344
|
+
| | `kumaoni.devanagari_to_latin(text)` | Transliterates Devanagari into Latin phonetic script. |
|
|
345
|
+
| | `kumaoni.latin_to_devanagari(text)` | Converts Romanized Kumaoni input to Devanagari. |
|
|
346
|
+
| | `kumaoni.normalize(text)` | Normalizes Devanagari diacritics and nuktas. |
|
|
347
|
+
| | `kumaoni.detect_script(text)` | Detects `'devanagari'`, `'latin'`, or `'mixed'`. |
|
|
348
|
+
| | `kumaoni.tokenize(text)` / `syllables(text)`| Tokenizes words and splits phonetic syllables. |
|
|
349
|
+
| **Culture & Literature** | `kumaoni.proverbs.all()` / `.random()` | 45+ Proverbs (*Akhaan*) with literal & cultural meanings. |
|
|
350
|
+
| | `kumaoni.riddles.all()` / `.random()` | 20+ Traditional Riddles (*Aana*) with hints & answers. |
|
|
351
|
+
| | `kumaoni.phrases.all()` / `.random()` | 75+ Conversational phrases, idioms & blessings. |
|
|
352
|
+
| | `kumaoni.festivals.list()` / `.get(name)` | Festivals (*Harela*, *Phool Dei*, *Ghughutiya*, *Nanda Devi*). |
|
|
353
|
+
| | `kumaoni.literature.epics()` / `.get_epic(id)`| 6 Folk Epics (*Malushahi-Rajula*, *Jiya Rani*, *Golu Devta*). |
|
|
354
|
+
| | `kumaoni.literature.poems()` | Canonical Kumaoni poems & folk songs. |
|
|
355
|
+
| | `kumaoni.literature.authors()` / `.get_author(id)` | Biographies of 15+ canonical scholars & poets. |
|
|
356
|
+
| | `kumaoni.get_months()` / `get_seasons()` | Kumaoni solar calendar months & 6 traditional seasons. |
|
|
357
|
+
| | `kumaoni.get_current_season()` | Calculates active season for today's date. |
|
|
358
|
+
|
|
359
|
+
For exhaustive explanations and parameter details, see [DOCUMENTATION.md](file:///c:/Users/digit_lgfi273/OneDrive/Desktop/kumaoni%20language%20library/DOCUMENTATION.md).
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## 💻 Command-Line Interface (CLI)
|
|
364
|
+
|
|
365
|
+
The library provides a CLI tool `kumaoni`:
|
|
366
|
+
|
|
367
|
+
```bash
|
|
368
|
+
# Translate text
|
|
369
|
+
kumaoni translate "Where does this road go?" --source en
|
|
370
|
+
|
|
371
|
+
# Dictionary lookup
|
|
372
|
+
kumaoni lookup "काफल"
|
|
373
|
+
kumaoni lookup "पिछौड़ा"
|
|
374
|
+
|
|
375
|
+
# Number to words
|
|
376
|
+
kumaoni number 108
|
|
377
|
+
|
|
378
|
+
# Verb conjugation
|
|
379
|
+
kumaoni conjugate "जाण" --tense past --person 1
|
|
380
|
+
|
|
381
|
+
# Random proverb / riddle
|
|
382
|
+
kumaoni proverb
|
|
383
|
+
kumaoni riddle
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## 🖥️ Interactive Web Playground
|
|
389
|
+
|
|
390
|
+
Launch the interactive local web playground to test translation and explore the language in a browser:
|
|
391
|
+
|
|
392
|
+
```bash
|
|
393
|
+
python -m kumaoni.web.app 8080
|
|
394
|
+
```
|
|
395
|
+
Open [http://localhost:8080](http://localhost:8080) in your browser.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## 📂 Project Architecture
|
|
400
|
+
|
|
401
|
+
```
|
|
402
|
+
kumaoni/
|
|
403
|
+
├── __init__.py # Unified top-level namespace (kumaoni.translate, literature, etc.)
|
|
404
|
+
├── constants.py # Dialects, grammatical constants, solar calendar
|
|
405
|
+
├── phonetics.py # Script transliteration, Devanagari normalizer
|
|
406
|
+
├── grammar/
|
|
407
|
+
│ ├── verbs.py # Verb root extraction & conjugation engine
|
|
408
|
+
│ ├── nouns.py # Noun morphology, pluralization, case declensions
|
|
409
|
+
│ ├── pronouns.py # Pronoun tables across person, number, and case
|
|
410
|
+
│ └── postpositions.py # Karaka markers (-ले, -कणी, -बटि, -म, etc.)
|
|
411
|
+
├── numbers/
|
|
412
|
+
│ └── converter.py # Integer to words, ordinals, fractions, numerals
|
|
413
|
+
├── lexicon/
|
|
414
|
+
│ ├── dictionary.py # Fast search across Devanagari, English, and Hindi
|
|
415
|
+
│ └── data/ # Curated JSON datasets (370+ words, phrases, Akhaan, Aana)
|
|
416
|
+
├── translator/
|
|
417
|
+
│ ├── engine.py # Unified translation orchestrator
|
|
418
|
+
│ ├── rule_based.py # Rule-based linguistic transfer & dialogue patterns
|
|
419
|
+
│ ├── pivot.py # Universal multi-language bridge (Any Language -> Kumaoni)
|
|
420
|
+
│ └── llm_adapter.py # Native Gemini/OpenAI neural integration
|
|
421
|
+
├── culture/
|
|
422
|
+
│ ├── festivals.py # Cultural documentation (Harela, Phooldei, etc.)
|
|
423
|
+
│ ├── calendar.py # Kumaoni solar months & seasons
|
|
424
|
+
│ └── literature.py # Folk Epics (Malushahi, Bafaul), Nyoli, Jhora, Authors
|
|
425
|
+
├── cli.py # Command-line interface
|
|
426
|
+
└── web/ # Interactive developer playground
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## 📚 Data Sources & Acknowledgments
|
|
432
|
+
|
|
433
|
+
This library synthesizes datasets and oral cultural heritage from:
|
|
434
|
+
- **eUttaranchal** (*Learn Kumaoni* linguistic lessons 1–3)
|
|
435
|
+
- **SpeakKumaoni** & **PahadiLingo** (Himalayan vocabulary & phonetic guides)
|
|
436
|
+
- **Kumauni Archives** & **Kumauni Culture** (Oral literature, e-books, e-magazines)
|
|
437
|
+
- **Linguistic Research**: Works of Dr. D.D. Sharma (*Linguistic Geography of Kumaun Himalayas*), Dr. Charu Chandra Pande, G.A. Grierson (*LSI*), Saraswati Kohli (*Kumaoni Kahavatein*), Gumani Pant, and Gaurda.
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## 📜 License
|
|
442
|
+
|
|
443
|
+
MIT License © 2026 Kumaoni Language Initiative. Open-source and free for all developers, linguists, and researchers.
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## 👤 Author & Creator Profile
|
|
448
|
+
|
|
449
|
+
* **Creator & Author**: **Akshat Singh Bisht**
|
|
450
|
+
* **Official Website**: [https://akshatsinghbisht.com/](https://akshatsinghbisht.com/)
|
|
451
|
+
* **Email**: [infoakshatsinghbisht@gmail.com](mailto:infoakshatsinghbisht@gmail.com)
|
|
452
|
+
* **LinkedIn**: [Akshat Singh Bisht on LinkedIn](https://www.linkedin.com/in/akshat-singh-bisht-digital-performance-marketing-specialist/)
|
|
453
|
+
* **Amazon Author Profile**: [Akshat Singh Bisht on Amazon](https://www.amazon.com/stores/Akshat-Singh-Bisht/author/B0D5TYDT28?ref=sr_ntt_srch_lnk_1&qid=1789906571&sr=8-1&shoppingPortalEnabled=true)
|
|
454
|
+
* **ResearchGate**: [Akshat Bisht on ResearchGate](https://www.researchgate.net/profile/Akshat-Bisht-8)
|
|
455
|
+
* **GitHub**: [@infoakshatsinghbisht-eng](https://github.com/infoakshatsinghbisht-eng)
|
|
456
|
+
* **Kumaoni Repository**: [https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library](https://github.com/infoakshatsinghbisht-eng/kumaoni-language-library)
|
|
457
|
+
* **Garhwali Repository**: [https://github.com/infoakshatsinghbisht-eng/garhwali-language-library](https://github.com/infoakshatsinghbisht-eng/garhwali-language-library)
|
|
458
|
+
* **Garhwali PyPI**: [https://pypi.org/project/garhwali/](https://pypi.org/project/garhwali/)
|
|
459
|
+
|
|
460
|
+
---
|
|
461
|
+
|
|
462
|
+
## 📄 License
|
|
463
|
+
This project is licensed under the **MIT License** — dedicated to the computational preservation, linguistic research, and cultural advancement of the Himalayan languages of Uttarakhand.
|