pypipr 1.0.156__py3-none-any.whl → 1.0.158__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/__init__.py CHANGED
@@ -21,6 +21,7 @@ from .datetime_from_string import datetime_from_string
21
21
  from .datetime_now import datetime_now
22
22
  from .dict_first import dict_first
23
23
  from .dirname import dirname
24
+ from .django_clear_migrations import django_clear_migrations
24
25
  from .django_runserver import django_runserver
25
26
  from .exit_if_empty import exit_if_empty
26
27
  from .filter_empty import filter_empty
@@ -77,6 +78,7 @@ from .repath import repath
77
78
  from .restart import restart
78
79
  from .set_timeout import set_timeout
79
80
  from .sets_ordered import sets_ordered
81
+ from .sqlite_backup import sqlite_backup
80
82
  from .sqlite_delete_table import sqlite_delete_table
81
83
  from .sqlite_get_all_tables import sqlite_get_all_tables
82
84
  from .sqlite_get_data_table import sqlite_get_data_table
@@ -116,4 +118,4 @@ import tzdata
116
118
  import uuid
117
119
  import webbrowser
118
120
  import yaml
119
- import zoneinfo
121
+ import zoneinfo
@@ -0,0 +1,10 @@
1
+ import os
2
+ import shutil
3
+
4
+
5
+ def django_clear_migrations(appname):
6
+ migrations_path = os.path.join(appname, "migrations")
7
+ if os.path.exists(migrations_path):
8
+ shutil.rmtree(migrations_path)
9
+ os.makedirs(migrations_path)
10
+ open(os.path.join(migrations_path, "__init__.py"), "w").close()
pypipr/irange.py CHANGED
@@ -1,7 +1,9 @@
1
1
  from .chr_to_int import chr_to_int
2
2
  from .int_to_chr import int_to_chr
3
3
 
4
+ from functools import cache
4
5
 
6
+ @cache
5
7
  def int_range(start, stop, step, index, number, outer):
6
8
  start = int_int(start)
7
9
  stop = int_int(stop)
@@ -11,6 +13,7 @@ def int_range(start, stop, step, index, number, outer):
11
13
  yield i
12
14
 
13
15
 
16
+ @cache
14
17
  def oct_range(start, stop, step, index, number, outer):
15
18
  start = oct_oct(start)
16
19
  stop = oct_oct(stop)
@@ -20,6 +23,7 @@ def oct_range(start, stop, step, index, number, outer):
20
23
  yield oct(i)
21
24
 
22
25
 
26
+ @cache
23
27
  def hex_range(start, stop, step, index, number, outer):
24
28
  start = hex_hex(start)
25
29
  stop = hex_hex(stop)
@@ -29,6 +33,7 @@ def hex_range(start, stop, step, index, number, outer):
29
33
  yield hex(i)
30
34
 
31
35
 
36
+ @cache
32
37
  def bin_range(start, stop, step, index, number, outer):
33
38
  start = bin_bin(start)
34
39
  stop = bin_bin(stop)
@@ -38,6 +43,7 @@ def bin_range(start, stop, step, index, number, outer):
38
43
  yield bin(i)
39
44
 
40
45
 
46
+ @cache
41
47
  def chr_range(start, stop, step, index, numbers, outer):
42
48
  start = chr_chr(start, index, numbers)
43
49
  stop = chr_chr(stop, index, numbers)
pypipr/is_html.py CHANGED
@@ -1,7 +1,9 @@
1
- import re
2
-
3
- html_pattern = re.compile(r"<([a-zA-Z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)")
1
+ from lxml import html
4
2
 
5
3
 
6
4
  def is_html(text):
7
- return bool(html_pattern.search(text))
5
+ try:
6
+ document = html.fromstring(text)
7
+ return bool(len(document))
8
+ except Exception:
9
+ return False
@@ -0,0 +1,20 @@
1
+ import os
2
+ import shutil
3
+ from datetime import datetime
4
+
5
+
6
+ def sqlite_backup(db):
7
+ # db = os.path.abspath(db)
8
+ if not os.path.isfile(db):
9
+ raise FileNotFoundError(f"File '{db}' tidak ditemukan.")
10
+
11
+ ff, ext = os.path.splitext(os.path.basename(db))
12
+
13
+ fdb = os.path.join(os.path.dirname(db), ff)
14
+ os.makedirs(fdb, exist_ok=True)
15
+
16
+ nff = f"{ff}_{datetime.now():%Y%m%d_%H%M%S}{ext}"
17
+ ndb = os.path.join(fdb, nff)
18
+
19
+ shutil.copy2(db, ndb)
20
+ return ndb
pypipr/tiles.py ADDED
@@ -0,0 +1,19 @@
1
+ from math import ceil
2
+
3
+
4
+ def tiles(
5
+ tile_x=None,
6
+ tile_y=None,
7
+ area_x=None,
8
+ area_y=None,
9
+ gap_x=None,
10
+ gap_y=None,
11
+ ):
12
+ x = ceil(area_x / (tile_x + gap_x))
13
+ y = ceil(area_y / (tile_y + gap_y))
14
+ return x * y
15
+
16
+
17
+ if __name__ == "__main__":
18
+ print(ceil(8/8))
19
+ print(tiles(30, 30, 300, 300, 10, 10))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypipr
3
- Version: 1.0.156
3
+ Version: 1.0.158
4
4
  Summary: The Python Package Index Project
5
5
  Author: ufiapjj
6
6
  Author-email: ufiapjj@gmail.com
@@ -84,7 +84,7 @@ print(get_filemtime(__file__))
84
84
 
85
85
  Output:
86
86
  ```py
87
- 1722660773330427269
87
+ 1728323043695514478
88
88
  ```
89
89
 
90
90
  ## print_colorize
@@ -248,11 +248,11 @@ iprint(irange("z", "a", 4))
248
248
 
249
249
  Output:
250
250
  ```py
251
- <generator object int_range at 0x727baee9b0>
252
- <generator object int_range at 0x727baee9b0>
251
+ <generator object int_range at 0x724e5a2940>
252
+ <generator object int_range at 0x724e5a2a40>
253
253
  [13, 12, 11, 10, 9, 8, 7, 6]
254
254
  [2, 5, 8]
255
- [2, 5, 8]
255
+ []
256
256
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
257
257
  [10, 17, 24, 31, 38, 45, 52, 59, 66, 73, 80, 87, 94]
258
258
  ['a', 'b', 'c', 'd', 'e', 'f', 'g']
@@ -281,8 +281,8 @@ print(list(batchmaker(s)))
281
281
 
282
282
  Output:
283
283
  ```py
284
- <generator object batchmaker at 0x727ba5ae60>
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.', 'Urutan 1 dan 10 dan k dan Z saja.', 'Urutan 1 dan 10 dan k dan K saja.', 'Urutan 1 dan 10 dan k dan saja.', 'Urutan 1 dan 9 dan j dan Z saja.', 'Urutan 1 dan 9 dan j dan K saja.', 'Urutan 1 dan 9 dan j dan saja.', 'Urutan 1 dan 9 dan k dan Z saja.', 'Urutan 1 dan 9 dan k dan K saja.', 'Urutan 1 dan 9 dan k dan saja.', 'Urutan 4 dan 10 dan j dan Z saja.', 'Urutan 4 dan 10 dan j dan K saja.', 'Urutan 4 dan 10 dan j dan saja.', 'Urutan 4 dan 10 dan k dan Z saja.', 'Urutan 4 dan 10 dan k dan K saja.', 'Urutan 4 dan 10 dan k dan saja.', 'Urutan 4 dan 9 dan j dan Z saja.', 'Urutan 4 dan 9 dan j dan K saja.', 'Urutan 4 dan 9 dan j dan saja.', 'Urutan 4 dan 9 dan k dan Z saja.', 'Urutan 4 dan 9 dan k dan K saja.', 'Urutan 4 dan 9 dan k dan saja.', 'Urutan 7 dan 10 dan j dan Z saja.', 'Urutan 7 dan 10 dan j dan K saja.', 'Urutan 7 dan 10 dan j dan saja.', 'Urutan 7 dan 10 dan k dan Z saja.', 'Urutan 7 dan 10 dan k dan K saja.', 'Urutan 7 dan 10 dan k dan saja.', 'Urutan 7 dan 9 dan j dan Z saja.', 'Urutan 7 dan 9 dan j dan K saja.', 'Urutan 7 dan 9 dan j dan saja.', 'Urutan 7 dan 9 dan k dan Z saja.', 'Urutan 7 dan 9 dan k dan K saja.', 'Urutan 7 dan 9 dan k dan saja.']
284
+ <generator object batchmaker at 0x724e5b31c0>
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
 
288
288
  ## calculate
@@ -335,8 +335,8 @@ print(list(batch_calculate("{1 10} m ** {1 3}")))
335
335
 
336
336
  Output:
337
337
  ```py
338
- <generator object batch_calculate at 0x7279418a90>
339
- [('1 m ** 1', <Quantity(1, 'meter')>), ('1 m ** 2', <Quantity(1, 'meter ** 2')>), ('1 m ** 3', <Quantity(1, 'meter ** 3')>), ('2 m ** 1', <Quantity(2, 'meter')>), ('2 m ** 2', <Quantity(2, 'meter ** 2')>), ('2 m ** 3', <Quantity(2, 'meter ** 3')>), ('3 m ** 1', <Quantity(3, 'meter')>), ('3 m ** 2', <Quantity(3, 'meter ** 2')>), ('3 m ** 3', <Quantity(3, 'meter ** 3')>), ('4 m ** 1', <Quantity(4, 'meter')>), ('4 m ** 2', <Quantity(4, 'meter ** 2')>), ('4 m ** 3', <Quantity(4, 'meter ** 3')>), ('5 m ** 1', <Quantity(5, 'meter')>), ('5 m ** 2', <Quantity(5, 'meter ** 2')>), ('5 m ** 3', <Quantity(5, 'meter ** 3')>), ('6 m ** 1', <Quantity(6, 'meter')>), ('6 m ** 2', <Quantity(6, 'meter ** 2')>), ('6 m ** 3', <Quantity(6, 'meter ** 3')>), ('7 m ** 1', <Quantity(7, 'meter')>), ('7 m ** 2', <Quantity(7, 'meter ** 2')>), ('7 m ** 3', <Quantity(7, 'meter ** 3')>), ('8 m ** 1', <Quantity(8, 'meter')>), ('8 m ** 2', <Quantity(8, 'meter ** 2')>), ('8 m ** 3', <Quantity(8, 'meter ** 3')>), ('9 m ** 1', <Quantity(9, 'meter')>), ('9 m ** 2', <Quantity(9, 'meter ** 2')>), ('9 m ** 3', <Quantity(9, 'meter ** 3')>), ('10 m ** 1', <Quantity(10, 'meter')>), ('10 m ** 2', <Quantity(10, 'meter ** 2')>), ('10 m ** 3', <Quantity(10, 'meter ** 3')>)]
338
+ <generator object batch_calculate at 0x724e5c3300>
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
 
342
342
  ## bin_to_int
@@ -441,7 +441,7 @@ print(list(chunk_array(arr, 5)))
441
441
 
442
442
  Output:
443
443
  ```py
444
- <generator object chunk_array at 0x727bb02840>
444
+ <generator object chunk_array at 0x724e5aee30>
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
- 2024-09-29 19:25:15.259893+07:00
496
- 2024-09-29 12:25:15.262406+00:00
497
- 2024-09-29 05:25:15.270780-07:00
495
+ 2025-04-03 18:53:51.338332+07:00
496
+ 2025-04-03 11:53:51.339810+00:00
497
+ 2025-04-03 04:53:51.344546-07:00
498
498
  ```
499
499
 
500
500
  ## dict_first
@@ -535,6 +535,10 @@ Output:
535
535
  /ini/nama/folder/ke
536
536
  ```
537
537
 
538
+ ## django_clear_migrations
539
+
540
+ `django_clear_migrations(appname)`
541
+
538
542
  ## django_runserver
539
543
 
540
544
  `django_runserver()`
@@ -604,7 +608,7 @@ iprint(filter_empty(var))
604
608
 
605
609
  Output:
606
610
  ```py
607
- <generator object filter_empty at 0x72794187c0>
611
+ <generator object filter_empty at 0x724e5af010>
608
612
  [1, '0', True, {}, ['eee']]
609
613
  ```
610
614
 
@@ -651,8 +655,8 @@ print(list(get_class_method(ExampleGetClassMethod)))
651
655
 
652
656
  Output:
653
657
  ```py
654
- <generator object get_class_method at 0x7279418d60>
655
- [<function ExampleGetClassMethod.a at 0x7279436e80>, <function ExampleGetClassMethod.b at 0x7279436de0>, <function ExampleGetClassMethod.c at 0x7279436fc0>, <function ExampleGetClassMethod.d at 0x7279437060>]
658
+ <generator object get_class_method at 0x724e5c3e60>
659
+ [<function ExampleGetClassMethod.a at 0x724e41eac0>, <function ExampleGetClassMethod.b at 0x724e41e8e0>, <function ExampleGetClassMethod.c at 0x724e41ea20>, <function ExampleGetClassMethod.d at 0x724e41e980>]
656
660
  ```
657
661
 
658
662
  ## get_filesize
@@ -792,6 +796,7 @@ Output:
792
796
  'datetime_now',
793
797
  'dict_first',
794
798
  'dirname',
799
+ 'django_clear_migrations',
795
800
  'django_runserver',
796
801
  'exit_if_empty',
797
802
  'filter_empty',
@@ -864,6 +869,7 @@ Output:
864
869
  'restart',
865
870
  'set_timeout',
866
871
  'sets_ordered',
872
+ 'sqlite_backup',
867
873
  'sqlite_delete_table',
868
874
  'sqlite_get_all_tables',
869
875
  'sqlite_get_data_table',
@@ -1074,7 +1080,7 @@ Output:
1074
1080
 
1075
1081
  ## ienumerate
1076
1082
 
1077
- `ienumerate(iterator, start=0, key=<function int_to_int at 0x72832fae80>)`
1083
+ `ienumerate(iterator, start=0, key=<function int_to_int at 0x72538ea480>)`
1078
1084
 
1079
1085
  meningkatkan fungsi enumerate() pada python
1080
1086
  untuk key menggunakan huruf dan basis angka lainnya.
@@ -1087,7 +1093,7 @@ iprint(ienumerate(it, key=int_to_chr))
1087
1093
 
1088
1094
  Output:
1089
1095
  ```py
1090
- <generator object ienumerate at 0x7279418e50>
1096
+ <generator object ienumerate at 0x724e5af010>
1091
1097
  [('a', 'ini'), ('b', 'contoh'), ('c', 'enumerator')]
1092
1098
  ```
1093
1099
 
@@ -1154,7 +1160,7 @@ print(ijoin(10, ' '))
1154
1160
 
1155
1161
  Output:
1156
1162
  ```py
1157
- qweqw, dfs, asd, weq
1163
+ weq, qweqw, asd, dfs
1158
1164
  ,ini,path,seperti,url,
1159
1165
  ini,path,seperti,url
1160
1166
  <li>satu</li>
@@ -1199,62 +1205,63 @@ pprint.pprint(iloads_html(iopen("https://harga-emas.org/1-gram/")), depth=10)
1199
1205
  Output:
1200
1206
  ```py
1201
1207
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1202
- [['Harga Emas Hari Ini - Minggu, 29 September 2024'],
1203
- ['Spot Emas USD↑2.658,34 (+5,84) / oz',
1204
- 'Kurs IDR15.171,00 / USD',
1205
- 'Emas IDR↑1.296.629 (+2.849) / gr'],
1206
- ['LM Antam (Jual)1.461.000 / gr', 'LM Antam (Beli)1.301.000 / gr']],
1208
+ [['Harga Emas Hari Ini - Kamis, 03 April 2025'],
1209
+ ['Spot Emas USD↓3.091,86 (-38,60) / oz',
1210
+ 'Kurs IDR1,00 / USD',
1211
+ 'Emas IDR↓99 (-1) / gr'],
1212
+ ['LM Antam (Jual)1.513.000 (-30.000) / gr',
1213
+ 'LM Antam (Beli)↓1.366.000 (-30.000) / gr']],
1207
1214
  [['Harga Emas Hari Ini'],
1208
1215
  ['Gram', 'Gedung Antam Jakarta', 'Pegadaian'],
1209
1216
  ['per Gram (Rp)', 'per Batangan (Rp)', 'per Gram (Rp)', 'per Batangan (Rp)'],
1210
- ['1000',
1211
- '1.402',
1212
- '1.401.600',
1213
- '1.043.040 (+8.200)',
1214
- '1.043.040.000 (+8.200.000)'],
1215
- ['500',
1216
- '2.803',
1217
- '1.401.640',
1218
- '1.043.082 (+8.200)',
1219
- '521.541.000 (+4.100.000)'],
1220
- ['250',
1221
- '5.608',
1222
- '1.402.060',
1223
- '1.043.512 (+8.200)',
1224
- '260.878.000 (+2.050.000)'],
1225
- ['100',
1226
- '14.031',
1227
- '1.403.120',
1228
- '1.044.600 (+8.200)',
1229
- '104.460.000 (+820.000)'],
1230
- ['50', '28.078', '1.403.900', '1.045.400 (+8.200)', '52.270.000 (+410.000)'],
1231
- ['25', '56.219', '1.405.480', '1.047.040 (+8.200)', '26.176.000 (+205.000)'],
1232
- ['10', '141.050', '1.410.500', '1.052.200 (+8.200)', '10.522.000 (+82.000)'],
1233
- ['5', '283.200', '1.416.000', '1.057.800 (+8.200)', '5.289.000 (+41.000)'],
1234
- ['3', '474.222', '1.422.667', '1.064.667 (+8.000)', '3.194.000 (+24.000)'],
1235
- ['2', '715.500', '1.431.000', '1.073.500 (+8.500)', '2.147.000 (+17.000)'],
1236
- ['1', '1.461.000', '1.461.000', '1.104.000 (+8.000)', '1.104.000 (+8.000)'],
1237
- ['0.5', '3.122.000', '1.561.000', '1.208.000 (+8.000)', '604.000 (+4.000)'],
1238
- ['Update harga LM Antam :29 September 2024, pukul 07:14Harga pembelian '
1239
- 'kembali :Rp. 1.301.000/gram',
1240
- 'Update harga LM Pegadaian :31 Agustus 2023']],
1241
- [['Spot Harga Emas Hari Ini (Market Close)'],
1217
+ ['1000', '1.454 (-30)', '1.453.600 (-30.000)', '', ''],
1218
+ ['500', '2.907 (-60)', '1.453.640 (-30.000)', '', ''],
1219
+ ['250', '5.816 (-120)', '1.454.060 (-30.000)', '', ''],
1220
+ ['100', '14.551 (-300)', '1.455.120 (-30.000)', '', ''],
1221
+ ['50', '29.118 (-600)', '1.455.900 (-30.000)', '', ''],
1222
+ ['25', '58.299 (-1.200)', '1.457.480 (-30.000)', '', ''],
1223
+ ['10', '146.250 (-3.000)', '1.462.500 (-30.000)', '', ''],
1224
+ ['5', '293.600 (-6.000)', '1.468.000 (-30.000)', '', ''],
1225
+ ['3', '491.556 (-10.000)', '1.474.667 (-30.000)', '', ''],
1226
+ ['2', '741.500 (-15.000)', '1.483.000 (-30.000)', '', ''],
1227
+ ['1', '1.513.000 (-30.000)', '1.513.000 (-30.000)', '', ''],
1228
+ ['0.5', '3.226.000 (-60.000)', '1.613.000 (-30.000)', '', ''],
1229
+ ['Update harga LM Antam :07 November 2024, pukul 08:32Harga pembelian '
1230
+ 'kembali :Rp. 1.366.000/gram (-30.000)',
1231
+ 'Update harga LM Pegadaian :31 Desember 1969']],
1232
+ [['Spot Harga Emas Hari Ini (Market Open)'],
1242
1233
  ['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
1243
- ['Ounce\xa0(oz)', '2.658,34 (+5,84)', '15.171,00', '40.329.676'],
1244
- ['Gram\xa0(gr)', '85,47', '15.171,00', '1.296.629 (+2.849)'],
1245
- ['Kilogram\xa0(kg)', '85.467,62', '15.171,00', '1.296.629.198'],
1246
- ['Update harga emas :29 September 2024, pukul 19:24Update kurs :29 September '
1247
- '2024, pukul 13:10']],
1234
+ ['Ounce\xa0(oz)', '3.091,86 (-38,60)', '1,00', '3.092'],
1235
+ ['Gram\xa0(gr)', '99,41', '1,00', '99 (-1)'],
1236
+ ['Kilogram\xa0(kg)', '99.405,61', '1,00', '99.406'],
1237
+ ['Update harga emas :03 April 2025, pukul 18:52Update kurs :14 Maret 2025, '
1238
+ 'pukul 10:13']],
1248
1239
  [['Gram', 'UBS Gold 99.99%'],
1249
1240
  ['Jual', 'Beli'],
1250
1241
  ['/ Batang', '/ Gram', '/ Batang', '/ Gram'],
1251
- ['100', '139.900.000', '1.399.000', '132.707.000', '1.327.070'],
1252
- ['50', '70.100.000', '1.402.000', '66.401.500', '1.328.030'],
1253
- ['25', '35.100.000', '1.404.000', '33.300.800', '1.332.032'],
1254
- ['10', '14.100.000', '1.410.000', '13.399.000', '1.339.900'],
1255
- ['5', '7.070.000', '1.414.000', '6.754.500', '1.350.900'],
1256
- ['1', '1.460.000', '1.460.000', '1.382.100', '1.382.100'],
1257
- ['', 'Update :27 September 2024, pukul 11:45']],
1242
+ ['100',
1243
+ '172.300.000 (+500.000)',
1244
+ '1.723.000 (+5.000)',
1245
+ '165.602.000',
1246
+ '1.656.020'],
1247
+ ['50',
1248
+ '86.750.000 (+250.000)',
1249
+ '1.735.000 (+5.000)',
1250
+ '82.851.000',
1251
+ '1.657.020'],
1252
+ ['25',
1253
+ '43.475.000 (+125.000)',
1254
+ '1.739.000 (+5.000)',
1255
+ '41.526.000',
1256
+ '1.661.040'],
1257
+ ['10',
1258
+ '17.400.000 (+50.000)',
1259
+ '1.740.000 (+5.000)',
1260
+ '16.686.000',
1261
+ '1.668.600'],
1262
+ ['5', '8.725.000 (+25.000)', '1.745.000 (+5.000)', '8.399.000', '1.679.800'],
1263
+ ['1', '1.785.000 (+5.000)', '1.785.000 (+5.000)', '1.711.700', '1.711.700'],
1264
+ ['', 'Update :20 Maret 2025, pukul 08:35']],
1258
1265
  [['Konversi Satuan'],
1259
1266
  ['Satuan', 'Ounce (oz)', 'Gram (gr)', 'Kilogram (kg)'],
1260
1267
  ['Ounce\xa0(oz)', '1', '31,1034767696', '0,0311034768'],
@@ -1264,37 +1271,37 @@ Output:
1264
1271
  ['Waktu', 'Emas'],
1265
1272
  ['Unit', 'USD', 'IDR'],
1266
1273
  ['Angka', '+/-', 'Angka', '+/-'],
1267
- ['Hari Ini', 'Kurs', '', '', '15.171', '%'],
1268
- ['oz', '2.652,50', '+5,84+0,22%', '40.241.078', '+88.599+0,22%'],
1269
- ['gr', '85,28', '+0,19+0,22%', '1.293.781', '+2.849+0,22%'],
1270
- ['30 Hari', 'Kurs', '', '', '15.409', '-238-1,54%'],
1271
- ['oz', '2.497,99', '+160,35+6,42%', '38.491.528', '+1.838.148+4,78%'],
1272
- ['gr', '80,31', '+5,16+6,42%', '1.237.531', '+59.098+4,78%'],
1273
- ['2 Bulan', 'Kurs', '', '', '16.320', '-1.149-7,04%'],
1274
- ['oz', '2.426,29', '+232,05+9,56%', '39.597.053', '+732.623+1,85%'],
1275
- ['gr', '78,01', '+7,46+9,56', '1.273.075', '+23.554+1,85%'],
1276
- ['6 Bulan', 'Kurs', '', '', '15.909', '-738-4,64%'],
1277
- ['oz', '2.260,33', '+398,01+17,61%', '35.959.590', '+4.370.086+12,15%'],
1278
- ['gr', '72,67', '+12,80+17,61%', '1.156.128', '+140.502+12,15%'],
1279
- ['1 Tahun', 'Kurs', '', '', '15.140', '+31+0,20%'],
1280
- ['oz', '1.848,82', '+809,52+43,79%', '27.991.135', '+12.338.541+44,08%'],
1281
- ['gr', '59,44', '+26,03+43,79%', '899.936', '+396.693+44,08%'],
1282
- ['2 Tahun', 'Kurs', '', '', '15.247', '-76-0,50%'],
1283
- ['oz', '1.664,93', '+993,41+59,67%', '25.385.188', '+14.944.488+58,87%'],
1284
- ['gr', '53,53', '+31,94+59,67%', '816.153', '+480.476+58,87%'],
1285
- ['3 Tahun', 'Kurs', '', '', '14.307', '+864+6,04%'],
1286
- ['oz', '1.757,58', '+900,76+51,25%', '25.145.715', '+15.183.962+60,38%'],
1287
- ['gr', '56,51', '+28,96+51,25%', '808.453', '+488.176+60,38%'],
1288
- ['5 Tahun', 'Kurs', '', '', '14.196', '+975+6,87%'],
1289
- ['oz', '1.483,09', '+1.175,25+79,24%', '21.053.946', '+19.275.731+91,55%'],
1290
- ['gr', '47,68', '+37,79+79,24%', '676.900', '+619.729+91,55%']])
1274
+ ['Hari Ini', 'Kurs', '', '', '1', '%'],
1275
+ ['oz', '3.130,46', '-38,60-1,23%', '3.130', '-39-1,23%'],
1276
+ ['gr', '100,65', '-1,24-1,23%', '101', '-1-1,23%'],
1277
+ ['30 Hari', 'Kurs', '', '', '16.506', '-16.505-99,99%'],
1278
+ ['oz', '2.915,26', '+176,60+6,06%', '48.119.282', '-48.116.190-99,99%'],
1279
+ ['gr', '93,73', '+5,68+6,06%', '1.547.071', '-1.546.971-99,99%'],
1280
+ ['2 Bulan', 'Kurs', '', '', '16.259', '-16.258-99,99%'],
1281
+ ['oz', '2.798,49', '+293,37+10,48%', '45.500.649', '-45.497.557-99,99%'],
1282
+ ['gr', '89,97', '+9,43+10,48', '1.462.880', '-1.462.780-99,99%'],
1283
+ ['6 Bulan', 'Kurs', '', '', '15.394', '-15.393-99,99%'],
1284
+ ['oz', '2.653,25', '+438,61+16,53%', '40.844.131', '-40.841.039-99,99%'],
1285
+ ['gr', '85,30', '+14,10+16,53%', '1.313.169', '-1.313.070-99,99%'],
1286
+ ['1 Tahun', 'Kurs', '', '', '15.934', '-15.933-99,99%'],
1287
+ ['oz', '2.292,15', '+799,71+34,89%', '36.523.118', '-36.520.026-99,99%'],
1288
+ ['gr', '73,69', '+25,71+34,89%', '1.174.246', '-1.174.146-99,99%'],
1289
+ ['2 Tahun', 'Kurs', '', '', '15.731', '-15.730-99,99%'],
1290
+ ['oz', '1.823,86', '+1.268,00+69,52%', '28.691.142', '-28.688.050-99,99%'],
1291
+ ['gr', '58,64', '+40,77+69,52%', '922.442', '-922.342-99,99%'],
1292
+ ['3 Tahun', 'Kurs', '', '', '14.364', '-14.363-99,99%'],
1293
+ ['oz', '1.931,33', '+1.160,53+60,09%', '27.741.624', '-27.738.532-99,99%'],
1294
+ ['gr', '62,09', '+37,31+60,09%', '891.914', '-891.815-99,99%'],
1295
+ ['5 Tahun', 'Kurs', '', '', '16.464', '-16.463-99,99%'],
1296
+ ['oz', '1.618,13', '+1.473,73+91,08%', '26.640.892', '-26.637.800-99,99%'],
1297
+ ['gr', '52,02', '+47,38+91,08%', '856.525', '-856.425-99,99%']])
1291
1298
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1292
1299
  [[''],
1293
1300
  ['Emas 24 KaratHarga Emas 1 Gram', ''],
1294
- ['USD', '85,47↓', '%'],
1295
- ['KURS', '15.124,85↓', '%'],
1296
- ['IDR', '1.292.684,87↓', '%'],
1297
- ['Minggu, 29 September 2024 19:25']],
1301
+ ['USD', '99,41↓', '-1,24-1,23%'],
1302
+ ['KURS', '16.355,25↓', '%'],
1303
+ ['IDR', '1.625.803,56↓', '-20.297,17-1,23%'],
1304
+ ['Kamis, 03 April 2025 18:52']],
1298
1305
  [[''],
1299
1306
  ['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
1300
1307
  'Hari Ini',
@@ -1305,19 +1312,25 @@ Output:
1305
1312
  '']],
1306
1313
  [['Pergerakkan Harga Emas 1 Gram'],
1307
1314
  ['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
1308
- ['USD', '85,47', '85,47 - 85,47', '85,47'],
1309
- ['KURS', '15.124,85', '15.124,85 - 15.124,85', '15.124,85'],
1310
- ['IDR', '1.292.684,87', '1.292.684,87 - 1.292.684,87', '1.292.684,87'],
1315
+ ['USD', '100,65', '99,41 - 100,65', '100,03'],
1316
+ ['KURS', '16.355,25', '16.355,25 - 16.355,25', '16.355,25'],
1317
+ ['IDR', '1.646.100,73', '1.625.803,56 - 1.646.100,73', '1.635.952,15'],
1311
1318
  [''],
1312
1319
  ['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
1313
- ['USD', '66,32', '64,07 - 85,83', '+19,15 (28,88%)'],
1314
- ['KURS', '15.390,10', '15.100,00 - 16.509,65', '-265,25(-1,72%)'],
1315
- ['IDR', '1.020.729,53', '997.660,12 - 1.296.071,15', '+271.955,34 (26,64%)'],
1320
+ ['USD', '84,42', '84,38 - 100,65', '+14,99 (17,76%)'],
1321
+ ['KURS', '16.220,76', '16.156,70 - 16.387,00', '+134,49 (0,83%)'],
1322
+ ['IDR',
1323
+ '1.369.306,75',
1324
+ '1.368.695,74 - 1.646.100,73',
1325
+ '+256.496,81 (18,73%)'],
1316
1326
  [''],
1317
1327
  ['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
1318
- ['USD', '59,91', '58,43 - 85,83', '+25,56 (42,66%)'],
1319
- ['KURS', '15.508,40', '15.100,00 - 16.509,65', '-383,55(-2,47%)'],
1320
- ['IDR', '929.163,44', '912.925,68 - 1.296.071,15', '+363.521,43 (39,12%)']])
1328
+ ['USD', '72,67', '73,56 - 100,65', '+26,74 (36,80%)'],
1329
+ ['KURS', '15.946,00', '15.100,00 - 16.509,65', '+409,25 (2,57%)'],
1330
+ ['IDR',
1331
+ '1.158.816,50',
1332
+ '1.167.120,22 - 1.646.100,73',
1333
+ '+466.987,06 (40,30%)']])
1321
1334
  ```
1322
1335
 
1323
1336
  ## iloads
@@ -1447,7 +1460,7 @@ Output:
1447
1460
  ```py
1448
1461
  8
1449
1462
  ['mana', 'aja']
1450
- [<Element a at 0x727943f2a0>, <Element a at 0x727948a990>, <Element a at 0x727948aa30>, <Element a at 0x727948aa80>, <Element a at 0x727948aad0>, <Element a at 0x727948ab20>, <Element a at 0x727948ab70>, <Element a at 0x727948abc0>, <Element a at 0x727948ac10>, <Element a at 0x727948ac60>, <Element a at 0x727948acb0>, <Element a at 0x727948ad00>, <Element a at 0x727948ad50>, <Element a at 0x727948ada0>, <Element a at 0x727948adf0>, <Element a at 0x727948ae40>, <Element a at 0x727948ae90>, <Element a at 0x727948aee0>]
1463
+ [<Element a at 0x724e429680>, <Element a at 0x724e429d60>, <Element a at 0x724e4bf200>, <Element a at 0x724e4bf0c0>, <Element a at 0x724e4bf2a0>, <Element a at 0x724e4bf340>, <Element a at 0x724e4bf3e0>, <Element a at 0x724e4bf430>, <Element a at 0x724e4bf4d0>, <Element a at 0x724e4bf5c0>, <Element a at 0x724e4bf610>, <Element a at 0x724e4bf660>, <Element a at 0x724e4bf6b0>, <Element a at 0x724e4bf700>, <Element a at 0x724e4bf750>, <Element a at 0x724e4bf7a0>, <Element a at 0x724e4bfa20>, <Element a at 0x724e4bf980>]
1451
1464
  False
1452
1465
  ```
1453
1466
 
@@ -1517,8 +1530,8 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
1517
1530
 
1518
1531
  Output:
1519
1532
  ```py
1520
- <generator object iscandir at 0x727bb02c40>
1521
- [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
1533
+ <generator object iscandir at 0x724e5aef20>
1534
+ [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr')]
1522
1535
  ```
1523
1536
 
1524
1537
  ## isplit
@@ -1550,125 +1563,127 @@ iprint(ivars(__import__('pypipr')))
1550
1563
 
1551
1564
  Output:
1552
1565
  ```py
1553
- {'function': {'avg': <function avg at 0x7286d9be20>,
1554
- 'get_filemtime': <function get_filemtime at 0x728324df80>,
1555
- 'print_colorize': <function print_colorize at 0x728324e160>,
1556
- 'print_log': <function print_log at 0x728324e020>,
1557
- 'console_run': <function console_run at 0x728324e0c0>,
1558
- 'auto_reload': <function auto_reload at 0x728324d8a0>,
1559
- 'basename': <function basename at 0x728324dee0>,
1560
- 'chr_to_int': <function chr_to_int at 0x728324e700>,
1561
- 'int_to_chr': <function int_to_chr at 0x728324e7a0>,
1562
- 'irange': <function irange at 0x728324ea20>,
1563
- 'batchmaker': <function batchmaker at 0x728324e3e0>,
1564
- 'calculate': <function calculate at 0x728324e520>,
1565
- 'batch_calculate': <function batch_calculate at 0x728324e2a0>,
1566
- 'bin_to_int': <function bin_to_int at 0x728324e340>,
1567
- 'is_empty': <function is_empty at 0x728324f240>,
1568
- 'exit_if_empty': <function exit_if_empty at 0x728324f100>,
1569
- 'input_char': <function input_char at 0x728324e660>,
1570
- 'choices': <function choices at 0x728324f4c0>,
1571
- 'chunk_array': <function chunk_array at 0x728324f560>,
1572
- 'create_folder': <function create_folder at 0x728324f6a0>,
1573
- 'datetime_from_string': <function datetime_from_string at 0x728324f740>,
1574
- 'datetime_now': <function datetime_now at 0x728324f7e0>,
1575
- 'dict_first': <function dict_first at 0x72832699e0>,
1576
- 'dirname': <function dirname at 0x7283269a80>,
1577
- 'django_runserver': <function django_runserver at 0x7283269da0>,
1578
- 'is_iterable': <function is_iterable at 0x728326a160>,
1579
- 'to_str': <function to_str at 0x728326a200>,
1580
- 'filter_empty': <function filter_empty at 0x728326a020>,
1581
- 'get_by_index': <function get_by_index at 0x728326a0c0>,
1582
- 'get_class_method': <function get_class_method at 0x728326a2a0>,
1583
- 'get_filesize': <function get_filesize at 0x728326a3e0>,
1584
- 'github_init': <function github_init at 0x728326a480>,
1585
- 'github_pull': <function github_pull at 0x728326a520>,
1586
- 'github_push': <function github_push at 0x728326a660>,
1587
- 'github_user': <function github_user at 0x728326a700>,
1588
- 'hex_to_int': <function hex_to_int at 0x728326a7a0>,
1589
- 'iargv': <function iargv at 0x728326a840>,
1590
- 'idir': <function idir at 0x728326a8e0>,
1591
- 'idumps_html': <function idumps_html at 0x728326afc0>,
1592
- 'idumps': <function idumps at 0x728326aa20>,
1593
- 'int_to_int': <function int_to_int at 0x72832fae80>,
1594
- 'ienumerate': <function ienumerate at 0x728326af20>,
1595
- 'ienv': <function ienv at 0x72832e93a0>,
1596
- 'iexec': <function iexec at 0x72832faf20>,
1597
- 'ijoin': <function ijoin at 0x72832fb060>,
1598
- 'iloads_html': <function iloads_html at 0x72832fb240>,
1599
- 'iloads': <function iloads at 0x72877e1ee0>,
1600
- 'int_to_bin': <function int_to_bin at 0x72832fafc0>,
1601
- 'int_to_hex': <function int_to_hex at 0x72832fb1a0>,
1602
- 'int_to_oct': <function int_to_oct at 0x72832fb2e0>,
1603
- 'is_valid_url': <function is_valid_url at 0x72830df100>,
1604
- 'iopen': <function iopen at 0x72832fb4c0>,
1605
- 'iprint': <function iprint at 0x72830dec00>,
1606
- 'is_raw_string': <function is_raw_string at 0x727bf200e0>,
1607
- 'ireplace': <function ireplace at 0x727bf13f60>,
1608
- 'is_html': <function is_html at 0x728313b880>,
1609
- 'iscandir': <function iscandir at 0x727bf20180>,
1610
- 'isplit': <function isplit at 0x727bf20220>,
1611
- 'ivars': <function ivars at 0x727bf202c0>,
1612
- 'log': <function log at 0x727bf20360>,
1613
- 'oct_to_int': <function oct_to_int at 0x727bf20400>,
1614
- 'password_generator': <function password_generator at 0x727bf204a0>,
1615
- 'pip_freeze_without_version': <function pip_freeze_without_version at 0x727bf205e0>,
1616
- 'pip_update_pypipr': <function pip_update_pypipr at 0x727bf20680>,
1617
- 'poetry_publish': <function poetry_publish at 0x727bf20720>,
1618
- 'poetry_update_version': <function poetry_update_version at 0x727bf20860>,
1619
- 'print_dir': <function print_dir at 0x727bf20a40>,
1620
- 'print_to_last_line': <function print_to_last_line at 0x727bf20ae0>,
1621
- 'random_bool': <function random_bool at 0x727bf20b80>,
1622
- 'repath': <function repath at 0x727bf20cc0>,
1623
- 'restart': <function restart at 0x727bf20d60>,
1624
- 'set_timeout': <function set_timeout at 0x727bf20e00>,
1625
- 'sets_ordered': <function sets_ordered at 0x727bf20ea0>,
1626
- 'sqlite_delete_table': <function sqlite_delete_table at 0x727bf20f40>,
1627
- 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x727bf21120>,
1628
- 'sqlite_get_data_table': <function sqlite_get_data_table at 0x727bf218a0>,
1629
- 'str_cmp': <function str_cmp at 0x727bf21940>,
1630
- 'text_colorize': <function text_colorize at 0x727bf219e0>,
1631
- 'traceback_filename': <function traceback_filename at 0x727bf21a80>,
1632
- 'traceback_framename': <function traceback_framename at 0x727bf21b20>},
1566
+ {'function': {'avg': <function avg at 0x7257de8680>,
1567
+ 'get_filemtime': <function get_filemtime at 0x725383d260>,
1568
+ 'print_colorize': <function print_colorize at 0x725383d440>,
1569
+ 'print_log': <function print_log at 0x7253f67380>,
1570
+ 'console_run': <function console_run at 0x725383d300>,
1571
+ 'auto_reload': <function auto_reload at 0x725383cc20>,
1572
+ 'basename': <function basename at 0x725383d4e0>,
1573
+ 'chr_to_int': <function chr_to_int at 0x725383da80>,
1574
+ 'int_to_chr': <function int_to_chr at 0x725383db20>,
1575
+ 'irange': <function irange at 0x725383e020>,
1576
+ 'batchmaker': <function batchmaker at 0x725383d800>,
1577
+ 'calculate': <function calculate at 0x725383d3a0>,
1578
+ 'batch_calculate': <function batch_calculate at 0x725383d580>,
1579
+ 'bin_to_int': <function bin_to_int at 0x725383d760>,
1580
+ 'is_empty': <function is_empty at 0x725383e8e0>,
1581
+ 'exit_if_empty': <function exit_if_empty at 0x725383e7a0>,
1582
+ 'input_char': <function input_char at 0x725383e840>,
1583
+ 'choices': <function choices at 0x725383eb60>,
1584
+ 'chunk_array': <function chunk_array at 0x725383ec00>,
1585
+ 'create_folder': <function create_folder at 0x725383eca0>,
1586
+ 'datetime_from_string': <function datetime_from_string at 0x725383ed40>,
1587
+ 'datetime_now': <function datetime_now at 0x725383ede0>,
1588
+ 'dict_first': <function dict_first at 0x725385d080>,
1589
+ 'dirname': <function dirname at 0x725385d120>,
1590
+ 'django_clear_migrations': <function django_clear_migrations at 0x725385d1c0>,
1591
+ 'django_runserver': <function django_runserver at 0x725385d4e0>,
1592
+ 'is_iterable': <function is_iterable at 0x725385d8a0>,
1593
+ 'to_str': <function to_str at 0x725385d9e0>,
1594
+ 'filter_empty': <function filter_empty at 0x725385d760>,
1595
+ 'get_by_index': <function get_by_index at 0x725385d940>,
1596
+ 'get_class_method': <function get_class_method at 0x725385da80>,
1597
+ 'get_filesize': <function get_filesize at 0x725385dbc0>,
1598
+ 'github_init': <function github_init at 0x725385dc60>,
1599
+ 'github_pull': <function github_pull at 0x725385dd00>,
1600
+ 'github_push': <function github_push at 0x725385de40>,
1601
+ 'github_user': <function github_user at 0x725385dee0>,
1602
+ 'hex_to_int': <function hex_to_int at 0x725385df80>,
1603
+ 'iargv': <function iargv at 0x725385e020>,
1604
+ 'idir': <function idir at 0x725385e0c0>,
1605
+ 'idumps_html': <function idumps_html at 0x72538e9f80>,
1606
+ 'idumps': <function idumps at 0x725385e160>,
1607
+ 'int_to_int': <function int_to_int at 0x72538ea480>,
1608
+ 'ienumerate': <function ienumerate at 0x72538d07c0>,
1609
+ 'ienv': <function ienv at 0x72538ea340>,
1610
+ 'iexec': <function iexec at 0x72538ea520>,
1611
+ 'ijoin': <function ijoin at 0x72538ea5c0>,
1612
+ 'iloads_html': <function iloads_html at 0x72538ea8e0>,
1613
+ 'iloads': <function iloads at 0x72588a1260>,
1614
+ 'int_to_bin': <function int_to_bin at 0x72538ea660>,
1615
+ 'int_to_hex': <function int_to_hex at 0x72538ea700>,
1616
+ 'int_to_oct': <function int_to_oct at 0x72538ea980>,
1617
+ 'is_valid_url': <function is_valid_url at 0x72538eac00>,
1618
+ 'iopen': <function iopen at 0x72536a27a0>,
1619
+ 'iprint': <function iprint at 0x72538eaac0>,
1620
+ 'is_raw_string': <function is_raw_string at 0x724e754040>,
1621
+ 'ireplace': <function ireplace at 0x724e74a520>,
1622
+ 'is_html': <function is_html at 0x724e74bf60>,
1623
+ 'iscandir': <function iscandir at 0x724e7540e0>,
1624
+ 'isplit': <function isplit at 0x724e754180>,
1625
+ 'ivars': <function ivars at 0x724e754220>,
1626
+ 'log': <function log at 0x724e7542c0>,
1627
+ 'oct_to_int': <function oct_to_int at 0x724e754360>,
1628
+ 'password_generator': <function password_generator at 0x724e754400>,
1629
+ 'pip_freeze_without_version': <function pip_freeze_without_version at 0x724e7544a0>,
1630
+ 'pip_update_pypipr': <function pip_update_pypipr at 0x724e754540>,
1631
+ 'poetry_publish': <function poetry_publish at 0x724e7545e0>,
1632
+ 'poetry_update_version': <function poetry_update_version at 0x724e754720>,
1633
+ 'print_dir': <function print_dir at 0x724e754860>,
1634
+ 'print_to_last_line': <function print_to_last_line at 0x724e754900>,
1635
+ 'random_bool': <function random_bool at 0x724e7549a0>,
1636
+ 'repath': <function repath at 0x724e754ae0>,
1637
+ 'restart': <function restart at 0x724e754b80>,
1638
+ 'set_timeout': <function set_timeout at 0x724e754c20>,
1639
+ 'sets_ordered': <function sets_ordered at 0x724e754cc0>,
1640
+ 'sqlite_backup': <function sqlite_backup at 0x724e754d60>,
1641
+ 'sqlite_delete_table': <function sqlite_delete_table at 0x724e754e00>,
1642
+ 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x724e754ea0>,
1643
+ 'sqlite_get_data_table': <function sqlite_get_data_table at 0x724e754f40>,
1644
+ 'str_cmp': <function str_cmp at 0x724e755800>,
1645
+ 'text_colorize': <function text_colorize at 0x724e7558a0>,
1646
+ 'traceback_filename': <function traceback_filename at 0x724e755940>,
1647
+ 'traceback_framename': <function traceback_framename at 0x724e7559e0>},
1633
1648
  'class': {'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
1634
1649
  'PintUregQuantity': <class 'pint.Quantity'>,
1635
1650
  'RunParallel': <class 'pypipr.RunParallel.RunParallel'>,
1636
1651
  'TextCase': <class 'pypipr.TextCase.TextCase'>},
1637
1652
  'variable': {'LINUX': True,
1638
- 'PintUreg': <pint.registry.UnitRegistry object at 0x7286df3510>,
1653
+ 'PintUreg': <pint.registry.UnitRegistry object at 0x7257de1f10>,
1639
1654
  'WINDOWS': False},
1640
- 'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.11/asyncio/__init__.py'>,
1641
- 'colorama': <module 'colorama' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/colorama/__init__.py'>,
1642
- 'csv': <module 'csv' from '/data/data/com.termux/files/usr/lib/python3.11/csv.py'>,
1643
- 'datetime': <module 'datetime' from '/data/data/com.termux/files/usr/lib/python3.11/datetime.py'>,
1644
- 'functools': <module 'functools' from '/data/data/com.termux/files/usr/lib/python3.11/functools.py'>,
1645
- 'inspect': <module 'inspect' from '/data/data/com.termux/files/usr/lib/python3.11/inspect.py'>,
1655
+ 'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.12/asyncio/__init__.py'>,
1656
+ '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'>,
1657
+ 'csv': <module 'csv' from '/data/data/com.termux/files/usr/lib/python3.12/csv.py'>,
1658
+ 'datetime': <module 'datetime' from '/data/data/com.termux/files/usr/lib/python3.12/datetime.py'>,
1659
+ 'functools': <module 'functools' from '/data/data/com.termux/files/usr/lib/python3.12/functools.py'>,
1660
+ 'inspect': <module 'inspect' from '/data/data/com.termux/files/usr/lib/python3.12/inspect.py'>,
1646
1661
  'io': <module 'io' (frozen)>,
1647
- 'json': <module 'json' from '/data/data/com.termux/files/usr/lib/python3.11/json/__init__.py'>,
1648
- 'lxml': <module 'lxml' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/lxml/__init__.py'>,
1649
- 'math': <module 'math' from '/data/data/com.termux/files/usr/lib/python3.11/lib-dynload/math.cpython-311.so'>,
1650
- 'multiprocessing': <module 'multiprocessing' from '/data/data/com.termux/files/usr/lib/python3.11/multiprocessing/__init__.py'>,
1651
- 'operator': <module 'operator' from '/data/data/com.termux/files/usr/lib/python3.11/operator.py'>,
1662
+ 'json': <module 'json' from '/data/data/com.termux/files/usr/lib/python3.12/json/__init__.py'>,
1663
+ 'lxml': <module 'lxml' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/lxml/__init__.py'>,
1664
+ 'math': <module 'math' from '/data/data/com.termux/files/usr/lib/python3.12/lib-dynload/math.cpython-312.so'>,
1665
+ 'multiprocessing': <module 'multiprocessing' from '/data/data/com.termux/files/usr/lib/python3.12/multiprocessing/__init__.py'>,
1666
+ 'operator': <module 'operator' from '/data/data/com.termux/files/usr/lib/python3.12/operator.py'>,
1652
1667
  'os': <module 'os' (frozen)>,
1653
- 'pathlib': <module 'pathlib' from '/data/data/com.termux/files/usr/lib/python3.11/pathlib.py'>,
1654
- 'pint': <module 'pint' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/pint/__init__.py'>,
1655
- 'pprint': <module 'pprint' from '/data/data/com.termux/files/usr/lib/python3.11/pprint.py'>,
1656
- 'queue': <module 'queue' from '/data/data/com.termux/files/usr/lib/python3.11/queue.py'>,
1657
- 'random': <module 'random' from '/data/data/com.termux/files/usr/lib/python3.11/random.py'>,
1658
- 're': <module 're' from '/data/data/com.termux/files/usr/lib/python3.11/re/__init__.py'>,
1659
- 'requests': <module 'requests' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/requests/__init__.py'>,
1660
- 'string': <module 'string' from '/data/data/com.termux/files/usr/lib/python3.11/string.py'>,
1661
- 'subprocess': <module 'subprocess' from '/data/data/com.termux/files/usr/lib/python3.11/subprocess.py'>,
1668
+ 'pathlib': <module 'pathlib' from '/data/data/com.termux/files/usr/lib/python3.12/pathlib.py'>,
1669
+ 'pint': <module 'pint' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/pint/__init__.py'>,
1670
+ 'pprint': <module 'pprint' from '/data/data/com.termux/files/usr/lib/python3.12/pprint.py'>,
1671
+ 'queue': <module 'queue' from '/data/data/com.termux/files/usr/lib/python3.12/queue.py'>,
1672
+ 'random': <module 'random' from '/data/data/com.termux/files/usr/lib/python3.12/random.py'>,
1673
+ 're': <module 're' from '/data/data/com.termux/files/usr/lib/python3.12/re/__init__.py'>,
1674
+ 'requests': <module 'requests' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/requests/__init__.py'>,
1675
+ 'string': <module 'string' from '/data/data/com.termux/files/usr/lib/python3.12/string.py'>,
1676
+ 'subprocess': <module 'subprocess' from '/data/data/com.termux/files/usr/lib/python3.12/subprocess.py'>,
1662
1677
  'sys': <module 'sys' (built-in)>,
1663
- 'textwrap': <module 'textwrap' from '/data/data/com.termux/files/usr/lib/python3.11/textwrap.py'>,
1664
- 'threading': <module 'threading' from '/data/data/com.termux/files/usr/lib/python3.11/threading.py'>,
1678
+ 'textwrap': <module 'textwrap' from '/data/data/com.termux/files/usr/lib/python3.12/textwrap.py'>,
1679
+ 'threading': <module 'threading' from '/data/data/com.termux/files/usr/lib/python3.12/threading.py'>,
1665
1680
  'time': <module 'time' (built-in)>,
1666
- 'traceback': <module 'traceback' from '/data/data/com.termux/files/usr/lib/python3.11/traceback.py'>,
1667
- 'tzdata': <module 'tzdata' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/tzdata/__init__.py'>,
1668
- 'uuid': <module 'uuid' from '/data/data/com.termux/files/usr/lib/python3.11/uuid.py'>,
1669
- 'webbrowser': <module 'webbrowser' from '/data/data/com.termux/files/usr/lib/python3.11/webbrowser.py'>,
1670
- 'yaml': <module 'yaml' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/yaml/__init__.py'>,
1671
- 'zoneinfo': <module 'zoneinfo' from '/data/data/com.termux/files/usr/lib/python3.11/zoneinfo/__init__.py'>}}
1681
+ 'traceback': <module 'traceback' from '/data/data/com.termux/files/usr/lib/python3.12/traceback.py'>,
1682
+ 'tzdata': <module 'tzdata' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/tzdata/__init__.py'>,
1683
+ 'uuid': <module 'uuid' from '/data/data/com.termux/files/usr/lib/python3.12/uuid.py'>,
1684
+ 'webbrowser': <module 'webbrowser' from '/data/data/com.termux/files/usr/lib/python3.12/webbrowser.py'>,
1685
+ 'yaml': <module 'yaml' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/yaml/__init__.py'>,
1686
+ 'zoneinfo': <module 'zoneinfo' from '/data/data/com.termux/files/usr/lib/python3.12/zoneinfo/__init__.py'>}}
1672
1687
  ```
1673
1688
 
1674
1689
  ## log
@@ -1726,7 +1741,7 @@ print(password_generator())
1726
1741
 
1727
1742
  Output:
1728
1743
  ```py
1729
- W5sj}?L*
1744
+ =[hrU3C{
1730
1745
  ```
1731
1746
 
1732
1747
  ## pip_freeze_without_version
@@ -1778,63 +1793,75 @@ print_dir(p, colorize=False)
1778
1793
 
1779
1794
  Output:
1780
1795
  ```py
1781
- __bytes__ : b'https:/www.google.com'
1782
- __class__ : .
1783
- __dir__ : ['__module__', '__doc__', '__slots__', '__new__', '_make_child_relpath', '__enter__', '__exit__', 'cwd', 'home', 'samefile', 'iterdir', '_scandir', 'glob', 'rglob', 'absolute', 'resolve', 'stat', 'owner', 'group', 'open', 'read_bytes', 'read_text', 'write_bytes', 'write_text', 'readlink', 'touch', 'mkdir', 'chmod', 'lchmod', 'unlink', 'rmdir', 'lstat', 'rename', 'replace', 'symlink_to', 'hardlink_to', 'link_to', 'exists', 'is_dir', 'is_file', 'is_mount', 'is_symlink', 'is_block_device', 'is_char_device', 'is_fifo', 'is_socket', 'expanduser', '__reduce__', '_parse_args', '_from_parts', '_from_parsed_parts', '_format_parsed_parts', '_make_child', '__str__', '__fspath__', 'as_posix', '__bytes__', '__repr__', 'as_uri', '_cparts', '__eq__', '__hash__', '__lt__', '__le__', '__gt__', '__ge__', 'drive', 'root', 'anchor', 'name', 'suffix', 'suffixes', 'stem', 'with_name', 'with_stem', 'with_suffix', 'relative_to', 'is_relative_to', 'parts', 'joinpath', '__truediv__', '__rtruediv__', 'parent', 'parents', 'is_absolute', 'is_reserved', 'match', '_cached_cparts', '_drv', '_hash', '_parts', '_pparts', '_root', '_str', '__getattribute__', '__setattr__', '__delattr__', '__ne__', '__init__', '__reduce_ex__', '__getstate__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__', '_flavour']
1784
- __doc__ : Path subclass for non-Windows systems.
1796
+ __bytes__ : b'https:/www.google.com'
1797
+ __class__ : .
1798
+ __dir__ : ['__module__', '__doc__', '__slots__', 'stat', 'lstat', 'exists', 'is_dir', 'is_file', 'is_mount', 'is_symlink', 'is_junction', 'is_block_device', 'is_char_device', 'is_fifo', 'is_socket', 'samefile', 'open', 'read_bytes', 'read_text', 'write_bytes', 'write_text', 'iterdir', '_scandir', '_make_child_relpath', 'glob', 'rglob', 'walk', '__init__', '__new__', '__enter__', '__exit__', 'cwd', 'home', 'absolute', 'resolve', 'owner', 'group', 'readlink', 'touch', 'mkdir', 'chmod', 'lchmod', 'unlink', 'rmdir', 'rename', 'replace', 'symlink_to', 'hardlink_to', 'expanduser', '_flavour', '__reduce__', 'with_segments', '_parse_path', '_load_parts', '_from_parsed_parts', '_format_parsed_parts', '__str__', '__fspath__', 'as_posix', '__bytes__', '__repr__', 'as_uri', '_str_normcase', '_parts_normcase', '_lines', '__eq__', '__hash__', '__lt__', '__le__', '__gt__', '__ge__', 'drive', 'root', '_tail', 'anchor', 'name', 'suffix', 'suffixes', 'stem', 'with_name', 'with_stem', 'with_suffix', 'relative_to', 'is_relative_to', 'parts', 'joinpath', '__truediv__', '__rtruediv__', 'parent', 'parents', 'is_absolute', 'is_reserved', 'match', '_drv', '_hash', '_lines_cached', '_parts_normcase_cached', '_raw_paths', '_root', '_str', '_str_normcase_cached', '_tail_cached', '__getattribute__', '__setattr__', '__delattr__', '__ne__', '__reduce_ex__', '__getstate__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__']
1799
+ __doc__ : Path subclass for non-Windows systems.
1785
1800
 
1786
1801
  On a POSIX system, instantiating a Path should return this object.
1787
1802
 
1788
- __enter__ : https:/www.google.com
1789
- __fspath__ : https:/www.google.com
1790
- __getstate__ : (None, {'_drv': '', '_root': '', '_parts': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1791
- __hash__ : 71762221691150464
1792
- __init__ : None
1793
- __init_subclass__ : None
1794
- __module__ : pathlib
1795
- __reduce__ : (<class 'pathlib.PosixPath'>, ('https:', 'www.google.com'))
1796
- __repr__ : PosixPath('https:/www.google.com')
1797
- __sizeof__ : 72
1798
- __slots__ : ()
1799
- __str__ : https:/www.google.com
1800
- __subclasshook__ : NotImplemented
1801
- _cached_cparts : ['https:', 'www.google.com']
1802
- _cparts : ['https:', 'www.google.com']
1803
- _drv :
1804
- _flavour : <pathlib._PosixFlavour object at 0x7286c21a10>
1805
- _hash : 71762221691150464
1806
- _parts : ['https:', 'www.google.com']
1807
- _root :
1808
- _str : https:/www.google.com
1809
- absolute : /data/data/com.termux/files/home/pypipr/https:/www.google.com
1810
- anchor :
1811
- as_posix : https:/www.google.com
1812
- cwd : /data/data/com.termux/files/home/pypipr
1813
- drive :
1814
- exists : False
1815
- expanduser : https:/www.google.com
1816
- home : /data/data/com.termux/files/home
1817
- is_absolute : False
1818
- is_block_device : False
1819
- is_char_device : False
1820
- is_dir : False
1821
- is_fifo : False
1822
- is_file : False
1823
- is_mount : False
1824
- is_reserved : False
1825
- is_socket : False
1826
- is_symlink : False
1827
- iterdir : <generator object Path.iterdir at 0x7279442500>
1828
- joinpath : https:/www.google.com
1829
- name : www.google.com
1830
- parent : https:
1831
- parents : <PosixPath.parents>
1832
- parts : ('https:', 'www.google.com')
1833
- resolve : /data/data/com.termux/files/home/pypipr/https:/www.google.com
1834
- root :
1835
- stem : www.google
1836
- suffix : .com
1837
- suffixes : ['.google', '.com']
1803
+ __enter__ : https:/www.google.com
1804
+ __fspath__ : https:/www.google.com
1805
+ __getstate__ : (None, {'_raw_paths': ['https://www.google.com/'], '_drv': '', '_root': '', '_tail_cached': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1806
+ __hash__ : 3662993475603643349
1807
+ __init__ : None
1808
+ __init_subclass__ : None
1809
+ __module__ : pathlib
1810
+ __reduce__ : (<class 'pathlib.PosixPath'>, ('https:', 'www.google.com'))
1811
+ __repr__ : PosixPath('https:/www.google.com')
1812
+ __sizeof__ : 88
1813
+ __slots__ : ()
1814
+ __str__ : https:/www.google.com
1815
+ __subclasshook__ : NotImplemented
1816
+ _drv :
1817
+ _flavour : <module 'posixpath' (frozen)>
1818
+ _hash : 3662993475603643349
1819
+ _lines : https:
1820
+ www.google.com
1821
+ _lines_cached : https:
1822
+ www.google.com
1823
+ _load_parts : None
1824
+ _parts_normcase : ['https:', 'www.google.com']
1825
+ _parts_normcase_cached : ['https:', 'www.google.com']
1826
+ _raw_paths : []
1827
+ _root :
1828
+ _str : https:/www.google.com
1829
+ _str_normcase : https:/www.google.com
1830
+ _str_normcase_cached : https:/www.google.com
1831
+ _tail : []
1832
+ _tail_cached : []
1833
+ absolute : /data/data/com.termux/files/home/pypipr
1834
+ anchor :
1835
+ as_posix : https:/www.google.com
1836
+ cwd : /data/data/com.termux/files/home/pypipr
1837
+ drive :
1838
+ exists : False
1839
+ expanduser : https:/www.google.com
1840
+ home : /data/data/com.termux/files/home
1841
+ is_absolute : False
1842
+ is_block_device : False
1843
+ is_char_device : False
1844
+ is_dir : False
1845
+ is_fifo : False
1846
+ is_file : False
1847
+ is_junction : False
1848
+ is_mount : False
1849
+ is_reserved : False
1850
+ is_socket : False
1851
+ is_symlink : False
1852
+ iterdir : <generator object Path.iterdir at 0x724e5bbd30>
1853
+ joinpath : .
1854
+ name :
1855
+ parent : https:/www.google.com
1856
+ parents : <PosixPath.parents>
1857
+ parts : ()
1858
+ resolve : /data/data/com.termux/files/home/pypipr/https:/www.google.com
1859
+ root :
1860
+ stem :
1861
+ suffix :
1862
+ suffixes : []
1863
+ walk : <generator object Path.walk at 0x724e82b740>
1864
+ with_segments : .
1838
1865
  ```
1839
1866
 
1840
1867
  ## print_to_last_line
@@ -1875,7 +1902,7 @@ print(random_bool())
1875
1902
 
1876
1903
  Output:
1877
1904
  ```py
1878
- True
1905
+ False
1879
1906
  ```
1880
1907
 
1881
1908
  ## repath
@@ -1913,7 +1940,7 @@ x.cancel()
1913
1940
 
1914
1941
  Output:
1915
1942
  ```py
1916
- <Timer(Thread-2, started 491633229040)>
1943
+ <Timer(Thread-2, started 490907397360)>
1917
1944
  menghentikan timeout 7
1918
1945
  ```
1919
1946
 
@@ -1931,10 +1958,14 @@ print(list(sets_ordered(array)))
1931
1958
 
1932
1959
  Output:
1933
1960
  ```py
1934
- <generator object sets_ordered at 0x7279458930>
1961
+ <generator object sets_ordered at 0x724e443510>
1935
1962
  [2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
1936
1963
  ```
1937
1964
 
1965
+ ## sqlite_backup
1966
+
1967
+ `sqlite_backup(db)`
1968
+
1938
1969
  ## sqlite_delete_table
1939
1970
 
1940
1971
  `sqlite_delete_table(filename, tablename)`
@@ -2045,15 +2076,15 @@ print(ExampleComparePerformance().compare_performance())
2045
2076
 
2046
2077
  Output:
2047
2078
  ```py
2048
- {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x72793efac0>,
2079
+ {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x724e605900>,
2049
2080
  'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
2050
2081
  'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
2051
2082
  'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
2052
- {'a': 162, 'b': 139, 'c': 100, 'd': 153}
2053
- {'a': 141, 'b': 137, 'c': 100, 'd': 124}
2054
- {'a': 133, 'b': 134, 'c': 100, 'd': 131}
2055
- {'a': 125, 'b': 131, 'c': 100, 'd': 132}
2056
- {'a': 124, 'b': 132, 'c': 100, 'd': 131}
2083
+ {'a': 137, 'b': 173, 'c': 100, 'd': 307}
2084
+ {'a': 103, 'b': 159, 'c': 100, 'd': 211}
2085
+ {'a': 100, 'b': 158, 'c': 103, 'd': 216}
2086
+ {'a': 105, 'b': 160, 'c': 100, 'd': 210}
2087
+ {'a': 102, 'b': 155, 'c': 100, 'd': 204}
2057
2088
  ```
2058
2089
 
2059
2090
  ## PintUregQuantity
@@ -5,7 +5,7 @@ pypipr/PintUregQuantity.py,sha256=ErSZKB-GHShi1zKac30XgFdBwAUrxMo80IQzIjQ2HVc,11
5
5
  pypipr/RunParallel.py,sha256=a7Fa0YrnCeXakdgLTd2BYjB6Ck6vvZ1gIaTS7ZISmSg,6536
6
6
  pypipr/TextCase.py,sha256=v62BsRiJUSOqYZM9BHTKvQtF6rWgaug5F0XirXNlens,2896
7
7
  pypipr/WINDOWS.py,sha256=NMW-94lzdqwfEWv2lF_i2GcSHJFDwWjccFufpymg4-E,83
8
- pypipr/__init__.py,sha256=NMTH0U2tBHPR9yiUTxeA9kx-XZzcupi6Rb7zqN6LtTE,3640
8
+ pypipr/__init__.py,sha256=qpnArjHLEkFB8O02XHe8BOa3Mi-eFoVbH0MAmyuOc6I,3743
9
9
  pypipr/__terminal__.py,sha256=N_NEXa0V5QLb-dkP1Vp_fYKNjE4jGTqkiYNwPPOXZtw,1412
10
10
  pypipr/auto_reload.py,sha256=FGchFBjQs_eT7CmOMLNYoch-17q7ySFOnPx5z1kbH3E,918
11
11
  pypipr/avg.py,sha256=wUtX3x8dgLoODhQLyMB-HRMVo8Ha2yz3cp7lgcUNbr0,218
@@ -23,6 +23,7 @@ pypipr/datetime_from_string.py,sha256=-GJ_QHD1feUMX0o8nwCPHGflDPXr84ovN4Awnk1T9r
23
23
  pypipr/datetime_now.py,sha256=YEaatUOp0KBWYRhOFnxnVW0X7C1XEx3dpdBEn5Vwy9w,379
24
24
  pypipr/dict_first.py,sha256=X_pSaY0DLGZJSR2zJBa17yqbwAFLJrVpzb2gxR5wzZg,377
25
25
  pypipr/dirname.py,sha256=rG3Y7EdOiY4gQo-BoYE_0C4XFKz3U9A1Ly4D28YaMDY,229
26
+ pypipr/django_clear_migrations.py,sha256=Sjb7qq7OZc1_iTNcR2mtRY6k2um9Jr6X4A4PMqOqnCU,302
26
27
  pypipr/django_runserver.py,sha256=puzQajQ_RdLqEZFplKKEKsfhaG-IxHGW4CXZc80EnA8,734
27
28
  pypipr/exit_if_empty.py,sha256=2qUqmYPSkr1NtKPqIN7BAc-WGtcmPPAw8AdO8HirOv8,321
28
29
  pypipr/filter_empty.py,sha256=yLGsStM7SLcCZOKO-gKzhVckzYtmhrhJoaa9R6LuNLc,573
@@ -53,10 +54,10 @@ pypipr/int_to_int.py,sha256=8qocfQtQowaVac4o4g1tpywMxm7OHDIbBqNl1RP6lGk,215
53
54
  pypipr/int_to_oct.py,sha256=GWu7VbHJXJxC6IvLEjQofUrbbXjQSEYPZvT2f6wh_Is,215
54
55
  pypipr/iopen.py,sha256=qEJfKgfrCj-qd17UUlSAw7O4LyV4n0ZKDBbfv288z20,2657
55
56
  pypipr/iprint.py,sha256=5ekT7RzcTd8Lsb8IQ9JeFJmFl2V6OYFbiHECt9W4iWg,838
56
- pypipr/irange.py,sha256=OAS6y8VZfP7aN6Tm1yGCs_3qKlcl_1fQen8X6UtJZNY,3441
57
+ pypipr/irange.py,sha256=-RfSWKq0HezABk6jW-Tnwt3fHuhJDHtippwDe5eki0o,3504
57
58
  pypipr/ireplace.py,sha256=ce1vqq4kXs9yUPnNAi6p0o2O2zAoUetp4GhVvfv4B8s,873
58
59
  pypipr/is_empty.py,sha256=eqsH6ATuuOLVVSpIsV_8zTBBibPrWjESu9LCMAv8YyY,683
59
- pypipr/is_html.py,sha256=-062n4zWkOPlOqYH6lwD8rcPHiP6a2HS-JO5kvSm0-s,148
60
+ pypipr/is_html.py,sha256=g8Q7QbIlCwegTitlRHs1m0iZlZd-kGrdLRyTy18S4-w,171
60
61
  pypipr/is_iterable.py,sha256=WLLqD1Shuc_jvFci28xTdLVdoU-r3T93nZ9jB3nH3Jw,923
61
62
  pypipr/is_raw_string.py,sha256=I9RVf511rReVx1pay7iPl9rcaqe-VgD-ptmel6eV62E,77
62
63
  pypipr/is_valid_url.py,sha256=fH2SzoBvXWl3kRtCmixOVu5m1HfPJ-WazUJ0pVQuNoc,885
@@ -79,15 +80,17 @@ pypipr/repath.py,sha256=2_q8MayLZGtGvMUMe3DpdsJfosOXW5oj3-edyZa2mSQ,1275
79
80
  pypipr/restart.py,sha256=jUhsjZACAAcItYzCuiULHLFikoVyYDJWj16hCLARmAw,272
80
81
  pypipr/set_timeout.py,sha256=heg1J3jSArgG5_75BNLrujjh7I9meTyAzHpuAY_4IBc,698
81
82
  pypipr/sets_ordered.py,sha256=ve2Nc1eNYD_7QaTf_4otEAvzL1XpZP2MjX0KHSXF5nA,325
83
+ pypipr/sqlite_backup.py,sha256=aqMP2sRAU16aDvssOScfUQati1_6AeW0D5gd2Q8uvlE,475
82
84
  pypipr/sqlite_delete_table.py,sha256=x385gVBHp1WkIdMpYEihOmFHglQ6yMl9H14W-ynKRHY,295
83
85
  pypipr/sqlite_get_all_tables.py,sha256=RyRzVOEFkwHDaOkNWJ4zoR9KavFNmYneh8KDJyTzKD4,407
84
86
  pypipr/sqlite_get_data_table.py,sha256=_GeaakCezPEmCB6cgTqgc1bKK_AMzjuxRGYZdOKA-DA,319
85
87
  pypipr/str_cmp.py,sha256=2kavWiT4VTddXcBotF1CxDOWSygk5rFrbllKxBjw9dc,377
86
88
  pypipr/text_colorize.py,sha256=IVjaCnXBSBu4Rh8pTO3CxDvxpA265HVwyKX_-PRXCcI,396
89
+ pypipr/tiles.py,sha256=uSEYqvjBQHIz7pZKtdta1XwFhGrMFieMHOH2DKrlcXc,328
87
90
  pypipr/to_str.py,sha256=vSuspf-ZQldf4enkssa9XH0WMjkmWug51G9ia0K5occ,597
88
91
  pypipr/traceback_filename.py,sha256=4o85J0N8clI0cM6NTGcKZ4zxR9yS7W2NS_bz3J2_PnY,288
89
92
  pypipr/traceback_framename.py,sha256=_mullrAZzMhBFEFVCgdsmkYQmYUkd58o-J-HuMntKyc,291
90
- pypipr-1.0.156.dist-info/METADATA,sha256=GkmXn1ihvJ-xIFd85zLSZXzSYrugM_4s_rQd-tJ_TEY,58346
91
- pypipr-1.0.156.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
92
- pypipr-1.0.156.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
93
- pypipr-1.0.156.dist-info/RECORD,,
93
+ pypipr-1.0.158.dist-info/METADATA,sha256=tmFpUdBQGQxzSokEpfbZUxKaVpVgqq-BbWuEq187r84,56756
94
+ pypipr-1.0.158.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
95
+ pypipr-1.0.158.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
96
+ pypipr-1.0.158.dist-info/RECORD,,