pypipr 1.0.170__py3-none-any.whl → 1.0.172__py3-none-any.whl

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.
pypipr/dirname.py CHANGED
@@ -1,31 +1,35 @@
1
- import os
2
-
3
- from .filter_empty import filter_empty
1
+ from pathlib import Path
4
2
 
5
3
 
6
4
  def dirname(path, indeks=-1, abs_path=None):
7
5
  """
8
- Mengembalikan nama folder dari path.
6
+ Mengembalikan bagian direktori dari sebuah path berdasarkan indeks.
9
7
  Tanpa trailing slash di akhir.
10
8
 
11
- ```python
12
- print(dirname("/ini/nama/folder/ke/file.py"))
13
- ```
9
+ Args:
10
+ path (str): Path lengkap ke file atau direktori.
11
+ indeks (int): Indeks negatif untuk menentukan seberapa jauh naik ke atas direktori.
12
+ abs_path (bool | None):
13
+ - True untuk path absolut,
14
+ - False untuk path relatif terhadap cwd,
15
+ - None untuk path sesuai pemotongan manual.
16
+
17
+ Returns:
18
+ str: Path direktori hasil ekstraksi.
19
+
20
+ Contoh:
21
+ dirname("/a/b/c/d/e.txt", -2) -> "a/b/c"
14
22
  """
15
-
16
- paths = path.split(os.sep)
17
- paths = list(filter_empty(paths))
18
23
 
19
- if indeks < 0:
20
- paths = paths[: len(paths) + indeks]
21
- path = os.sep.join(paths)
24
+ path_obj = Path(path)
25
+ parts = path_obj.parts
26
+ new_parts = parts[:indeks]
22
27
 
28
+ new_path = Path(*new_parts)
23
29
  if abs_path is None:
24
- return path
30
+ return str(new_path)
25
31
 
26
- path = os.path.abspath(path)
32
+ resolved_path = new_path.resolve()
27
33
  if abs_path:
28
- return path
29
- return os.path.relpath(path, os.getcwd())
30
-
31
- return os.path.dirname(path)
34
+ return str(resolved_path)
35
+ return str(resolved_path.relative_to(Path.cwd()))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypipr
3
- Version: 1.0.170
3
+ Version: 1.0.172
4
4
  Summary: The Python Package Index Project
5
5
  Author: ufiapjj
6
6
  Author-email: ufiapjj@gmail.com
@@ -248,8 +248,8 @@ iprint(irange("z", "a", 4))
248
248
 
249
249
  Output:
250
250
  ```py
251
- <generator object int_range at 0x75721c6840>
252
- <generator object int_range at 0x75721c6940>
251
+ <generator object int_range at 0x7af8a2a940>
252
+ <generator object int_range at 0x7af8a2aa40>
253
253
  [13, 12, 11, 10, 9, 8, 7, 6]
254
254
  [2, 5, 8]
255
255
  []
@@ -281,7 +281,7 @@ print(list(batchmaker(s)))
281
281
 
282
282
  Output:
283
283
  ```py
284
- <generator object batchmaker at 0x75721db2e0>
284
+ <generator object batchmaker at 0x7af89dbe20>
285
285
  ['Urutan 1 dan 10 dan j dan Z saja.', 'Urutan 1 dan 10 dan j dan K saja.', 'Urutan 1 dan 10 dan j dan saja.']
286
286
  ```
287
287
 
@@ -335,7 +335,7 @@ print(list(batch_calculate("{1 10} m ** {1 3}")))
335
335
 
336
336
  Output:
337
337
  ```py
338
- <generator object batch_calculate at 0x75721ef300>
338
+ <generator object batch_calculate at 0x7af8a33ca0>
339
339
  [('1 m ** 1', <Quantity(1, 'meter')>), ('1 m ** 2', <Quantity(1, 'meter ** 2')>), ('1 m ** 3', <Quantity(1, 'meter ** 3')>)]
340
340
  ```
341
341
 
@@ -441,7 +441,7 @@ print(list(chunk_array(arr, 5)))
441
441
 
442
442
  Output:
443
443
  ```py
444
- <generator object chunk_array at 0x75721d3100>
444
+ <generator object chunk_array at 0x7af8a2f2e0>
445
445
  [[2, 3, 12, 3, 3], [42, 42, 1, 43, 2], [42, 41, 4, 24, 32], [42, 3, 12, 32, 42], [42]]
446
446
  ```
447
447
 
@@ -492,9 +492,9 @@ print(datetime_now("Etc/GMT+7"))
492
492
 
493
493
  Output:
494
494
  ```py
495
- 2025-04-10 22:32:28.405547+07:00
496
- 2025-04-10 15:32:28.407844+00:00
497
- 2025-04-10 08:32:28.410478-07:00
495
+ 2025-04-22 23:38:22.896343+07:00
496
+ 2025-04-22 16:38:22.897347+00:00
497
+ 2025-04-22 09:38:22.900122-07:00
498
498
  ```
499
499
 
500
500
  ## dict_first
@@ -519,6 +519,35 @@ Output:
519
519
  ('key3', 'value3')
520
520
  ```
521
521
 
522
+ ## dirname
523
+
524
+ `dirname(path, indeks=-1, abs_path=None)`
525
+
526
+ Mengembalikan bagian direktori dari sebuah path berdasarkan indeks.
527
+ Tanpa trailing slash di akhir.
528
+
529
+ Args:
530
+ path (str): Path lengkap ke file atau direktori.
531
+ indeks (int): Indeks negatif untuk menentukan seberapa jauh naik ke atas direktori.
532
+ abs_path (bool | None):
533
+ - True untuk path absolut,
534
+ - False untuk path relatif terhadap cwd,
535
+ - None untuk path sesuai pemotongan manual.
536
+
537
+ Returns:
538
+ str: Path direktori hasil ekstraksi.
539
+
540
+ Contoh:
541
+ dirname("/a/b/c/d/e.txt", -2) -> "a/b/c"
542
+
543
+ ## django_clear_migrations
544
+
545
+ `django_clear_migrations(appname)`
546
+
547
+ ## django_runserver
548
+
549
+ `django_runserver()`
550
+
522
551
  ## is_iterable
523
552
 
524
553
  `is_iterable(var, str_is_iterable=False)`
@@ -584,34 +613,10 @@ iprint(filter_empty(var))
584
613
 
585
614
  Output:
586
615
  ```py
587
- <generator object filter_empty at 0x75721d32e0>
616
+ <generator object filter_empty at 0x7af8a2f4c0>
588
617
  [1, '0', True, {}, ['eee']]
589
618
  ```
590
619
 
591
- ## dirname
592
-
593
- `dirname(path, indeks=-1, abs_path=None)`
594
-
595
- Mengembalikan nama folder dari path.
596
- Tanpa trailing slash di akhir.
597
-
598
- ```python
599
- print(dirname("/ini/nama/folder/ke/file.py"))
600
- ```
601
-
602
- Output:
603
- ```py
604
- ini/nama/folder/ke
605
- ```
606
-
607
- ## django_clear_migrations
608
-
609
- `django_clear_migrations(appname)`
610
-
611
- ## django_runserver
612
-
613
- `django_runserver()`
614
-
615
620
  ## get_by_index
616
621
 
617
622
  `get_by_index(obj, index, on_error=None)`
@@ -655,8 +660,8 @@ print(list(get_class_method(ExampleGetClassMethod)))
655
660
 
656
661
  Output:
657
662
  ```py
658
- <generator object get_class_method at 0x75721efe60>
659
- [<function ExampleGetClassMethod.a at 0x7572242de0>, <function ExampleGetClassMethod.b at 0x7572242c00>, <function ExampleGetClassMethod.c at 0x7572242ca0>, <function ExampleGetClassMethod.d at 0x7572242e80>]
663
+ <generator object get_class_method at 0x7af87189e0>
664
+ [<function ExampleGetClassMethod.a at 0x7af870bf60>, <function ExampleGetClassMethod.b at 0x7af870bce0>, <function ExampleGetClassMethod.c at 0x7af870bec0>, <function ExampleGetClassMethod.d at 0x7af870be20>]
660
665
  ```
661
666
 
662
667
  ## get_filesize
@@ -1084,7 +1089,7 @@ Output:
1084
1089
 
1085
1090
  ## ienumerate
1086
1091
 
1087
- `ienumerate(iterator, start=0, key=<function int_to_int at 0x75764265c0>)`
1092
+ `ienumerate(iterator, start=0, key=<function int_to_int at 0x7afe933420>)`
1088
1093
 
1089
1094
  meningkatkan fungsi enumerate() pada python
1090
1095
  untuk key menggunakan huruf dan basis angka lainnya.
@@ -1097,7 +1102,7 @@ iprint(ienumerate(it, key=int_to_chr))
1097
1102
 
1098
1103
  Output:
1099
1104
  ```py
1100
- <generator object ienumerate at 0x75721d32e0>
1105
+ <generator object ienumerate at 0x7af8a2f4c0>
1101
1106
  [('a', 'ini'), ('b', 'contoh'), ('c', 'enumerator')]
1102
1107
  ```
1103
1108
 
@@ -1174,7 +1179,7 @@ print(ijoin(10, ' '))
1174
1179
 
1175
1180
  Output:
1176
1181
  ```py
1177
- asd, weq, qweqw, dfs
1182
+ qweqw, weq, dfs, asd
1178
1183
  ,ini,path,seperti,url,
1179
1184
  ini,path,seperti,url
1180
1185
  <li>satu</li>
@@ -1219,10 +1224,10 @@ pprint.pprint(iloads_html(iopen("https://harga-emas.org/1-gram/")), depth=10)
1219
1224
  Output:
1220
1225
  ```py
1221
1226
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1222
- [['Harga Emas Hari Ini - Kamis, 10 April 2025'],
1223
- ['Spot Emas USD3.167,57 (+76,53) / oz',
1227
+ [['Harga Emas Hari Ini - Selasa, 22 April 2025'],
1228
+ ['Spot Emas USD3.385,69 (-27,28) / oz',
1224
1229
  'Kurs IDR1,00 / USD',
1225
- 'Emas IDR↑102 (+2) / gr'],
1230
+ 'Emas IDR↓109 (-1) / gr'],
1226
1231
  ['LM Antam (Jual)↓1.513.000 (-30.000) / gr',
1227
1232
  'LM Antam (Beli)↓1.366.000 (-30.000) / gr']],
1228
1233
  [['Harga Emas Hari Ini'],
@@ -1245,10 +1250,10 @@ Output:
1245
1250
  'Update harga LM Pegadaian :31 Desember 1969']],
1246
1251
  [['Spot Harga Emas Hari Ini (Market Open)'],
1247
1252
  ['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
1248
- ['Ounce\xa0(oz)', '3.167,57 (+76,53)', '1,00', '3.168'],
1249
- ['Gram\xa0(gr)', '101,84', '1,00', '102 (+2)'],
1250
- ['Kilogram\xa0(kg)', '101.839,74', '1,00', '101.840'],
1251
- ['Update harga emas :10 April 2025, pukul 22:32Update kurs :14 Maret 2025, '
1253
+ ['Ounce\xa0(oz)', '3.385,69 (-27,28)', '1,00', '3.386'],
1254
+ ['Gram\xa0(gr)', '108,85', '1,00', '109 (-1)'],
1255
+ ['Kilogram\xa0(kg)', '108.852,46', '1,00', '108.852'],
1256
+ ['Update harga emas :22 April 2025, pukul 23:38Update kurs :14 Maret 2025, '
1252
1257
  'pukul 10:13']],
1253
1258
  [['Gram', 'UBS Gold 99.99%'],
1254
1259
  ['Jual', 'Beli'],
@@ -1286,36 +1291,36 @@ Output:
1286
1291
  ['Unit', 'USD', 'IDR'],
1287
1292
  ['Angka', '+/-', 'Angka', '+/-'],
1288
1293
  ['Hari Ini', 'Kurs', '', '', '1', '%'],
1289
- ['oz', '3.091,04', '+76,53+2,48%', '3.091', '+77+2,48%'],
1290
- ['gr', '99,38', '+2,46+2,48%', '99', '+2+2,48%'],
1291
- ['30 Hari', 'Kurs', '', '', '16.326', '-16.325-99,99%'],
1292
- ['oz', '2.916,73', '+250,84+8,60%', '47.618.534', '-47.615.366-99,99%'],
1293
- ['gr', '93,78', '+8,06+8,60%', '1.530.971', '-1.530.870-99,99%'],
1294
- ['2 Bulan', 'Kurs', '', '', '16.330', '-16.329-99,99%'],
1295
- ['oz', '2.861,26', '+306,31+10,71%', '46.724.376', '-46.721.208-99,99%'],
1296
- ['gr', '91,99', '+9,85+10,71', '1.502.224', '-1.502.122-99,99%'],
1297
- ['6 Bulan', 'Kurs', '', '', '15.658', '-15.657-99,99%'],
1298
- ['oz', '2.656,78', '+510,79+19,23%', '41.599.861', '-41.596.694-99,99%'],
1299
- ['gr', '85,42', '+16,42+19,23%', '1.337.467', '-1.337.365-99,99%'],
1300
- ['1 Tahun', 'Kurs', '', '', '15.907', '-15.906-99,99%'],
1301
- ['oz', '2.338,57', '+829,00+35,45%', '37.199.633', '-37.196.465-99,99%'],
1302
- ['gr', '75,19', '+26,65+35,45%', '1.195.996', '-1.195.894-99,99%'],
1294
+ ['oz', '3.412,97', '-27,28-0,80%', '3.413', '-27-0,80%'],
1295
+ ['gr', '109,73', '-0,88-0,80%', '110', '-1-0,80%'],
1296
+ ['30 Hari', 'Kurs', '', '', '1', '%'],
1297
+ ['oz', '3.022,96', '+362,73+12,00%', '3.023', '+363+12,00%'],
1298
+ ['gr', '97,19', '+11,66+12,00%', '97', '+12+12,00%'],
1299
+ ['2 Bulan', 'Kurs', '', '', '16.344', '-16.343-99,99%'],
1300
+ ['oz', '2.936,66', '+449,03+15,29%', '47.996.771', '-47.993.385-99,99%'],
1301
+ ['gr', '94,42', '+14,44+15,29', '1.543.132', '-1.543.023-99,99%'],
1302
+ ['6 Bulan', 'Kurs', '', '', '15.620', '-15.619-99,99%'],
1303
+ ['oz', '2.734,09', '+651,60+23,83%', '42.706.486', '-42.703.100-99,99%'],
1304
+ ['gr', '87,90', '+20,95+23,83%', '1.373.045', '-1.372.937-99,99%'],
1305
+ ['1 Tahun', 'Kurs', '', '', '16.280', '-16.279-99,99%'],
1306
+ ['oz', '2.330,13', '+1.055,56+45,30%', '37.934.516', '-37.931.131-99,99%'],
1307
+ ['gr', '74,92', '+33,94+45,30%', '1.219.623', '-1.219.514-99,99%'],
1303
1308
  ['2 Tahun', 'Kurs', '', '', '15.731', '-15.730-99,99%'],
1304
- ['oz', '1.823,86', '+1.343,71+73,67%', '28.691.142', '-28.687.974-99,99%'],
1305
- ['gr', '58,64', '+43,20+73,67%', '922.442', '-922.340-99,99%'],
1306
- ['3 Tahun', 'Kurs', '', '', '14.365', '-14.364-99,99%'],
1307
- ['oz', '1.942,64', '+1.224,93+63,05%', '27.906.043', '-27.902.875-99,99%'],
1308
- ['gr', '62,46', '+39,38+63,05%', '897.200', '-897.098-99,99%'],
1309
- ['5 Tahun', 'Kurs', '', '', '16.241', '-16.240-99,99%'],
1310
- ['oz', '1.688,78', '+1.478,79+87,57%', '27.427.493', '-27.424.325-99,99%'],
1311
- ['gr', '54,30', '+47,54+87,57%', '881.814', '-881.713-99,99%']])
1309
+ ['oz', '1.823,86', '+1.561,83+85,63%', '28.691.142', '-28.687.756-99,99%'],
1310
+ ['gr', '58,64', '+50,21+85,63%', '922.442', '-922.333-99,99%'],
1311
+ ['3 Tahun', 'Kurs', '', '', '14.348', '-14.347-99,99%'],
1312
+ ['oz', '1.931,96', '+1.453,73+75,25%', '27.719.762', '-27.716.376-99,99%'],
1313
+ ['gr', '62,11', '+46,74+75,25%', '891.211', '-891.102-99,99%'],
1314
+ ['5 Tahun', 'Kurs', '', '', '15.630', '-15.629-99,99%'],
1315
+ ['oz', '1.727,53', '+1.658,16+95,98%', '27.001.294', '-26.997.908-99,99%'],
1316
+ ['gr', '55,54', '+53,31+95,98%', '868.112', '-868.003-99,99%']])
1312
1317
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1313
1318
  [[''],
1314
1319
  ['Emas 24 KaratHarga Emas 1 Gram', ''],
1315
- ['USD', '101,84↑', '+2,46+2,48%'],
1316
- ['KURS', '16.355,25↓', '%'],
1317
- ['IDR', '1.665.614,41↑', '+40.242,03+2,48%'],
1318
- ['Kamis, 10 April 2025 22:32']],
1320
+ ['USD', '108,85↓', '-0,88-0,80%'],
1321
+ ['KURS', '16.838,73↓', '-25,12-0,15%'],
1322
+ ['IDR', '1.832.937,20↓', '-17.525,20-0,95%'],
1323
+ ['Selasa, 22 April 2025 23:38']],
1319
1324
  [[''],
1320
1325
  ['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
1321
1326
  'Hari Ini',
@@ -1326,25 +1331,25 @@ Output:
1326
1331
  '']],
1327
1332
  [['Pergerakkan Harga Emas 1 Gram'],
1328
1333
  ['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
1329
- ['USD', '99,38', '99,38 - 101,84', '100,61'],
1330
- ['KURS', '16.355,25', '16.355,25 - 16.355,25', '16.355,25'],
1331
- ['IDR', '1.625.372,38', '1.625.372,38 - 1.665.614,41', '1.645.493,40'],
1334
+ ['USD', '109,73', '108,85 - 109,73', '109,29'],
1335
+ ['KURS', '16.863,85', '16.838,73 - 16.863,85', '16.851,29'],
1336
+ ['IDR', '1.850.462,40', '1.832.937,20 - 1.850.462,40', '1.841.699,80'],
1332
1337
  [''],
1333
1338
  ['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
1334
- ['USD', '84,42', '84,38 - 101,84', '+17,42 (20,63%)'],
1335
- ['KURS', '16.220,76', '16.156,70 - 16.387,00', '+134,49 (0,83%)'],
1339
+ ['USD', '84,42', '84,38 - 109,73', '+24,43 (28,94%)'],
1340
+ ['KURS', '16.220,76', '16.156,70 - 16.864,05', '+617,97 (3,81%)'],
1336
1341
  ['IDR',
1337
1342
  '1.369.306,75',
1338
- '1.368.695,74 - 1.665.614,41',
1339
- '+296.307,66 (21,64%)'],
1343
+ '1.368.695,74 - 1.850.462,40',
1344
+ '+463.630,45 (33,86%)'],
1340
1345
  [''],
1341
1346
  ['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
1342
- ['USD', '75,37', '73,75 - 101,84', '+26,47 (35,12%)'],
1343
- ['KURS', '15.877,00', '15.100,00 - 16.509,65', '+478,25 (3,01%)'],
1347
+ ['USD', '76,87', '73,75 - 109,73', '+31,98 (41,60%)'],
1348
+ ['KURS', '16.218,25', '15.100,00 - 16.864,05', '+620,48 (3,83%)'],
1344
1349
  ['IDR',
1345
- '1.196.609,14',
1346
- '1.181.943,88 - 1.665.614,41',
1347
- '+469.005,27 (39,19%)']])
1350
+ '1.246.663,37',
1351
+ '1.181.943,88 - 1.850.462,40',
1352
+ '+586.273,83 (47,03%)']])
1348
1353
  ```
1349
1354
 
1350
1355
  ## iloads
@@ -1474,7 +1479,7 @@ Output:
1474
1479
  ```py
1475
1480
  8
1476
1481
  ['mana', 'aja']
1477
- [<Element a at 0x7571ec9360>, <Element a at 0x7571efbfc0>, <Element a at 0x7571f20050>, <Element a at 0x7571f200a0>, <Element a at 0x7571f200f0>, <Element a at 0x7571f20140>, <Element a at 0x7571f20190>, <Element a at 0x7571f201e0>, <Element a at 0x7571f20230>, <Element a at 0x7571f20280>, <Element a at 0x7571f202d0>, <Element a at 0x7571f20320>, <Element a at 0x7571f20370>, <Element a at 0x7571f203c0>, <Element a at 0x7571f20410>, <Element a at 0x7571f20460>, <Element a at 0x7571f204b0>, <Element a at 0x7571f20500>]
1482
+ [<Element a at 0x7af87546e0>, <Element a at 0x7af87566c0>, <Element a at 0x7af8754780>, <Element a at 0x7af8754820>, <Element a at 0x7af8754870>, <Element a at 0x7af8754960>, <Element a at 0x7af8754a00>, <Element a at 0x7af8754aa0>, <Element a at 0x7af8754be0>, <Element a at 0x7af8754c30>, <Element a at 0x7af8754c80>, <Element a at 0x7af8754cd0>, <Element a at 0x7af8754d20>, <Element a at 0x7af8754d70>, <Element a at 0x7af8754dc0>, <Element a at 0x7af8754e10>, <Element a at 0x7af8754e60>, <Element a at 0x7af8755900>, <Element a at 0x7af8755810>, <Element a at 0x7af8755950>]
1478
1483
  False
1479
1484
  ```
1480
1485
 
@@ -1544,7 +1549,7 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
1544
1549
 
1545
1550
  Output:
1546
1551
  ```py
1547
- <generator object iscandir at 0x75721d31f0>
1552
+ <generator object iscandir at 0x7af8a2f3d0>
1548
1553
  [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
1549
1554
  ```
1550
1555
 
@@ -1577,98 +1582,98 @@ iprint(ivars(__import__('pypipr')))
1577
1582
 
1578
1583
  Output:
1579
1584
  ```py
1580
- {'function': {'avg': <function avg at 0x757ad68680>,
1581
- 'get_filemtime': <function get_filemtime at 0x75763793a0>,
1582
- 'print_colorize': <function print_colorize at 0x7576379580>,
1583
- 'print_log': <function print_log at 0x7576ab34c0>,
1584
- 'console_run': <function console_run at 0x7576379440>,
1585
- 'auto_reload': <function auto_reload at 0x7576378d60>,
1586
- 'basename': <function basename at 0x7576379620>,
1587
- 'chr_to_int': <function chr_to_int at 0x7576379bc0>,
1588
- 'int_to_chr': <function int_to_chr at 0x7576379c60>,
1589
- 'irange': <function irange at 0x757637a160>,
1590
- 'batchmaker': <function batchmaker at 0x7576379940>,
1591
- 'calculate': <function calculate at 0x75763794e0>,
1592
- 'batch_calculate': <function batch_calculate at 0x75763796c0>,
1593
- 'bin_to_int': <function bin_to_int at 0x75763798a0>,
1594
- 'is_empty': <function is_empty at 0x757637aa20>,
1595
- 'exit_if_empty': <function exit_if_empty at 0x757637a8e0>,
1596
- 'input_char': <function input_char at 0x757637a980>,
1597
- 'choices': <function choices at 0x757637aca0>,
1598
- 'chunk_array': <function chunk_array at 0x757637ad40>,
1599
- 'create_folder': <function create_folder at 0x757637ade0>,
1600
- 'datetime_from_string': <function datetime_from_string at 0x757637ae80>,
1601
- 'datetime_now': <function datetime_now at 0x757637af20>,
1602
- 'dict_first': <function dict_first at 0x75763991c0>,
1603
- 'is_iterable': <function is_iterable at 0x75763994e0>,
1604
- 'to_str': <function to_str at 0x7576399620>,
1605
- 'filter_empty': <function filter_empty at 0x75763993a0>,
1606
- 'dirname': <function dirname at 0x7576399260>,
1607
- 'django_clear_migrations': <function django_clear_migrations at 0x7576399300>,
1608
- 'django_runserver': <function django_runserver at 0x75763998a0>,
1609
- 'get_by_index': <function get_by_index at 0x7576399b20>,
1610
- 'get_class_method': <function get_class_method at 0x7576399bc0>,
1611
- 'get_filesize': <function get_filesize at 0x7576399d00>,
1612
- 'github_init': <function github_init at 0x7576399da0>,
1613
- 'github_pull': <function github_pull at 0x7576399e40>,
1614
- 'github_push': <function github_push at 0x7576399f80>,
1615
- 'github_user': <function github_user at 0x757639a020>,
1616
- 'hex_to_int': <function hex_to_int at 0x757639a0c0>,
1617
- 'iargv': <function iargv at 0x757639a160>,
1618
- 'idir': <function idir at 0x757639a200>,
1619
- 'idumps_html': <function idumps_html at 0x75764260c0>,
1620
- 'idumps': <function idumps at 0x757639a2a0>,
1621
- 'int_to_int': <function int_to_int at 0x75764265c0>,
1622
- 'ienumerate': <function ienumerate at 0x757640c900>,
1623
- 'ienv': <function ienv at 0x7576426480>,
1624
- 'iexec': <function iexec at 0x7576426660>,
1625
- 'iinput': <function iinput at 0x7576426700>,
1626
- 'ijoin': <function ijoin at 0x75764267a0>,
1627
- 'iloads_html': <function iloads_html at 0x7576426ac0>,
1628
- 'iloads': <function iloads at 0x757b161260>,
1629
- 'int_to_bin': <function int_to_bin at 0x7576426840>,
1630
- 'int_to_hex': <function int_to_hex at 0x75764268e0>,
1631
- 'int_to_oct': <function int_to_oct at 0x7576426b60>,
1632
- 'is_valid_url': <function is_valid_url at 0x7576426de0>,
1633
- 'iopen': <function iopen at 0x75761e2980>,
1634
- 'iprint': <function iprint at 0x7576239940>,
1635
- 'is_raw_string': <function is_raw_string at 0x7572394220>,
1636
- 'ireplace': <function ireplace at 0x75762a6700>,
1637
- 'is_html': <function is_html at 0x7572394180>,
1638
- 'iscandir': <function iscandir at 0x75723942c0>,
1639
- 'isplit': <function isplit at 0x7572394360>,
1640
- 'ivars': <function ivars at 0x7572394400>,
1641
- 'log': <function log at 0x75723944a0>,
1642
- 'no_indent': <function no_indent at 0x7572394540>,
1643
- 'oct_to_int': <function oct_to_int at 0x75723945e0>,
1644
- 'password_generator': <function password_generator at 0x7572394680>,
1645
- 'path_to_module': <function path_to_module at 0x7572394720>,
1646
- 'pip_freeze_without_version': <function pip_freeze_without_version at 0x75723947c0>,
1647
- 'pip_update_pypipr': <function pip_update_pypipr at 0x7572394860>,
1648
- 'poetry_publish': <function poetry_publish at 0x7572394900>,
1649
- 'poetry_update_version': <function poetry_update_version at 0x7572394a40>,
1650
- 'print_dir': <function print_dir at 0x7572394b80>,
1651
- 'print_to_last_line': <function print_to_last_line at 0x7572394c20>,
1652
- 'random_bool': <function random_bool at 0x7572394cc0>,
1653
- 'repath': <function repath at 0x7572394e00>,
1654
- 'restart': <function restart at 0x7572394ea0>,
1655
- 'set_timeout': <function set_timeout at 0x7572394f40>,
1656
- 'sets_ordered': <function sets_ordered at 0x7572394fe0>,
1657
- 'sqlite_backup': <function sqlite_backup at 0x7572395080>,
1658
- 'sqlite_delete_table': <function sqlite_delete_table at 0x7572395120>,
1659
- 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x75723951c0>,
1660
- 'sqlite_get_data_table': <function sqlite_get_data_table at 0x7572395260>,
1661
- 'str_cmp': <function str_cmp at 0x7572395b20>,
1662
- 'text_colorize': <function text_colorize at 0x7572395bc0>,
1663
- 'tiles': <function tiles at 0x7572395c60>,
1664
- 'traceback_filename': <function traceback_filename at 0x7572395d00>,
1665
- 'traceback_framename': <function traceback_framename at 0x7572395da0>},
1585
+ {'function': {'avg': <function avg at 0x7b02df0720>,
1586
+ 'get_filemtime': <function get_filemtime at 0x7afea3a5c0>,
1587
+ 'print_colorize': <function print_colorize at 0x7afea3a7a0>,
1588
+ 'print_log': <function print_log at 0x7afea3a660>,
1589
+ 'console_run': <function console_run at 0x7afea3a700>,
1590
+ 'auto_reload': <function auto_reload at 0x7afeadba60>,
1591
+ 'basename': <function basename at 0x7afea3a840>,
1592
+ 'chr_to_int': <function chr_to_int at 0x7afea3ade0>,
1593
+ 'int_to_chr': <function int_to_chr at 0x7afea3ae80>,
1594
+ 'irange': <function irange at 0x7afea3b380>,
1595
+ 'batchmaker': <function batchmaker at 0x7afea3ab60>,
1596
+ 'calculate': <function calculate at 0x7afea3ac00>,
1597
+ 'batch_calculate': <function batch_calculate at 0x7afea3a8e0>,
1598
+ 'bin_to_int': <function bin_to_int at 0x7afea3aac0>,
1599
+ 'is_empty': <function is_empty at 0x7afea3bc40>,
1600
+ 'exit_if_empty': <function exit_if_empty at 0x7afea3bb00>,
1601
+ 'input_char': <function input_char at 0x7afea3bba0>,
1602
+ 'choices': <function choices at 0x7afea3bec0>,
1603
+ 'chunk_array': <function chunk_array at 0x7afea3bf60>,
1604
+ 'create_folder': <function create_folder at 0x7afea28040>,
1605
+ 'datetime_from_string': <function datetime_from_string at 0x7afea280e0>,
1606
+ 'datetime_now': <function datetime_now at 0x7afea28180>,
1607
+ 'dict_first': <function dict_first at 0x7afea2a3e0>,
1608
+ 'dirname': <function dirname at 0x7afea2a520>,
1609
+ 'django_clear_migrations': <function django_clear_migrations at 0x7afea2a5c0>,
1610
+ 'django_runserver': <function django_runserver at 0x7afea2a8e0>,
1611
+ 'is_iterable': <function is_iterable at 0x7afea2aca0>,
1612
+ 'to_str': <function to_str at 0x7afea2ade0>,
1613
+ 'filter_empty': <function filter_empty at 0x7afea3a980>,
1614
+ 'get_by_index': <function get_by_index at 0x7afea2ad40>,
1615
+ 'get_class_method': <function get_class_method at 0x7afea2ae80>,
1616
+ 'get_filesize': <function get_filesize at 0x7afea2afc0>,
1617
+ 'github_init': <function github_init at 0x7afea2b060>,
1618
+ 'github_pull': <function github_pull at 0x7afea2b100>,
1619
+ 'github_push': <function github_push at 0x7afea2b240>,
1620
+ 'github_user': <function github_user at 0x7afea2b2e0>,
1621
+ 'hex_to_int': <function hex_to_int at 0x7afea2b380>,
1622
+ 'iargv': <function iargv at 0x7afea2b420>,
1623
+ 'idir': <function idir at 0x7afea2b4c0>,
1624
+ 'idumps_html': <function idumps_html at 0x7afe932f20>,
1625
+ 'idumps': <function idumps at 0x7afea2b560>,
1626
+ 'int_to_int': <function int_to_int at 0x7afe933420>,
1627
+ 'ienumerate': <function ienumerate at 0x7afea2b6a0>,
1628
+ 'ienv': <function ienv at 0x7afe9332e0>,
1629
+ 'iexec': <function iexec at 0x7afe9334c0>,
1630
+ 'iinput': <function iinput at 0x7afe933560>,
1631
+ 'ijoin': <function ijoin at 0x7afe933600>,
1632
+ 'iloads_html': <function iloads_html at 0x7afe933920>,
1633
+ 'iloads': <function iloads at 0x7afea2af20>,
1634
+ 'int_to_bin': <function int_to_bin at 0x7b038a5260>,
1635
+ 'int_to_hex': <function int_to_hex at 0x7afe9336a0>,
1636
+ 'int_to_oct': <function int_to_oct at 0x7afe9339c0>,
1637
+ 'is_valid_url': <function is_valid_url at 0x7afe933ba0>,
1638
+ 'iopen': <function iopen at 0x7afe6e37e0>,
1639
+ 'iprint': <function iprint at 0x7afe933b00>,
1640
+ 'is_raw_string': <function is_raw_string at 0x7af8c25120>,
1641
+ 'ireplace': <function ireplace at 0x7af8c1b600>,
1642
+ 'is_html': <function is_html at 0x7afe788a40>,
1643
+ 'iscandir': <function iscandir at 0x7af8c251c0>,
1644
+ 'isplit': <function isplit at 0x7af8c25260>,
1645
+ 'ivars': <function ivars at 0x7af8c25300>,
1646
+ 'log': <function log at 0x7af8c253a0>,
1647
+ 'no_indent': <function no_indent at 0x7af8c25440>,
1648
+ 'oct_to_int': <function oct_to_int at 0x7af8c254e0>,
1649
+ 'password_generator': <function password_generator at 0x7af8c25580>,
1650
+ 'path_to_module': <function path_to_module at 0x7af8c25620>,
1651
+ 'pip_freeze_without_version': <function pip_freeze_without_version at 0x7af8c256c0>,
1652
+ 'pip_update_pypipr': <function pip_update_pypipr at 0x7af8c25760>,
1653
+ 'poetry_publish': <function poetry_publish at 0x7af8c25800>,
1654
+ 'poetry_update_version': <function poetry_update_version at 0x7af8c25940>,
1655
+ 'print_dir': <function print_dir at 0x7af8c25a80>,
1656
+ 'print_to_last_line': <function print_to_last_line at 0x7af8c25b20>,
1657
+ 'random_bool': <function random_bool at 0x7af8c25bc0>,
1658
+ 'repath': <function repath at 0x7af8c25d00>,
1659
+ 'restart': <function restart at 0x7af8c25da0>,
1660
+ 'set_timeout': <function set_timeout at 0x7af8c25e40>,
1661
+ 'sets_ordered': <function sets_ordered at 0x7af8c25ee0>,
1662
+ 'sqlite_backup': <function sqlite_backup at 0x7af8c25f80>,
1663
+ 'sqlite_delete_table': <function sqlite_delete_table at 0x7af8c26020>,
1664
+ 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x7af8c260c0>,
1665
+ 'sqlite_get_data_table': <function sqlite_get_data_table at 0x7af8c26160>,
1666
+ 'str_cmp': <function str_cmp at 0x7af8c26a20>,
1667
+ 'text_colorize': <function text_colorize at 0x7af8c26ac0>,
1668
+ 'tiles': <function tiles at 0x7af8c26b60>,
1669
+ 'traceback_filename': <function traceback_filename at 0x7af8c26c00>,
1670
+ 'traceback_framename': <function traceback_framename at 0x7af8c26ca0>},
1666
1671
  'class': {'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
1667
1672
  'PintUregQuantity': <class 'pint.Quantity'>,
1668
1673
  'RunParallel': <class 'pypipr.RunParallel.RunParallel'>,
1669
1674
  'TextCase': <class 'pypipr.TextCase.TextCase'>},
1670
1675
  'variable': {'LINUX': True,
1671
- 'PintUreg': <pint.registry.UnitRegistry object at 0x757b1977a0>,
1676
+ 'PintUreg': <pint.registry.UnitRegistry object at 0x7b02de8200>,
1672
1677
  'WINDOWS': False},
1673
1678
  'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.12/asyncio/__init__.py'>,
1674
1679
  'colorama': <module 'colorama' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/colorama/__init__.py'>,
@@ -1763,7 +1768,7 @@ print(password_generator())
1763
1768
 
1764
1769
  Output:
1765
1770
  ```py
1766
- :svh0IIu
1771
+ rIqf+42n
1767
1772
  ```
1768
1773
 
1769
1774
  ## path_to_module
@@ -1842,7 +1847,7 @@ Output:
1842
1847
  __enter__ : https:/www.google.com
1843
1848
  __fspath__ : https:/www.google.com
1844
1849
  __getstate__ : (None, {'_raw_paths': ['https://www.google.com/'], '_drv': '', '_root': '', '_tail_cached': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1845
- __hash__ : 9008990908881599149
1850
+ __hash__ : 7938082775803087940
1846
1851
  __init__ : None
1847
1852
  __init_subclass__ : None
1848
1853
  __module__ : pathlib
@@ -1854,7 +1859,7 @@ Output:
1854
1859
  __subclasshook__ : NotImplemented
1855
1860
  _drv :
1856
1861
  _flavour : <module 'posixpath' (frozen)>
1857
- _hash : 9008990908881599149
1862
+ _hash : 7938082775803087940
1858
1863
  _lines : https:
1859
1864
  www.google.com
1860
1865
  _lines_cached : https:
@@ -1888,7 +1893,7 @@ _parts_normcase_cached : ['https:', 'www.google.com']
1888
1893
  is_reserved : False
1889
1894
  is_socket : False
1890
1895
  is_symlink : False
1891
- iterdir : <generator object Path.iterdir at 0x75721dfe00>
1896
+ iterdir : <generator object Path.iterdir at 0x7af87382b0>
1892
1897
  joinpath : .
1893
1898
  name :
1894
1899
  parent : https:/www.google.com
@@ -1899,7 +1904,7 @@ _parts_normcase_cached : ['https:', 'www.google.com']
1899
1904
  stem :
1900
1905
  suffix :
1901
1906
  suffixes : []
1902
- walk : <generator object Path.walk at 0x757245bd80>
1907
+ walk : <generator object Path.walk at 0x7af8ceb9c0>
1903
1908
  with_segments : .
1904
1909
  ```
1905
1910
 
@@ -1979,7 +1984,7 @@ x.cancel()
1979
1984
 
1980
1985
  Output:
1981
1986
  ```py
1982
- <Timer(Thread-2, started 504400248048)>
1987
+ <Timer(Thread-2, started 528125770992)>
1983
1988
  menghentikan timeout 7
1984
1989
  ```
1985
1990
 
@@ -1997,7 +2002,7 @@ print(list(sets_ordered(array)))
1997
2002
 
1998
2003
  Output:
1999
2004
  ```py
2000
- <generator object sets_ordered at 0x7571ee2c20>
2005
+ <generator object sets_ordered at 0x7af873b100>
2001
2006
  [2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
2002
2007
  ```
2003
2008
 
@@ -2119,15 +2124,15 @@ print(ExampleComparePerformance().compare_performance())
2119
2124
 
2120
2125
  Output:
2121
2126
  ```py
2122
- {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7572218b80>,
2127
+ {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7af8a65b40>,
2123
2128
  'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
2124
2129
  'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
2125
2130
  'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
2126
- {'a': 124, 'b': 164, 'c': 100, 'd': 281}
2127
- {'a': 102, 'b': 158, 'c': 100, 'd': 229}
2128
- {'a': 100, 'b': 154, 'c': 100, 'd': 208}
2129
- {'a': 103, 'b': 156, 'c': 100, 'd': 212}
2130
- {'a': 100, 'b': 155, 'c': 100, 'd': 215}
2131
+ {'a': 128, 'b': 163, 'c': 100, 'd': 266}
2132
+ {'a': 104, 'b': 161, 'c': 100, 'd': 216}
2133
+ {'a': 107, 'b': 177, 'c': 100, 'd': 207}
2134
+ {'a': 101, 'b': 156, 'c': 100, 'd': 200}
2135
+ {'a': 107, 'b': 160, 'c': 100, 'd': 207}
2131
2136
  ```
2132
2137
 
2133
2138
  ## PintUregQuantity
@@ -22,7 +22,7 @@ pypipr/create_folder.py,sha256=YgK3Rhg-v8314VNSgUvq7LgyLHlpHGBYXaa1RgRsbxo,523
22
22
  pypipr/datetime_from_string.py,sha256=-GJ_QHD1feUMX0o8nwCPHGflDPXr84ovN4Awnk1T9r8,466
23
23
  pypipr/datetime_now.py,sha256=YEaatUOp0KBWYRhOFnxnVW0X7C1XEx3dpdBEn5Vwy9w,379
24
24
  pypipr/dict_first.py,sha256=X_pSaY0DLGZJSR2zJBa17yqbwAFLJrVpzb2gxR5wzZg,377
25
- pypipr/dirname.py,sha256=hzkzFqHaKW4kxe8ouI3SPpWBFro3mrPkhd8wndwmd2U,628
25
+ pypipr/dirname.py,sha256=Z2BZTb7cXCbXJfROPwuyHtcMsrp_aIeBisFHeb0n5Ww,973
26
26
  pypipr/django_clear_migrations.py,sha256=Sjb7qq7OZc1_iTNcR2mtRY6k2um9Jr6X4A4PMqOqnCU,302
27
27
  pypipr/django_runserver.py,sha256=puzQajQ_RdLqEZFplKKEKsfhaG-IxHGW4CXZc80EnA8,734
28
28
  pypipr/exit_if_empty.py,sha256=2qUqmYPSkr1NtKPqIN7BAc-WGtcmPPAw8AdO8HirOv8,321
@@ -93,7 +93,7 @@ pypipr/tiles.py,sha256=uSEYqvjBQHIz7pZKtdta1XwFhGrMFieMHOH2DKrlcXc,328
93
93
  pypipr/to_str.py,sha256=vSuspf-ZQldf4enkssa9XH0WMjkmWug51G9ia0K5occ,597
94
94
  pypipr/traceback_filename.py,sha256=4o85J0N8clI0cM6NTGcKZ4zxR9yS7W2NS_bz3J2_PnY,288
95
95
  pypipr/traceback_framename.py,sha256=_mullrAZzMhBFEFVCgdsmkYQmYUkd58o-J-HuMntKyc,291
96
- pypipr-1.0.170.dist-info/METADATA,sha256=kkuVjUeGAJ5dkphFIMBi6OFnQQd1YaeYCY47-J6cKNs,57939
97
- pypipr-1.0.170.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
98
- pypipr-1.0.170.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
99
- pypipr-1.0.170.dist-info/RECORD,,
96
+ pypipr-1.0.172.dist-info/METADATA,sha256=Iui_C4rVJnf34p0TQdJ7dRYJTpJQSbHlfGk9x-ceKpU,58345
97
+ pypipr-1.0.172.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
98
+ pypipr-1.0.172.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
99
+ pypipr-1.0.172.dist-info/RECORD,,