pybangla 0.0.1__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.
File without changes
@@ -0,0 +1,477 @@
1
+ Metadata-Version: 2.1
2
+ Name: pybangla
3
+ Version: 0.0.1
4
+ Summary: date and number digits convert to bangla digits
5
+ Home-page: https://github.com/saiful9379/pybangla
6
+ Author: saiful
7
+ Author-email: saifulbrur79@gmail.com
8
+ License: MIT
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Requires-Python: >=3.6
13
+ Description-Content-Type: text/markdown
14
+
15
+ # Project Description
16
+
17
+ PYBANGLA is a python3 package for Bengala Number, DateTime and Text Normalizer. This package can be used Normalize the text number and date (ex: number to text vice versa). This framework also can be used Django, Flask, FastAPI, and others. PYBANGLA module supported operating system Linux/Unix, Mac OS and Windows.
18
+ Available Features
19
+
20
+ Features available in PYBANGLA:
21
+
22
+ 1. Text Normalization
23
+ 2. Number Conversion
24
+ 3. Date Format
25
+ 4. Months, Weekdays, Seasons
26
+
27
+
28
+ # Installation
29
+
30
+ The easiest way to install pybangla is to use pip:
31
+
32
+ ```
33
+ pip install pybangla
34
+ ```
35
+
36
+
37
+
38
+
39
+ # Usage
40
+
41
+ ## 1. Text Normalization
42
+
43
+ ```py
44
+ import pybangla
45
+ nrml = pybangla.Normalizer()
46
+ text = "রাহিম ক্লাস ওয়ান এ ১ম, এন্ড বাসার ক্লাস এ ৩৩ তম, সে জন্য ২০৩০ শতাব্দীতে ¥২০৩০.১২৩৪ দিতে হয়েছে"
47
+ text = nrml.text_normalizer(text)
48
+
49
+ print(text)
50
+
51
+ # output:
52
+ 'রাহিম ক্লাস ওয়ান এ প্রথম, এন্ড বাসার ক্লাস এ তেত্রিশতম, সে জন্য দুই হাজার ত্রিশ শতাব্দীতে দুই হাজার ত্রিশ দশমি এক দুই তিন চার ইয়েন দিতে হয়েছে'
53
+
54
+ ```
55
+
56
+ ```py
57
+ text = "মোঃ সাইফুল ইসলাম ডাঃ রবিউল ইসলাম একসাথে বাজার যাই"
58
+ text = nrml.text_normalizer(text)
59
+ print(text)
60
+ # output:
61
+ 'মোহাম্মদ সাইফুল ইসলাম ডাক্তার রবিউল ইসলাম একসাথে বাজার যাই'
62
+
63
+ ```
64
+
65
+ ```py
66
+ text = nrml.text_normalizer(text)
67
+ print(text)
68
+ text = "আজকের তাপমাত্রা ৪৪°"
69
+
70
+ #output:
71
+ 'আজকের তাপমাত্রা চুয়াল্লিশ ডিগ্রী'
72
+
73
+ ```
74
+
75
+ Supported
76
+
77
+ ```
78
+ #abbreviations:
79
+ ("সাঃ", "সাল্লাল্লাহু আলাইহি ওয়া সাল্লাম"),
80
+ ("আঃ", "আলাইহিস সালাম"),
81
+ ("রাঃ", "রাদিআল্লাহু আনহু"),
82
+ ("রহঃ", "রহমাতুল্লাহি আলাইহি"),
83
+ ("রহিঃ", "রহিমাহুল্লাহ"),
84
+ ("হাফিঃ", "হাফিযাহুল্লাহ"),
85
+ ("দাঃবাঃ", "দামাত বারাকাতুহুম,দামাত বারাকাতুল্লাহ"),
86
+ ("মোঃ", "মোহাম্মদ"),
87
+ ("মোসাঃ", "মোসাম্মত"),
88
+ ("মোছাঃ", "মোছাম্মত"),
89
+ ("আ:" , "আব্দুর"),
90
+ ("ডাঃ" , "ডাক্তার"),
91
+
92
+ #Symbols:
93
+ ("&", " এবং"),
94
+ ("@", " এট দা রেট"),
95
+ ("%", " পারসেন্ট"),
96
+ ("#", " হ্যাশ"),
97
+ ("°", " ডিগ্রী")
98
+
99
+ #Currency
100
+
101
+ ("৳", "টাকা"),
102
+ ("$", "ডলার"),
103
+ ("£", "পাউন্ড"),
104
+ ("€", "ইউরো"),
105
+ ("¥", "ইয়েন"),
106
+ ("₹", "রুপি"),
107
+ ("₽", "রুবেল"),
108
+ ("₺", "লিরা")
109
+
110
+ ```
111
+
112
+
113
+ ## 2. Number Conversion
114
+
115
+ ```py
116
+ text = "আপনার ফোন নম্বর হলো জিরো ওয়ান ডাবল সেভেন থ্রি ডাবল ফাইভ নাইন থ্রি সেভেন নাইন"
117
+ text = nrml.word2number(text)
118
+
119
+ #output:
120
+
121
+ 'আপনার ফোন নম্বর হলো 01773559379 '
122
+ ```
123
+
124
+ ```py
125
+ text = "দশ বারো এ এগুলা একশ একশ দুই"
126
+ text = nrml.word2number(text)
127
+ print(text)
128
+ #output:
129
+ '1012 এ এগুলা 100 102 '
130
+ ```
131
+
132
+ ```py
133
+ text = "এক লক্ষ চার হাজার দুইশ এক টাকা এক দুই"
134
+ text = nrml.word2number(text)
135
+ print(text)
136
+ #output:
137
+ '104201 টাকা 12 '
138
+ ```
139
+ ```py
140
+ text = "আমাকে এক লক্ষ দুই হাজার এক টাকা দেয় এন্ড তুমি বিশ হাজার টাকা নিও এন্ড এক লক্ষ চার হাজার দুইশ এক টাকা এক ডবল দুই"
141
+ text = nrml.word2number(text)
142
+ print(text)
143
+ #output:
144
+ 'আমাকে 102001 টাকা দেয় এন্ড তুমি 20000 টাকা নিও এন্ড 104201 টাকা 122 '
145
+ ```
146
+
147
+ ```py
148
+ # "আমার সাড়ে পাঁচ হাজার",
149
+ # "আমার সাড়ে তিনশ",
150
+ # "আড়াই হাজার",
151
+ # "আড়াই লক্ষ",
152
+ # "ডেরশ",
153
+ # "আমাকে ডেরশ টাকা দেয়",
154
+
155
+ text = "আমাকে ডেরশ টাকা দেয়"
156
+ text = nrml.word2number(text)
157
+ print(text)
158
+
159
+ #output:
160
+ 'আমাকে 150 টাকা দেয় '
161
+
162
+ ```
163
+
164
+ For more test case information please check ```notebook/test.ipynb```
165
+
166
+
167
+ ```py
168
+ import pybangla
169
+ nrml = pybangla.DateTranslator()
170
+ number = "২০২৩"
171
+ number = nrml.number_convert(number, language="bn")
172
+ # Output:
173
+ {'digit': '২০২৩', 'digit_word': 'দুই শূন্য দুই তিন', 'number_string': 'দুই হাজার তেইশ'}
174
+
175
+ ```
176
+
177
+ ```py
178
+ number = "২০২৩"
179
+ number = nrml.number_convert(number, language="en")
180
+
181
+ # Output:
182
+ {'digit': '2023', 'digit_word': 'টু জিরো টু থ্রি', 'number_string': 'two thousand twenty-three'}
183
+ ```
184
+
185
+ ```py
186
+ number = "2013"
187
+ number = nrml.number_convert(number, language="en")
188
+
189
+ #output
190
+
191
+ {'digit': '2013', 'digit_word': 'টু জিরো ওয়ান থ্রি', 'number_string': 'two thousand thirteen'}
192
+ ```
193
+
194
+ ```py
195
+
196
+ number = "2013"
197
+ number = nrml.number_convert(number, language="bn")
198
+ #output
199
+ {'digit': '২০১৩', 'digit_word': 'দুই শূন্য এক তিন', 'number_string': 'দুই হাজার তেরো'}
200
+ ```
201
+
202
+ ## 3. Date Format
203
+ ```py
204
+
205
+ import pybangla
206
+ nrml = pybangla.Normalizer()
207
+ date = "০১-এপ্রিল/২০২৩"
208
+ date = nrml.date_format(date, language="en")
209
+ print(date)
210
+ #output:
211
+
212
+ {'date': '01', 'month': 'april', 'year': '2023', 'txt_date': 'one', 'txt_year': 'twenty century twenty-three', 'weekday': 'saturday', 'ls_month': 'apr', 'seasons': 'wet season'}
213
+
214
+
215
+ ```
216
+
217
+ ```py
218
+ date = nrml.date_format("০১-এপ্রিল/২০২৩", language="bn")
219
+ print(date)
220
+ #output:
221
+ {'date': '০১', 'month': 'এপ্রিল', 'year': '২০২৩', 'txt_date': 'এক', 'txt_year': 'দুই হাজার তেইশ', 'weekday': 'শনিবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
222
+
223
+ ```
224
+
225
+ ```py
226
+ date = nrml.date_format("2023-04-05", language="bn")
227
+
228
+ #output
229
+ {'date': '০৫', 'month': 'এপ্রিল', 'year': '২০২৩', 'txt_date': 'পাঁচ', 'txt_year': 'দুই হাজার তেইশ', 'weekday': 'বুধবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
230
+
231
+ ```
232
+
233
+ ```py
234
+ date = nrml.date_format("20230401", language="bn")
235
+ print(date)
236
+ #output
237
+
238
+ {'date': '০১', 'month': 'এপ্রিল', 'year': '২০২৩', 'txt_date': 'এক', 'txt_year': 'দুই হাজার তেইশ', 'weekday': 'শনিবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
239
+
240
+ ```
241
+
242
+ ```py
243
+
244
+ #input ex. ['dd', "mm", "yyyy"]
245
+ date = nrml.date_format(["1", "4", "2025"], language="bn")
246
+
247
+ print(date)
248
+
249
+ #output
250
+
251
+ {'date': '১', 'month': 'এপ্রিল', 'year': '২০২৫', 'txt_date': 'এক', 'txt_year': 'দুই হাজার পঁচিশ', 'weekday': 'মঙ্গলবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
252
+
253
+ ```
254
+
255
+
256
+
257
+ Supported Date Format:
258
+
259
+ ```py
260
+ "০১-এপ্রিল/২০২৩",
261
+ "১ এপ্রিল ২০২৩"
262
+ "2023-04-05",
263
+ "06-04-2023",
264
+ "04/01/2023",
265
+ "07 April, 2023",
266
+ "Apr 1, 2023",
267
+ "2023/04/01",
268
+ "01-Apr-2023",
269
+ "01-Apr/2023",
270
+ "20230401",
271
+ "20042024",
272
+ ["1", "4", "2025"]
273
+ ```
274
+ output :
275
+
276
+
277
+ ```
278
+ Bangla :
279
+ {'date': '০৪', 'month': 'জানুয়ারি', 'year': '২০২৩', 'weekday': 'বুধবার', 'ls_month': 'বৈশাখ', 'seasons': 'গ্রীষ্ম'}
280
+
281
+ or
282
+ English:
283
+
284
+ {'date': '04', 'month': 'January', 'year': '2023', 'weekday': 'Wednesday', 'ls_month': 'Jan', 'seasons': 'Summer'}
285
+ ```
286
+ ```
287
+ import pybangla
288
+ nrml = pybangla.Normalizer()
289
+
290
+ date = dt.date_format("01-Apr/2023", language="bn")
291
+ print(f"{date}")
292
+ # Output:
293
+ {'date': '০১', 'month': 'এপ্রিল', 'year': '২০২৩', 'weekday': 'শনিবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
294
+ ```
295
+
296
+ ```
297
+ import pybangla
298
+ nrml = pybangla.Normalizer()
299
+ en_date = dt.date_format("01-Apr/2023", language="en")
300
+ print(f"{en_date}")
301
+
302
+ # Output :
303
+ {'date': '01', 'month': 'April', 'year': '2023', 'weekday': 'Saturday', 'ls_month': 'Apr', 'seasons': 'Wet season'}
304
+ ```
305
+
306
+ ## 4. Today, Months, Weekdays, Seasons
307
+
308
+ ## 1. Today:
309
+
310
+ ```py
311
+ import pybangla
312
+ nrml = pybangla.Normalizer()
313
+ today = nrml.today()
314
+ print(today)
315
+
316
+ # Output:
317
+ {'date': '৩০', 'month': 'এপ্রিল', 'year': '২০২৪', 'txt_date': 'ত্রিশ', 'txt_year': 'দুই হাজার চব্বিশ', 'weekday': 'মঙ্গলবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
318
+ ```
319
+
320
+ ```py
321
+ today= nrml.today(language="bn")
322
+ print(today)
323
+ # output:
324
+ {'date': '৩০', 'month': 'এপ্রিল', 'year': '২০২৪', 'txt_date': 'ত্রিশ', 'txt_year': 'দুই হাজার চব্বিশ', 'weekday': 'মঙ্গলবার', 'ls_month': 'শ্রাবণ', 'seasons': 'বর্ষা'}
325
+ ```
326
+
327
+ ```py
328
+ today= nrml.today(language="bn")
329
+ print(today)
330
+ #output:
331
+ {'date': '30', 'month': 'april', 'year': '2024', 'txt_date': 'thirty', 'txt_year': 'twenty century twenty-four', 'weekday': 'tuesday', 'ls_month': 'apr', 'seasons': 'wet season'}
332
+ ```
333
+
334
+
335
+ # 2. Months
336
+
337
+ ```py
338
+ import pybangla
339
+ nrml = pybangla.Normalizer()
340
+ month = nrml.months()
341
+ print(month)
342
+
343
+
344
+ # Output:
345
+ {
346
+ 'bn': ['জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], 'bn_name': ['বৈশাখ', 'জ্যৈষ্ঠ', 'আষাঢ়', 'শ্রাবণ', 'ভাদ্র', 'আশ্বিন', 'কার্তিক', 'অগ্রহায়ণ', 'পৌষ', 'মাঘ', 'ফাল্গুন', 'চৈত্র'],
347
+
348
+ 'en': ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']
349
+ }
350
+ ```
351
+
352
+
353
+ ```py
354
+ month = nrml.months(month="মার্চ")
355
+ print(month)
356
+
357
+ #output:
358
+ {'মার্চ': 'march', 'bangla': 'আষাঢ়'}
359
+ ```
360
+ ```py
361
+ month = nrml.months(month="march")
362
+ print(month)
363
+
364
+ # output:
365
+ {'march': 'মার্চ', 'bangla': 'আষাঢ়'}
366
+
367
+ ```
368
+
369
+ ## 3. Weekdays
370
+
371
+ ```py
372
+ import pybangla
373
+ nrml = pybangla.Normalizer()
374
+ weekdays = nrml.weekdays()
375
+
376
+ print(weekdays)
377
+
378
+ # Output:
379
+ {
380
+ 'bn': ['সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার', 'রবিবার'],
381
+ 'en': ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
382
+ }
383
+ ```
384
+
385
+ ```py
386
+ weekdays = nrml.weekdays(language="bn")
387
+ print(weekdays)
388
+ # Output:
389
+ {
390
+ 'bn': ['সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার', 'রবিবার']
391
+ }
392
+
393
+ ```
394
+
395
+ ```py
396
+ weekdays = nrml.weekdays(language="en")
397
+ print(weekdays)
398
+ # Output:
399
+ {
400
+ 'en': ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
401
+ }
402
+ ```
403
+
404
+ ```py
405
+ weekdays = nrml.weekdays(day = "সোমবার")
406
+ print(weekdays)
407
+ #output:
408
+ {'সোমবার': 'monday'}
409
+ ```
410
+
411
+ ```py
412
+ weekdays = nrml.weekdays(day = "Monday")
413
+ print(weekdays)
414
+ #output:
415
+ {'monday': 'সোমবার'}
416
+ ```
417
+
418
+
419
+ ## 4. Seasons
420
+
421
+ ```py
422
+ import pybangla
423
+ nrml = pybangla.Normalizer()
424
+ seasons = nmlr.seasons()
425
+ print(seasons)
426
+
427
+ # Output:
428
+ {
429
+ 'bn': ['গ্রীষ্ম', 'বর্ষা', 'শরৎ', 'হেমন্ত', 'শীত', 'বসন্ত'],
430
+ 'en': ['summer', 'wet season', 'autumn', 'dry season', 'winter', 'spring']
431
+ }
432
+ ```
433
+ ```py
434
+ seasons = nrml.seasons(language="bn")
435
+ print(seasons)
436
+
437
+ # Output:
438
+ ['গ্রীষ্ম', 'বর্ষা', 'শরৎ', 'হেমন্ত', 'শীত', 'বসন্ত']
439
+ ```
440
+ ```py
441
+ seasons = nrml.seasons(language="en")
442
+ print(seasons)
443
+
444
+ # Output:
445
+ ['summer', 'wet season', 'autumn', 'dry season', 'winter', 'spring']
446
+ ```
447
+
448
+
449
+ ```py
450
+ seasons = nrml.seasons(seasons = "গ্রীষ্ম")
451
+ print(seasons)
452
+
453
+ # output:
454
+ {'গ্রীষ্ম': 'summer'}
455
+ ```
456
+
457
+ ```py
458
+ seasons = nrml.seasons(seasons = "summer")
459
+ print(seasons)
460
+
461
+ # output:
462
+ {'summer': 'গ্রীষ্ম'}
463
+ ```
464
+ # Next Upcomming Features
465
+
466
+ 1. Date extraction from normal text sentence and convert it numerical to word(vice versa)
467
+ 2. Bangla lemmatization and stemming algorithm
468
+ 3. Bangla Tokenizer
469
+
470
+ # Contribute
471
+
472
+ If you face any problem feel free to open issue.
473
+
474
+ # Contact
475
+ If you have any suggestion: Email: saifulbrur79@gmail.com
476
+
477
+