ajgar 0.1.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.
- ajgar-0.1.0/LICENSE +17 -0
- ajgar-0.1.0/PKG-INFO +144 -0
- ajgar-0.1.0/README.md +128 -0
- ajgar-0.1.0/ajgar/__init__.py +112 -0
- ajgar-0.1.0/ajgar.egg-info/PKG-INFO +144 -0
- ajgar-0.1.0/ajgar.egg-info/SOURCES.txt +9 -0
- ajgar-0.1.0/ajgar.egg-info/dependency_links.txt +1 -0
- ajgar-0.1.0/ajgar.egg-info/top_level.txt +1 -0
- ajgar-0.1.0/pyproject.toml +23 -0
- ajgar-0.1.0/setup.cfg +4 -0
- ajgar-0.1.0/test/test_ajgar.py +10 -0
ajgar-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
Copyright (c) 2026 Aarsh Garg
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
The above copyright notice and this permission notice shall be included in all
|
|
10
|
+
copies or substantial portions of the Software.
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
12
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
13
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
14
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
15
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
16
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
17
|
+
SOFTWARE.
|
ajgar-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ajgar
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Write Python in pure Devanagari Hindi! शुद्ध देवनागरी हिंदी में पायथन लिखें!
|
|
5
|
+
Author-email: Aarsh Garg <aarshg.13@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/AarshGarg2011Code/ajgar
|
|
7
|
+
Keywords: hindi,devanagari,localization,programming,हिंदी,देवनागरी,अजगर
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Natural Language :: Hindi
|
|
12
|
+
Requires-Python: >=3.7
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# Ajgar
|
|
18
|
+
|
|
19
|
+
## Write Python in pure Devanagari Hindi!
|
|
20
|
+
|
|
21
|
+
### Ajgar is an open-source Python Package that, on importing, enables the user to write Python code, in pure Devanagari Hindi!
|
|
22
|
+
|
|
23
|
+
### For people of India who want to program, but don't even know the English Alphabet, Project Ajgar aspires to give them a chance!
|
|
24
|
+
|
|
25
|
+
### Usage:
|
|
26
|
+
|
|
27
|
+
#### Install Ajgar via PIP: `pip install ajgar`
|
|
28
|
+
|
|
29
|
+
#### Make your sccript, say it's called `my_hindi.py`.
|
|
30
|
+
|
|
31
|
+
#### In that script:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
import ajgar
|
|
36
|
+
# ... and then just write Hindi Python!
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### How It Works:
|
|
41
|
+
|
|
42
|
+
#### Ajgar uses 2 features of Python (2 as of v0.1.0):
|
|
43
|
+
|
|
44
|
+
##### 1. Python Supports Devanagari Scripts
|
|
45
|
+
|
|
46
|
+
##### 2. The `builtins` module.
|
|
47
|
+
|
|
48
|
+
#### For v0.1.0, the earliest version of Ajgar, it defines built-in functions of Python into their Hindi equivalents.
|
|
49
|
+
|
|
50
|
+
#### So, `print()` turns into `छापो()`, `input()` into `पूछो()` and much more.
|
|
51
|
+
#### Ajgar v0.1.0 only supports Hindi Functions and Variables, it won't support any Python Syntax being written in Hindi. So, for v0.1.0, keywords like ```if, else, elif, for, while, try, except``` will have to be written normally.
|
|
52
|
+
##### It is important to note, Ajgar v0.1.0 is very early and primitive. Upcoming versions will have more features, and one day Ajgar may even allow you to write Python Syntax in Hindi, but not yet.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
# अजगर
|
|
58
|
+
|
|
59
|
+
## शुद्ध देवनागरी हिंदी में पायथन लिखें!
|
|
60
|
+
|
|
61
|
+
### अजगर एक ओपन-सोर्स पायथन पैकेज है, जिसे इंपोर्ट करने पर, यूज़र पूरी तरह देवनागरी हिंदी में पायथन कोड लिख सकता है!
|
|
62
|
+
|
|
63
|
+
### भारत के जो लोग प्रोग्राम करना चाहते हैं, लेकिन इंग्लिश अल्फाबेट भी नहीं जानते, प्रोजेक्ट अजगर उन्हें एक मौका देना चाहता है!
|
|
64
|
+
|
|
65
|
+
### इस्तेमाल:
|
|
66
|
+
|
|
67
|
+
#### PIP के ज़रिए अजगर इंस्टॉल करें: `pip install ajgar`
|
|
68
|
+
|
|
69
|
+
#### अपनी स्क्रिप्ट बनाएं, मान लीजिए इसका नाम `मेरी_हिंदी.py` है।
|
|
70
|
+
|
|
71
|
+
#### उस स्क्रिप्ट में:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
import ajgar
|
|
75
|
+
# ... और फिर बस हिंदी पायथन लिखें!
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### यह कैसे काम करता है:
|
|
79
|
+
|
|
80
|
+
#### अजगर, पायथन के 2 फ़ीचर इस्तेमाल करता है (2 फ़ीचर v0.1.0 के हिसाब से):
|
|
81
|
+
|
|
82
|
+
##### 1. पायथन देवनागरी लिपियों को सपोर्ट करता है
|
|
83
|
+
|
|
84
|
+
##### 2. `builtins` मॉड्यूल।
|
|
85
|
+
|
|
86
|
+
#### v0.1.0 के लिए, जो अजगर का सबसे पुराना वर्शन है, यह पायथन के बिल्ट-इन फ़ंक्शन को उनके हिंदी जैसे शब्दों में डिफ़ाइन करता है।
|
|
87
|
+
|
|
88
|
+
#### तो, `print()` `छापो()` में बदल जाता है, `input()` `पूछो()` में और भी बहुत कुछ।
|
|
89
|
+
#### अजगर v0.1.0 सिर्फ़ हिंदी फ़ंक्शन और वेरिएबल को सपोर्ट करता है, यह हिंदी में लिखे गए किसी भी पायथन सिंटैक्स को सपोर्ट नहीं करेगा। इसलिए, v0.1.0 के लिए, ```if, else, elif, for, while, try, except``` जैसे कीवर्ड नॉर्मली लिखने होंगे।
|
|
90
|
+
##### यह ध्यान रखना ज़रूरी है कि अजगर v0.1.0 बहुत शुरुआती और शुरुआती है। आने वाले वर्शन में और भी फ़ीचर होंगे, और एक दिन अजगर आपको हिंदी में पायथन वाक्यविन्यास लिखने की सुविधा भी दे सकता है, लेकिन अभी नहीं।
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# 📚 हिंदी फ़ंक्शन संदर्भ (Hindi Functions Reference)
|
|
94
|
+
|
|
95
|
+
`अजगर v0.1.0` में उपलब्ध सभी कोर पायथन फ़ंक्शन, टाइप कंस्ट्रक्टर, गणितीय टूल और ऑब्जेक्ट जांच उपकरण।
|
|
96
|
+
All core Python functions, type constructors, mathematical tools, and object checking tools available in `ajgar v0.1.0`.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
| अजगर फ़ंक्शन | पायथन फ़ंक्शन | विवरण (Description) |
|
|
100
|
+
| :--- | :--- | :--- |
|
|
101
|
+
| `छापो` | `print` | मान या संदेश को स्क्रीन पर आउटपुट करता है |
|
|
102
|
+
| `पूछो` | `input` | यूज़र से इनपुट स्ट्रिंग के रूप में लेता है |
|
|
103
|
+
| `खोलो` | `open` | फ़ाइल को खोलता है और फ़ाइल ऑब्जेक्ट लौटाता है |
|
|
104
|
+
| `सहायता` | `help` | पायथन की सहायता प्रणाली को चालू करता है |
|
|
105
|
+
| `संख्या` | `int` | पूर्णांक (Integer) मान में बदलता है |
|
|
106
|
+
| `दशमलव` | `float` | दशमलव (Float) संख्या में बदलता है |
|
|
107
|
+
| `शब्द` | `str` | मान को शब्द/स्ट्रिंग (String) में बदलता है |
|
|
108
|
+
| `सूची` | `list` | परिवर्तनशील अनुक्रम (List) बनाता है |
|
|
109
|
+
| `टुपल` | `tuple` | अपरिवर्तनीय अनुक्रम (Tuple) बनाता है |
|
|
110
|
+
| `समूह` | `set` | अद्वितीय तत्वों का समूह (Set) बनाता है |
|
|
111
|
+
| `शब्दकोश` | `dict` | कुंजी-मान (Key-Value) का डिक्शनरी बनाता है |
|
|
112
|
+
| `सत्यता` | `bool` | मान को सत्य या असत्य (Boolean) में बदलता है |
|
|
113
|
+
| `बाइट` | `bytes` | बाइट्स का अपरिवर्तनीय अनुक्रम बनाता है |
|
|
114
|
+
| `प्रकार` | `type` | किसी ऑब्जेक्ट का प्रकार (Type) बताता है |
|
|
115
|
+
| `वस्तु` | `object` | सभी पायथन ऑब्जेक्ट्स की मूल श्रेणी |
|
|
116
|
+
| `कुल` | `sum` | किसी सूची या अनुक्रम के सभी अंकों का योग निकालता है |
|
|
117
|
+
| `अधिकतम` | `max` | सबसे बड़ा मान लौटाता है |
|
|
118
|
+
| `न्यूनतम` | `min` | सबसे छोटा मान लौटाता है |
|
|
119
|
+
| `निरपेक्ष` | `abs` | किसी संख्या का धनात्मक (Absolute) मान लौटाता है |
|
|
120
|
+
| `गोल` | `round` | दशमलव संख्या को निकटतम पूर्णांक में बदलता है |
|
|
121
|
+
| `घात` | `pow` | संख्या की घात (Power/Exponent) निकालता है |
|
|
122
|
+
| `लंबाई` | `len` | किसी ऑब्जेक्ट की कुल लंबाई या गिनती बताता है |
|
|
123
|
+
| `श्रेणी` | `range` | संख्याओं की एक श्रृंखला (Sequence) उत्पन्न करता है |
|
|
124
|
+
| `क्रमबद्ध` | `sorted` | तत्वों को क्रम में व्यवस्थित करके नई सूची देता है |
|
|
125
|
+
| `उल्टा` | `reversed` | अनुक्रम को उल्टे क्रम में चलाता है |
|
|
126
|
+
| `गणना` | `enumerate` | तत्वों के साथ उनकी इंडेक्स गिनती भी जोड़ता है |
|
|
127
|
+
| `जोड़ी` | `zip` | multiple अनुक्रमों के तत्वों की जोड़ी बनाता है |
|
|
128
|
+
| `छानना` | `filter` | शर्त के अनुसार तत्वों को छांटता है |
|
|
129
|
+
| `लागू_करना` | `map` | सभी तत्वों पर एक फ़ंक्शन लागू करता है |
|
|
130
|
+
| `सभी` | `all` | यदि सभी मान सत्य हों तो `सत्य` लौटाता है |
|
|
131
|
+
| `कोई` | `any` | यदि कोई एक भी मान सत्य हो तो `सत्य` लौटाता है |
|
|
132
|
+
| `रूप_है` | `isinstance` | जांचता है कि ऑब्जेक्ट किसी क्लास का रूप है या नहीं |
|
|
133
|
+
| `उपवर्ग_है` | `issubclass` | जांचता है कि क्लास किसी अन्य क्लास का उपवर्ग है या नहीं |
|
|
134
|
+
| `आह्वान_योग्य` | `callable` | जांचता है कि क्या ऑब्जेक्ट को फ़ंक्शन की तरह कॉल किया जा सकता है |
|
|
135
|
+
| `गुण_पाओ` | `getattr` | ऑब्जेक्ट का गुण (Attribute) प्राप्त करता है |
|
|
136
|
+
| `गुण_रखो` | `setattr` | ऑब्जेक्ट में नया गुण सेट करता है |
|
|
137
|
+
| `गुण_हटाओ` | `delattr` | ऑब्जेक्ट से गुण को हटाता है |
|
|
138
|
+
| `गुण_है` | `hasattr` | जांचता है कि ऑब्जेक्ट में वह गुण मौजूद है या नहीं |
|
|
139
|
+
| `सूचीबद्ध` | `dir` | ऑब्जेक्ट के सभी उपलब्ध गुणों और फ़ंक्शनों की सूची देता है |
|
|
140
|
+
| `पहचान` | `id` | मेमोरी में ऑब्जेक्ट की अनूठी पहचान संख्या देता है |
|
|
141
|
+
| `वर्ण` | `chr` | यूनिकोड अंक को उसके अक्षर/वर्ण में बदलता है |
|
|
142
|
+
| `अंक_मान` | `ord` | अक्षर/वर्ण का यूनिकोड अंक मान बताता है |
|
|
143
|
+
| `द्विआधारी` | `bin` | संख्या को बाइनरी/द्विआधारी स्ट्रिंग (`0b...`) में बदलता है |
|
|
144
|
+
| `षट्दशमलव` | `hex` | संख्या को हेक्साडेसिमल स्ट्रिंग (`0x...`) में बदलता है |
|
ajgar-0.1.0/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Ajgar
|
|
2
|
+
|
|
3
|
+
## Write Python in pure Devanagari Hindi!
|
|
4
|
+
|
|
5
|
+
### Ajgar is an open-source Python Package that, on importing, enables the user to write Python code, in pure Devanagari Hindi!
|
|
6
|
+
|
|
7
|
+
### For people of India who want to program, but don't even know the English Alphabet, Project Ajgar aspires to give them a chance!
|
|
8
|
+
|
|
9
|
+
### Usage:
|
|
10
|
+
|
|
11
|
+
#### Install Ajgar via PIP: `pip install ajgar`
|
|
12
|
+
|
|
13
|
+
#### Make your sccript, say it's called `my_hindi.py`.
|
|
14
|
+
|
|
15
|
+
#### In that script:
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
import ajgar
|
|
20
|
+
# ... and then just write Hindi Python!
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### How It Works:
|
|
25
|
+
|
|
26
|
+
#### Ajgar uses 2 features of Python (2 as of v0.1.0):
|
|
27
|
+
|
|
28
|
+
##### 1. Python Supports Devanagari Scripts
|
|
29
|
+
|
|
30
|
+
##### 2. The `builtins` module.
|
|
31
|
+
|
|
32
|
+
#### For v0.1.0, the earliest version of Ajgar, it defines built-in functions of Python into their Hindi equivalents.
|
|
33
|
+
|
|
34
|
+
#### So, `print()` turns into `छापो()`, `input()` into `पूछो()` and much more.
|
|
35
|
+
#### Ajgar v0.1.0 only supports Hindi Functions and Variables, it won't support any Python Syntax being written in Hindi. So, for v0.1.0, keywords like ```if, else, elif, for, while, try, except``` will have to be written normally.
|
|
36
|
+
##### It is important to note, Ajgar v0.1.0 is very early and primitive. Upcoming versions will have more features, and one day Ajgar may even allow you to write Python Syntax in Hindi, but not yet.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# अजगर
|
|
42
|
+
|
|
43
|
+
## शुद्ध देवनागरी हिंदी में पायथन लिखें!
|
|
44
|
+
|
|
45
|
+
### अजगर एक ओपन-सोर्स पायथन पैकेज है, जिसे इंपोर्ट करने पर, यूज़र पूरी तरह देवनागरी हिंदी में पायथन कोड लिख सकता है!
|
|
46
|
+
|
|
47
|
+
### भारत के जो लोग प्रोग्राम करना चाहते हैं, लेकिन इंग्लिश अल्फाबेट भी नहीं जानते, प्रोजेक्ट अजगर उन्हें एक मौका देना चाहता है!
|
|
48
|
+
|
|
49
|
+
### इस्तेमाल:
|
|
50
|
+
|
|
51
|
+
#### PIP के ज़रिए अजगर इंस्टॉल करें: `pip install ajgar`
|
|
52
|
+
|
|
53
|
+
#### अपनी स्क्रिप्ट बनाएं, मान लीजिए इसका नाम `मेरी_हिंदी.py` है।
|
|
54
|
+
|
|
55
|
+
#### उस स्क्रिप्ट में:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
import ajgar
|
|
59
|
+
# ... और फिर बस हिंदी पायथन लिखें!
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### यह कैसे काम करता है:
|
|
63
|
+
|
|
64
|
+
#### अजगर, पायथन के 2 फ़ीचर इस्तेमाल करता है (2 फ़ीचर v0.1.0 के हिसाब से):
|
|
65
|
+
|
|
66
|
+
##### 1. पायथन देवनागरी लिपियों को सपोर्ट करता है
|
|
67
|
+
|
|
68
|
+
##### 2. `builtins` मॉड्यूल।
|
|
69
|
+
|
|
70
|
+
#### v0.1.0 के लिए, जो अजगर का सबसे पुराना वर्शन है, यह पायथन के बिल्ट-इन फ़ंक्शन को उनके हिंदी जैसे शब्दों में डिफ़ाइन करता है।
|
|
71
|
+
|
|
72
|
+
#### तो, `print()` `छापो()` में बदल जाता है, `input()` `पूछो()` में और भी बहुत कुछ।
|
|
73
|
+
#### अजगर v0.1.0 सिर्फ़ हिंदी फ़ंक्शन और वेरिएबल को सपोर्ट करता है, यह हिंदी में लिखे गए किसी भी पायथन सिंटैक्स को सपोर्ट नहीं करेगा। इसलिए, v0.1.0 के लिए, ```if, else, elif, for, while, try, except``` जैसे कीवर्ड नॉर्मली लिखने होंगे।
|
|
74
|
+
##### यह ध्यान रखना ज़रूरी है कि अजगर v0.1.0 बहुत शुरुआती और शुरुआती है। आने वाले वर्शन में और भी फ़ीचर होंगे, और एक दिन अजगर आपको हिंदी में पायथन वाक्यविन्यास लिखने की सुविधा भी दे सकता है, लेकिन अभी नहीं।
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# 📚 हिंदी फ़ंक्शन संदर्भ (Hindi Functions Reference)
|
|
78
|
+
|
|
79
|
+
`अजगर v0.1.0` में उपलब्ध सभी कोर पायथन फ़ंक्शन, टाइप कंस्ट्रक्टर, गणितीय टूल और ऑब्जेक्ट जांच उपकरण।
|
|
80
|
+
All core Python functions, type constructors, mathematical tools, and object checking tools available in `ajgar v0.1.0`.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
| अजगर फ़ंक्शन | पायथन फ़ंक्शन | विवरण (Description) |
|
|
84
|
+
| :--- | :--- | :--- |
|
|
85
|
+
| `छापो` | `print` | मान या संदेश को स्क्रीन पर आउटपुट करता है |
|
|
86
|
+
| `पूछो` | `input` | यूज़र से इनपुट स्ट्रिंग के रूप में लेता है |
|
|
87
|
+
| `खोलो` | `open` | फ़ाइल को खोलता है और फ़ाइल ऑब्जेक्ट लौटाता है |
|
|
88
|
+
| `सहायता` | `help` | पायथन की सहायता प्रणाली को चालू करता है |
|
|
89
|
+
| `संख्या` | `int` | पूर्णांक (Integer) मान में बदलता है |
|
|
90
|
+
| `दशमलव` | `float` | दशमलव (Float) संख्या में बदलता है |
|
|
91
|
+
| `शब्द` | `str` | मान को शब्द/स्ट्रिंग (String) में बदलता है |
|
|
92
|
+
| `सूची` | `list` | परिवर्तनशील अनुक्रम (List) बनाता है |
|
|
93
|
+
| `टुपल` | `tuple` | अपरिवर्तनीय अनुक्रम (Tuple) बनाता है |
|
|
94
|
+
| `समूह` | `set` | अद्वितीय तत्वों का समूह (Set) बनाता है |
|
|
95
|
+
| `शब्दकोश` | `dict` | कुंजी-मान (Key-Value) का डिक्शनरी बनाता है |
|
|
96
|
+
| `सत्यता` | `bool` | मान को सत्य या असत्य (Boolean) में बदलता है |
|
|
97
|
+
| `बाइट` | `bytes` | बाइट्स का अपरिवर्तनीय अनुक्रम बनाता है |
|
|
98
|
+
| `प्रकार` | `type` | किसी ऑब्जेक्ट का प्रकार (Type) बताता है |
|
|
99
|
+
| `वस्तु` | `object` | सभी पायथन ऑब्जेक्ट्स की मूल श्रेणी |
|
|
100
|
+
| `कुल` | `sum` | किसी सूची या अनुक्रम के सभी अंकों का योग निकालता है |
|
|
101
|
+
| `अधिकतम` | `max` | सबसे बड़ा मान लौटाता है |
|
|
102
|
+
| `न्यूनतम` | `min` | सबसे छोटा मान लौटाता है |
|
|
103
|
+
| `निरपेक्ष` | `abs` | किसी संख्या का धनात्मक (Absolute) मान लौटाता है |
|
|
104
|
+
| `गोल` | `round` | दशमलव संख्या को निकटतम पूर्णांक में बदलता है |
|
|
105
|
+
| `घात` | `pow` | संख्या की घात (Power/Exponent) निकालता है |
|
|
106
|
+
| `लंबाई` | `len` | किसी ऑब्जेक्ट की कुल लंबाई या गिनती बताता है |
|
|
107
|
+
| `श्रेणी` | `range` | संख्याओं की एक श्रृंखला (Sequence) उत्पन्न करता है |
|
|
108
|
+
| `क्रमबद्ध` | `sorted` | तत्वों को क्रम में व्यवस्थित करके नई सूची देता है |
|
|
109
|
+
| `उल्टा` | `reversed` | अनुक्रम को उल्टे क्रम में चलाता है |
|
|
110
|
+
| `गणना` | `enumerate` | तत्वों के साथ उनकी इंडेक्स गिनती भी जोड़ता है |
|
|
111
|
+
| `जोड़ी` | `zip` | multiple अनुक्रमों के तत्वों की जोड़ी बनाता है |
|
|
112
|
+
| `छानना` | `filter` | शर्त के अनुसार तत्वों को छांटता है |
|
|
113
|
+
| `लागू_करना` | `map` | सभी तत्वों पर एक फ़ंक्शन लागू करता है |
|
|
114
|
+
| `सभी` | `all` | यदि सभी मान सत्य हों तो `सत्य` लौटाता है |
|
|
115
|
+
| `कोई` | `any` | यदि कोई एक भी मान सत्य हो तो `सत्य` लौटाता है |
|
|
116
|
+
| `रूप_है` | `isinstance` | जांचता है कि ऑब्जेक्ट किसी क्लास का रूप है या नहीं |
|
|
117
|
+
| `उपवर्ग_है` | `issubclass` | जांचता है कि क्लास किसी अन्य क्लास का उपवर्ग है या नहीं |
|
|
118
|
+
| `आह्वान_योग्य` | `callable` | जांचता है कि क्या ऑब्जेक्ट को फ़ंक्शन की तरह कॉल किया जा सकता है |
|
|
119
|
+
| `गुण_पाओ` | `getattr` | ऑब्जेक्ट का गुण (Attribute) प्राप्त करता है |
|
|
120
|
+
| `गुण_रखो` | `setattr` | ऑब्जेक्ट में नया गुण सेट करता है |
|
|
121
|
+
| `गुण_हटाओ` | `delattr` | ऑब्जेक्ट से गुण को हटाता है |
|
|
122
|
+
| `गुण_है` | `hasattr` | जांचता है कि ऑब्जेक्ट में वह गुण मौजूद है या नहीं |
|
|
123
|
+
| `सूचीबद्ध` | `dir` | ऑब्जेक्ट के सभी उपलब्ध गुणों और फ़ंक्शनों की सूची देता है |
|
|
124
|
+
| `पहचान` | `id` | मेमोरी में ऑब्जेक्ट की अनूठी पहचान संख्या देता है |
|
|
125
|
+
| `वर्ण` | `chr` | यूनिकोड अंक को उसके अक्षर/वर्ण में बदलता है |
|
|
126
|
+
| `अंक_मान` | `ord` | अक्षर/वर्ण का यूनिकोड अंक मान बताता है |
|
|
127
|
+
| `द्विआधारी` | `bin` | संख्या को बाइनरी/द्विआधारी स्ट्रिंग (`0b...`) में बदलता है |
|
|
128
|
+
| `षट्दशमलव` | `hex` | संख्या को हेक्साडेसिमल स्ट्रिंग (`0x...`) में बदलता है |
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import builtins
|
|
2
|
+
|
|
3
|
+
HINDI_FUNCTIONS = {
|
|
4
|
+
# io
|
|
5
|
+
"छापो": print,
|
|
6
|
+
"पूछो": input,
|
|
7
|
+
"खोलो": open,
|
|
8
|
+
"सहायता": help,
|
|
9
|
+
|
|
10
|
+
# types
|
|
11
|
+
"संख्या": int,
|
|
12
|
+
"दशमलव": float,
|
|
13
|
+
"शब्द": str,
|
|
14
|
+
"सूची": list,
|
|
15
|
+
"टुपल": tuple,
|
|
16
|
+
"समूह": set,
|
|
17
|
+
"शब्दकोश": dict,
|
|
18
|
+
"सत्यता": bool,
|
|
19
|
+
"बाइट": bytes,
|
|
20
|
+
"प्रकार": type,
|
|
21
|
+
"वस्तु": object,
|
|
22
|
+
|
|
23
|
+
# math
|
|
24
|
+
"कुल": sum,
|
|
25
|
+
"अधिकतम": max,
|
|
26
|
+
"न्यूनतम": min,
|
|
27
|
+
"निरपेक्ष": abs,
|
|
28
|
+
"गोल": round,
|
|
29
|
+
"घात": pow,
|
|
30
|
+
|
|
31
|
+
# iterations and sequences
|
|
32
|
+
"लंबाई": len,
|
|
33
|
+
"श्रेणी": range,
|
|
34
|
+
"क्रमबद्ध": sorted,
|
|
35
|
+
"उल्टा": reversed,
|
|
36
|
+
"गणना": enumerate,
|
|
37
|
+
"जोड़ी": zip,
|
|
38
|
+
"छानना": filter,
|
|
39
|
+
"लागू करना": map,
|
|
40
|
+
|
|
41
|
+
# logic
|
|
42
|
+
"सभी": all,
|
|
43
|
+
"कोई": any,
|
|
44
|
+
"क्या_इन्स्टैंस": isinstance,
|
|
45
|
+
"क्या_उपवर्ग": issubclass,
|
|
46
|
+
"हस्ताक्षर": callable,
|
|
47
|
+
|
|
48
|
+
# attributes, objects
|
|
49
|
+
"गुण_पाओ": getattr,
|
|
50
|
+
"गुण_रखो": setattr,
|
|
51
|
+
"गुण_हटाओ": delattr,
|
|
52
|
+
"गुण_है": hasattr,
|
|
53
|
+
"सूचीबद्ध": dir,
|
|
54
|
+
"पहचान": id,
|
|
55
|
+
|
|
56
|
+
# encoding conversions
|
|
57
|
+
"वर्ण": chr,
|
|
58
|
+
"अंक_मान": ord,
|
|
59
|
+
"द्विआधारी": bin,
|
|
60
|
+
"षट्दशमलव": hex,
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
HINDI_CONSTANTS = {
|
|
64
|
+
# 1. core constants
|
|
65
|
+
"सत्य": True,
|
|
66
|
+
"असत्य": False,
|
|
67
|
+
"शून्य": None,
|
|
68
|
+
"अपरिभाषित": NotImplemented,
|
|
69
|
+
"अद्वितीय": Ellipsis,
|
|
70
|
+
|
|
71
|
+
# 2. devanagari digits
|
|
72
|
+
"०": 0, "१": 1, "२": 2, "३": 3, "४": 4,
|
|
73
|
+
"५": 5, "६": 6, "७": 7, "८": 8, "९": 9,
|
|
74
|
+
|
|
75
|
+
# 3. number names
|
|
76
|
+
"एक": 1,
|
|
77
|
+
"दो": 2,
|
|
78
|
+
"तीन": 3,
|
|
79
|
+
"चार": 4,
|
|
80
|
+
"पांच": 5,
|
|
81
|
+
"छह": 6,
|
|
82
|
+
"सात": 7,
|
|
83
|
+
"आठ": 8,
|
|
84
|
+
"नौ": 9,
|
|
85
|
+
"दस": 10,
|
|
86
|
+
"सौ": 100,
|
|
87
|
+
"हजार": 1000,
|
|
88
|
+
"लाख": 100000,
|
|
89
|
+
"करोड़": 10000000,
|
|
90
|
+
|
|
91
|
+
# 4. alphabets
|
|
92
|
+
"स्वर": "अआइईउऊऋएऐओऔअंअः",
|
|
93
|
+
"स्वर_सूची": ("अ", "आ", "इ", "ई", "उ", "ऊ", "ऋ", "ए", "ऐ", "ओ", "औ"),
|
|
94
|
+
|
|
95
|
+
"व्यंजन": "कखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसह",
|
|
96
|
+
"व्यंजन_सूची": (
|
|
97
|
+
"क", "ख", "ग", "घ", "ङ",
|
|
98
|
+
"च", "छ", "ज", "झ", "ञ",
|
|
99
|
+
"ट", "ठ", "ड", "ढ", "ण",
|
|
100
|
+
"त", "थ", "द", "ध", "न",
|
|
101
|
+
"प", "फ", "ब", "भ", "म",
|
|
102
|
+
"य", "र", "ल", "व",
|
|
103
|
+
"श", "ष", "स", "ह"
|
|
104
|
+
),
|
|
105
|
+
"वर्णमाला": "अआइईउऊऋएऐओऔअंअःकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसह",
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
def bind():
|
|
109
|
+
for hindi_name, py_func in HINDI_FUNCTIONS.items(): setattr(builtins, hindi_name, py_func)
|
|
110
|
+
for hindi_name, val in HINDI_CONSTANTS.items(): setattr(builtins, hindi_name, val)
|
|
111
|
+
|
|
112
|
+
bind()
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ajgar
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Write Python in pure Devanagari Hindi! शुद्ध देवनागरी हिंदी में पायथन लिखें!
|
|
5
|
+
Author-email: Aarsh Garg <aarshg.13@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/AarshGarg2011Code/ajgar
|
|
7
|
+
Keywords: hindi,devanagari,localization,programming,हिंदी,देवनागरी,अजगर
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Natural Language :: Hindi
|
|
12
|
+
Requires-Python: >=3.7
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
# Ajgar
|
|
18
|
+
|
|
19
|
+
## Write Python in pure Devanagari Hindi!
|
|
20
|
+
|
|
21
|
+
### Ajgar is an open-source Python Package that, on importing, enables the user to write Python code, in pure Devanagari Hindi!
|
|
22
|
+
|
|
23
|
+
### For people of India who want to program, but don't even know the English Alphabet, Project Ajgar aspires to give them a chance!
|
|
24
|
+
|
|
25
|
+
### Usage:
|
|
26
|
+
|
|
27
|
+
#### Install Ajgar via PIP: `pip install ajgar`
|
|
28
|
+
|
|
29
|
+
#### Make your sccript, say it's called `my_hindi.py`.
|
|
30
|
+
|
|
31
|
+
#### In that script:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
import ajgar
|
|
36
|
+
# ... and then just write Hindi Python!
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### How It Works:
|
|
41
|
+
|
|
42
|
+
#### Ajgar uses 2 features of Python (2 as of v0.1.0):
|
|
43
|
+
|
|
44
|
+
##### 1. Python Supports Devanagari Scripts
|
|
45
|
+
|
|
46
|
+
##### 2. The `builtins` module.
|
|
47
|
+
|
|
48
|
+
#### For v0.1.0, the earliest version of Ajgar, it defines built-in functions of Python into their Hindi equivalents.
|
|
49
|
+
|
|
50
|
+
#### So, `print()` turns into `छापो()`, `input()` into `पूछो()` and much more.
|
|
51
|
+
#### Ajgar v0.1.0 only supports Hindi Functions and Variables, it won't support any Python Syntax being written in Hindi. So, for v0.1.0, keywords like ```if, else, elif, for, while, try, except``` will have to be written normally.
|
|
52
|
+
##### It is important to note, Ajgar v0.1.0 is very early and primitive. Upcoming versions will have more features, and one day Ajgar may even allow you to write Python Syntax in Hindi, but not yet.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
# अजगर
|
|
58
|
+
|
|
59
|
+
## शुद्ध देवनागरी हिंदी में पायथन लिखें!
|
|
60
|
+
|
|
61
|
+
### अजगर एक ओपन-सोर्स पायथन पैकेज है, जिसे इंपोर्ट करने पर, यूज़र पूरी तरह देवनागरी हिंदी में पायथन कोड लिख सकता है!
|
|
62
|
+
|
|
63
|
+
### भारत के जो लोग प्रोग्राम करना चाहते हैं, लेकिन इंग्लिश अल्फाबेट भी नहीं जानते, प्रोजेक्ट अजगर उन्हें एक मौका देना चाहता है!
|
|
64
|
+
|
|
65
|
+
### इस्तेमाल:
|
|
66
|
+
|
|
67
|
+
#### PIP के ज़रिए अजगर इंस्टॉल करें: `pip install ajgar`
|
|
68
|
+
|
|
69
|
+
#### अपनी स्क्रिप्ट बनाएं, मान लीजिए इसका नाम `मेरी_हिंदी.py` है।
|
|
70
|
+
|
|
71
|
+
#### उस स्क्रिप्ट में:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
import ajgar
|
|
75
|
+
# ... और फिर बस हिंदी पायथन लिखें!
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### यह कैसे काम करता है:
|
|
79
|
+
|
|
80
|
+
#### अजगर, पायथन के 2 फ़ीचर इस्तेमाल करता है (2 फ़ीचर v0.1.0 के हिसाब से):
|
|
81
|
+
|
|
82
|
+
##### 1. पायथन देवनागरी लिपियों को सपोर्ट करता है
|
|
83
|
+
|
|
84
|
+
##### 2. `builtins` मॉड्यूल।
|
|
85
|
+
|
|
86
|
+
#### v0.1.0 के लिए, जो अजगर का सबसे पुराना वर्शन है, यह पायथन के बिल्ट-इन फ़ंक्शन को उनके हिंदी जैसे शब्दों में डिफ़ाइन करता है।
|
|
87
|
+
|
|
88
|
+
#### तो, `print()` `छापो()` में बदल जाता है, `input()` `पूछो()` में और भी बहुत कुछ।
|
|
89
|
+
#### अजगर v0.1.0 सिर्फ़ हिंदी फ़ंक्शन और वेरिएबल को सपोर्ट करता है, यह हिंदी में लिखे गए किसी भी पायथन सिंटैक्स को सपोर्ट नहीं करेगा। इसलिए, v0.1.0 के लिए, ```if, else, elif, for, while, try, except``` जैसे कीवर्ड नॉर्मली लिखने होंगे।
|
|
90
|
+
##### यह ध्यान रखना ज़रूरी है कि अजगर v0.1.0 बहुत शुरुआती और शुरुआती है। आने वाले वर्शन में और भी फ़ीचर होंगे, और एक दिन अजगर आपको हिंदी में पायथन वाक्यविन्यास लिखने की सुविधा भी दे सकता है, लेकिन अभी नहीं।
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# 📚 हिंदी फ़ंक्शन संदर्भ (Hindi Functions Reference)
|
|
94
|
+
|
|
95
|
+
`अजगर v0.1.0` में उपलब्ध सभी कोर पायथन फ़ंक्शन, टाइप कंस्ट्रक्टर, गणितीय टूल और ऑब्जेक्ट जांच उपकरण।
|
|
96
|
+
All core Python functions, type constructors, mathematical tools, and object checking tools available in `ajgar v0.1.0`.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
| अजगर फ़ंक्शन | पायथन फ़ंक्शन | विवरण (Description) |
|
|
100
|
+
| :--- | :--- | :--- |
|
|
101
|
+
| `छापो` | `print` | मान या संदेश को स्क्रीन पर आउटपुट करता है |
|
|
102
|
+
| `पूछो` | `input` | यूज़र से इनपुट स्ट्रिंग के रूप में लेता है |
|
|
103
|
+
| `खोलो` | `open` | फ़ाइल को खोलता है और फ़ाइल ऑब्जेक्ट लौटाता है |
|
|
104
|
+
| `सहायता` | `help` | पायथन की सहायता प्रणाली को चालू करता है |
|
|
105
|
+
| `संख्या` | `int` | पूर्णांक (Integer) मान में बदलता है |
|
|
106
|
+
| `दशमलव` | `float` | दशमलव (Float) संख्या में बदलता है |
|
|
107
|
+
| `शब्द` | `str` | मान को शब्द/स्ट्रिंग (String) में बदलता है |
|
|
108
|
+
| `सूची` | `list` | परिवर्तनशील अनुक्रम (List) बनाता है |
|
|
109
|
+
| `टुपल` | `tuple` | अपरिवर्तनीय अनुक्रम (Tuple) बनाता है |
|
|
110
|
+
| `समूह` | `set` | अद्वितीय तत्वों का समूह (Set) बनाता है |
|
|
111
|
+
| `शब्दकोश` | `dict` | कुंजी-मान (Key-Value) का डिक्शनरी बनाता है |
|
|
112
|
+
| `सत्यता` | `bool` | मान को सत्य या असत्य (Boolean) में बदलता है |
|
|
113
|
+
| `बाइट` | `bytes` | बाइट्स का अपरिवर्तनीय अनुक्रम बनाता है |
|
|
114
|
+
| `प्रकार` | `type` | किसी ऑब्जेक्ट का प्रकार (Type) बताता है |
|
|
115
|
+
| `वस्तु` | `object` | सभी पायथन ऑब्जेक्ट्स की मूल श्रेणी |
|
|
116
|
+
| `कुल` | `sum` | किसी सूची या अनुक्रम के सभी अंकों का योग निकालता है |
|
|
117
|
+
| `अधिकतम` | `max` | सबसे बड़ा मान लौटाता है |
|
|
118
|
+
| `न्यूनतम` | `min` | सबसे छोटा मान लौटाता है |
|
|
119
|
+
| `निरपेक्ष` | `abs` | किसी संख्या का धनात्मक (Absolute) मान लौटाता है |
|
|
120
|
+
| `गोल` | `round` | दशमलव संख्या को निकटतम पूर्णांक में बदलता है |
|
|
121
|
+
| `घात` | `pow` | संख्या की घात (Power/Exponent) निकालता है |
|
|
122
|
+
| `लंबाई` | `len` | किसी ऑब्जेक्ट की कुल लंबाई या गिनती बताता है |
|
|
123
|
+
| `श्रेणी` | `range` | संख्याओं की एक श्रृंखला (Sequence) उत्पन्न करता है |
|
|
124
|
+
| `क्रमबद्ध` | `sorted` | तत्वों को क्रम में व्यवस्थित करके नई सूची देता है |
|
|
125
|
+
| `उल्टा` | `reversed` | अनुक्रम को उल्टे क्रम में चलाता है |
|
|
126
|
+
| `गणना` | `enumerate` | तत्वों के साथ उनकी इंडेक्स गिनती भी जोड़ता है |
|
|
127
|
+
| `जोड़ी` | `zip` | multiple अनुक्रमों के तत्वों की जोड़ी बनाता है |
|
|
128
|
+
| `छानना` | `filter` | शर्त के अनुसार तत्वों को छांटता है |
|
|
129
|
+
| `लागू_करना` | `map` | सभी तत्वों पर एक फ़ंक्शन लागू करता है |
|
|
130
|
+
| `सभी` | `all` | यदि सभी मान सत्य हों तो `सत्य` लौटाता है |
|
|
131
|
+
| `कोई` | `any` | यदि कोई एक भी मान सत्य हो तो `सत्य` लौटाता है |
|
|
132
|
+
| `रूप_है` | `isinstance` | जांचता है कि ऑब्जेक्ट किसी क्लास का रूप है या नहीं |
|
|
133
|
+
| `उपवर्ग_है` | `issubclass` | जांचता है कि क्लास किसी अन्य क्लास का उपवर्ग है या नहीं |
|
|
134
|
+
| `आह्वान_योग्य` | `callable` | जांचता है कि क्या ऑब्जेक्ट को फ़ंक्शन की तरह कॉल किया जा सकता है |
|
|
135
|
+
| `गुण_पाओ` | `getattr` | ऑब्जेक्ट का गुण (Attribute) प्राप्त करता है |
|
|
136
|
+
| `गुण_रखो` | `setattr` | ऑब्जेक्ट में नया गुण सेट करता है |
|
|
137
|
+
| `गुण_हटाओ` | `delattr` | ऑब्जेक्ट से गुण को हटाता है |
|
|
138
|
+
| `गुण_है` | `hasattr` | जांचता है कि ऑब्जेक्ट में वह गुण मौजूद है या नहीं |
|
|
139
|
+
| `सूचीबद्ध` | `dir` | ऑब्जेक्ट के सभी उपलब्ध गुणों और फ़ंक्शनों की सूची देता है |
|
|
140
|
+
| `पहचान` | `id` | मेमोरी में ऑब्जेक्ट की अनूठी पहचान संख्या देता है |
|
|
141
|
+
| `वर्ण` | `chr` | यूनिकोड अंक को उसके अक्षर/वर्ण में बदलता है |
|
|
142
|
+
| `अंक_मान` | `ord` | अक्षर/वर्ण का यूनिकोड अंक मान बताता है |
|
|
143
|
+
| `द्विआधारी` | `bin` | संख्या को बाइनरी/द्विआधारी स्ट्रिंग (`0b...`) में बदलता है |
|
|
144
|
+
| `षट्दशमलव` | `hex` | संख्या को हेक्साडेसिमल स्ट्रिंग (`0x...`) में बदलता है |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ajgar
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "ajgar"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
authors = [
|
|
9
|
+
{ name="Aarsh Garg", email="aarshg.13@gmail.com" },
|
|
10
|
+
]
|
|
11
|
+
description = "Write Python in pure Devanagari Hindi! शुद्ध देवनागरी हिंदी में पायथन लिखें!"
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.7"
|
|
14
|
+
keywords = ["hindi", "devanagari", "localization", "programming", "हिंदी", "देवनागरी", "अजगर"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Programming Language :: Python :: 3",
|
|
17
|
+
"License :: OSI Approved :: MIT License",
|
|
18
|
+
"Operating System :: OS Independent",
|
|
19
|
+
"Natural Language :: Hindi",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[project.urls]
|
|
23
|
+
"Homepage" = "https://github.com/AarshGarg2011Code/ajgar"
|
ajgar-0.1.0/setup.cfg
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import ajgar
|
|
2
|
+
|
|
3
|
+
def test_basic_execution():
|
|
4
|
+
assert कुल([एक, दो, तीन]) == 6
|
|
5
|
+
assert अधिकतम([१०, २०, ३०]) == 30
|
|
6
|
+
assert लंबाई(स्वर_सूची) == 11
|
|
7
|
+
assert सत्यता(सत्य) is True
|
|
8
|
+
print("All Ajgar v0.1.0 tests passed successfully!")
|
|
9
|
+
|
|
10
|
+
if __name__ == "__main__": test_basic_execution()
|