wordlift-sdk 2.7.1__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 (100) hide show
  1. wordlift_sdk/__init__.py +3 -0
  2. wordlift_sdk/client/__init__.py +3 -0
  3. wordlift_sdk/client/client_configuration_factory.py +26 -0
  4. wordlift_sdk/configuration/__init__.py +4 -0
  5. wordlift_sdk/configuration/configuration_provider.py +44 -0
  6. wordlift_sdk/configuration/get_config_value.py +39 -0
  7. wordlift_sdk/container/__init__.py +3 -0
  8. wordlift_sdk/container/application_container.py +234 -0
  9. wordlift_sdk/deprecated/__init__.py +5 -0
  10. wordlift_sdk/deprecated/create_entities_with_top_query_dataframe.py +30 -0
  11. wordlift_sdk/entity/__init__.py +4 -0
  12. wordlift_sdk/entity/enrich.py +54 -0
  13. wordlift_sdk/entity/patch.py +14 -0
  14. wordlift_sdk/google_search_console/__init__.py +5 -0
  15. wordlift_sdk/google_search_console/create_google_search_console_data_import.py +59 -0
  16. wordlift_sdk/google_search_console/raise_error_if_account_analytics_not_configured.py +20 -0
  17. wordlift_sdk/graph/graph_bag.py +7 -0
  18. wordlift_sdk/graph/ttl_liquid/__init__.py +3 -0
  19. wordlift_sdk/graph/ttl_liquid/ttl_liquid_graph_factory.py +43 -0
  20. wordlift_sdk/graphql/__init__.py +3 -0
  21. wordlift_sdk/graphql/client/__init__.py +5 -0
  22. wordlift_sdk/graphql/client/client.py +69 -0
  23. wordlift_sdk/graphql/client/factory.py +36 -0
  24. wordlift_sdk/graphql/client/gql_client_provider.py +26 -0
  25. wordlift_sdk/graphql/data/entities_by_type.graphql +9 -0
  26. wordlift_sdk/graphql/data/entities_embedding_value.graphql +15 -0
  27. wordlift_sdk/graphql/data/entities_top_query.graphql +20 -0
  28. wordlift_sdk/graphql/data/entities_url_id.graphql +6 -0
  29. wordlift_sdk/graphql/data/entities_url_iri.graphql +7 -0
  30. wordlift_sdk/graphql/data/entities_url_iri_with_source_equal_to_web_page_import.graphql +12 -0
  31. wordlift_sdk/graphql/query.py +20 -0
  32. wordlift_sdk/graphql/utils/__init__.py +0 -0
  33. wordlift_sdk/graphql/utils/query/__init__.py +4 -0
  34. wordlift_sdk/graphql/utils/query/entity_top_query.py +56 -0
  35. wordlift_sdk/graphql/utils/query/entity_with_top_query.py +52 -0
  36. wordlift_sdk/id_generator/__init__.py +3 -0
  37. wordlift_sdk/id_generator/id_generator.py +40 -0
  38. wordlift_sdk/id_generator/id_generator_interface.py +8 -0
  39. wordlift_sdk/internal_link/__init__.py +3 -0
  40. wordlift_sdk/internal_link/utils.py +231 -0
  41. wordlift_sdk/kg/__init__.py +5 -0
  42. wordlift_sdk/kg/entity.py +17 -0
  43. wordlift_sdk/kg/entity_store.py +94 -0
  44. wordlift_sdk/kg/entity_store_factory.py +13 -0
  45. wordlift_sdk/kg/relation/__init__.py +0 -0
  46. wordlift_sdk/kg/relation/relation_service.py +78 -0
  47. wordlift_sdk/main.py +7 -0
  48. wordlift_sdk/namespace/SDO.py +3281 -0
  49. wordlift_sdk/namespace/__init__.py +3 -0
  50. wordlift_sdk/notebook/__init__.py +3 -0
  51. wordlift_sdk/notebook/install_if_missing.py +12 -0
  52. wordlift_sdk/protocol/__init__.py +5 -0
  53. wordlift_sdk/protocol/context.py +21 -0
  54. wordlift_sdk/protocol/entity_patch/__init__.py +4 -0
  55. wordlift_sdk/protocol/entity_patch/entity_patch.py +8 -0
  56. wordlift_sdk/protocol/entity_patch/entity_patch_queue.py +49 -0
  57. wordlift_sdk/protocol/graph/__init__.py +3 -0
  58. wordlift_sdk/protocol/graph/graph_queue.py +64 -0
  59. wordlift_sdk/protocol/load_override_class.py +30 -0
  60. wordlift_sdk/protocol/web_page_import_protocol.py +23 -0
  61. wordlift_sdk/url_source/__init__.py +6 -0
  62. wordlift_sdk/url_source/google_sheets_url_source.py +53 -0
  63. wordlift_sdk/url_source/list_url_source.py +28 -0
  64. wordlift_sdk/url_source/new_or_changed_url_source.py +57 -0
  65. wordlift_sdk/url_source/sitemap_url_source.py +36 -0
  66. wordlift_sdk/url_source/url_source.py +18 -0
  67. wordlift_sdk/url_source/url_source_input.py +6 -0
  68. wordlift_sdk/utils/__init__.py +17 -0
  69. wordlift_sdk/utils/create_dataframe_from_google_sheets.py +26 -0
  70. wordlift_sdk/utils/create_dataframe_of_entities_by_types.py +26 -0
  71. wordlift_sdk/utils/create_dataframe_of_entities_with_embedding_vectors.py +28 -0
  72. wordlift_sdk/utils/create_dataframe_of_url_iri.py +14 -0
  73. wordlift_sdk/utils/create_entity_patch_request.py +14 -0
  74. wordlift_sdk/utils/delayed.py +12 -0
  75. wordlift_sdk/utils/get_me.py +8 -0
  76. wordlift_sdk/utils/import_url.py +35 -0
  77. wordlift_sdk/wordlift/__init__.py +0 -0
  78. wordlift_sdk/wordlift/entity_gaps/__init__.py +3 -0
  79. wordlift_sdk/wordlift/entity_gaps/create_entity_gaps_factory.py +51 -0
  80. wordlift_sdk/wordlift/entity_gaps/entity_gaps_callback.py +32 -0
  81. wordlift_sdk/wordlift/sitemap_import/__init__.py +0 -0
  82. wordlift_sdk/wordlift/sitemap_import/protocol/__init__.py +14 -0
  83. wordlift_sdk/wordlift/sitemap_import/protocol/default/__init__.py +4 -0
  84. wordlift_sdk/wordlift/sitemap_import/protocol/default/default_import_url_protocol.py +39 -0
  85. wordlift_sdk/wordlift/sitemap_import/protocol/default/default_parse_html_protocol.py +41 -0
  86. wordlift_sdk/wordlift/sitemap_import/protocol/import_url_protocol_interface.py +21 -0
  87. wordlift_sdk/wordlift/sitemap_import/protocol/parse_html_protocol_interface.py +27 -0
  88. wordlift_sdk/wordlift/sitemap_import/protocol/protocol_context.py +16 -0
  89. wordlift_sdk/workflow/__init__.py +3 -0
  90. wordlift_sdk/workflow/create_or_update_entities_factory.py +16 -0
  91. wordlift_sdk/workflow/kg_import_workflow.py +49 -0
  92. wordlift_sdk/workflow/patch_entities_factory.py +16 -0
  93. wordlift_sdk/workflow/url_handler/__init__.py +3 -0
  94. wordlift_sdk/workflow/url_handler/default_url_handler.py +23 -0
  95. wordlift_sdk/workflow/url_handler/search_console_url_handler.py +79 -0
  96. wordlift_sdk/workflow/url_handler/url_handler.py +8 -0
  97. wordlift_sdk/workflow/url_handler/web_page_import_url_handler.py +104 -0
  98. wordlift_sdk-2.7.1.dist-info/METADATA +125 -0
  99. wordlift_sdk-2.7.1.dist-info/RECORD +100 -0
  100. wordlift_sdk-2.7.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.3
2
+ Name: wordlift-sdk
3
+ Version: 2.7.1
4
+ Summary:
5
+ Author: David Riccitelli
6
+ Author-email: david@wordlift.io
7
+ Requires-Python: >=3.10,<3.14
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Requires-Dist: advertools (>=0.16.6,<0.17.0)
14
+ Requires-Dist: aiohttp (>=3.10.5,<4.0.0)
15
+ Requires-Dist: google-auth (>=2.35.0,<3.0.0)
16
+ Requires-Dist: gql[aiohttp] (>=3.5.2,<4.0.0)
17
+ Requires-Dist: gspread (>=6.1.2,<7.0.0)
18
+ Requires-Dist: pandas (>=2.1.4,<2.3.0)
19
+ Requires-Dist: pycountry (>=24.6.1,<25.0.0)
20
+ Requires-Dist: python-liquid (>=2.0.1,<3.0.0)
21
+ Requires-Dist: rdflib (>=7.0.0,<8.0.0)
22
+ Requires-Dist: tenacity (>=9.0.0,<10.0.0)
23
+ Requires-Dist: tqdm (>=4.67.1,<5.0.0)
24
+ Requires-Dist: wordlift-client (>=1.117.0,<2.0.0)
25
+ Description-Content-Type: text/markdown
26
+
27
+ # WordLift Python SDK
28
+
29
+ A Python toolkit for orchestrating WordLift imports: fetch URLs from sitemaps, Google Sheets, or explicit lists, filter out already imported pages, enqueue search console jobs, push RDF graphs, and call the WordLift APIs to import web pages.
30
+
31
+ ## Features
32
+ - URL sources: XML sitemaps (with optional regex filtering), Google Sheets (`url` column), or Python lists.
33
+ - Change detection: skips URLs that are already imported unless `OVERWRITE` is enabled; re-imports when `lastmod` is newer.
34
+ - Web page imports: sends URLs to WordLift with embedding requests, output types, retry logic, and pluggable callbacks.
35
+ - Search Console refresh: triggers analytics imports when top queries are stale.
36
+ - Graph templates: renders `.ttl.liquid` templates under `data/templates` with account data and uploads the resulting RDF graphs.
37
+ - Extensible: override protocols via `WORDLIFT_OVERRIDE_DIR` without changing the library code.
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ pip install wordlift-sdk
43
+ # or
44
+ poetry add wordlift-sdk
45
+ ```
46
+
47
+ Requires Python 3.10–3.13.
48
+
49
+ ## Configuration
50
+
51
+ Settings are read in order: `config/default.py` (or a custom path you pass to `ConfigurationProvider.create`), environment variables, then (when available) Google Colab `userdata`.
52
+
53
+ Common options:
54
+ - `WORDLIFT_KEY` (required): WordLift API key.
55
+ - `API_URL`: WordLift API base URL, defaults to `https://api.wordlift.io`.
56
+ - `SITEMAP_URL`: XML sitemap to crawl; `SITEMAP_URL_PATTERN` optional regex to filter URLs.
57
+ - `SHEETS_URL`, `SHEETS_NAME`, `SHEETS_SERVICE_ACCOUNT`: use a Google Sheet as source; service account points to credentials file.
58
+ - `URLS`: list of URLs (e.g., `["https://example.com/a", "https://example.com/b"]`).
59
+ - `OVERWRITE`: re-import URLs even if already present (default `False`).
60
+ - `WEB_PAGE_IMPORT_WRITE_STRATEGY`: WordLift write strategy (default `createOrUpdateModel`).
61
+ - `EMBEDDING_PROPERTIES`: list of schema properties to embed.
62
+ - `WEB_PAGE_TYPES`: output schema types, defaults to `["http://schema.org/Article"]`.
63
+ - `GOOGLE_SEARCH_CONSOLE`: enable/disable Search Console handler (default `True`).
64
+ - `CONCURRENCY`: max concurrent handlers, defaults to `min(cpu_count(), 4)`.
65
+ - `WORDLIFT_OVERRIDE_DIR`: folder containing protocol overrides (default `app/overrides`).
66
+
67
+ Example `config/default.py`:
68
+
69
+ ```python
70
+ WORDLIFT_KEY = "your-api-key"
71
+ SITEMAP_URL = "https://example.com/sitemap.xml"
72
+ SITEMAP_URL_PATTERN = r"^https://example.com/article/.*$"
73
+ GOOGLE_SEARCH_CONSOLE = True
74
+ WEB_PAGE_TYPES = ["http://schema.org/Article"]
75
+ EMBEDDING_PROPERTIES = [
76
+ "http://schema.org/headline",
77
+ "http://schema.org/abstract",
78
+ "http://schema.org/text",
79
+ ]
80
+ ```
81
+
82
+ ## Running the import workflow
83
+
84
+ ```python
85
+ import asyncio
86
+ from wordlift_sdk import run_kg_import_workflow
87
+
88
+ if __name__ == "__main__":
89
+ asyncio.run(run_kg_import_workflow())
90
+ ```
91
+
92
+ The workflow:
93
+ 1. Renders and uploads RDF graphs from `data/templates/*.ttl.liquid` using account info.
94
+ 2. Builds the configured URL source and filters out unchanged URLs (unless `OVERWRITE`).
95
+ 3. Sends each URL to WordLift for import with retries and optional Search Console refresh.
96
+
97
+ You can build components yourself when you need more control:
98
+
99
+ ```python
100
+ import asyncio
101
+ from wordlift_sdk.container.application_container import ApplicationContainer
102
+
103
+ async def main():
104
+ container = ApplicationContainer()
105
+ workflow = await container.create_kg_import_workflow()
106
+ await workflow.run()
107
+
108
+ asyncio.run(main())
109
+ ```
110
+
111
+ ## Custom callbacks and overrides
112
+
113
+ Override the web page import callback by placing `web_page_import_protocol.py` with a `WebPageImportProtocol` class under `WORDLIFT_OVERRIDE_DIR` (default `app/overrides`). The callback receives a `WebPageImportResponse` and can push to `graph_queue` or `entity_patch_queue`.
114
+
115
+ ## Templates
116
+
117
+ Add `.ttl.liquid` files under `data/templates`. Templates render with `account` fields available (e.g., `{{ account.dataset_uri }}`) and are uploaded before URL handling begins.
118
+
119
+ ## Testing
120
+
121
+ ```bash
122
+ poetry install --with dev
123
+ poetry run pytest
124
+ ```
125
+
@@ -0,0 +1,100 @@
1
+ wordlift_sdk/__init__.py,sha256=Xv7okTmyNmt6hgCUhFeFzh-Phw3LChdw89EuRt8kq_4,79
2
+ wordlift_sdk/client/__init__.py,sha256=-lCMSH8UmtjETZHaXwwjkk6ID3uVa64ryUZ-wlBVR9w,111
3
+ wordlift_sdk/client/client_configuration_factory.py,sha256=aDhiEYsxzKQUun3kFN_W7RJcfSbhGX9XeeKZPGeLfHo,799
4
+ wordlift_sdk/configuration/__init__.py,sha256=MOrZCRQCeeCae2rVcR9THy9yxK8n_Gpx1BobsDptbgQ,162
5
+ wordlift_sdk/configuration/configuration_provider.py,sha256=Fz1iZHvbpdxh92sKucDFmhJDBEwYZEB6iYm646Deixk,1324
6
+ wordlift_sdk/configuration/get_config_value.py,sha256=nULkIY9hISEytArZVHrt2Ju8QNGQR4pAhJ388kG2Tu8,1050
7
+ wordlift_sdk/container/__init__.py,sha256=_lFoxsP0acwODKryIVo0n4FuagUdyZ30LjFaXM4jfy4,92
8
+ wordlift_sdk/container/application_container.py,sha256=Kk3TiCgLAPxM0cix_gUM3-Tf_vUXYhSnkxDVbBYpi5g,9053
9
+ wordlift_sdk/deprecated/__init__.py,sha256=vQacTb6XoS2wO1ccBfSCyQmUNBKnJKl59iyR7dH_Ghk,160
10
+ wordlift_sdk/deprecated/create_entities_with_top_query_dataframe.py,sha256=KhJ0P99cnoMqMV7D4Ox5DtGApEbptJSrV9X4Ho_tjNQ,921
11
+ wordlift_sdk/entity/__init__.py,sha256=v1CYhRguuoVBaDkbysRP5D1uTDUvm0tdF9MVDa4qAAQ,123
12
+ wordlift_sdk/entity/enrich.py,sha256=agXDLJhE8oJyiM8aV70bFyFjRc1tHUbdLIcIrL02J7U,1982
13
+ wordlift_sdk/entity/patch.py,sha256=CP2H2nrrli4A_zu1D00Egye1I784ZQ6MxL_jS9ZsW9k,523
14
+ wordlift_sdk/google_search_console/__init__.py,sha256=-PmsnNYsGs4Utb9l7AXz0qAzcWhJeD-eZyFNfOHM5ow,384
15
+ wordlift_sdk/google_search_console/create_google_search_console_data_import.py,sha256=xP_koUaaXYnnNVyw2ld4jbqc_d7yFkYXLe2dC2vLpm0,2223
16
+ wordlift_sdk/google_search_console/raise_error_if_account_analytics_not_configured.py,sha256=pXcRlaVAODSbSgxI3KTtsHp37qiIaWCu9ISDKtDw6qM,830
17
+ wordlift_sdk/graph/graph_bag.py,sha256=Gp0ufstKY5xCx6dZNohcTmaEhoEYef891eaLuESUJpM,105
18
+ wordlift_sdk/graph/ttl_liquid/__init__.py,sha256=2AmJpsFFkJxv6FyO7J3XFUfX1nSPDoY31tRom-K5C_w,97
19
+ wordlift_sdk/graph/ttl_liquid/ttl_liquid_graph_factory.py,sha256=CSzO36YZ-XQrV7xRi99LhmYfQgMxjBkKdfEGeD0Zt9M,1242
20
+ wordlift_sdk/graphql/__init__.py,sha256=QuI1slWTN_ULF8W2goCkRstC9uTytVOBqIx2MMcXfJ4,46
21
+ wordlift_sdk/graphql/client/__init__.py,sha256=1AatJnAUtWMAH2yRn8doSVxUnQIeyzPdnOFakmyxNZU,201
22
+ wordlift_sdk/graphql/client/client.py,sha256=2JKj10JdAwCGEx8cO5cOpN8pi0JsnVcKOB9YIWbbH4U,2147
23
+ wordlift_sdk/graphql/client/factory.py,sha256=X5ig85_sDxeFDERN7hBgZOMvoHRYaiUcpiEOpkZObYk,1143
24
+ wordlift_sdk/graphql/client/gql_client_provider.py,sha256=e8haJEUUqgmtiT6TZyHU7B8eOLNAX5KRlbK4qzwNmGc,766
25
+ wordlift_sdk/graphql/data/entities_by_type.graphql,sha256=-SItjZE9S-sxviVG8jTF3QQWP8wSupjuH1O93sZfbNg,226
26
+ wordlift_sdk/graphql/data/entities_embedding_value.graphql,sha256=K_abFr_MKpPt2S-veFCx1Wn9z7DpRrvnTZfCsAA8_4Y,370
27
+ wordlift_sdk/graphql/data/entities_top_query.graphql,sha256=PboyUgRGtdPzQafaxqLZCK3SyhGIQjnrN15fd6Ymrwg,713
28
+ wordlift_sdk/graphql/data/entities_url_id.graphql,sha256=1Vzk0gWqcsA6FuzLmjSqm5EaKf8QqBMTd3ZiYMs_H0c,162
29
+ wordlift_sdk/graphql/data/entities_url_iri.graphql,sha256=rtwnV-rycoKXgYdR5kJrkr0DCnr6jVIfiIPrCEVdDfI,220
30
+ wordlift_sdk/graphql/data/entities_url_iri_with_source_equal_to_web_page_import.graphql,sha256=f7DRiFSmqIG0aaqcT2_8YVVTvYax1ITrUsjRtHrJwGE,349
31
+ wordlift_sdk/graphql/query.py,sha256=uu-2_yxmizNPsFWDZRw9wTyLzbcCc0YCwZPrAuPVEP4,729
32
+ wordlift_sdk/graphql/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ wordlift_sdk/graphql/utils/query/__init__.py,sha256=ZYHHfPT6r3AknTqx-OOuoJfj54WeibpvnHTKLIN-vbs,173
34
+ wordlift_sdk/graphql/utils/query/entity_top_query.py,sha256=XViljOJ3KUQMopNO94k4Vo_0DtD9mB_cvy4_yigxSvM,2263
35
+ wordlift_sdk/graphql/utils/query/entity_with_top_query.py,sha256=rP_C6h1F09WErXzsYU8jgQov1T-AI3CRzavoMu0mdek,1902
36
+ wordlift_sdk/id_generator/__init__.py,sha256=O04jGKqZmW3nLX5ooKrbQZAKccJAn1HUUA7ZXonWHD4,65
37
+ wordlift_sdk/id_generator/id_generator.py,sha256=Lbv50D5NXDHcID1FEuCyydNhasul9ahgSp-6NT6MJwY,1371
38
+ wordlift_sdk/id_generator/id_generator_interface.py,sha256=LJLTWfuDtt5tT6Nb7aGnsCx__L7rTlqRL92EQTYFigQ,134
39
+ wordlift_sdk/internal_link/__init__.py,sha256=iw-22JYFeKSz3XOHis_IL0PJPskooZXsQPIdiQJcvJQ,92
40
+ wordlift_sdk/internal_link/utils.py,sha256=Zz0T8zYnq-QQHStn2aj2gTWINFuNmZUGwm92TSkXVfg,9056
41
+ wordlift_sdk/kg/__init__.py,sha256=dGz47CSM0aW3AskpKR9jQpDDJTp2CKNQsZ9wB5irEQY,177
42
+ wordlift_sdk/kg/entity.py,sha256=TiKkNlXDPnz-NAIs9rMPGut1jlzaKi8wb4hXsnAEjdM,359
43
+ wordlift_sdk/kg/entity_store.py,sha256=uFfjCT_SyGhEMPxg9WYsoGLmb7omdpTBeF0z8VyoydA,3297
44
+ wordlift_sdk/kg/entity_store_factory.py,sha256=KTLEfDhJqt_-IiK485-WA19mOpwI5yaJOGMa5X7TonQ,267
45
+ wordlift_sdk/kg/relation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ wordlift_sdk/kg/relation/relation_service.py,sha256=vo71xQxSqN27EeUGobQoTIAvi6c6Ou6Aue53I0_jBQ4,3513
47
+ wordlift_sdk/main.py,sha256=Bleo_MPMHWSSrpuo7BaFgmB558B-ImI7ROviSdxWJUU,251
48
+ wordlift_sdk/namespace/SDO.py,sha256=jrQ4HoDLG_sK6LQcTS06jy0XHDh4Afr4jqr71Utbaf8,424482
49
+ wordlift_sdk/namespace/__init__.py,sha256=MSahDRm3mm_zWi9zkIo32U6qWT49NVhAhgWNpbirMFs,40
50
+ wordlift_sdk/notebook/__init__.py,sha256=RQC28cZE7qBV9XX3PWWjIbdXjG7-FOPu9qrq3u0h__I,85
51
+ wordlift_sdk/notebook/install_if_missing.py,sha256=JdAqE6T3X5VDFpErf0L4APFrL95svxL9yMrr8rtzOTY,372
52
+ wordlift_sdk/protocol/__init__.py,sha256=mpRdjY13DnPu6iCZIlxP2S3QewMV3snA_QOe9Jv1bOQ,293
53
+ wordlift_sdk/protocol/context.py,sha256=Csf9rGuBxkwuDuRQkjIJgbLWk2i4wNMRCmaDE3VYerg,568
54
+ wordlift_sdk/protocol/entity_patch/__init__.py,sha256=-4UeFAaJkK5v6HK4_t-62UKA1jVwww3q5dfbRRY7SJg,134
55
+ wordlift_sdk/protocol/entity_patch/entity_patch.py,sha256=o6Dc2Fp51zac95IAbutnl_a3CN_jaTPnhiS7EL4JpDk,165
56
+ wordlift_sdk/protocol/entity_patch/entity_patch_queue.py,sha256=k7B9JooK3SqzcM5XmtdoXCyq909XVvmYGeUY9zCl9Gk,1793
57
+ wordlift_sdk/protocol/graph/__init__.py,sha256=A1MUTCRR5o84pYvlPMZFXNxf5396SurHhmBhIW7eOyw,62
58
+ wordlift_sdk/protocol/graph/graph_queue.py,sha256=4q_uBSSC0Wv5bqOL-irQCPHIR4xm8HM2Z5ki1AKY8L4,2270
59
+ wordlift_sdk/protocol/load_override_class.py,sha256=mHsOL8u_uQpQ4GvK_Bvr1dtTY4t7IUZ7PjoUYT90GJA,866
60
+ wordlift_sdk/protocol/web_page_import_protocol.py,sha256=P5WU06fcUFvXO7Z2roU6A06e4r7LlerSVkHW7sQxMwY,577
61
+ wordlift_sdk/url_source/__init__.py,sha256=RmHbF2tY6yCYXeJYq4SnqUVU3R0I5yuRAFWqIWWNIBY,285
62
+ wordlift_sdk/url_source/google_sheets_url_source.py,sha256=tfBrPztpNi_J-i-akM6AFRiKyUw3SJHgloq759nIsVw,2020
63
+ wordlift_sdk/url_source/list_url_source.py,sha256=uhWFI_zF_id80JiEv_JbqC7HphkiXPDh0WgBNCid-v0,808
64
+ wordlift_sdk/url_source/new_or_changed_url_source.py,sha256=KY4BClYkXiKwYWO5O33IYsJfwqr36zEA420OljqIhTo,2000
65
+ wordlift_sdk/url_source/sitemap_url_source.py,sha256=JMIteakIFIWcHoQ3Uf0fyMh8pYz4YM_rnJvdm7NXYak,1198
66
+ wordlift_sdk/url_source/url_source.py,sha256=ZmGOiDlPVzoOTt2Qz69onpnFzQYZlrwWaogOkZMEqGc,403
67
+ wordlift_sdk/url_source/url_source_input.py,sha256=GvRAjBb103DS--rR7M8oIxIjWhQbYUTldwbPx2BctaU,152
68
+ wordlift_sdk/utils/__init__.py,sha256=_BB9cgIXFY5JUDowedu2tZeQmLhtGElUTh6qzVQ-Xoc,759
69
+ wordlift_sdk/utils/create_dataframe_from_google_sheets.py,sha256=7j0oCwUwSqoo2505_QfcUCx4XNqhw94Y_UTL5tyIk5U,1117
70
+ wordlift_sdk/utils/create_dataframe_of_entities_by_types.py,sha256=5U5k_OheifPJyod4PB0HEdYCGwZEMgkdiwckAR8LFJY,770
71
+ wordlift_sdk/utils/create_dataframe_of_entities_with_embedding_vectors.py,sha256=A_JMVoYS4pcWCsKYGH_sHyc9MJvg5EuoKELp1BCI2Ko,679
72
+ wordlift_sdk/utils/create_dataframe_of_url_iri.py,sha256=xTxNyHb1Vo7YdfoYoaiCqp6-4lD0PoLppcxlyAYBTEg,530
73
+ wordlift_sdk/utils/create_entity_patch_request.py,sha256=-fEZrflVpTBtk7c7ME8-BWn6-r86cQJp7fvQJznj_aU,497
74
+ wordlift_sdk/utils/delayed.py,sha256=uy-cQsLMprakx8CiQl6ZLL49bfYB1C6oQt4UObr5TwU,323
75
+ wordlift_sdk/utils/get_me.py,sha256=-mr0DscVWEDFvgBYtmgND3_gIuh2q7kfD-OiqrYwLJU,297
76
+ wordlift_sdk/utils/import_url.py,sha256=KiUFkU4mRfd7YWFlLoz5bB13AgPURV8Km8H05LxevCI,1299
77
+ wordlift_sdk/wordlift/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ wordlift_sdk/wordlift/entity_gaps/__init__.py,sha256=PMtdyBoUD-oiTE-7Izr6fuod7OxGOQIhFSasZG_SafM,109
79
+ wordlift_sdk/wordlift/entity_gaps/create_entity_gaps_factory.py,sha256=LfU8ebaN14vXiwDcLEpJQnrZaxJj7EUWC0zs-qDvj2g,1841
80
+ wordlift_sdk/wordlift/entity_gaps/entity_gaps_callback.py,sha256=w2gBVzIsb4QMFESLidcSKyGM-SGYaWbV5Kb0kFdb534,1119
81
+ wordlift_sdk/wordlift/sitemap_import/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ wordlift_sdk/wordlift/sitemap_import/protocol/__init__.py,sha256=OupEkZdO0-7V0kjvL_S7EQv23ZY27dxaV4iv5cwClJc,504
83
+ wordlift_sdk/wordlift/sitemap_import/protocol/default/__init__.py,sha256=iQhyw4Tcrh7YdLwq3H3RkZDS-cLJwA71_G9pzgmY4CE,200
84
+ wordlift_sdk/wordlift/sitemap_import/protocol/default/default_import_url_protocol.py,sha256=AQZPxquQQlB2BPXUh_5fHmLpEhbZHpgLa0vRvpIvTjk,1428
85
+ wordlift_sdk/wordlift/sitemap_import/protocol/default/default_parse_html_protocol.py,sha256=HjXbsWSbM8UkxKBEu38imRl_dhzQnUtkPYcZ2ELV8K0,1614
86
+ wordlift_sdk/wordlift/sitemap_import/protocol/import_url_protocol_interface.py,sha256=SpGaIwyf1G459Geu50aAZuYl2KZStv9faLdVKKqdaig,463
87
+ wordlift_sdk/wordlift/sitemap_import/protocol/parse_html_protocol_interface.py,sha256=CwLxHTjPz1Zd08WoSIG0y6CS6WZkr0QIcI2BhHfPoUc,602
88
+ wordlift_sdk/wordlift/sitemap_import/protocol/protocol_context.py,sha256=HqjptNxEIge7Ds2VqXVpDqdeRpJsLe0VitZT_5_dcoE,415
89
+ wordlift_sdk/workflow/__init__.py,sha256=n3zp6pkRbimeaDgr3g5fVbKDRZEPbLpry-H599j6YQ8,81
90
+ wordlift_sdk/workflow/create_or_update_entities_factory.py,sha256=fKnxrxqAgRo9vGbsKUEF6I8OUj2Fva0RoRasURoAUR8,586
91
+ wordlift_sdk/workflow/kg_import_workflow.py,sha256=P0SZNq6nP-RduzT0-lK-MT8FZD7QyVVga9-po5k-Peg,1291
92
+ wordlift_sdk/workflow/patch_entities_factory.py,sha256=QwA4EUEYBB2s64mi9YxN_PfcyAZ8_-yzwN9BJYsW1Dk,572
93
+ wordlift_sdk/workflow/url_handler/__init__.py,sha256=2S3ez5C2Xw8FZCJ2Bf0zkASpPqmLWaVapyi8xFFj3tM,104
94
+ wordlift_sdk/workflow/url_handler/default_url_handler.py,sha256=irMoJftx9Gyq-8HQd4Y8HhKvPlHvVXxqyj4b1__m4mw,706
95
+ wordlift_sdk/workflow/url_handler/search_console_url_handler.py,sha256=uOwD4t009-cA9JI7ZtbYhCGRwjhLzDpBNTWHERPnNqI,2698
96
+ wordlift_sdk/workflow/url_handler/url_handler.py,sha256=meyOpWVhLk2NcbtUOO_V0z6_T9q-D3pD7kWQCRioYh0,129
97
+ wordlift_sdk/workflow/url_handler/web_page_import_url_handler.py,sha256=xQiy-fgFj_dWKFFBNWeodAGhIMJQereSPdgnjK-Crmo,3529
98
+ wordlift_sdk-2.7.1.dist-info/METADATA,sha256=04londwmxAjfkUd7cHxoJsUbYxb0QBhcJoFjuJaNkx8,4979
99
+ wordlift_sdk-2.7.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
100
+ wordlift_sdk-2.7.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: poetry-core 2.1.3
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any