ebk 0.4.4__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.
- ebk/__init__.py +35 -0
- ebk/ai/__init__.py +23 -0
- ebk/ai/knowledge_graph.py +450 -0
- ebk/ai/llm_providers/__init__.py +26 -0
- ebk/ai/llm_providers/anthropic.py +209 -0
- ebk/ai/llm_providers/base.py +295 -0
- ebk/ai/llm_providers/gemini.py +285 -0
- ebk/ai/llm_providers/ollama.py +294 -0
- ebk/ai/metadata_enrichment.py +394 -0
- ebk/ai/question_generator.py +328 -0
- ebk/ai/reading_companion.py +224 -0
- ebk/ai/semantic_search.py +433 -0
- ebk/ai/text_extractor.py +393 -0
- ebk/calibre_import.py +66 -0
- ebk/cli.py +6433 -0
- ebk/config.py +230 -0
- ebk/db/__init__.py +37 -0
- ebk/db/migrations.py +507 -0
- ebk/db/models.py +725 -0
- ebk/db/session.py +144 -0
- ebk/decorators.py +1 -0
- ebk/exports/__init__.py +0 -0
- ebk/exports/base_exporter.py +218 -0
- ebk/exports/echo_export.py +279 -0
- ebk/exports/html_library.py +1743 -0
- ebk/exports/html_utils.py +87 -0
- ebk/exports/hugo.py +59 -0
- ebk/exports/jinja_export.py +286 -0
- ebk/exports/multi_facet_export.py +159 -0
- ebk/exports/opds_export.py +232 -0
- ebk/exports/symlink_dag.py +479 -0
- ebk/exports/zip.py +25 -0
- ebk/extract_metadata.py +341 -0
- ebk/ident.py +89 -0
- ebk/library_db.py +1440 -0
- ebk/opds.py +748 -0
- ebk/plugins/__init__.py +42 -0
- ebk/plugins/base.py +502 -0
- ebk/plugins/hooks.py +442 -0
- ebk/plugins/registry.py +499 -0
- ebk/repl/__init__.py +9 -0
- ebk/repl/find.py +126 -0
- ebk/repl/grep.py +173 -0
- ebk/repl/shell.py +1677 -0
- ebk/repl/text_utils.py +320 -0
- ebk/search_parser.py +413 -0
- ebk/server.py +3608 -0
- ebk/services/__init__.py +28 -0
- ebk/services/annotation_extraction.py +351 -0
- ebk/services/annotation_service.py +380 -0
- ebk/services/export_service.py +577 -0
- ebk/services/import_service.py +447 -0
- ebk/services/personal_metadata_service.py +347 -0
- ebk/services/queue_service.py +253 -0
- ebk/services/tag_service.py +281 -0
- ebk/services/text_extraction.py +317 -0
- ebk/services/view_service.py +12 -0
- ebk/similarity/__init__.py +77 -0
- ebk/similarity/base.py +154 -0
- ebk/similarity/core.py +471 -0
- ebk/similarity/extractors.py +168 -0
- ebk/similarity/metrics.py +376 -0
- ebk/skills/SKILL.md +182 -0
- ebk/skills/__init__.py +1 -0
- ebk/vfs/__init__.py +101 -0
- ebk/vfs/base.py +298 -0
- ebk/vfs/library_vfs.py +122 -0
- ebk/vfs/nodes/__init__.py +54 -0
- ebk/vfs/nodes/authors.py +196 -0
- ebk/vfs/nodes/books.py +480 -0
- ebk/vfs/nodes/files.py +155 -0
- ebk/vfs/nodes/metadata.py +385 -0
- ebk/vfs/nodes/root.py +100 -0
- ebk/vfs/nodes/similar.py +165 -0
- ebk/vfs/nodes/subjects.py +184 -0
- ebk/vfs/nodes/tags.py +371 -0
- ebk/vfs/resolver.py +228 -0
- ebk/vfs_router.py +275 -0
- ebk/views/__init__.py +32 -0
- ebk/views/dsl.py +668 -0
- ebk/views/service.py +619 -0
- ebk-0.4.4.dist-info/METADATA +755 -0
- ebk-0.4.4.dist-info/RECORD +87 -0
- ebk-0.4.4.dist-info/WHEEL +5 -0
- ebk-0.4.4.dist-info/entry_points.txt +2 -0
- ebk-0.4.4.dist-info/licenses/LICENSE +21 -0
- ebk-0.4.4.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
ebk/__init__.py,sha256=rX_rYCcOHiYzCSAXX1wgt5cJhAPYoGXByauF2L1XAgo,790
|
|
2
|
+
ebk/calibre_import.py,sha256=V0lkI0tDWoCfDlW83Ybj8QdoaY90UVuLlR7NSri3VgY,1812
|
|
3
|
+
ebk/cli.py,sha256=TiMCKJb5aZnf11u5ixy-tYMk7p3Rlp6Pim_qDqD9vH8,242813
|
|
4
|
+
ebk/config.py,sha256=qZXaDCmetfmac5rUwhXZOOU3MynG16sekXrOWcMmXEk,6242
|
|
5
|
+
ebk/decorators.py,sha256=vNyI1jGBnqJumoanydYVOISmwIGoOrRYecg6tsbi33g,39
|
|
6
|
+
ebk/extract_metadata.py,sha256=4CME3unLDibucjWbOurHh-bz-LNKf9toxKygfJpifqk,12200
|
|
7
|
+
ebk/ident.py,sha256=iIQqFf7rdQ6FYRrPTplHvjUP50fyPLG8qOn_u0FNyx8,2928
|
|
8
|
+
ebk/library_db.py,sha256=kN9Mml5GU8feiXBwtAkE5JJKKWPOmhhYYchmCYEGzLo,51130
|
|
9
|
+
ebk/opds.py,sha256=gLkcer70NnrYCxRBzNds6RYgQ8poMkl4NpS07JDYOQk,23472
|
|
10
|
+
ebk/search_parser.py,sha256=NRVbGnaOWxbc1WtsoFVINjHqCMBEubrKBxY2b_HQqJY,14848
|
|
11
|
+
ebk/server.py,sha256=WNTc3VXXBrOYJUS_VHoUaVWYcbmsyS1PWpV4P2ewpHA,136649
|
|
12
|
+
ebk/vfs_router.py,sha256=tOaP-pkMHS6Wyj2VXStT_u7Kn1qYrPp5pUqfvHsviIE,8416
|
|
13
|
+
ebk/ai/__init__.py,sha256=-0vfDHdht8ZasYvl33nyGoWCaZxKIn_en0PxZdRQMkw,686
|
|
14
|
+
ebk/ai/knowledge_graph.py,sha256=lXxAuFugQhqSPYAr-z3jbLOT2gtpH88M7vrH5z8-5DI,16815
|
|
15
|
+
ebk/ai/metadata_enrichment.py,sha256=wl03Tf1GNDGtu75ZpxxkpOIRvQ3geHxYDC8aZ0ss-eU,12327
|
|
16
|
+
ebk/ai/question_generator.py,sha256=ev1wEmgIDxnb_kaZdiLh0Z1TW7HUjb_HR1NlsBmdduQ,11363
|
|
17
|
+
ebk/ai/reading_companion.py,sha256=8GHiA9tR-vb28eCS3FmpDmRMX2OMyg5IP8AhPZ7c-Vg,7948
|
|
18
|
+
ebk/ai/semantic_search.py,sha256=yz28dXZPA3kxr0ZdfciVO-jP8NHQb7aal53u1Hq02G4,15202
|
|
19
|
+
ebk/ai/text_extractor.py,sha256=CwjEOk0b4T6vhFY7BcKoew1jWp17EdMvPPIJIJj6OBY,13899
|
|
20
|
+
ebk/ai/llm_providers/__init__.py,sha256=6goZrMw4-rpyx-CFVkJ7cEHxPnpJbdjtUpRctVuErH0,617
|
|
21
|
+
ebk/ai/llm_providers/anthropic.py,sha256=9fj8N-Jvi2QXHyP7vhov7h4_RLTtox1vM5IcnVjX2Do,6294
|
|
22
|
+
ebk/ai/llm_providers/base.py,sha256=OgDiCnP0vWWdYdhbqtGC1UqarOe2Zpac4ZoVOZlDnqE,7949
|
|
23
|
+
ebk/ai/llm_providers/gemini.py,sha256=479m95GKvUU08CmQZO3RainN_L1Oxmz2KZ3JGJ9IJgI,8451
|
|
24
|
+
ebk/ai/llm_providers/ollama.py,sha256=YyxAZXgNN0wHFqpBCMKvEXA9NRX3nnu_1hB_JYXRefw,8103
|
|
25
|
+
ebk/db/__init__.py,sha256=CN1R77Ut5ai8kGSh1ohprGaS5qvOUMdtMT-y--5DIpw,792
|
|
26
|
+
ebk/db/migrations.py,sha256=E0Y4C_gtnfPFkGvqslhUzXddMfpqujWlmPXYXyteLDs,17404
|
|
27
|
+
ebk/db/models.py,sha256=VecpH1yveBX97DGLjgNGBusg8m3PuxkCwkSUekZQXd0,27382
|
|
28
|
+
ebk/db/session.py,sha256=VZQ3sDZFjR-ZNxWGFn402JPmdSKT4htxMUNZ0mFuZeo,3550
|
|
29
|
+
ebk/exports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
ebk/exports/base_exporter.py,sha256=OQFmuyP9vxB5SVErTacOGonjD2Kyc1j1_1G9VcpdlDY,6783
|
|
31
|
+
ebk/exports/echo_export.py,sha256=ht_m3pLimO2ac-JMMP9P8n_DSCP2YWX2JxTF-Rja0HM,8526
|
|
32
|
+
ebk/exports/html_library.py,sha256=fDAFr-HQc993dVkS_Y9Le093wLKIpoisZdUTTfmJk14,62885
|
|
33
|
+
ebk/exports/html_utils.py,sha256=JFVHCpo5Jbp1caVdp8OfN2u67FNzC1wznbLOJSDRlzg,2890
|
|
34
|
+
ebk/exports/hugo.py,sha256=0rKNCegtm_Xd2g7IU77DmzlNiHZkoHTd2Wyr_y2gLRk,2209
|
|
35
|
+
ebk/exports/jinja_export.py,sha256=zZ7OYUJLS8dxt87xbGh_mjMwQGRJYYXRaIddf8SFois,10981
|
|
36
|
+
ebk/exports/multi_facet_export.py,sha256=VIj1Np_MlS0HxkoWNYRRTrN8T3Q4Lm8ThpTTxXhLyts,6206
|
|
37
|
+
ebk/exports/opds_export.py,sha256=vRFgNLR4zxADARNKR1ife-YoK8QXNiYuNtAhXZMNyIA,7393
|
|
38
|
+
ebk/exports/symlink_dag.py,sha256=fR1BGXioO4oRnlCjsXTzmiQjPTi-Es5xuOa7b2wq5D0,20477
|
|
39
|
+
ebk/exports/zip.py,sha256=erteF1NcymUbka5m_pnXWaRZmkUihALXe4A_cYg8hXs,779
|
|
40
|
+
ebk/plugins/__init__.py,sha256=-YhhLSqVI6lZSCoW-8fJfib7qL12AO3h4IGOFGcs_qU,765
|
|
41
|
+
ebk/plugins/base.py,sha256=x523_EFtHiFgBBTJqzgArIF8D8KtmD20jJUTqew29eM,14121
|
|
42
|
+
ebk/plugins/hooks.py,sha256=0otxLo8IKo4v3iS_-MAM13c7HSTJLi07RA8kXMUpRWU,14392
|
|
43
|
+
ebk/plugins/registry.py,sha256=EmZotqgCwUUphajMyBu9uIMBjskEIcKxFcHL-6hxvnc,15423
|
|
44
|
+
ebk/repl/__init__.py,sha256=zSAp76GfAEtxYsXe8W2m-PtDFeHX668y6jnpzz2yeWA,252
|
|
45
|
+
ebk/repl/find.py,sha256=Yl-4qv_uKl8dJefHzCyNpjJxngtB_fxj4MqXbMGEkKc,3799
|
|
46
|
+
ebk/repl/grep.py,sha256=jOod9aPpHjPXAHIqSIJIht-waPDhO5SuLDdhcvqog58,4767
|
|
47
|
+
ebk/repl/shell.py,sha256=emzjK1aXiGnYdEAwUybntnaXS62tQhtQZkDeQ3sDIGg,60896
|
|
48
|
+
ebk/repl/text_utils.py,sha256=nSCE-qPL3xHyXjt_5ltjYnOCBXpyPqJiyaKztrfAKuQ,8382
|
|
49
|
+
ebk/services/__init__.py,sha256=AYSSbpKoJbPO6BZuhOXHUG76Wg4oeGVdmvsDFNEdYzA,699
|
|
50
|
+
ebk/services/annotation_extraction.py,sha256=EdH3UToERyRy1N9dJGSyRUUIxC-JGDhCQW3bNzwJsbg,12405
|
|
51
|
+
ebk/services/annotation_service.py,sha256=tNRDD5yi0S5zbe7bOcWCE6EisKnfXe1VLaVLEjadnhg,11683
|
|
52
|
+
ebk/services/export_service.py,sha256=hXYT7FRrx_qW_w4RaDjBoNZqYfckwaLVfBF25uPsiGQ,19897
|
|
53
|
+
ebk/services/import_service.py,sha256=kFVYo2dU9YYunbTW7PB-fwf1JCS1o_8g7sjNU_c6_bM,16548
|
|
54
|
+
ebk/services/personal_metadata_service.py,sha256=zbeaoLjzDBmD1O06zFrrkilDvavpQKzCpbbZSu4_WG8,10944
|
|
55
|
+
ebk/services/queue_service.py,sha256=yvjX0YzwHBUKgWiV-fxRnJrgF_gWNdE0bFCc-A12GyA,7778
|
|
56
|
+
ebk/services/tag_service.py,sha256=12q8AkOu8vd2uxsqpWNVO4_N07S0rCtgHSN8EHgLPNg,7952
|
|
57
|
+
ebk/services/text_extraction.py,sha256=OfmGycUy8BHXJ9M4y3R958n8WEMqXYIBTHsX0A0eifM,10519
|
|
58
|
+
ebk/services/view_service.py,sha256=Pwq8np2Shcat53oqarNgmOQFxqFjrv-7HXNzxYd6jAE,401
|
|
59
|
+
ebk/similarity/__init__.py,sha256=ySprbU_qfMuOEFyUqnBHe-4HSyvGyZHjRUZ4y6Z20-A,1942
|
|
60
|
+
ebk/similarity/base.py,sha256=uWY1whl1jdjvntnuOaB9Mal3f3yiLt7HqjHSBZyM324,4473
|
|
61
|
+
ebk/similarity/core.py,sha256=onxhPb3yuZfaGx_mEMDzryJ_wOoGwRn3I9-vsXuEbK4,14155
|
|
62
|
+
ebk/similarity/extractors.py,sha256=qoICUZtn35x23Q14YuXMaE7RoIitSOxfANmngcEKXvo,4216
|
|
63
|
+
ebk/similarity/metrics.py,sha256=2rbX10xXauebBSH7fKN9fCSMgSOuxRHKwUyJhd_hFfU,10419
|
|
64
|
+
ebk/skills/SKILL.md,sha256=P8kkVCR-ejcFE3yXK2FyX9i6pYbJutGMdrwJntkWSKA,4817
|
|
65
|
+
ebk/skills/__init__.py,sha256=G626OTmfTHvVjXb-TPD5kjRLFS1x3Pephw2QcYuvr4M,33
|
|
66
|
+
ebk/vfs/__init__.py,sha256=5d2jCVRNboJlD576IrFWKIUeOVVVv3zVdyMbSMZ0zEY,3129
|
|
67
|
+
ebk/vfs/base.py,sha256=ETygiP-UxK-fT9y7OOvoDj9FMLHaR0zX49iHBG6SUpc,8117
|
|
68
|
+
ebk/vfs/library_vfs.py,sha256=E8nqCSL18L8jY2-3XFdZILnFhQYoXZ7O0BOY5Cq0f2U,3315
|
|
69
|
+
ebk/vfs/resolver.py,sha256=D_pvOzmeErl8oMxw73g4X4nKBzxc_OgoAmHDDP_fJA4,6228
|
|
70
|
+
ebk/vfs/nodes/__init__.py,sha256=W6MCMNUh8129Uw2xtNoWi00rrMHNreTXb26KS7IrXrA,1360
|
|
71
|
+
ebk/vfs/nodes/authors.py,sha256=Dqr8Leb2NM3W_qKwvEz8r3-C3uNFQVjNGxf56-qhm9c,5731
|
|
72
|
+
ebk/vfs/nodes/books.py,sha256=5YzFXFKrK1aUCzD7uAYPmuGCTVh_j4vj9VNfVFywo9o,15461
|
|
73
|
+
ebk/vfs/nodes/files.py,sha256=49kCsPFe5zBstcUcC44E-KEUHkoHTKT6AzQOXhirnDA,4673
|
|
74
|
+
ebk/vfs/nodes/metadata.py,sha256=wo2TDV2JshuWAzdjGEVOWM5-9S3XwqoRoqRIgSX3o1g,11392
|
|
75
|
+
ebk/vfs/nodes/root.py,sha256=4WkU3GnNcnnqg6dpkjUXI0pnWX4oAR6UJDNpEqIexLs,3030
|
|
76
|
+
ebk/vfs/nodes/similar.py,sha256=LJeFZigiu7dDyduGi9SJrxNJNP_qix661o8pyGsARFs,4866
|
|
77
|
+
ebk/vfs/nodes/subjects.py,sha256=7U9Raj0b2PXb6LfOo3zlHAqTD0lW3IQk7m5u0nU8WPU,5327
|
|
78
|
+
ebk/vfs/nodes/tags.py,sha256=uFJ5lWQYXD0dDmRP6v9NpfQDieTZJfGtSgaz2zzHVZo,11119
|
|
79
|
+
ebk/views/__init__.py,sha256=v0SHgE6rNeAu9GiCFBQo-UMvzNYTNn6q5ODK7WAQnyw,874
|
|
80
|
+
ebk/views/dsl.py,sha256=UZNygfh7G5DS9UmaCV2irkh8I3A5aLekXAuRembWoHA,24079
|
|
81
|
+
ebk/views/service.py,sha256=3uS5YluVK0aN2fT26ZUBC4iW985Bt0YmkLWWCnUhZI4,19200
|
|
82
|
+
ebk-0.4.4.dist-info/licenses/LICENSE,sha256=1eh_aOAZz71hpva42M9f8Vqj_FtSUqzE-1EimifmM_8,1068
|
|
83
|
+
ebk-0.4.4.dist-info/METADATA,sha256=FVGtD139hgZDvDyKICn5zfVgKylJR2S4Br2S388dOQU,21712
|
|
84
|
+
ebk-0.4.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
85
|
+
ebk-0.4.4.dist-info/entry_points.txt,sha256=M24WNtCeBq-nmIDPU-3i0DtM9VP3bM_ul2nQIC1r_RA,36
|
|
86
|
+
ebk-0.4.4.dist-info/top_level.txt,sha256=OLATFvDsJQh-6TqJCili349OH47DoH-6dMih88BWcyg,4
|
|
87
|
+
ebk-0.4.4.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Alex Towell
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ebk
|