pypipr 1.0.109__tar.gz → 1.0.111__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.
Files changed (78) hide show
  1. {pypipr-1.0.109 → pypipr-1.0.111}/PKG-INFO +232 -153
  2. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/__init__.py +5 -0
  3. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/batchmaker.py +1 -1
  4. pypipr-1.0.111/pypipr/ienumerate.py +5 -0
  5. pypipr-1.0.111/pypipr/int_to_bin.py +10 -0
  6. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/int_to_chr.py +1 -1
  7. pypipr-1.0.111/pypipr/int_to_hex.py +10 -0
  8. pypipr-1.0.111/pypipr/int_to_int.py +10 -0
  9. pypipr-1.0.111/pypipr/int_to_oct.py +10 -0
  10. pypipr-1.0.111/pypipr/irange.py +120 -0
  11. {pypipr-1.0.109 → pypipr-1.0.111}/pyproject.toml +2 -2
  12. {pypipr-1.0.109 → pypipr-1.0.111}/readme.md +231 -152
  13. pypipr-1.0.109/pypipr/irange.py +0 -58
  14. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/APIMixinView.py +0 -0
  15. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/ComparePerformance.py +0 -0
  16. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/LINUX.py +0 -0
  17. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/PintUreg.py +0 -0
  18. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/PintUregQuantity.py +0 -0
  19. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/RunParallel.py +0 -0
  20. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/WINDOWS.py +0 -0
  21. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/__terminal__.py +0 -0
  22. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/auto_reload.py +0 -0
  23. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/avg.py +0 -0
  24. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/basename.py +0 -0
  25. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/batch_calculate.py +0 -0
  26. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/calculate.py +0 -0
  27. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/choices.py +0 -0
  28. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/chr_to_int.py +0 -0
  29. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/chunk_array.py +0 -0
  30. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/console_run.py +0 -0
  31. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/create_folder.py +0 -0
  32. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/datetime_from_string.py +0 -0
  33. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/datetime_now.py +0 -0
  34. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/dict_first.py +0 -0
  35. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/dirname.py +0 -0
  36. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/exit_if_empty.py +0 -0
  37. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/filter_empty.py +0 -0
  38. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/get_by_index.py +0 -0
  39. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/get_class_method.py +0 -0
  40. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/get_filemtime.py +0 -0
  41. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/get_filesize.py +0 -0
  42. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/github_pull.py +0 -0
  43. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/github_push.py +0 -0
  44. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/github_user.py +0 -0
  45. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iargv.py +0 -0
  46. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/idumps.py +0 -0
  47. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/idumps_html.py +0 -0
  48. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/ienv.py +0 -0
  49. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iexec.py +0 -0
  50. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/ijoin.py +0 -0
  51. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iloads.py +0 -0
  52. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iloads_html.py +0 -0
  53. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/input_char.py +0 -0
  54. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iopen.py +0 -0
  55. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iprint.py +0 -0
  56. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/ireplace.py +0 -0
  57. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/is_empty.py +0 -0
  58. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/is_iterable.py +0 -0
  59. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/is_valid_url.py +0 -0
  60. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/iscandir.py +0 -0
  61. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/isplit.py +0 -0
  62. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/ivars.py +0 -0
  63. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/log.py +0 -0
  64. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/password_generator.py +0 -0
  65. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/pip_freeze_without_version.py +0 -0
  66. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/poetry_publish.py +0 -0
  67. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/poetry_update_version.py +0 -0
  68. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/print_colorize.py +0 -0
  69. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/print_dir.py +0 -0
  70. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/print_log.py +0 -0
  71. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/print_to_last_line.py +0 -0
  72. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/random_bool.py +0 -0
  73. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/restart.py +0 -0
  74. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/set_timeout.py +0 -0
  75. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/sets_ordered.py +0 -0
  76. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/str_cmp.py +0 -0
  77. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/text_colorize.py +0 -0
  78. {pypipr-1.0.109 → pypipr-1.0.111}/pypipr/to_str.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypipr
3
- Version: 1.0.109
3
+ Version: 1.0.111
4
4
  Summary: The Python Package Index Project
5
5
  Author: ufiapjj
6
6
  Author-email: ufiapjj@gmail.com
@@ -182,7 +182,7 @@ Output:
182
182
 
183
183
  ## int_to_chr
184
184
 
185
- `int_to_chr(n, start=1, numbers='abcdefghijklmnopqrstuvwxyz')`
185
+ `int_to_chr(n, start=0, numbers='abcdefghijklmnopqrstuvwxyz')`
186
186
 
187
187
  Fungsi ini berguna untuk membuat urutan dari huruf.
188
188
  Seperti a, b, ...., z, aa, bb, ....
@@ -196,42 +196,42 @@ print(int_to_chr(7777))
196
196
 
197
197
  Output:
198
198
  ```py
199
- 0 =
200
- 1 = a
201
- 2 = b
202
- 3 = c
203
- 4 = d
204
- 5 = e
205
- 6 = f
206
- 7 = g
207
- 8 = h
208
- 9 = i
209
- 10 = j
210
- 11 = k
211
- 12 = l
212
- 13 = m
213
- 14 = n
214
- 15 = o
215
- 16 = p
216
- 17 = q
217
- 18 = r
218
- 19 = s
219
- 20 = t
220
- 21 = u
221
- 22 = v
222
- 23 = w
223
- 24 = x
224
- 25 = y
225
- 26 = z
226
- 27 = aa
227
- 28 = ab
228
- 29 = ac
229
- kmc
199
+ 0 = a
200
+ 1 = b
201
+ 2 = c
202
+ 3 = d
203
+ 4 = e
204
+ 5 = f
205
+ 6 = g
206
+ 7 = h
207
+ 8 = i
208
+ 9 = j
209
+ 10 = k
210
+ 11 = l
211
+ 12 = m
212
+ 13 = n
213
+ 14 = o
214
+ 15 = p
215
+ 16 = q
216
+ 17 = r
217
+ 18 = s
218
+ 19 = t
219
+ 20 = u
220
+ 21 = v
221
+ 22 = w
222
+ 23 = x
223
+ 24 = y
224
+ 25 = z
225
+ 26 = aa
226
+ 27 = ab
227
+ 28 = ac
228
+ 29 = ad
229
+ kmd
230
230
  ```
231
231
 
232
232
  ## irange
233
233
 
234
- `irange(start, stop=None, step=None, index=0, numbers='abcdefghijklmnopqrstuvwxyz')`
234
+ `irange(start, stop=None, step=None, index=0, numbers=None)`
235
235
 
236
236
  Meningkatkan fungsi range() dari python untuk pengulangan menggunakan huruf
237
237
 
@@ -245,8 +245,8 @@ print(list(irange(10, 5)))
245
245
 
246
246
  Output:
247
247
  ```py
248
- <generator object str_range at 0x7253023cd0>
249
- <generator object str_range at 0x7253023cd0>
248
+ <generator object chr_range at 0x7426cec9d0>
249
+ <generator object chr_range at 0x7426cec9d0>
250
250
  ['a', 'k', 'u']
251
251
  [1, 2, 3, 4, 5, 6]
252
252
  [10, 9, 8, 7, 6]
@@ -271,6 +271,12 @@ print(batchmaker(s))
271
271
  print(list(batchmaker(s)))
272
272
  ```
273
273
 
274
+ Output:
275
+ ```py
276
+ <generator object batchmaker at 0x7426d18280>
277
+ ['Urutan 1 dan 10 dan j dan Z saja.', 'Urutan 1 dan 10 dan j dan K saja.', 'Urutan 4 dan 10 dan j dan Z saja.', 'Urutan 4 dan 10 dan j dan K saja.']
278
+ ```
279
+
274
280
  ## calculate
275
281
 
276
282
  `calculate(teks)`
@@ -321,7 +327,7 @@ print(list(batch_calculate("{1 10} m ** {1 3}")))
321
327
 
322
328
  Output:
323
329
  ```py
324
- <generator object batch_calculate at 0x7252eeed40>
330
+ <generator object batch_calculate at 0x7426c97010>
325
331
  [('1 m ** 1', <Quantity(1, 'meter')>), ('1 m ** 2', <Quantity(1, 'meter ** 2')>), ('2 m ** 1', <Quantity(2, 'meter')>), ('2 m ** 2', <Quantity(2, 'meter ** 2')>), ('3 m ** 1', <Quantity(3, 'meter')>), ('3 m ** 2', <Quantity(3, 'meter ** 2')>), ('4 m ** 1', <Quantity(4, 'meter')>), ('4 m ** 2', <Quantity(4, 'meter ** 2')>), ('5 m ** 1', <Quantity(5, 'meter')>), ('5 m ** 2', <Quantity(5, 'meter ** 2')>), ('6 m ** 1', <Quantity(6, 'meter')>), ('6 m ** 2', <Quantity(6, 'meter ** 2')>), ('7 m ** 1', <Quantity(7, 'meter')>), ('7 m ** 2', <Quantity(7, 'meter ** 2')>), ('8 m ** 1', <Quantity(8, 'meter')>), ('8 m ** 2', <Quantity(8, 'meter ** 2')>), ('9 m ** 1', <Quantity(9, 'meter')>), ('9 m ** 2', <Quantity(9, 'meter ** 2')>)]
326
332
  ```
327
333
 
@@ -414,7 +420,7 @@ print(list(chunk_array(arr, 5)))
414
420
 
415
421
  Output:
416
422
  ```py
417
- <generator object chunk_array at 0x7252f50440>
423
+ <generator object chunk_array at 0x7426d24540>
418
424
  [[2, 3, 12, 3, 3], [42, 42, 1, 43, 2], [42, 41, 4, 24, 32], [42, 3, 12, 32, 42], [42]]
419
425
  ```
420
426
 
@@ -465,9 +471,9 @@ print(datetime_now("Etc/GMT+7"))
465
471
 
466
472
  Output:
467
473
  ```py
468
- 2024-04-30 12:59:48.069039+07:00
469
- 2024-04-30 05:59:48.075135+00:00
470
- 2024-04-29 22:59:48.089036-07:00
474
+ 2024-04-30 18:51:07.832996+07:00
475
+ 2024-04-30 11:51:07.834956+00:00
476
+ 2024-04-30 04:51:07.841376-07:00
471
477
  ```
472
478
 
473
479
  ## dict_first
@@ -585,7 +591,7 @@ print(filter_empty(var))
585
591
 
586
592
  Output:
587
593
  ```py
588
- <generator object filter_empty at 0x7252eed300>
594
+ <generator object filter_empty at 0x7426c955d0>
589
595
  ```
590
596
 
591
597
  ## get_by_index
@@ -631,8 +637,8 @@ print(list(get_class_method(ExampleGetClassMethod)))
631
637
 
632
638
  Output:
633
639
  ```py
634
- <generator object get_class_method at 0x7252eef010>
635
- [<function ExampleGetClassMethod.a at 0x7252f605e0>, <function ExampleGetClassMethod.b at 0x7252f60860>, <function ExampleGetClassMethod.c at 0x7252f60900>, <function ExampleGetClassMethod.d at 0x7252f609a0>]
640
+ <generator object get_class_method at 0x7426c972e0>
641
+ [<function ExampleGetClassMethod.a at 0x7426d38ea0>, <function ExampleGetClassMethod.b at 0x7426d39120>, <function ExampleGetClassMethod.c at 0x7426d391c0>, <function ExampleGetClassMethod.d at 0x7426d39260>]
636
642
  ```
637
643
 
638
644
  ## get_filesize
@@ -867,6 +873,26 @@ t:
867
873
 
868
874
  ```
869
875
 
876
+ ## int_to_int
877
+
878
+ `int_to_int(n)`
879
+
880
+ Fungsi ini sama seperti fungsi int().
881
+ fungsi ini dibuat hanya untuk keperluan pembuatan module semata.
882
+
883
+ ```python
884
+ print(int_to_int(7777))
885
+ ```
886
+
887
+ Output:
888
+ ```py
889
+ 7777
890
+ ```
891
+
892
+ ## ienumerate
893
+
894
+ `ienumerate(iterator, start=0, key=<function int_to_int at 0x742e811bc0>)`
895
+
870
896
  ## ienv
871
897
 
872
898
  `ienv(on_windows=None, on_linux=None)`
@@ -930,7 +956,7 @@ print(ijoin(10, ' '))
930
956
 
931
957
  Output:
932
958
  ```py
933
- weq, asd, qweqw, dfs
959
+ qweqw, dfs, asd, weq
934
960
  ,ini,path,seperti,url,
935
961
  ini,path,seperti,url
936
962
  <li>satu</li>
@@ -974,9 +1000,9 @@ Output:
974
1000
  ```py
975
1001
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
976
1002
  [['Harga Emas Hari Ini - Selasa, 30 April 2024'],
977
- ['Spot Emas USD↓2.323,14 (-21,40) / oz',
1003
+ ['Spot Emas USD↓2.311,17 (-33,37) / oz',
978
1004
  'Kurs IDR↑16.249,00 (+27,00) / USD',
979
- 'Emas IDR↓1.213.649 (-9.145) / gr'],
1005
+ 'Emas IDR↓1.207.396 (-15.398) / gr'],
980
1006
  ['LM Antam (Jual)1.325.000 / gr', 'LM Antam (Beli)1.221.000 / gr']],
981
1007
  [['Harga Emas Hari Ini'],
982
1008
  ['Gram', 'Gedung Antam Jakarta', 'Pegadaian'],
@@ -1014,11 +1040,11 @@ Output:
1014
1040
  'Update harga LM Pegadaian :31 Agustus 2023']],
1015
1041
  [['Spot Harga Emas Hari Ini (Market Open)'],
1016
1042
  ['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
1017
- ['Ounce\xa0(oz)', '2.323,14 (-21,40)', '16.249,00 (+27,00)', '37.748.702'],
1018
- ['Gram\xa0(gr)', '74,69', '16.249,00', '1.213.649 (-9.145)'],
1019
- ['Kilogram\xa0(kg)', '74.690,69', '16.249,00', '1.213.648.948'],
1020
- ['Update harga emas :30 April 2024, pukul 12:59Update kurs :30 April 2024, '
1021
- 'pukul 09:10']],
1043
+ ['Ounce\xa0(oz)', '2.311,17 (-33,37)', '16.249,00 (+27,00)', '37.554.201'],
1044
+ ['Gram\xa0(gr)', '74,31', '16.249,00', '1.207.396 (-15.398)'],
1045
+ ['Kilogram\xa0(kg)', '74.305,84', '16.249,00', '1.207.395.611'],
1046
+ ['Update harga emas :30 April 2024, pukul 18:51Update kurs :30 April 2024, '
1047
+ 'pukul 13:10']],
1022
1048
  [['Gram', 'UBS Gold 99.99%'],
1023
1049
  ['Jual', 'Beli'],
1024
1050
  ['/ Batang', '/ Gram', '/ Batang', '/ Gram'],
@@ -1028,7 +1054,7 @@ Output:
1028
1054
  ['10', '12.720.000', '1.272.000', '12.620.000', '1.262.000'],
1029
1055
  ['5', '6.385.000', '1.277.000', '6.362.000', '1.272.400'],
1030
1056
  ['1', '1.325.000', '1.325.000', '1.305.000', '1.305.000'],
1031
- ['', 'Update :29 April 2024, pukul 16:06']],
1057
+ ['', 'Update :30 April 2024, pukul 14:56']],
1032
1058
  [['Konversi Satuan'],
1033
1059
  ['Satuan', 'Ounce (oz)', 'Gram (gr)', 'Kilogram (kg)'],
1034
1060
  ['Ounce\xa0(oz)', '1', '31,1034767696', '0,0311034768'],
@@ -1039,36 +1065,36 @@ Output:
1039
1065
  ['Unit', 'USD', 'IDR'],
1040
1066
  ['Angka', '+/-', 'Angka', '+/-'],
1041
1067
  ['Hari Ini', 'Kurs', '', '', '16.222', '+27+0,17%'],
1042
- ['oz', '2.344,54', '-21,40-0,91%', '38.033.128', '-284.426-0,75%'],
1043
- ['gr', '75,38', '-0,69-0,91%', '1.222.793', '-9.145-0,75%'],
1068
+ ['oz', '2.344,54', '-33,37-1,42%', '38.033.128', '-478.927-1,26%'],
1069
+ ['gr', '75,38', '-1,07-1,42%', '1.222.793', '-15.398-1,26%'],
1044
1070
  ['30 Hari', 'Kurs', '', '', '15.853', '+396+2,50%'],
1045
- ['oz', '2.232,75', '+90,39+4,05%', '35.395.786', '+2.352.916+6,65%'],
1046
- ['gr', '71,78', '+2,91+4,05%', '1.138.001', '+75.648+6,65%'],
1071
+ ['oz', '2.232,75', '+78,42+3,51%', '35.395.786', '+2.158.416+6,10%'],
1072
+ ['gr', '71,78', '+2,52+3,51%', '1.138.001', '+69.395+6,10%'],
1047
1073
  ['2 Bulan', 'Kurs', '', '', '15.715', '+534+3,40%'],
1048
- ['oz', '2.081,20', '+241,94+11,63%', '32.706.058', '+5.042.644+15,42%'],
1049
- ['gr', '66,91', '+7,78+11,63', '1.051.524', '+162.125+15,42%'],
1074
+ ['oz', '2.081,20', '+229,97+11,05%', '32.706.058', '+4.848.143+14,82%'],
1075
+ ['gr', '66,91', '+7,39+11,05', '1.051.524', '+155.871+14,82%'],
1050
1076
  ['6 Bulan', 'Kurs', '', '', '15.946', '+303+1,90%'],
1051
- ['oz', '1.981,84', '+341,30+17,22%', '31.602.421', '+6.146.281+19,45%'],
1052
- ['gr', '63,72', '+10,97+17,22%', '1.016.041', '+197.608+19,45%'],
1077
+ ['oz', '1.981,84', '+329,33+16,62%', '31.602.421', '+5.951.781+18,83%'],
1078
+ ['gr', '63,72', '+10,59+16,62%', '1.016.041', '+191.354+18,83%'],
1053
1079
  ['1 Tahun', 'Kurs', '', '', '15.731', '+518+3,29%'],
1054
- ['oz', '1.823,86', '+499,28+27,37%', '28.691.142', '+9.057.560+31,57%'],
1055
- ['gr', '58,64', '+16,05+27,37%', '922.442', '+291.207+31,57%'],
1080
+ ['oz', '1.823,86', '+487,31+26,72%', '28.691.142', '+8.863.060+30,89%'],
1081
+ ['gr', '58,64', '+15,67+26,72%', '922.442', '+284.954+30,89%'],
1056
1082
  ['2 Tahun', 'Kurs', '', '', '14.418', '+1.831+12,70%'],
1057
- ['oz', '1.896,95', '+426,19+22,47%', '27.350.225', '+10.398.477+38,02%'],
1058
- ['gr', '60,99', '+13,70+22,47%', '879.330', '+334.319+38,02%'],
1083
+ ['oz', '1.896,95', '+414,22+21,84%', '27.350.225', '+10.203.976+37,31%'],
1084
+ ['gr', '60,99', '+13,32+21,84%', '879.330', '+328.065+37,31%'],
1059
1085
  ['3 Tahun', 'Kurs', '', '', '14.468', '+1.781+12,31%'],
1060
- ['oz', '1.768,91', '+554,23+31,33%', '25.592.590', '+12.156.112+47,50%'],
1061
- ['gr', '56,87', '+17,82+31,33%', '822.821', '+390.828+47,50%'],
1086
+ ['oz', '1.768,91', '+542,26+30,66%', '25.592.590', '+11.961.611+46,74%'],
1087
+ ['gr', '56,87', '+17,43+30,66%', '822.821', '+384.575+46,74%'],
1062
1088
  ['5 Tahun', 'Kurs', '', '', '14.245', '+2.004+14,07%'],
1063
- ['oz', '1.270,94', '+1.052,20+82,79%', '18.104.540', '+19.644.162+108,50%'],
1064
- ['gr', '40,86', '+33,83+82,79%', '582.074', '+631.574+108,50%']])
1089
+ ['oz', '1.270,94', '+1.040,23+81,85%', '18.104.540', '+19.449.661+107,43%'],
1090
+ ['gr', '40,86', '+33,44+81,85%', '582.074', '+625.321+107,43%']])
1065
1091
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1066
1092
  [[''],
1067
1093
  ['Emas 24 KaratHarga Emas 1 Gram', ''],
1068
- ['USD', '74,69↓', '-0,69-0,92%'],
1069
- ['KURS', '16.269,00↑', '+55,50+0,34%'],
1070
- ['IDR', '1.215.142,76↓', '-7.009,98-0,57%'],
1071
- ['Selasa, 30 April 2024 12:59']],
1094
+ ['USD', '74,31↓', '-1,07-1,42%'],
1095
+ ['KURS', '16.243,25↑', '+29,75+0,18%'],
1096
+ ['IDR', '1.206.968,35↓', '-15.184,39-1,24%'],
1097
+ ['Selasa, 30 April 2024 18:51']],
1072
1098
  [[''],
1073
1099
  ['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
1074
1100
  'Hari Ini',
@@ -1079,19 +1105,19 @@ Output:
1079
1105
  '']],
1080
1106
  [['Pergerakkan Harga Emas 1 Gram'],
1081
1107
  ['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
1082
- ['USD', '75,38', '74,69 - 75,38', '75,04'],
1083
- ['KURS', '16.213,50', '16.213,50 - 16.269,00', '16.241,25'],
1084
- ['IDR', '1.222.152,74', '1.215.142,76 - 1.222.152,74', '1.218.647,75'],
1108
+ ['USD', '75,38', '74,31 - 75,38', '74,85'],
1109
+ ['KURS', '16.213,50', '16.213,50 - 16.243,25', '16.228,38'],
1110
+ ['IDR', '1.222.152,74', '1.206.968,35 - 1.222.152,74', '1.214.560,55'],
1085
1111
  [''],
1086
1112
  ['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
1087
- ['USD', '66,32', '64,07 - 77,14', '+8,37 (12,62%)'],
1088
- ['KURS', '15.390,10', '15.390,00 - 16.307,80', '+878,90 (5,71%)'],
1089
- ['IDR', '1.020.729,53', '997.660,12 - 1.256.829,06', '+194.413,23 (19,05%)'],
1113
+ ['USD', '66,32', '64,07 - 77,14', '+7,99 (12,05%)'],
1114
+ ['KURS', '15.390,10', '15.390,00 - 16.307,80', '+853,15 (5,54%)'],
1115
+ ['IDR', '1.020.729,53', '997.660,12 - 1.256.829,06', '+186.238,82 (18,25%)'],
1090
1116
  [''],
1091
1117
  ['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
1092
- ['USD', '63,97', '58,43 - 77,14', '+10,72 (16,76%)'],
1093
- ['KURS', '14.673,55', '14.669,40 - 16.307,80', '+1.595,45 (10,87%)'],
1094
- ['IDR', '938.709,73', '912.925,68 - 1.256.829,06', '+276.433,03 (29,45%)']])
1118
+ ['USD', '63,97', '58,43 - 77,14', '+10,34 (16,16%)'],
1119
+ ['KURS', '14.673,55', '14.669,40 - 16.307,80', '+1.569,70 (10,70%)'],
1120
+ ['IDR', '938.709,73', '912.925,68 - 1.256.829,06', '+268.258,62 (28,58%)']])
1095
1121
  ```
1096
1122
 
1097
1123
  ## iloads
@@ -1128,6 +1154,54 @@ input_char("Input char : ", default='Y')
1128
1154
  input_char("Input Char without print : ", echo_char=False)
1129
1155
  ```
1130
1156
 
1157
+ ## int_to_bin
1158
+
1159
+ `int_to_bin(n)`
1160
+
1161
+ Fungsi ini sama seperti fungsi bin().
1162
+ fungsi ini dibuat hanya untuk keperluan pembuatan module semata.
1163
+
1164
+ ```python
1165
+ print(int_to_bin(7777))
1166
+ ```
1167
+
1168
+ Output:
1169
+ ```py
1170
+ 0b1111001100001
1171
+ ```
1172
+
1173
+ ## int_to_hex
1174
+
1175
+ `int_to_hex(n)`
1176
+
1177
+ Fungsi ini sama seperti fungsi hex().
1178
+ fungsi ini dibuat hanya untuk keperluan pembuatan module semata.
1179
+
1180
+ ```python
1181
+ print(int_to_hex(7777))
1182
+ ```
1183
+
1184
+ Output:
1185
+ ```py
1186
+ 0x1e61
1187
+ ```
1188
+
1189
+ ## int_to_oct
1190
+
1191
+ `int_to_oct(n)`
1192
+
1193
+ Fungsi ini sama seperti fungsi oct().
1194
+ fungsi ini dibuat hanya untuk keperluan pembuatan module semata.
1195
+
1196
+ ```python
1197
+ print(int_to_oct(7777))
1198
+ ```
1199
+
1200
+ Output:
1201
+ ```py
1202
+ 0o17141
1203
+ ```
1204
+
1131
1205
  ## is_valid_url
1132
1206
 
1133
1207
  `is_valid_url(path)`
@@ -1185,7 +1259,7 @@ Output:
1185
1259
  ```py
1186
1260
  8
1187
1261
  ['mana', 'aja']
1188
- [<Element a at 0x7252f5df90>, <Element a at 0x7252f9cf00>, <Element a at 0x7252f9cfa0>, <Element a at 0x7252f9cff0>, <Element a at 0x7252f9d040>, <Element a at 0x7252f9d090>, <Element a at 0x7252f9d0e0>, <Element a at 0x7252f9d130>, <Element a at 0x7252f9d180>, <Element a at 0x7252f9d1d0>, <Element a at 0x7252f9d220>, <Element a at 0x7252f9d270>, <Element a at 0x7252f9d2c0>, <Element a at 0x7252f9d310>, <Element a at 0x7252f9d360>, <Element a at 0x7252f9d3b0>, <Element a at 0x7252f9d400>, <Element a at 0x7252f9d450>]
1262
+ [<Element a at 0x7426d2e990>, <Element a at 0x7426d6d040>, <Element a at 0x7426d6d0e0>, <Element a at 0x7426d6d130>, <Element a at 0x7426d6d180>, <Element a at 0x7426d6d1d0>, <Element a at 0x7426d6d220>, <Element a at 0x7426d6d270>, <Element a at 0x7426d6d2c0>, <Element a at 0x7426d6d310>, <Element a at 0x7426d6d360>, <Element a at 0x7426d6d3b0>, <Element a at 0x7426d6d400>, <Element a at 0x7426d6d450>, <Element a at 0x7426d6d4a0>, <Element a at 0x7426d6d4f0>, <Element a at 0x7426d6d540>, <Element a at 0x7426d6d590>]
1189
1263
  False
1190
1264
  ```
1191
1265
 
@@ -1247,7 +1321,7 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
1247
1321
 
1248
1322
  Output:
1249
1323
  ```py
1250
- <generator object iscandir at 0x7252f50740>
1324
+ <generator object iscandir at 0x7426d24740>
1251
1325
  [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
1252
1326
  ```
1253
1327
 
@@ -1284,68 +1358,73 @@ Output:
1284
1358
  'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
1285
1359
  'PintUregQuantity': <class 'pint.Quantity'>,
1286
1360
  'RunParallel': <class 'pypipr.RunParallel.RunParallel'>},
1287
- 'function': {'avg': <function avg at 0x725d0a2700>,
1288
- 'get_filemtime': <function get_filemtime at 0x725830b2e0>,
1289
- 'print_colorize': <function print_colorize at 0x725830b4c0>,
1290
- 'print_log': <function print_log at 0x725859ab60>,
1291
- 'console_run': <function console_run at 0x725830b380>,
1292
- 'auto_reload': <function auto_reload at 0x72584c3ec0>,
1293
- 'basename': <function basename at 0x725830b240>,
1294
- 'chr_to_int': <function chr_to_int at 0x725830b9c0>,
1295
- 'int_to_chr': <function int_to_chr at 0x725830ba60>,
1296
- 'irange': <function irange at 0x725830b880>,
1297
- 'batchmaker': <function batchmaker at 0x725830b740>,
1298
- 'calculate': <function calculate at 0x725830bce0>,
1299
- 'batch_calculate': <function batch_calculate at 0x725830b600>,
1300
- 'is_iterable': <function is_iterable at 0x725830bd80>,
1301
- 'print_to_last_line': <function print_to_last_line at 0x725830be20>,
1302
- 'text_colorize': <function text_colorize at 0x725830bec0>,
1303
- 'choices': <function choices at 0x725830b6a0>,
1304
- 'chunk_array': <function chunk_array at 0x725830b7e0>,
1305
- 'create_folder': <function create_folder at 0x725830bf60>,
1306
- 'datetime_from_string': <function datetime_from_string at 0x72582fc040>,
1307
- 'datetime_now': <function datetime_now at 0x72582fc0e0>,
1308
- 'dict_first': <function dict_first at 0x72582fc180>,
1309
- 'dirname': <function dirname at 0x72582fc220>,
1310
- 'is_empty': <function is_empty at 0x72582fc400>,
1311
- 'exit_if_empty': <function exit_if_empty at 0x725830b560>,
1312
- 'to_str': <function to_str at 0x72582fc540>,
1313
- 'filter_empty': <function filter_empty at 0x72582fc2c0>,
1314
- 'get_by_index': <function get_by_index at 0x72582fc4a0>,
1315
- 'get_class_method': <function get_class_method at 0x72582fc5e0>,
1316
- 'get_filesize': <function get_filesize at 0x72582fc720>,
1317
- 'github_pull': <function github_pull at 0x72582fc7c0>,
1318
- 'github_push': <function github_push at 0x72582fc9a0>,
1319
- 'github_user': <function github_user at 0x72582fca40>,
1320
- 'iargv': <function iargv at 0x72582fc860>,
1321
- 'idumps_html': <function idumps_html at 0x72582fccc0>,
1322
- 'idumps': <function idumps at 0x72582fcb80>,
1323
- 'ienv': <function ienv at 0x72582fd1c0>,
1324
- 'iexec': <function iexec at 0x72583d94e0>,
1325
- 'ijoin': <function ijoin at 0x72583d96c0>,
1326
- 'iloads_html': <function iloads_html at 0x72583d98a0>,
1327
- 'iloads': <function iloads at 0x72583d9620>,
1328
- 'input_char': <function input_char at 0x72583d9800>,
1329
- 'is_valid_url': <function is_valid_url at 0x72583d9a80>,
1330
- 'iopen': <function iopen at 0x72581f1ee0>,
1331
- 'iprint': <function iprint at 0x72583d99e0>,
1332
- 'ireplace': <function ireplace at 0x72583d9da0>,
1333
- 'iscandir': <function iscandir at 0x72582ad620>,
1334
- 'isplit': <function isplit at 0x72582ad6c0>,
1335
- 'ivars': <function ivars at 0x72582ad760>,
1336
- 'log': <function log at 0x72582ad800>,
1337
- 'password_generator': <function password_generator at 0x72582ad8a0>,
1338
- 'pip_freeze_without_version': <function pip_freeze_without_version at 0x72582ad9e0>,
1339
- 'poetry_publish': <function poetry_publish at 0x72582ada80>,
1340
- 'poetry_update_version': <function poetry_update_version at 0x72582adbc0>,
1341
- 'print_dir': <function print_dir at 0x72582adda0>,
1342
- 'random_bool': <function random_bool at 0x72582ade40>,
1343
- 'restart': <function restart at 0x72582adee0>,
1344
- 'set_timeout': <function set_timeout at 0x72582adf80>,
1345
- 'sets_ordered': <function sets_ordered at 0x72582ae020>,
1346
- 'str_cmp': <function str_cmp at 0x72582ae0c0>},
1361
+ 'function': {'avg': <function avg at 0x74376da700>,
1362
+ 'get_filemtime': <function get_filemtime at 0x742e73f2e0>,
1363
+ 'print_colorize': <function print_colorize at 0x742e73f4c0>,
1364
+ 'print_log': <function print_log at 0x742e9cab60>,
1365
+ 'console_run': <function console_run at 0x742e73f380>,
1366
+ 'auto_reload': <function auto_reload at 0x742e8fbec0>,
1367
+ 'basename': <function basename at 0x742e73f240>,
1368
+ 'chr_to_int': <function chr_to_int at 0x742e73fa60>,
1369
+ 'int_to_chr': <function int_to_chr at 0x742e73fb00>,
1370
+ 'irange': <function irange at 0x742e73fd80>,
1371
+ 'batchmaker': <function batchmaker at 0x742e73f740>,
1372
+ 'calculate': <function calculate at 0x742e7342c0>,
1373
+ 'batch_calculate': <function batch_calculate at 0x742e73f600>,
1374
+ 'is_iterable': <function is_iterable at 0x742e734360>,
1375
+ 'print_to_last_line': <function print_to_last_line at 0x742e734400>,
1376
+ 'text_colorize': <function text_colorize at 0x742e7344a0>,
1377
+ 'choices': <function choices at 0x742e73f6a0>,
1378
+ 'chunk_array': <function chunk_array at 0x742e73f7e0>,
1379
+ 'create_folder': <function create_folder at 0x742e734540>,
1380
+ 'datetime_from_string': <function datetime_from_string at 0x742e7345e0>,
1381
+ 'datetime_now': <function datetime_now at 0x742e734680>,
1382
+ 'dict_first': <function dict_first at 0x742e734720>,
1383
+ 'dirname': <function dirname at 0x742e7347c0>,
1384
+ 'is_empty': <function is_empty at 0x742e7349a0>,
1385
+ 'exit_if_empty': <function exit_if_empty at 0x742e73f560>,
1386
+ 'to_str': <function to_str at 0x742e734ae0>,
1387
+ 'filter_empty': <function filter_empty at 0x742e734860>,
1388
+ 'get_by_index': <function get_by_index at 0x742e734a40>,
1389
+ 'get_class_method': <function get_class_method at 0x742e734b80>,
1390
+ 'get_filesize': <function get_filesize at 0x742e734cc0>,
1391
+ 'github_pull': <function github_pull at 0x742e734d60>,
1392
+ 'github_push': <function github_push at 0x742e734f40>,
1393
+ 'github_user': <function github_user at 0x742e734fe0>,
1394
+ 'iargv': <function iargv at 0x742e734e00>,
1395
+ 'idumps_html': <function idumps_html at 0x742e735260>,
1396
+ 'idumps': <function idumps at 0x742e735120>,
1397
+ 'int_to_int': <function int_to_int at 0x742e811bc0>,
1398
+ 'ienumerate': <function ienumerate at 0x742e735760>,
1399
+ 'ienv': <function ienv at 0x742e811a80>,
1400
+ 'iexec': <function iexec at 0x742e811c60>,
1401
+ 'ijoin': <function ijoin at 0x742e811da0>,
1402
+ 'iloads_html': <function iloads_html at 0x742e811f80>,
1403
+ 'iloads': <function iloads at 0x742e811d00>,
1404
+ 'input_char': <function input_char at 0x742e811ee0>,
1405
+ 'int_to_bin': <function int_to_bin at 0x742e812020>,
1406
+ 'int_to_hex': <function int_to_hex at 0x742e8120c0>,
1407
+ 'int_to_oct': <function int_to_oct at 0x742e812160>,
1408
+ 'is_valid_url': <function is_valid_url at 0x742e812340>,
1409
+ 'iopen': <function iopen at 0x742e5fe7a0>,
1410
+ 'iprint': <function iprint at 0x742e8122a0>,
1411
+ 'ireplace': <function ireplace at 0x742e812660>,
1412
+ 'iscandir': <function iscandir at 0x742e6b9ee0>,
1413
+ 'isplit': <function isplit at 0x742e6b9f80>,
1414
+ 'ivars': <function ivars at 0x742e6ba020>,
1415
+ 'log': <function log at 0x742e6ba0c0>,
1416
+ 'password_generator': <function password_generator at 0x742e6ba160>,
1417
+ 'pip_freeze_without_version': <function pip_freeze_without_version at 0x742e6ba2a0>,
1418
+ 'poetry_publish': <function poetry_publish at 0x742e6ba340>,
1419
+ 'poetry_update_version': <function poetry_update_version at 0x742e6ba480>,
1420
+ 'print_dir': <function print_dir at 0x742e6ba660>,
1421
+ 'random_bool': <function random_bool at 0x742e6ba700>,
1422
+ 'restart': <function restart at 0x742e6ba7a0>,
1423
+ 'set_timeout': <function set_timeout at 0x742e6ba840>,
1424
+ 'sets_ordered': <function sets_ordered at 0x742e6ba8e0>,
1425
+ 'str_cmp': <function str_cmp at 0x742e6ba980>},
1347
1426
  'variable': {'LINUX': True,
1348
- 'PintUreg': <pint.registry.UnitRegistry object at 0x725d0a8450>,
1427
+ 'PintUreg': <pint.registry.UnitRegistry object at 0x74374d1810>,
1349
1428
  'WINDOWS': False},
1350
1429
  'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.11/asyncio/__init__.py'>,
1351
1430
  'colorama': <module 'colorama' from '/data/data/com.termux/files/usr/lib/python3.11/site-packages/colorama/__init__.py'>,
@@ -1419,7 +1498,7 @@ print(password_generator())
1419
1498
 
1420
1499
  Output:
1421
1500
  ```py
1422
- Ym}9H"{5
1501
+ JC%l}I"Y
1423
1502
  ```
1424
1503
 
1425
1504
  ## pip_freeze_without_version
@@ -1477,7 +1556,7 @@ Output:
1477
1556
  __enter__ : https:/www.google.com
1478
1557
  __fspath__ : https:/www.google.com
1479
1558
  __getstate__ : (None, {'_drv': '', '_root': '', '_parts': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1480
- __hash__ : 3977985606964424013
1559
+ __hash__ : 7552599354939882057
1481
1560
  __init__ : None
1482
1561
  __init_subclass__ : None
1483
1562
  __module__ : pathlib
@@ -1490,8 +1569,8 @@ Output:
1490
1569
  _cached_cparts : ['https:', 'www.google.com']
1491
1570
  _cparts : ['https:', 'www.google.com']
1492
1571
  _drv :
1493
- _flavour : <pathlib._PosixFlavour object at 0x7262454610>
1494
- _hash : 3977985606964424013
1572
+ _flavour : <pathlib._PosixFlavour object at 0x7440454790>
1573
+ _hash : 7552599354939882057
1495
1574
  _parts : ['https:', 'www.google.com']
1496
1575
  _root :
1497
1576
  _str : https:/www.google.com
@@ -1513,7 +1592,7 @@ Output:
1513
1592
  is_reserved : False
1514
1593
  is_socket : False
1515
1594
  is_symlink : False
1516
- iterdir : <generator object Path.iterdir at 0x7252f59fc0>
1595
+ iterdir : <generator object Path.iterdir at 0x7426d227a0>
1517
1596
  joinpath : https:/www.google.com
1518
1597
  name : www.google.com
1519
1598
  parent : https:
@@ -1567,7 +1646,7 @@ x.cancel()
1567
1646
 
1568
1647
  Output:
1569
1648
  ```py
1570
- <Timer(Thread-2, started 490989403376)>
1649
+ <Timer(Thread-2, started 498839043312)>
1571
1650
  menghentikan timeout 7
1572
1651
  ```
1573
1652
 
@@ -1585,7 +1664,7 @@ print(list(sets_ordered(array)))
1585
1664
 
1586
1665
  Output:
1587
1666
  ```py
1588
- <generator object sets_ordered at 0x7252f78ad0>
1667
+ <generator object sets_ordered at 0x7426d48e10>
1589
1668
  [2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
1590
1669
  ```
1591
1670
 
@@ -1660,7 +1739,7 @@ print(ExampleComparePerformance().compare_performance())
1660
1739
 
1661
1740
  Output:
1662
1741
  ```py
1663
- {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7252f78520>,
1742
+ {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7426d48860>,
1664
1743
  'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
1665
1744
  'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
1666
1745
  'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
@@ -32,13 +32,18 @@ from .github_user import github_user
32
32
  from .iargv import iargv
33
33
  from .idumps import idumps
34
34
  from .idumps_html import idumps_html
35
+ from .ienumerate import ienumerate
35
36
  from .ienv import ienv
36
37
  from .iexec import iexec
37
38
  from .ijoin import ijoin
38
39
  from .iloads import iloads
39
40
  from .iloads_html import iloads_html
40
41
  from .input_char import input_char
42
+ from .int_to_bin import int_to_bin
41
43
  from .int_to_chr import int_to_chr
44
+ from .int_to_hex import int_to_hex
45
+ from .int_to_int import int_to_int
46
+ from .int_to_oct import int_to_oct
42
47
  from .iopen import iopen
43
48
  from .iprint import iprint
44
49
  from .irange import irange
@@ -3,7 +3,7 @@ import re
3
3
  from .irange import irange
4
4
 
5
5
  # batchmaker()
6
- __batchmaker__regex_pattern__ = r"{(?:[^a-zA-Z0-9{}]+)?([a-zA-Z]+|\d+)(?:[^a-zA-Z0-9{}]+([a-zA-Z]+|\d+))?(?:[^a-zA-Z0-9{}]+(\d+))?(?:[^a-zA-Z0-9{}]+)?}"
6
+ __batchmaker__regex_pattern__ = r"{(?:[^a-zA-Z0-9{}]+)?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9{}]+([a-zA-Z0-9]+))?(?:[^a-zA-Z0-9{}]+(\d+))?(?:[^a-zA-Z0-9{}]+)?}"
7
7
  __batchmaker__regex_compile__ = re.compile(__batchmaker__regex_pattern__)
8
8
 
9
9
 
@@ -0,0 +1,5 @@
1
+ from .int_to_int import int_to_int
2
+
3
+ def ienumerate(iterator, start=0, key=int_to_int):
4
+ for i, v in enumerate(iterator, start):
5
+ yield (key(i), v)