promnesia 1.2.20240810__py3-none-any.whl → 1.3.20241021__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.
Files changed (77) hide show
  1. promnesia/__init__.py +14 -3
  2. promnesia/__main__.py +38 -25
  3. promnesia/cannon.py +23 -23
  4. promnesia/common.py +49 -42
  5. promnesia/compare.py +18 -20
  6. promnesia/compat.py +10 -10
  7. promnesia/config.py +20 -22
  8. promnesia/database/common.py +4 -3
  9. promnesia/database/dump.py +14 -13
  10. promnesia/database/load.py +7 -7
  11. promnesia/extract.py +13 -11
  12. promnesia/kjson.py +11 -10
  13. promnesia/logging.py +1 -1
  14. promnesia/misc/install_server.py +7 -8
  15. promnesia/server.py +42 -31
  16. promnesia/sources/auto.py +43 -30
  17. promnesia/sources/auto_logseq.py +6 -5
  18. promnesia/sources/auto_obsidian.py +2 -2
  19. promnesia/sources/browser.py +14 -9
  20. promnesia/sources/browser_legacy.py +17 -13
  21. promnesia/sources/demo.py +7 -7
  22. promnesia/sources/fbmessenger.py +3 -2
  23. promnesia/sources/filetypes.py +9 -7
  24. promnesia/sources/github.py +5 -7
  25. promnesia/sources/guess.py +2 -1
  26. promnesia/sources/hackernews.py +2 -2
  27. promnesia/sources/hpi.py +2 -2
  28. promnesia/sources/html.py +7 -5
  29. promnesia/sources/hypothesis.py +3 -2
  30. promnesia/sources/instapaper.py +2 -2
  31. promnesia/sources/markdown.py +17 -7
  32. promnesia/sources/org.py +20 -10
  33. promnesia/sources/plaintext.py +30 -31
  34. promnesia/sources/pocket.py +3 -2
  35. promnesia/sources/reddit.py +19 -18
  36. promnesia/sources/roamresearch.py +2 -1
  37. promnesia/sources/rss.py +3 -4
  38. promnesia/sources/shellcmd.py +19 -6
  39. promnesia/sources/signal.py +14 -13
  40. promnesia/sources/smscalls.py +2 -2
  41. promnesia/sources/stackexchange.py +3 -2
  42. promnesia/sources/takeout.py +23 -13
  43. promnesia/sources/takeout_legacy.py +15 -11
  44. promnesia/sources/telegram.py +13 -11
  45. promnesia/sources/telegram_legacy.py +18 -7
  46. promnesia/sources/twitter.py +6 -5
  47. promnesia/sources/vcs.py +5 -3
  48. promnesia/sources/viber.py +10 -9
  49. promnesia/sources/website.py +4 -4
  50. promnesia/sources/zulip.py +3 -2
  51. promnesia/sqlite.py +7 -4
  52. promnesia/tests/common.py +8 -5
  53. promnesia/tests/server_helper.py +11 -8
  54. promnesia/tests/sources/test_auto.py +2 -3
  55. promnesia/tests/sources/test_filetypes.py +2 -1
  56. promnesia/tests/sources/test_hypothesis.py +3 -3
  57. promnesia/tests/sources/test_org.py +2 -3
  58. promnesia/tests/sources/test_plaintext.py +0 -1
  59. promnesia/tests/sources/test_shellcmd.py +3 -4
  60. promnesia/tests/sources/test_takeout.py +3 -5
  61. promnesia/tests/test_cannon.py +5 -5
  62. promnesia/tests/test_cli.py +4 -6
  63. promnesia/tests/test_compare.py +1 -1
  64. promnesia/tests/test_config.py +7 -8
  65. promnesia/tests/test_db_dump.py +11 -12
  66. promnesia/tests/test_extract.py +10 -6
  67. promnesia/tests/test_indexer.py +14 -8
  68. promnesia/tests/test_server.py +2 -3
  69. promnesia/tests/test_traverse.py +0 -2
  70. promnesia/tests/utils.py +4 -4
  71. {promnesia-1.2.20240810.dist-info → promnesia-1.3.20241021.dist-info}/METADATA +3 -2
  72. promnesia-1.3.20241021.dist-info/RECORD +83 -0
  73. {promnesia-1.2.20240810.dist-info → promnesia-1.3.20241021.dist-info}/WHEEL +1 -1
  74. promnesia-1.2.20240810.dist-info/RECORD +0 -83
  75. {promnesia-1.2.20240810.dist-info → promnesia-1.3.20241021.dist-info}/LICENSE +0 -0
  76. {promnesia-1.2.20240810.dist-info → promnesia-1.3.20241021.dist-info}/entry_points.txt +0 -0
  77. {promnesia-1.2.20240810.dist-info → promnesia-1.3.20241021.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,18 @@
1
1
  from collections import Counter
2
2
  from pathlib import Path
3
- from subprocess import check_call, Popen
3
+ from subprocess import Popen, check_call
4
+
5
+ import pytest
4
6
 
5
7
  from ..__main__ import do_index, read_example_config
6
8
  from ..common import DbVisit, _is_windows
7
9
  from ..database.load import get_all_db_visits
8
-
9
- import pytest
10
-
11
- from .common import get_testdata, promnesia_bin, reset_filters, write_config
10
+ from .common import (
11
+ get_testdata,
12
+ promnesia_bin,
13
+ reset_filters, # noqa: F401
14
+ write_config,
15
+ )
12
16
 
13
17
 
14
18
  def get_stats(tmp_path: Path) -> Counter:
@@ -192,7 +196,9 @@ def test_hook(tmp_path: Path) -> None:
192
196
 
193
197
  SOURCES = [Source(demo.index, count=7, name='somename')]
194
198
 
195
- from typing import cast, Iterator
199
+ from collections.abc import Iterator
200
+ from typing import cast
201
+
196
202
  from promnesia.common import DbVisit, Loc, Res
197
203
  from promnesia.sources import demo
198
204
 
@@ -204,7 +210,7 @@ def test_hook(tmp_path: Path) -> None:
204
210
  if 'page1' in nurl:
205
211
  yield visit._replace(norm_url='patched.com')
206
212
  elif 'page2' in nurl:
207
- raise Exception('boom') # deliberately crash
213
+ raise RuntimeError('boom') # deliberately crash
208
214
  elif 'page3' in nurl:
209
215
  # just don't yield anything! it will be omitted
210
216
  pass
@@ -235,7 +241,7 @@ def test_example_config(tmp_path: Path) -> None:
235
241
  if _is_windows:
236
242
  pytest.skip("doesn't work on Windows: example config references /usr/include paths")
237
243
 
238
- config = read_example_config() + '\n' + f'OUTPUT_DIR = "{str(tmp_path)}"'
244
+ config = read_example_config() + '\n' + f'OUTPUT_DIR = "{tmp_path!s}"'
239
245
  cfg_path = tmp_path / 'example_config.py'
240
246
  cfg_path.write_text(config)
241
247
 
@@ -5,7 +5,6 @@ from subprocess import Popen
5
5
  import pytest
6
6
 
7
7
  from ..__main__ import do_index
8
-
9
8
  from .common import promnesia_bin, write_config
10
9
  from .server_helper import run_server
11
10
 
@@ -82,7 +81,7 @@ def test_visits_hierarchy(tmp_path: Path) -> None:
82
81
  def cfg() -> None:
83
82
  from datetime import datetime
84
83
 
85
- from promnesia.common import Source, Visit, Loc
84
+ from promnesia.common import Loc, Source, Visit
86
85
  from promnesia.sources import demo
87
86
 
88
87
  def indexer():
@@ -163,7 +162,7 @@ def test_search(tmp_path: Path) -> None:
163
162
  def cfg() -> None:
164
163
  from datetime import datetime
165
164
 
166
- from promnesia.common import Source, Visit, Loc
165
+ from promnesia.common import Loc, Source, Visit
167
166
  from promnesia.sources import demo
168
167
 
169
168
  def indexer():
@@ -1,10 +1,8 @@
1
1
  from unittest.mock import patch
2
2
 
3
3
  from ..common import traverse
4
-
5
4
  from .common import get_testdata
6
5
 
7
-
8
6
  testDataPath = get_testdata('traverse')
9
7
 
10
8
 
promnesia/tests/utils.py CHANGED
@@ -1,16 +1,16 @@
1
+ from collections.abc import Mapping, Sequence
1
2
  from datetime import datetime, timedelta
2
3
  from pathlib import Path
3
- from typing import Mapping, Optional, Sequence, Tuple, Union
4
+ from typing import Optional, Union
4
5
 
5
- from ..common import Source, Loc, Visit
6
+ from ..common import Loc, Source, Visit
6
7
  from ..database.dump import visits_to_sqlite
7
8
  from ..extract import extract_visits
8
9
 
9
-
10
10
  # TODO a bit shit... why did I make it dict at first??
11
11
  Urls = Union[
12
12
  Mapping[str, Optional[str]],
13
- Sequence[Tuple[str, Optional[str]]],
13
+ Sequence[tuple[str, Optional[str]]],
14
14
  ]
15
15
 
16
16
 
@@ -1,15 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: promnesia
3
- Version: 1.2.20240810
3
+ Version: 1.3.20241021
4
4
  Summary: Enhancement of your browsing history
5
5
  Home-page: https://github.com/karlicoss/promnesia
6
6
  Author: Dmitrii Gerasimov
7
7
  Author-email: karlicoss@gmail.com
8
- Requires-Python: >=3.8
8
+ Requires-Python: >=3.9
9
9
  License-File: LICENSE
10
10
  Requires-Dist: appdirs
11
11
  Requires-Dist: tzlocal
12
12
  Requires-Dist: more-itertools
13
+ Requires-Dist: typing-extensions
13
14
  Requires-Dist: pytz
14
15
  Requires-Dist: sqlalchemy >=2.0
15
16
  Requires-Dist: urlextract
@@ -0,0 +1,83 @@
1
+ promnesia/__init__.py,sha256=8ZrCJe2kJb0DuYIiNeiUm0XU0nsjTlctcjdFoy9DVYw,457
2
+ promnesia/__main__.py,sha256=y7Jgcc1uSKbxKhFDrlBlYh75kZm_unS9vH_3HvWCpnk,15421
3
+ promnesia/cannon.py,sha256=TZ4b5P0qZpo0CVKCQLthyPFtAW5DYZT5ylttr5TmikI,24522
4
+ promnesia/common.py,sha256=iUQh3Z-XqWxOPqnOHL8sBHEEJcGTztITBXnYizA02zs,20098
5
+ promnesia/compare.py,sha256=vREaDTOjrGG43qOZEq2E9jV7fihO0U-KBMuguUMNgnk,4572
6
+ promnesia/compat.py,sha256=cxk8ZOv0LnSwLCab_UrsxQWcKiiZnWgf2xK13L-ql4w,456
7
+ promnesia/config.py,sha256=hFHdFbcB2q35gU1zlmtYj6VkHR_1SSH4U2M5G4HQa_g,4721
8
+ promnesia/extract.py,sha256=m6D-QVA54ldcffcAby8w2OIDg0GPmAgDSGVWhSTwA60,2810
9
+ promnesia/kjson.py,sha256=GPpeIpvtXwaocBw1W1QzPWN8UJcF0USSlaMxRSEkH-U,3400
10
+ promnesia/logging.py,sha256=z3Otc_JzZREnMG0QerqoOR6zFJ6Ls6ATGydczCADZSY,5923
11
+ promnesia/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ promnesia/server.py,sha256=LBka2jYuzISVAyNIQaf8IRGIbcpSFo1g-vn8TI5VOhE,14647
13
+ promnesia/sqlite.py,sha256=4jZhqMGviSZK5wNqd7PbVC0z-D3UWyeM0RXrabAruZ8,1378
14
+ promnesia/database/common.py,sha256=9iENKM0pRL1PKrSAhGzNreDFsQNQBIGZWKuV5E8aalw,1843
15
+ promnesia/database/dump.py,sha256=v5m5mdnY7Tu7Yu-mlQHAFW46Kgt4dJRIOWOGOs88gEY,6116
16
+ promnesia/database/load.py,sha256=kP-HdNL_3q94P_Cj5pnxarHqFgCVJFrsbr0vogDRtFU,1357
17
+ promnesia/misc/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ promnesia/misc/config_example.py,sha256=MXxJCVjm9MrEwPR8SHTwkJRDcqWcqJWtfJg_M6yhRMo,364
19
+ promnesia/misc/install_server.py,sha256=NEEGvpun7_lMBGXKvRGrq5wcGT_xgMm7MvPcftR15pI,4757
20
+ promnesia/sources/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ promnesia/sources/auto.py,sha256=hiecNxttUGFskR5H2W35K-6daEhhiPpH2ZRpOZBBr50,11695
22
+ promnesia/sources/auto_logseq.py,sha256=1npVDEXB8wAM6XwTku0nZb57yQ9mM7vWct9albgvGxw,445
23
+ promnesia/sources/auto_obsidian.py,sha256=UoVWAkdCbh7Ij3JFIy6ylYOd6776c7-z2xaR6b8snYc,205
24
+ promnesia/sources/browser.py,sha256=qmuDzu0iJjpQc-WX2LEZ3TnpHhb9H-b5H-hZV7lbVkY,3087
25
+ promnesia/sources/browser_legacy.py,sha256=rNZydnWnnQ3sAzgRgFYnuqQKHUg8MxS5iiAmHAh9rV8,10429
26
+ promnesia/sources/demo.py,sha256=TQVVl6089TlEntiGSO-9EhqXBf9U_ipUnhsVqDCOspg,1033
27
+ promnesia/sources/fbmessenger.py,sha256=Dpvxh_5_ozaqGOSHxCApoIda58Z33r0_N6Uk2BIMde8,997
28
+ promnesia/sources/filetypes.py,sha256=2d6taAuGT4jvfCEqF9US8jukT6sBuN0wBEPJToCKiww,3643
29
+ promnesia/sources/github.py,sha256=arDUZShPi8Dzz9EhYfk4j1OK3ugsADsjAhfXy00ng0c,2777
30
+ promnesia/sources/guess.py,sha256=DMC7pj7rAA5yGZ6hMp31y4QvSugVNA9osexBLd5oCmc,803
31
+ promnesia/sources/hackernews.py,sha256=zocx4XrP2QY5UW-ErSMej7lrYZH0xmotqaIBVGyNH7M,1247
32
+ promnesia/sources/hpi.py,sha256=cHQlEJAH1EeTiawB1kcjXPt4UYDL1ZTNIHadBvd5QH4,383
33
+ promnesia/sources/html.py,sha256=ill3XtIObZoK1a8FY6OZGoOwmqjtSiiiwmqjzSbZhQQ,1153
34
+ promnesia/sources/hypothesis.py,sha256=qbiP6xJN53A6YkSUgA7hUa3ZD4KmtUnhJfAzXUHdt0o,1387
35
+ promnesia/sources/instapaper.py,sha256=zIq6AClPb8Zfkdft7U4VgEgODlEeQRowygGz06DaGUQ,988
36
+ promnesia/sources/markdown.py,sha256=KHHwxezCQRpcJLoyt_qB44NQwZGL7BnPT-Ehud21eR4,3871
37
+ promnesia/sources/org.py,sha256=BD1DpDcxXWWjirKnrovY2tDQpgj5YAt175z45Z_o0jI,5589
38
+ promnesia/sources/plaintext.py,sha256=8aYkmBYmXKnxyshWqgwUgQ03oG-OMKRi7DXsWtcgpVA,3138
39
+ promnesia/sources/pocket.py,sha256=PWmjAgg8nSDubBv_4WuWmyupB6NP8SAuuKiV8ZLE4xY,1133
40
+ promnesia/sources/reddit.py,sha256=u-Ou0xTZO-s9SM_GKHfNawLV5Yv7PmH4lggy_yq1XnA,5630
41
+ promnesia/sources/roamresearch.py,sha256=_WKurvGea9JHMKlapQyH44Kfg-AD40fb7xse26It0Fo,1077
42
+ promnesia/sources/rss.py,sha256=6Ijy6omXGjzMLkmwijq6JBRIY7ruArb-hXppRYY4ln0,824
43
+ promnesia/sources/shellcmd.py,sha256=bXWfHv6XFmVUQHUUWn2E_C96tIdmIxb1-yqAQRtTYIk,2739
44
+ promnesia/sources/signal.py,sha256=4ZBUXQoab0OG1r8ieZhSHpMNrzsFDomVXBhqb8hRYPA,14793
45
+ promnesia/sources/smscalls.py,sha256=N6jMHHr4bUlQORQcTVeGsdrmW4ep7jpCEFSi26sRpxY,774
46
+ promnesia/sources/stackexchange.py,sha256=_s8HJfhblVNspvbLEnuse5J8BvFFrboIdv5jURTZ2eE,658
47
+ promnesia/sources/takeout.py,sha256=mv6j8mkDb8lJsv41iBsJBzFpbGp7jXIBWYcAFMTvdls,8017
48
+ promnesia/sources/takeout_legacy.py,sha256=iaSLu73RutEx1UW4m-n3hk7-ISlVl2d-W0ZKP__20XU,4130
49
+ promnesia/sources/telegram.py,sha256=hSI6zxQh2zqdBiIAGJzY2Vi5A_233jDy0tGU0Q-Q-EU,2979
50
+ promnesia/sources/telegram_legacy.py,sha256=gRe6Exw-svMQZhlussmBGg0EJq81XadSa5-mh2m8ztI,4524
51
+ promnesia/sources/twitter.py,sha256=_tIU0rQ3b96WXKIPJQRyRAzG7AAnPp9ANytrcVJ5Z0U,1886
52
+ promnesia/sources/vcs.py,sha256=wMcgXr1Nd7DxM5j405ip4SPxJIqhdY4SePpp9qPL9q8,1654
53
+ promnesia/sources/viber.py,sha256=C7e9AxN5sgC-SLyCdUapzwC3eGuA0WQUGfO8Br5r53A,5990
54
+ promnesia/sources/website.py,sha256=GbDZChKK1_KLWXiLUUcZLOvep6h2AWmqECudwmupSl8,1811
55
+ promnesia/sources/zulip.py,sha256=GN8YiUmFa3jLXFmNst47YILu0U-kPawbxDKY-Mtobf0,770
56
+ promnesia/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
+ promnesia/tests/common.py,sha256=2D9YspEWhKplbG6ZrVACkBjp_NEJB7qaXzOMjWHitCY,4092
58
+ promnesia/tests/server_helper.py,sha256=Z1Rc_88WmOwukCyVR5Cb4XaXg4xewHiy4vlFAxQkoBU,2199
59
+ promnesia/tests/test_cannon.py,sha256=VZPWZAtcAdRzQwVJ01qUIgvxB3VJl72Gqg0GI9tr8To,12711
60
+ promnesia/tests/test_cli.py,sha256=g-9mgs4_tu6bGNZz3_swP3oj1L2V_o9ycjlFzIR9WYE,1404
61
+ promnesia/tests/test_compare.py,sha256=JDQzFWaIMkKCn6YYKJPrZjdbZ6LZn5ig793q62LwSFc,945
62
+ promnesia/tests/test_config.py,sha256=VqX2R0UcXmxp8O-p6C5Unk9W2Iv3RkIhvKe3ga84GHc,6534
63
+ promnesia/tests/test_db_dump.py,sha256=PMGiTnp_cfDxLUfzYrchKKewoF84q6TooEw445K-WiA,6766
64
+ promnesia/tests/test_extract.py,sha256=kD2iNodCj2OHM7_sQ_3DTRHJMZItJ7FuE855GpxZ3jM,2340
65
+ promnesia/tests/test_extract_urls.py,sha256=Ybez16VdYoveL9b_50Ca9vbMogWHOvFqDOJPGZrzQJg,1961
66
+ promnesia/tests/test_indexer.py,sha256=Oo93qqPrP0xXY1XhcRQkoJuEGpREfs6qoH335f_5_dI,8981
67
+ promnesia/tests/test_server.py,sha256=c1HxEKlqTxbBrKu7tmg58G8Z9E4jNcxq-YENxxfVqIQ,10786
68
+ promnesia/tests/test_traverse.py,sha256=DUN-NbrZ8b6MKrtZaOavAnZelMPk_aqN2ylvRV7UqHo,1350
69
+ promnesia/tests/utils.py,sha256=TsRaLYN9slHHoNJmPSKwgoP82ICHBvEjT2G4scAraIQ,1136
70
+ promnesia/tests/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
+ promnesia/tests/sources/test_auto.py,sha256=wWqf7x_BXeVSYTDIaD6ZXqqRvqk312biY4iOGcMa4PY,1848
72
+ promnesia/tests/sources/test_filetypes.py,sha256=6xhpN9hQb2U6FF4lAEIXWupk-t_HxQjNfk9A6krEnx4,1359
73
+ promnesia/tests/sources/test_hypothesis.py,sha256=4anFCfBqzJueiDhhg2WtvITMIofAWRMB2-Ja1Cb2beY,1400
74
+ promnesia/tests/sources/test_org.py,sha256=cefCAc7JVtrzHblbLHYB28tsjzfV1b4h80_JRO1Zamk,2572
75
+ promnesia/tests/sources/test_plaintext.py,sha256=Bn7v2HhL1FSLqCKPy-BX5OLy1PlWIyYjvRTLAWrXVWg,827
76
+ promnesia/tests/sources/test_shellcmd.py,sha256=K4hDQl3yd4t-6JFeDtB1gtH2XFImSYdYe1pG0UOO-Uw,678
77
+ promnesia/tests/sources/test_takeout.py,sha256=HVreW_4pZP8TjGNmrJva5JJfkexmOwwr7cRxwU1Qg_Q,1557
78
+ promnesia-1.3.20241021.dist-info/LICENSE,sha256=rgO9acPmnw53ZBxiXBdp8kfxmRcekhg_Q7HN65BPihs,1074
79
+ promnesia-1.3.20241021.dist-info/METADATA,sha256=YLJgGCkJ4LTXKid3Ieq-hBk5aJVc3c000Diutdk-RlI,1903
80
+ promnesia-1.3.20241021.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
81
+ promnesia-1.3.20241021.dist-info/entry_points.txt,sha256=hz1qfzQSRh4kkVkJWk4hnYqE9A1nobEbKlLG_0nNxzE,54
82
+ promnesia-1.3.20241021.dist-info/top_level.txt,sha256=7yvIpooFiuNLf9yLdu9MTADz57z0YTAqSu7aSG9ujSU,10
83
+ promnesia-1.3.20241021.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.1.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,83 +0,0 @@
1
- promnesia/__init__.py,sha256=rxVINCLqxpZFknz9QeMA6McpnzR8Hi0zhZdoyYCGUlM,367
2
- promnesia/__main__.py,sha256=5HVE6tyBCzTKs19rDGZIkotrmaoeTRBVtTCgRnKluh8,15251
3
- promnesia/cannon.py,sha256=dRfRk4bnII5D0rxKnimZiN727imYuyR2Kfw3pWEOxLs,24596
4
- promnesia/common.py,sha256=iMBdyYHzjma1mGP02-ugDpkN-WoyBE6Uku4Il8fuWzc,19546
5
- promnesia/compare.py,sha256=XjhleEzl_hzSvuinDR_I9oin5U65HkAbNCJRJQ6BwM8,4639
6
- promnesia/compat.py,sha256=SP1Nj3jwFoKKYLnx5qVirHdsufehcb42DShqS3PPzR4,389
7
- promnesia/config.py,sha256=JFLY28C11tpvwBnPYT-VfdbsD1hivPvZMzojOh5tSJs,4743
8
- promnesia/extract.py,sha256=JIVCxCvkn02YnGoUvLL0pAGPHXpepq-C_2brYbtN4ts,2804
9
- promnesia/kjson.py,sha256=9hMw-sY-avA99aWV8cG03HL2AlfvlzE5YfWw1_5LwM4,3313
10
- promnesia/logging.py,sha256=s_dhobXuTl8tibcpKCxktGduECKWIiEkYe0atcAToIQ,5923
11
- promnesia/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- promnesia/server.py,sha256=42sByMUialuZQoKRF_zgxky7ykc9d-cNMwKBJAEaH68,14636
13
- promnesia/sqlite.py,sha256=lB7YZ9jdALbo_gblmVn7z3Dn5M6FJg7Nz2y51Z0pl1c,1353
14
- promnesia/database/common.py,sha256=HRw47RhxqN6Wfb5LVfbc1eRzT8LSJus1colY_S9ijm8,1814
15
- promnesia/database/dump.py,sha256=JV3j8J5pJJmPocRZalJqq0zz1532p9lVxW7_lcXbvx4,6101
16
- promnesia/database/load.py,sha256=Q2TLyV0rzvfvq8kkAhIIvcCC4D-eEbCH5wmsZL6jYg0,1353
17
- promnesia/misc/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- promnesia/misc/config_example.py,sha256=MXxJCVjm9MrEwPR8SHTwkJRDcqWcqJWtfJg_M6yhRMo,364
19
- promnesia/misc/install_server.py,sha256=-dPTJjM-jktVf25mcrXRL6Uj6Pji72lPnC3iyg_m8Gk,4820
20
- promnesia/sources/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- promnesia/sources/auto.py,sha256=MhOesdn2YfPPepNkOBSihT_CDoGXfyTIA0y8wxcKqn0,11710
22
- promnesia/sources/auto_logseq.py,sha256=eXOHIOx9MladhyD1IyLd90lyqO6gG2F5uObnuHFQrZA,439
23
- promnesia/sources/auto_obsidian.py,sha256=PLWPHj9U3pnwLWw7-fzEk12F4Xdigq0VrvSAn_yS-yw,213
24
- promnesia/sources/browser.py,sha256=BzdVVMm6N-U0F8_sng51deara9maY1TzMF6e7s8VCXg,2992
25
- promnesia/sources/browser_legacy.py,sha256=3vARw78yXWvp3RQzfPbkXgtZB5iWSbXIKgadMIG4gGs,10400
26
- promnesia/sources/demo.py,sha256=-5vADo4S-fDNEEPHGrh9pYoIIW_tzApRl6hIy8K3b2Q,1041
27
- promnesia/sources/fbmessenger.py,sha256=_QdM3-vLutN-dh4vxfQlQkRDiorWA2EwixL49AH7lbM,969
28
- promnesia/sources/filetypes.py,sha256=W0OVmhtvJKbWk2dju8Uwbo0TfNHye--cKrCPfL_DfBw,3593
29
- promnesia/sources/github.py,sha256=hHTlJZvxe6TzzALX_z8R9FUQgVw39n22XYWPc62oPfo,2753
30
- promnesia/sources/guess.py,sha256=-km2_hsrznYrws1lA3ZN5L6ixJunEsgQBFDU7juqPpM,776
31
- promnesia/sources/hackernews.py,sha256=ReI362AKjZ79Lu99qJNPZtCoyHr6AycghvQrmDFRKgw,1228
32
- promnesia/sources/hpi.py,sha256=yQIOT-OQ4Rhs7xXbszkNWjj46jvLDgP-xt7bSQV9wRk,361
33
- promnesia/sources/html.py,sha256=FOLcXzV3J5VEHMkpuF4Q0rrht5zdGsDNQZJMu2WWYZ8,1108
34
- promnesia/sources/hypothesis.py,sha256=PNuYKV-G7o8trMtgEzK3qX2NcBOhlZuf5Yg71FpWoQY,1359
35
- promnesia/sources/instapaper.py,sha256=K2feGkgiFp6pNJoDYlyLs9m8MkDizoXy2QUg-Fjm-O0,969
36
- promnesia/sources/markdown.py,sha256=acI2FwkawcAZX21i4kK44ligKKbj7TZDB5c0a9ihZOk,3762
37
- promnesia/sources/org.py,sha256=oiZsNdW-oxq4a2D5_TYBUXPdPkPguSosaoyEp9dnyvc,5499
38
- promnesia/sources/plaintext.py,sha256=aiMwd7WWtE65iTWiLFIow-RBDqozbjGfPgTdkzuMjaI,3259
39
- promnesia/sources/pocket.py,sha256=4JCNrYs23Nq0c0hw_UxaxaIJbiqF2JVu5GAql-hfNZM,1105
40
- promnesia/sources/reddit.py,sha256=DIEWQoWGpuQXGOmcZ9lANkPYuLhB9rzq1u23HllqLF4,5623
41
- promnesia/sources/roamresearch.py,sha256=Su-2ykyjdylvDMogQjAgiGpLkh4Inw-K8yeAhGv678E,1068
42
- promnesia/sources/rss.py,sha256=5-DmUesDv_GCOF5Qo7e7P3QrS6WdryZpFidazfI24Wg,870
43
- promnesia/sources/shellcmd.py,sha256=m2tT8RSoOjXz7eC-OOXGGKleod-1A_XtWFlOucO3so0,2644
44
- promnesia/sources/signal.py,sha256=iTU9z3hFiWjuGr5noLl8Vy3TlKj8zIMFlhNj2741h00,14728
45
- promnesia/sources/smscalls.py,sha256=HHM8SGDx9qS5tZfpIn_iUcKYQIyryQMZvIkqUNZKHtk,755
46
- promnesia/sources/stackexchange.py,sha256=vlidNoqWNUtR8dyHya9D7ZlHX5a2OIfoZq951M_V8c8,630
47
- promnesia/sources/takeout.py,sha256=jDhpJkjtzC7OIlBASXHw0QNwwincBkEMgqyAhuboL7o,7918
48
- promnesia/sources/takeout_legacy.py,sha256=ZuaP9jOuxKrbm03IOudeneWHlgT95Qr86fcGqvplKeE,4040
49
- promnesia/sources/telegram.py,sha256=HCft7kWHdkBJiVI8OR6Wg34k4nW1vhb3tMAEJwGO1QA,2947
50
- promnesia/sources/telegram_legacy.py,sha256=E4izRfxJWy25R0Rm-E78Op2lxcl2w6Rq5XUeYfXw2wc,4468
51
- promnesia/sources/twitter.py,sha256=8vtLKyhtqioMmp_IKKVozLZC32TIQKjs_toB5cU2_6Q,1848
52
- promnesia/sources/vcs.py,sha256=K2rRopKlwiNQ2_2TMWSHrwpsd5nYtPMUjHvnpNBvzBg,1609
53
- promnesia/sources/viber.py,sha256=uFBtiJGWwuEE-gFIV0GV7eLExc0ddt3U3F_Wnkh1XKA,5948
54
- promnesia/sources/website.py,sha256=Ii0Xka3PZk2_KJHJy9l3EYvGgSKkUehhHSmWI9tXec4,1781
55
- promnesia/sources/zulip.py,sha256=s1bhYmx26VKC35CJF_2yiO4jdYHH0QwRYtAD3Ss6tt8,742
56
- promnesia/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- promnesia/tests/common.py,sha256=eOFyfOLBUM8hK0gJ7JTXdjAMwRL6QN5DlRsZYAudMOM,4026
58
- promnesia/tests/server_helper.py,sha256=W76vmwozoqJEPrlxQB0azklR28gf2RzimTHAJWOgclg,2181
59
- promnesia/tests/test_cannon.py,sha256=bvfL5foAtDm6QzqE_nqtiSF6zAQnkWU0dlMoQp9kX0s,12702
60
- promnesia/tests/test_cli.py,sha256=YZAsqbJcka1rjlDkb925V4A97FkiQc63JF0eT4Zb5wE,1406
61
- promnesia/tests/test_compare.py,sha256=8pxY1DPZuGnrU1p0z4VzEawJVzzmL3sNVPce1CeiSNI,945
62
- promnesia/tests/test_config.py,sha256=zkZXQkADHhgFzoFjqTr3zv-o6hqS0eED3wuYIMvw6dw,6532
63
- promnesia/tests/test_db_dump.py,sha256=k6FPtcuSImMdealbgNr7mCW5NG1_jG8eESNwO1TSW1o,6751
64
- promnesia/tests/test_extract.py,sha256=Hn-4B7T_4YrUtcO6tLxYJUkXknU97i0nEGRxejRnozI,2306
65
- promnesia/tests/test_extract_urls.py,sha256=Ybez16VdYoveL9b_50Ca9vbMogWHOvFqDOJPGZrzQJg,1961
66
- promnesia/tests/test_indexer.py,sha256=ec5xR9whW6z6GwKjnCGrHDp9WgTebbq7qKOIXHPLGlU,8911
67
- promnesia/tests/test_server.py,sha256=pwlXT-qU6KXjE0ftlWB9CE1FxhpTrwJRdX8r4QDctYs,10787
68
- promnesia/tests/test_traverse.py,sha256=F2qd1vvX2u9jJ4GVksAh6Dum-XEVLg9iCyFU6H8CZhI,1352
69
- promnesia/tests/utils.py,sha256=etNWsXIeTMaYCTN9sIlgMKHyvY_Ek3l0Btu5rIpQEcI,1117
70
- promnesia/tests/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- promnesia/tests/sources/test_auto.py,sha256=d9MwY8taALdT5C64u8G7uvk4iubZ3SHSCR50qmXzz3E,1855
72
- promnesia/tests/sources/test_filetypes.py,sha256=w5uPsfzHfl8hS3BbXxkA3TR8rKqniRGWSO8zeIKOiM4,1338
73
- promnesia/tests/sources/test_hypothesis.py,sha256=nUsfET_X0yGVdlpmvxaDGAPjznYsA0Jc04vXGl83QCU,1400
74
- promnesia/tests/sources/test_org.py,sha256=BYJqAkI7TfgOkWk1W33MMQUDSBGpvSgGbFvb2r9qqYo,2572
75
- promnesia/tests/sources/test_plaintext.py,sha256=O6lLrCvZpLaaWuyeKU3eZyf4Mx1rmarU689nifTw3hk,828
76
- promnesia/tests/sources/test_shellcmd.py,sha256=4wyoFB3UzdviNdQX_dOpIlrzZSMXtPqRgTkRb3pk3go,679
77
- promnesia/tests/sources/test_takeout.py,sha256=We0gSDpENuxoO9kInSmBExJrAqmfNZkA3cVQf876SsQ,1559
78
- promnesia-1.2.20240810.dist-info/LICENSE,sha256=rgO9acPmnw53ZBxiXBdp8kfxmRcekhg_Q7HN65BPihs,1074
79
- promnesia-1.2.20240810.dist-info/METADATA,sha256=7ilgQnAz53XkvjLFIZgf8cjh5qWwyyZ_i3G2dw5mfkI,1870
80
- promnesia-1.2.20240810.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
81
- promnesia-1.2.20240810.dist-info/entry_points.txt,sha256=hz1qfzQSRh4kkVkJWk4hnYqE9A1nobEbKlLG_0nNxzE,54
82
- promnesia-1.2.20240810.dist-info/top_level.txt,sha256=7yvIpooFiuNLf9yLdu9MTADz57z0YTAqSu7aSG9ujSU,10
83
- promnesia-1.2.20240810.dist-info/RECORD,,