cocoindex 0.2.19__tar.gz → 0.2.21__tar.gz

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.

Potentially problematic release.


This version of cocoindex might be problematic. Click here for more details.

Files changed (469) hide show
  1. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/_docs_release.yml +2 -0
  2. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/_test.yml +28 -15
  3. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/docs_test.yml +2 -0
  4. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/format.yml +4 -0
  5. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/release.yml +10 -0
  6. {cocoindex-0.2.19 → cocoindex-0.2.21}/Cargo.lock +2 -1
  7. {cocoindex-0.2.19 → cocoindex-0.2.21}/Cargo.toml +3 -1
  8. {cocoindex-0.2.19 → cocoindex-0.2.21}/PKG-INFO +15 -8
  9. {cocoindex-0.2.19 → cocoindex-0.2.21}/README.md +14 -7
  10. {cocoindex-0.2.19 → cocoindex-0.2.21}/THIRD_PARTY_NOTICES.html +33 -27
  11. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/ai/llm.mdx +26 -0
  12. cocoindex-0.2.21/docs/docs/custom_ops/custom_sources.mdx +275 -0
  13. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/academic_papers_index.md +1 -1
  14. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/codebase_index.md +1 -1
  15. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/custom_targets.md +1 -1
  16. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/docs_to_knowledge_graph.md +1 -1
  17. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/document_ai.md +2 -2
  18. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/image_search.md +2 -2
  19. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/manual_extraction.md +1 -1
  20. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/multi_format_index.md +2 -2
  21. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/patient_form_extraction.md +2 -2
  22. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/photo_search.md +2 -2
  23. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/postgres_source.md +1 -1
  24. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/product_recommendation.md +1 -1
  25. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/examples/simple_vector_index.md +1 -1
  26. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/getting_started/quickstart.md +1 -1
  27. cocoindex-0.2.21/docs/docs/sources/index.md +22 -0
  28. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/targets/index.md +0 -1
  29. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/targets/kuzu.md +3 -1
  30. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/sidebars.ts +1 -0
  31. cocoindex-0.2.21/examples/custom_source_hn/.env.example +6 -0
  32. cocoindex-0.2.21/examples/custom_source_hn/README.md +52 -0
  33. cocoindex-0.2.21/examples/custom_source_hn/main.py +264 -0
  34. cocoindex-0.2.21/examples/custom_source_hn/pyproject.toml +9 -0
  35. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/docs_to_knowledge_graph/README.md +2 -5
  36. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/docs_to_knowledge_graph/main.py +0 -17
  37. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/main.py +3 -0
  38. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/README.md +1 -1
  39. cocoindex-0.2.21/examples/pdf_elements_embedding/.gitignore +1 -0
  40. cocoindex-0.2.21/examples/pdf_elements_embedding/README.md +71 -0
  41. cocoindex-0.2.21/examples/pdf_elements_embedding/fetch_manual_urls.sh +15 -0
  42. cocoindex-0.2.21/examples/pdf_elements_embedding/main.py +183 -0
  43. cocoindex-0.2.21/examples/pdf_elements_embedding/pyproject.toml +14 -0
  44. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/README.md +3 -5
  45. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/main.py +0 -17
  46. cocoindex-0.2.21/examples/text_embedding_lancedb/.env +6 -0
  47. cocoindex-0.2.21/examples/text_embedding_qdrant/.env +6 -0
  48. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_qdrant/README.md +1 -1
  49. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/cli.py +1 -3
  50. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/engine_value.py +15 -13
  51. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/flow.py +4 -4
  52. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/llm.py +1 -0
  53. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/op.py +262 -5
  54. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/typing.py +6 -6
  55. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/value.rs +12 -0
  56. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/builder/analyzed_flow.rs +2 -1
  57. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/builder/analyzer.rs +63 -4
  58. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/builder/flow_builder.rs +10 -7
  59. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/builder/plan.rs +12 -1
  60. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/indexing_status.rs +4 -2
  61. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/row_indexer.rs +8 -8
  62. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/source_indexer.rs +33 -35
  63. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/lib_context.rs +0 -2
  64. cocoindex-0.2.21/src/llm/bedrock.rs +185 -0
  65. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/mod.rs +10 -1
  66. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/interface.rs +2 -2
  67. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/py_factory.rs +343 -2
  68. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/amazon_s3.rs +2 -1
  69. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/azure_blob.rs +2 -1
  70. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/google_drive.rs +3 -3
  71. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/local_file.rs +2 -1
  72. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/py/convert.rs +7 -10
  73. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/py/mod.rs +10 -1
  74. cocoindex-0.2.21/src/utils/bytes_decode.rs +12 -0
  75. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/fingerprint.rs +6 -0
  76. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/mod.rs +1 -0
  77. cocoindex-0.2.19/docs/docs/sources/index.md +0 -365
  78. cocoindex-0.2.19/python/cocoindex/functions.py +0 -375
  79. {cocoindex-0.2.19 → cocoindex-0.2.21}/.cargo/config.toml +0 -0
  80. {cocoindex-0.2.19 → cocoindex-0.2.21}/.env.lib_debug +0 -0
  81. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
  82. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
  83. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/SECURITY.md +0 -0
  84. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/scripts/update_version.sh +0 -0
  85. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/CI.yml +0 -0
  86. {cocoindex-0.2.19 → cocoindex-0.2.21}/.github/workflows/docs_release.yml +0 -0
  87. {cocoindex-0.2.19 → cocoindex-0.2.21}/.gitignore +0 -0
  88. {cocoindex-0.2.19 → cocoindex-0.2.21}/.pre-commit-config.yaml +0 -0
  89. {cocoindex-0.2.19 → cocoindex-0.2.21}/CODE_OF_CONDUCT.md +0 -0
  90. {cocoindex-0.2.19 → cocoindex-0.2.21}/CONTRIBUTING.md +0 -0
  91. {cocoindex-0.2.19 → cocoindex-0.2.21}/LICENSE +0 -0
  92. {cocoindex-0.2.19 → cocoindex-0.2.21}/about.hbs +0 -0
  93. {cocoindex-0.2.19 → cocoindex-0.2.21}/about.toml +0 -0
  94. {cocoindex-0.2.19 → cocoindex-0.2.21}/dev/README.md +0 -0
  95. {cocoindex-0.2.19 → cocoindex-0.2.21}/dev/generate_cli_docs.py +0 -0
  96. {cocoindex-0.2.19 → cocoindex-0.2.21}/dev/neo4j.yaml +0 -0
  97. {cocoindex-0.2.19 → cocoindex-0.2.21}/dev/postgres.yaml +0 -0
  98. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/.gitignore +0 -0
  99. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/README.md +0 -0
  100. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/about/community.md +0 -0
  101. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/contributing/guide.md +0 -0
  102. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/contributing/new_built_in_target.mdx +0 -0
  103. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/contributing/setup_dev_environment.md +0 -0
  104. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/basics.md +0 -0
  105. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/cli-commands.md +0 -0
  106. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/cli.mdx +0 -0
  107. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/data_example.svg +0 -0
  108. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/data_types.mdx +0 -0
  109. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/flow_def.mdx +0 -0
  110. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/flow_example.svg +0 -0
  111. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/flow_methods.mdx +0 -0
  112. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/core/settings.mdx +0 -0
  113. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/custom_ops/custom_functions.mdx +0 -0
  114. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/custom_ops/custom_targets.mdx +0 -0
  115. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/examples/index.md +0 -0
  116. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/getting_started/installation.md +0 -0
  117. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/getting_started/markdown_files.zip +0 -0
  118. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/getting_started/overview.md +0 -0
  119. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/ops/functions.md +0 -0
  120. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/query.mdx +0 -0
  121. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/sources/amazons3.md +0 -0
  122. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/sources/azureblob.md +0 -0
  123. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/sources/googledrive.md +0 -0
  124. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/sources/localfile.md +0 -0
  125. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/sources/postgres.md +0 -0
  126. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/targets/lancedb.md +0 -0
  127. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/targets/neo4j.md +0 -0
  128. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/targets/postgres.md +0 -0
  129. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/targets/qdrant.md +0 -0
  130. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/tutorials/live_updates.md +0 -0
  131. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docs/tutorials/manage_flow_dynamically.mdx +0 -0
  132. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/docusaurus.config.ts +0 -0
  133. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/package.json +0 -0
  134. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/components/GitHubButton/index.tsx +0 -0
  135. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/css/custom.css +0 -0
  136. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/theme/DocCard/index.tsx +0 -0
  137. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/theme/DocCard/styles.module.css +0 -0
  138. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/theme/DocCardList/index.tsx +0 -0
  139. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/theme/DocCardList/styles.module.css +0 -0
  140. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/src/theme/Root.js +0 -0
  141. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/.nojekyll +0 -0
  142. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/docusaurus.png +0 -0
  143. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/abstract_chunks.png +0 -0
  144. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/basic_info.png +0 -0
  145. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/chunk_embedding.png +0 -0
  146. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/cover.png +0 -0
  147. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/first_page.png +0 -0
  148. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/flow.png +0 -0
  149. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/academic_papers_index/metadata.png +0 -0
  150. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/codebase_index/chunk.png +0 -0
  151. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/codebase_index/cover.png +0 -0
  152. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/codebase_index/flow.png +0 -0
  153. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/custom_targets/convert.png +0 -0
  154. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/custom_targets/cover.png +0 -0
  155. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/cover.png +0 -0
  156. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/dedupe.png +0 -0
  157. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/export_document.png +0 -0
  158. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/export_relationship.png +0 -0
  159. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/extract_relationship.png +0 -0
  160. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/flow.png +0 -0
  161. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/relationship.png +0 -0
  162. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/docs_to_knowledge_graph/summary.png +0 -0
  163. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/document_ai/cover.png +0 -0
  164. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/document_ai/document_ai.png +0 -0
  165. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/document_ai/processor.png +0 -0
  166. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/image_search/cover.png +0 -0
  167. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/image_search/embedding.png +0 -0
  168. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/image_search/flow.png +0 -0
  169. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/image_search/multi_modal_architecture.png +0 -0
  170. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/image_search/result.png +0 -0
  171. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/manual_extraction/cover.png +0 -0
  172. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/manual_extraction/extraction.png +0 -0
  173. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/manual_extraction/flow.png +0 -0
  174. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/manual_extraction/summary.png +0 -0
  175. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/multi_format_index/colpali_architecture.png +0 -0
  176. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/multi_format_index/cover.png +0 -0
  177. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/multi_format_index/embed.png +0 -0
  178. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/multi_format_index/flow.png +0 -0
  179. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/multi_format_index/pages.png +0 -0
  180. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/patient_form_extraction/cover.png +0 -0
  181. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/patient_form_extraction/extraction.png +0 -0
  182. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/patient_form_extraction/fields.png +0 -0
  183. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/patient_form_extraction/flow.png +0 -0
  184. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/patient_form_extraction/tomarkdown.png +0 -0
  185. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/photo_search/cover.png +0 -0
  186. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/photo_search/extraction.png +0 -0
  187. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/photo_search/flow.png +0 -0
  188. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/collector.png +0 -0
  189. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/cover.png +0 -0
  190. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/description.png +0 -0
  191. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/embed.png +0 -0
  192. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/flow.png +0 -0
  193. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/lineage.png +0 -0
  194. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/price.png +0 -0
  195. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/postgres_source/source.png +0 -0
  196. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/cover.png +0 -0
  197. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/dedupe.png +0 -0
  198. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/export_all.png +0 -0
  199. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/export_product.png +0 -0
  200. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/export_taxonomy.png +0 -0
  201. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/extract_product.png +0 -0
  202. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/extract_taxonomy.png +0 -0
  203. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/neo4j.png +0 -0
  204. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/parse_json.png +0 -0
  205. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/product_recommendation/taxonomy.png +0 -0
  206. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/simple_vector_index/chunk.png +0 -0
  207. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/simple_vector_index/cover.png +0 -0
  208. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/simple_vector_index/embed.png +0 -0
  209. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/examples/simple_vector_index/flow.png +0 -0
  210. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/favicon.ico +0 -0
  211. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/icon.svg +0 -0
  212. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/img/incremental-etl.gif +0 -0
  213. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/static/robots.txt +0 -0
  214. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/tsconfig.json +0 -0
  215. {cocoindex-0.2.19 → cocoindex-0.2.21}/docs/yarn.lock +0 -0
  216. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/amazon_s3_embedding/.env.example +0 -0
  217. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/amazon_s3_embedding/.gitignore +0 -0
  218. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/amazon_s3_embedding/README.md +0 -0
  219. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/amazon_s3_embedding/main.py +0 -0
  220. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/amazon_s3_embedding/pyproject.toml +0 -0
  221. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/azure_blob_embedding/.env.example +0 -0
  222. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/azure_blob_embedding/.gitignore +0 -0
  223. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/azure_blob_embedding/README.md +0 -0
  224. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/azure_blob_embedding/main.py +0 -0
  225. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/azure_blob_embedding/pyproject.toml +0 -0
  226. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/code_embedding/.env +0 -0
  227. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/code_embedding/README.md +0 -0
  228. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/code_embedding/main.py +0 -0
  229. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/code_embedding/pyproject.toml +0 -0
  230. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/.env +0 -0
  231. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/.gitignore +0 -0
  232. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/README.md +0 -0
  233. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/data/bizarre_animals.md +0 -0
  234. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/data/chunk_norris.md +0 -0
  235. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/main.py +0 -0
  236. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/custom_output_files/pyproject.toml +0 -0
  237. {cocoindex-0.2.19/examples/face_recognition → cocoindex-0.2.21/examples/custom_source_hn}/.env +0 -0
  238. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/docs_to_knowledge_graph/.env +0 -0
  239. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/docs_to_knowledge_graph/pyproject.toml +0 -0
  240. {cocoindex-0.2.19/examples/manuals_llm_extraction → cocoindex-0.2.21/examples/face_recognition}/.env +0 -0
  241. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/README.md +0 -0
  242. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/images/Carter_welcomes_Reagan.jpg +0 -0
  243. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/images/Solvay_conference_1927.jpg +0 -0
  244. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/images/Steve_Jobs_and_Bill_Gates_(522695099).jpg +0 -0
  245. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/images/einplanck3.jpg +0 -0
  246. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/main.py +0 -0
  247. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/face_recognition/pyproject.toml +0 -0
  248. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/.dockerignore +0 -0
  249. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/.env +0 -0
  250. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/README.md +0 -0
  251. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/compose.yaml +0 -0
  252. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/dockerfile +0 -0
  253. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
  254. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/main.py +0 -0
  255. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/fastapi_server_docker/requirements.txt +0 -0
  256. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/gdrive_text_embedding/.env.example +0 -0
  257. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/gdrive_text_embedding/.gitignore +0 -0
  258. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/gdrive_text_embedding/README.md +0 -0
  259. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/gdrive_text_embedding/main.py +0 -0
  260. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/gdrive_text_embedding/pyproject.toml +0 -0
  261. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/.env +0 -0
  262. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/README.md +0 -0
  263. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/colpali_main.py +0 -0
  264. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/.gitignore +0 -0
  265. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/index.html +0 -0
  266. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/package-lock.json +0 -0
  267. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/package.json +0 -0
  268. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/src/App.jsx +0 -0
  269. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/src/main.jsx +0 -0
  270. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/src/style.css +0 -0
  271. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/frontend/vite.config.js +0 -0
  272. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/img/cat1.jpeg +0 -0
  273. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/img/dog1.jpeg +0 -0
  274. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/img/elephant1.jpg +0 -0
  275. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/img/giraffe.jpg +0 -0
  276. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/main.py +0 -0
  277. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/image_search/pyproject.toml +0 -0
  278. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/live_updates/.env +0 -0
  279. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/live_updates/README.md +0 -0
  280. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/live_updates/data/bizarre_animals.md +0 -0
  281. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/live_updates/data/chunk_norris.md +0 -0
  282. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/live_updates/main.py +0 -0
  283. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/live_updates/pyproject.toml +0 -0
  284. {cocoindex-0.2.19/examples/multi_format_indexing → cocoindex-0.2.21/examples/manuals_llm_extraction}/.env +0 -0
  285. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/README.md +0 -0
  286. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
  287. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
  288. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
  289. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
  290. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/manuals_llm_extraction/pyproject.toml +0 -0
  291. {cocoindex-0.2.19/examples/pdf_embedding → cocoindex-0.2.21/examples/multi_format_indexing}/.env +0 -0
  292. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/README.md +0 -0
  293. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/main.py +0 -0
  294. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/pyproject.toml +0 -0
  295. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/1706.03762v7.pdf +0 -0
  296. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/1810.04805v2.pdf +0 -0
  297. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/2502.06786v3.pdf +0 -0
  298. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/healthcare_industry_test_p101.jpg +0 -0
  299. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/healthcare_industry_test_p86.jpg +0 -0
  300. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/healthcare_industry_test_p9.jpg +0 -0
  301. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/restaurant_brands_international_2023.jpg +0 -0
  302. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/multi_format_indexing/source_files/sweetgreen_2023.jpg +0 -0
  303. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/.env.example +0 -0
  304. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/.gitignore +0 -0
  305. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/README.md +0 -0
  306. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/main.py +0 -0
  307. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/papers/1706.03762v7.pdf +0 -0
  308. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/papers/1810.04805v2.pdf +0 -0
  309. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/papers/2502.06786v3.pdf +0 -0
  310. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/papers/2502.20346v1.pdf +0 -0
  311. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/paper_metadata/pyproject.toml +0 -0
  312. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/.env.example +0 -0
  313. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/data/README.md +0 -0
  314. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_David_Artificial.docx +0 -0
  315. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Emily_Artificial.pdf +0 -0
  316. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Joe_Artificial.pdf +0 -0
  317. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_From_Jane_Artificial.docx +0 -0
  318. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/main.py +0 -0
  319. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/patient_intake_extraction/pyproject.toml +0 -0
  320. {cocoindex-0.2.19/examples/text_embedding → cocoindex-0.2.21/examples/pdf_elements_embedding}/.env +0 -0
  321. {cocoindex-0.2.19/examples/text_embedding_lancedb → cocoindex-0.2.21/examples/pdf_embedding}/.env +0 -0
  322. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/pdf_embedding/README.md +0 -0
  323. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/pdf_embedding/main.py +0 -0
  324. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
  325. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
  326. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
  327. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/pdf_embedding/pyproject.toml +0 -0
  328. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/postgres_source/.env +0 -0
  329. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/postgres_source/README.md +0 -0
  330. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/postgres_source/main.py +0 -0
  331. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/postgres_source/prepare_source_data.sql +0 -0
  332. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/postgres_source/pyproject.toml +0 -0
  333. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/.env.example +0 -0
  334. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/.gitignore +0 -0
  335. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/img/cocoinsight.png +0 -0
  336. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/img/neo4j.png +0 -0
  337. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p1.json +0 -0
  338. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p2.json +0 -0
  339. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p3.json +0 -0
  340. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p4.json +0 -0
  341. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p5.json +0 -0
  342. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p6.json +0 -0
  343. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p7.json +0 -0
  344. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p8.json +0 -0
  345. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/products/p9.json +0 -0
  346. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/product_recommendation/pyproject.toml +0 -0
  347. {cocoindex-0.2.19/examples/text_embedding_qdrant → cocoindex-0.2.21/examples/text_embedding}/.env +0 -0
  348. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/README.md +0 -0
  349. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/Text_Embedding.ipynb +0 -0
  350. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/main.py +0 -0
  351. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
  352. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
  353. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
  354. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding/pyproject.toml +0 -0
  355. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_lancedb/.gitignore +0 -0
  356. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_lancedb/README.md +0 -0
  357. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_lancedb/main.py +0 -0
  358. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_lancedb/markdown_files/rfc8259.md +0 -0
  359. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_lancedb/pyproject.toml +0 -0
  360. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_qdrant/main.py +0 -0
  361. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
  362. {cocoindex-0.2.19 → cocoindex-0.2.21}/examples/text_embedding_qdrant/pyproject.toml +0 -0
  363. {cocoindex-0.2.19 → cocoindex-0.2.21}/pyproject.toml +0 -0
  364. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/__init__.py +0 -0
  365. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/auth_registry.py +0 -0
  366. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/engine_object.py +0 -0
  367. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/functions/__init__.py +0 -0
  368. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/functions/_engine_builtin_specs.py +0 -0
  369. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/functions/colpali.py +0 -0
  370. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/functions/sbert.py +0 -0
  371. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/index.py +0 -0
  372. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/lib.py +0 -0
  373. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/py.typed +0 -0
  374. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/query_handler.py +0 -0
  375. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/runtime.py +0 -0
  376. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/setting.py +0 -0
  377. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/setup.py +0 -0
  378. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/sources/__init__.py +0 -0
  379. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/sources/_engine_builtin_specs.py +0 -0
  380. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/subprocess_exec.py +0 -0
  381. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/targets/__init__.py +0 -0
  382. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/targets/_engine_builtin_specs.py +0 -0
  383. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/targets/lancedb.py +0 -0
  384. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/__init__.py +0 -0
  385. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/test_engine_object.py +0 -0
  386. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/test_engine_value.py +0 -0
  387. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/test_optional_database.py +0 -0
  388. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/test_transform_flow.py +0 -0
  389. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/test_typing.py +0 -0
  390. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/tests/test_validation.py +0 -0
  391. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/user_app_loader.py +0 -0
  392. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/utils.py +0 -0
  393. {cocoindex-0.2.19 → cocoindex-0.2.21}/python/cocoindex/validation.py +0 -0
  394. {cocoindex-0.2.19 → cocoindex-0.2.21}/ruff.toml +0 -0
  395. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/duration.rs +0 -0
  396. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/field_attrs.rs +0 -0
  397. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/json_schema.rs +0 -0
  398. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/mod.rs +0 -0
  399. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/schema.rs +0 -0
  400. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/base/spec.rs +0 -0
  401. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/builder/exec_ctx.rs +0 -0
  402. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/builder/mod.rs +0 -0
  403. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/db_tracking.rs +0 -0
  404. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/db_tracking_setup.rs +0 -0
  405. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/dumper.rs +0 -0
  406. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/evaluator.rs +0 -0
  407. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/live_updater.rs +0 -0
  408. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/memoization.rs +0 -0
  409. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/mod.rs +0 -0
  410. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/execution/stats.rs +0 -0
  411. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/lib.rs +0 -0
  412. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/anthropic.rs +0 -0
  413. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/gemini.rs +0 -0
  414. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/litellm.rs +0 -0
  415. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/ollama.rs +0 -0
  416. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/openai.rs +0 -0
  417. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/openrouter.rs +0 -0
  418. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/vllm.rs +0 -0
  419. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/llm/voyage.rs +0 -0
  420. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/factory_bases.rs +0 -0
  421. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/detect_program_lang.rs +0 -0
  422. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/embed_text.rs +0 -0
  423. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/extract_by_llm.rs +0 -0
  424. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/mod.rs +0 -0
  425. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/parse_json.rs +0 -0
  426. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/split_by_separators.rs +0 -0
  427. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/split_recursively.rs +0 -0
  428. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/functions/test_utils.rs +0 -0
  429. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/mod.rs +0 -0
  430. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/registration.rs +0 -0
  431. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/registry.rs +0 -0
  432. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sdk.rs +0 -0
  433. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/shared/mod.rs +0 -0
  434. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/shared/postgres.rs +0 -0
  435. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/shared/program_langs.rs +0 -0
  436. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/shared/split.rs +0 -0
  437. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/mod.rs +0 -0
  438. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/postgres.rs +0 -0
  439. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/shared/mod.rs +0 -0
  440. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/sources/shared/pattern_matcher.rs +0 -0
  441. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/kuzu.rs +0 -0
  442. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/mod.rs +0 -0
  443. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/neo4j.rs +0 -0
  444. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/postgres.rs +0 -0
  445. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/qdrant.rs +0 -0
  446. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/shared/mod.rs +0 -0
  447. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/shared/property_graph.rs +0 -0
  448. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/ops/targets/shared/table_columns.rs +0 -0
  449. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/prelude.rs +0 -0
  450. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/server.rs +0 -0
  451. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/service/error.rs +0 -0
  452. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/service/flows.rs +0 -0
  453. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/service/mod.rs +0 -0
  454. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/service/query_handler.rs +0 -0
  455. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/settings.rs +0 -0
  456. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/auth_registry.rs +0 -0
  457. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/components.rs +0 -0
  458. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/db_metadata.rs +0 -0
  459. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/driver.rs +0 -0
  460. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/flow_features.rs +0 -0
  461. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/mod.rs +0 -0
  462. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/setup/states.rs +0 -0
  463. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/concur_control.rs +0 -0
  464. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/db.rs +0 -0
  465. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/deser.rs +0 -0
  466. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/immutable.rs +0 -0
  467. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/retryable.rs +0 -0
  468. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/str_sanitize.rs +0 -0
  469. {cocoindex-0.2.19 → cocoindex-0.2.21}/src/utils/yaml_ser.rs +0 -0
@@ -13,6 +13,8 @@ jobs:
13
13
  environment: docs-release
14
14
  steps:
15
15
  - uses: actions/checkout@v4
16
+ with:
17
+ fetch-depth: 1
16
18
  - uses: actions/setup-node@v4
17
19
  with:
18
20
  cache: yarn
@@ -17,37 +17,48 @@ jobs:
17
17
  platform:
18
18
  - { runner: ubuntu-latest, python_exec: ".venv/bin/python" }
19
19
  - { runner: ubuntu-24.04-arm, python_exec: ".venv/bin/python" }
20
- - { runner: macos-latest, python_exec: ".venv/bin/python" }
21
- - { runner: macos-13, python_exec: ".venv/bin/python" }
20
+ - { runner: macos-latest, python_exec: ".venv/bin/python", extra_rustflags: "-C split-debuginfo=off"}
21
+ - { runner: macos-13, python_exec: ".venv/bin/python", extra_rustflags: "-C split-debuginfo=off"}
22
22
  - { runner: windows-latest, python_exec: ".venv\\Scripts\\python" }
23
23
  runs-on: ${{ matrix.platform.runner }}
24
+ env:
25
+ RUSTFLAGS: "-C debuginfo=0 ${{ matrix.platform.extra_rustflags }}"
26
+ CARGO_INCREMENTAL: "0"
27
+ SCCACHE_GHA_ENABLED: "true"
28
+ RUSTC_WRAPPER: "sccache"
29
+
24
30
  steps:
25
31
  - uses: actions/checkout@v4
32
+ with:
33
+ fetch-depth: 1
34
+
35
+ - name: Run sccache-cache
36
+ uses: mozilla-actions/sccache-action@v0.0.9
26
37
 
27
38
  - uses: actions/setup-python@v5
28
39
  id: setup_python
29
40
  with:
30
41
  python-version: ${{ matrix.python-version }}
31
- cache: 'pip'
42
+ # Python cache is huge and saves little time, so disabled for now, until we have higher cache size limits
43
+ # cache: 'pip'
32
44
 
33
45
  - run: rustup toolchain install stable --profile minimal
34
- - name: Rust Cache
35
- uses: Swatinem/rust-cache@v2
36
- with:
37
- key: rust-${{ matrix.platform.runner }}-${{ matrix.python-version }}
46
+
47
+ # Disable Rust cache until we have higher cache size limits
48
+ # - name: Rust Cache
49
+ # uses: Swatinem/rust-cache@v2
50
+ # with:
51
+ # key: rust-${{ matrix.platform.runner }}-${{ matrix.python-version }}
52
+ # cache-targets: 'false'
53
+ # cache-all-crates: 'false'
54
+ # cache-workspace-crates: 'false'
55
+
38
56
  - name: Rust tests (no default features)
39
57
  run: cargo test --no-default-features --verbose
40
58
 
41
59
  - name: Rust tests
42
60
  run: cargo test --verbose
43
61
 
44
- - uses: actions/cache@v4
45
- with:
46
- path: .venv
47
- key: pyenv-${{ matrix.platform.runner }}-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('pyproject.toml') }}
48
- restore-keys: |
49
- pyenv-${{ matrix.platform.runner }}-${{ steps.setup_python.outputs.python-version }}-
50
-
51
62
  - name: Setup venv
52
63
  run: |
53
64
  python -m venv .venv
@@ -56,7 +67,7 @@ jobs:
56
67
  ${{ matrix.platform.python_exec }} -m pip install maturin mypy pytest pytest-asyncio
57
68
  - name: Python build
58
69
  run: |
59
- ${{ matrix.platform.python_exec }} -m maturin develop -E all
70
+ ${{ matrix.platform.python_exec }} -m maturin develop --strip -E all
60
71
  - name: Python type check (mypy)
61
72
  run: |
62
73
  ${{ matrix.platform.python_exec }} -m mypy python
@@ -68,6 +79,8 @@ jobs:
68
79
  runs-on: ubuntu-latest
69
80
  steps:
70
81
  - uses: actions/checkout@v4
82
+ with:
83
+ fetch-depth: 1
71
84
  - name: Install Rust toolchain
72
85
  uses: dtolnay/rust-toolchain@stable
73
86
  - uses: taiki-e/install-action@v2
@@ -15,6 +15,8 @@ jobs:
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
17
  - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 1
18
20
  - uses: actions/setup-node@v4
19
21
  with:
20
22
  cache: yarn
@@ -29,6 +29,8 @@ jobs:
29
29
  runs-on: ubuntu-latest
30
30
  steps:
31
31
  - uses: actions/checkout@v4
32
+ with:
33
+ fetch-depth: 1
32
34
  - uses: dtolnay/rust-toolchain@stable
33
35
  with:
34
36
  components: rustfmt
@@ -41,6 +43,8 @@ jobs:
41
43
  runs-on: ubuntu-latest
42
44
  steps:
43
45
  - uses: actions/checkout@v4
46
+ with:
47
+ fetch-depth: 1
44
48
  - uses: actions/setup-python@v5
45
49
  with:
46
50
  python-version: 3.11
@@ -19,6 +19,8 @@ jobs:
19
19
  runs-on: ubuntu-latest
20
20
  steps:
21
21
  - uses: actions/checkout@v4
22
+ with:
23
+ fetch-depth: 1
22
24
  - run: ./.github/scripts/update_version.sh
23
25
  - uses: actions/upload-artifact@v4
24
26
  with:
@@ -30,6 +32,8 @@ jobs:
30
32
  needs: [create-versioned-toml]
31
33
  steps:
32
34
  - uses: actions/checkout@v4
35
+ with:
36
+ fetch-depth: 1
33
37
  - uses: actions/download-artifact@v4
34
38
  with:
35
39
  name: Cargo.toml
@@ -61,6 +65,8 @@ jobs:
61
65
  - { os: windows, runner: windows-latest, target: x64 }
62
66
  steps:
63
67
  - uses: actions/checkout@v4
68
+ with:
69
+ fetch-depth: 1
64
70
  - uses: actions/download-artifact@v4
65
71
  with:
66
72
  name: Cargo.toml
@@ -107,6 +113,8 @@ jobs:
107
113
  needs: [create-versioned-toml, generate-3p-notices]
108
114
  steps:
109
115
  - uses: actions/checkout@v4
116
+ with:
117
+ fetch-depth: 1
110
118
  - uses: actions/download-artifact@v4
111
119
  with:
112
120
  name: Cargo.toml
@@ -138,6 +146,8 @@ jobs:
138
146
  environment: release
139
147
  steps:
140
148
  - uses: actions/checkout@v4
149
+ with:
150
+ fetch-depth: 1
141
151
  - uses: actions/download-artifact@v4
142
152
  with:
143
153
  name: Cargo.toml
@@ -1283,7 +1283,7 @@ dependencies = [
1283
1283
 
1284
1284
  [[package]]
1285
1285
  name = "cocoindex"
1286
- version = "0.2.19"
1286
+ version = "0.2.21"
1287
1287
  dependencies = [
1288
1288
  "anyhow",
1289
1289
  "async-openai",
@@ -1305,6 +1305,7 @@ dependencies = [
1305
1305
  "config",
1306
1306
  "const_format",
1307
1307
  "derivative",
1308
+ "encoding_rs",
1308
1309
  "env_logger",
1309
1310
  "expect-test",
1310
1311
  "futures",
@@ -2,7 +2,7 @@
2
2
  name = "cocoindex"
3
3
  # Version used for local development is always higher than others to take precedence.
4
4
  # Will be overridden for specific release versions.
5
- version = "0.2.19"
5
+ version = "0.2.21"
6
6
  edition = "2024"
7
7
  rust-version = "1.89"
8
8
  license = "Apache-2.0"
@@ -10,6 +10,7 @@ readme = "README.md"
10
10
 
11
11
  [profile.release]
12
12
  codegen-units = 1
13
+ strip = "symbols"
13
14
  lto = true
14
15
 
15
16
  [lib]
@@ -153,3 +154,4 @@ azure_storage_blobs = { version = "0.21.0", default-features = false, features =
153
154
  ] }
154
155
  serde_path_to_error = "0.1.17"
155
156
  expect-test = "1.5.0"
157
+ encoding_rs = "0.8.35"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cocoindex
3
- Version: 0.2.19
3
+ Version: 0.2.21
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Operating System :: OS Independent
@@ -75,7 +75,6 @@ Project-URL: Homepage, https://cocoindex.io/
75
75
  <a href="https://trendshift.io/repositories/13939" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13939" alt="cocoindex-io%2Fcocoindex | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
76
76
  </div>
77
77
 
78
-
79
78
  Ultra performant data transformation framework for AI, with core engine written in Rust. Support incremental processing and data lineage out-of-box. Exceptional developer velocity. Production-ready at day 0.
80
79
 
81
80
  ⭐ Drop a star to help us grow!
@@ -113,9 +112,8 @@ CocoIndex makes it effortless to transform data with AI, and keep source data an
113
112
 
114
113
  </br>
115
114
 
116
-
117
-
118
115
  ## Exceptional velocity
116
+
119
117
  Just declare transformation in dataflow with ~100 lines of python
120
118
 
121
119
  ```python
@@ -139,6 +137,7 @@ CocoIndex follows the idea of [Dataflow](https://en.wikipedia.org/wiki/Dataflow_
139
137
  **Particularly**, developers don't explicitly mutate data by creating, updating and deleting. They just need to define transformation/formula for a set of source data.
140
138
 
141
139
  ## Plug-and-Play Building Blocks
140
+
142
141
  Native builtins for different source, targets and transformations. Standardize interface, make it 1-line code switch between different components - as easy as assembling building blocks.
143
142
 
144
143
  <p align="center">
@@ -146,6 +145,7 @@ Native builtins for different source, targets and transformations. Standardize i
146
145
  </p>
147
146
 
148
147
  ## Data Freshness
148
+
149
149
  CocoIndex keep source data and target in sync effortlessly.
150
150
 
151
151
  <p align="center">
@@ -153,11 +153,14 @@ CocoIndex keep source data and target in sync effortlessly.
153
153
  </p>
154
154
 
155
155
  It has out-of-box support for incremental indexing:
156
+
156
157
  - minimal recomputation on source or logic change.
157
158
  - (re-)processing necessary portions; reuse cache when possible
158
159
 
159
- ## Quick Start:
160
+ ## Quick Start
161
+
160
162
  If you're new to CocoIndex, we recommend checking out
163
+
161
164
  - 📖 [Documentation](https://cocoindex.io/docs)
162
165
  - ⚡ [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart)
163
166
  - 🎬 [Quick Start Video Tutorial](https://youtu.be/gv5R8nOXsWU?si=9ioeKYkMEnYevTXT)
@@ -172,7 +175,6 @@ pip install -U cocoindex
172
175
 
173
176
  2. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. CocoIndex uses it for incremental processing.
174
177
 
175
-
176
178
  ## Define data flow
177
179
 
178
180
  Follow [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart) to define your first indexing flow. An example flow looks like:
@@ -228,6 +230,7 @@ It defines an index flow like this:
228
230
  | [Text Embedding](examples/text_embedding) | Index text documents with embeddings for semantic search |
229
231
  | [Code Embedding](examples/code_embedding) | Index code embeddings for semantic search |
230
232
  | [PDF Embedding](examples/pdf_embedding) | Parse PDF and index text embeddings for semantic search |
233
+ | [PDF Elements Embedding](examples/pdf_elements_embedding) | Extract text and images from PDFs; embed text with SentenceTransformers and images with CLIP; store in Qdrant for multimodal search |
231
234
  | [Manuals LLM Extraction](examples/manuals_llm_extraction) | Extract structured information from a manual using LLM |
232
235
  | [Amazon S3 Embedding](examples/amazon_s3_embedding) | Index text documents from Amazon S3 |
233
236
  | [Azure Blob Storage Embedding](examples/azure_blob_embedding) | Index text documents from Azure Blob Storage |
@@ -244,16 +247,18 @@ It defines an index flow like this:
244
247
  | [Custom Output Files](examples/custom_output_files) | Convert markdown files to HTML files and save them to a local directory, using *CocoIndex Custom Targets* |
245
248
  | [Patient intake form extraction](examples/patient_intake_extraction) | Use LLM to extract structured data from patient intake forms with different formats |
246
249
 
247
-
248
250
  More coming and stay tuned 👀!
249
251
 
250
252
  ## 📖 Documentation
253
+
251
254
  For detailed documentation, visit [CocoIndex Documentation](https://cocoindex.io/docs), including a [Quickstart guide](https://cocoindex.io/docs/getting_started/quickstart).
252
255
 
253
256
  ## 🤝 Contributing
257
+
254
258
  We love contributions from our community ❤️. For details on contributing or running the project for development, check out our [contributing guide](https://cocoindex.io/docs/about/contributing).
255
259
 
256
260
  ## 👥 Community
261
+
257
262
  Welcome with a huge coconut hug 🥥⋆。˚🤗. We are super excited for community contributions of all kinds - whether it's code improvements, documentation updates, issue reports, feature requests, and discussions in our Discord.
258
263
 
259
264
  Join our community here:
@@ -263,9 +268,11 @@ Join our community here:
263
268
  - ▶️ [Subscribe to our YouTube channel](https://www.youtube.com/@cocoindex-io)
264
269
  - 📜 [Read our blog posts](https://cocoindex.io/blogs/)
265
270
 
266
- ## Support us:
271
+ ## Support us
272
+
267
273
  We are constantly improving, and more features and examples are coming soon. If you love this project, please drop us a star ⭐ at GitHub repo [![GitHub](https://img.shields.io/github/stars/cocoindex-io/cocoindex?color=5B5BD6)](https://github.com/cocoindex-io/cocoindex) to stay tuned and help us grow.
268
274
 
269
275
  ## License
276
+
270
277
  CocoIndex is Apache 2.0 licensed.
271
278
 
@@ -22,7 +22,6 @@
22
22
  <a href="https://trendshift.io/repositories/13939" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13939" alt="cocoindex-io%2Fcocoindex | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
23
23
  </div>
24
24
 
25
-
26
25
  Ultra performant data transformation framework for AI, with core engine written in Rust. Support incremental processing and data lineage out-of-box. Exceptional developer velocity. Production-ready at day 0.
27
26
 
28
27
  ⭐ Drop a star to help us grow!
@@ -60,9 +59,8 @@ CocoIndex makes it effortless to transform data with AI, and keep source data an
60
59
 
61
60
  </br>
62
61
 
63
-
64
-
65
62
  ## Exceptional velocity
63
+
66
64
  Just declare transformation in dataflow with ~100 lines of python
67
65
 
68
66
  ```python
@@ -86,6 +84,7 @@ CocoIndex follows the idea of [Dataflow](https://en.wikipedia.org/wiki/Dataflow_
86
84
  **Particularly**, developers don't explicitly mutate data by creating, updating and deleting. They just need to define transformation/formula for a set of source data.
87
85
 
88
86
  ## Plug-and-Play Building Blocks
87
+
89
88
  Native builtins for different source, targets and transformations. Standardize interface, make it 1-line code switch between different components - as easy as assembling building blocks.
90
89
 
91
90
  <p align="center">
@@ -93,6 +92,7 @@ Native builtins for different source, targets and transformations. Standardize i
93
92
  </p>
94
93
 
95
94
  ## Data Freshness
95
+
96
96
  CocoIndex keep source data and target in sync effortlessly.
97
97
 
98
98
  <p align="center">
@@ -100,11 +100,14 @@ CocoIndex keep source data and target in sync effortlessly.
100
100
  </p>
101
101
 
102
102
  It has out-of-box support for incremental indexing:
103
+
103
104
  - minimal recomputation on source or logic change.
104
105
  - (re-)processing necessary portions; reuse cache when possible
105
106
 
106
- ## Quick Start:
107
+ ## Quick Start
108
+
107
109
  If you're new to CocoIndex, we recommend checking out
110
+
108
111
  - 📖 [Documentation](https://cocoindex.io/docs)
109
112
  - ⚡ [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart)
110
113
  - 🎬 [Quick Start Video Tutorial](https://youtu.be/gv5R8nOXsWU?si=9ioeKYkMEnYevTXT)
@@ -119,7 +122,6 @@ pip install -U cocoindex
119
122
 
120
123
  2. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. CocoIndex uses it for incremental processing.
121
124
 
122
-
123
125
  ## Define data flow
124
126
 
125
127
  Follow [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart) to define your first indexing flow. An example flow looks like:
@@ -175,6 +177,7 @@ It defines an index flow like this:
175
177
  | [Text Embedding](examples/text_embedding) | Index text documents with embeddings for semantic search |
176
178
  | [Code Embedding](examples/code_embedding) | Index code embeddings for semantic search |
177
179
  | [PDF Embedding](examples/pdf_embedding) | Parse PDF and index text embeddings for semantic search |
180
+ | [PDF Elements Embedding](examples/pdf_elements_embedding) | Extract text and images from PDFs; embed text with SentenceTransformers and images with CLIP; store in Qdrant for multimodal search |
178
181
  | [Manuals LLM Extraction](examples/manuals_llm_extraction) | Extract structured information from a manual using LLM |
179
182
  | [Amazon S3 Embedding](examples/amazon_s3_embedding) | Index text documents from Amazon S3 |
180
183
  | [Azure Blob Storage Embedding](examples/azure_blob_embedding) | Index text documents from Azure Blob Storage |
@@ -191,16 +194,18 @@ It defines an index flow like this:
191
194
  | [Custom Output Files](examples/custom_output_files) | Convert markdown files to HTML files and save them to a local directory, using *CocoIndex Custom Targets* |
192
195
  | [Patient intake form extraction](examples/patient_intake_extraction) | Use LLM to extract structured data from patient intake forms with different formats |
193
196
 
194
-
195
197
  More coming and stay tuned 👀!
196
198
 
197
199
  ## 📖 Documentation
200
+
198
201
  For detailed documentation, visit [CocoIndex Documentation](https://cocoindex.io/docs), including a [Quickstart guide](https://cocoindex.io/docs/getting_started/quickstart).
199
202
 
200
203
  ## 🤝 Contributing
204
+
201
205
  We love contributions from our community ❤️. For details on contributing or running the project for development, check out our [contributing guide](https://cocoindex.io/docs/about/contributing).
202
206
 
203
207
  ## 👥 Community
208
+
204
209
  Welcome with a huge coconut hug 🥥⋆。˚🤗. We are super excited for community contributions of all kinds - whether it's code improvements, documentation updates, issue reports, feature requests, and discussions in our Discord.
205
210
 
206
211
  Join our community here:
@@ -210,8 +215,10 @@ Join our community here:
210
215
  - ▶️ [Subscribe to our YouTube channel](https://www.youtube.com/@cocoindex-io)
211
216
  - 📜 [Read our blog posts](https://cocoindex.io/blogs/)
212
217
 
213
- ## Support us:
218
+ ## Support us
219
+
214
220
  We are constantly improving, and more features and examples are coming soon. If you love this project, please drop us a star ⭐ at GitHub repo [![GitHub](https://img.shields.io/github/stars/cocoindex-io/cocoindex?color=5B5BD6)](https://github.com/cocoindex-io/cocoindex) to stay tuned and help us grow.
215
221
 
216
222
  ## License
223
+
217
224
  CocoIndex is Apache 2.0 licensed.
@@ -2428,7 +2428,7 @@ Software.
2428
2428
  <h3 id="Apache-2.0">Apache License 2.0</h3>
2429
2429
  <h4>Used by:</h4>
2430
2430
  <ul class="license-used-by">
2431
- <li><a href=" https://crates.io/crates/cocoindex ">cocoindex 0.2.19</a></li>
2431
+ <li><a href=" https://crates.io/crates/cocoindex ">cocoindex 0.2.21</a></li>
2432
2432
  <li><a href=" https://github.com/awesomized/crc-fast-rust ">crc-fast 1.3.0</a></li>
2433
2433
  <li><a href=" https://github.com/qdrant/rust-client ">qdrant-client 1.15.0</a></li>
2434
2434
  </ul>
@@ -10677,6 +10677,38 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
10677
10677
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
10678
10678
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
10679
10679
  THE SOFTWARE.</pre>
10680
+ </li>
10681
+ <li class="license">
10682
+ <h3 id="MIT">MIT License</h3>
10683
+ <h4>Used by:</h4>
10684
+ <ul class="license-used-by">
10685
+ <li><a href=" https://github.com/tree-sitter/tree-sitter-scala ">tree-sitter-scala 0.24.0</a></li>
10686
+ </ul>
10687
+ <pre class="license-text">(The MIT License)
10688
+
10689
+ Copyright (c) 2014 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
10690
+
10691
+ Permission is hereby granted, free of charge, to any person
10692
+ obtaining a copy of this software and associated documentation
10693
+ files (the &quot;Software&quot;), to deal in the Software without
10694
+ restriction, including without limitation the rights to use,
10695
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
10696
+ copies of the Software, and to permit persons to whom the
10697
+ Software is furnished to do so, subject to the following
10698
+ conditions:
10699
+
10700
+ The above copyright notice and this permission notice shall be
10701
+ included in all copies or substantial portions of the Software.
10702
+
10703
+ THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
10704
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
10705
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
10706
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
10707
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
10708
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
10709
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10710
+ OTHER DEALINGS IN THE SOFTWARE.
10711
+ </pre>
10680
10712
  </li>
10681
10713
  <li class="license">
10682
10714
  <h3 id="MIT">MIT License</h3>
@@ -12300,32 +12332,6 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12300
12332
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12301
12333
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
12302
12334
  THE SOFTWARE.
12303
- </pre>
12304
- </li>
12305
- <li class="license">
12306
- <h3 id="MIT">MIT License</h3>
12307
- <h4>Used by:</h4>
12308
- <ul class="license-used-by">
12309
- <li><a href=" https://github.com/tree-sitter/tree-sitter-scala ">tree-sitter-scala 0.24.0</a></li>
12310
- </ul>
12311
- <pre class="license-text">This software is released under the MIT license:
12312
-
12313
- Permission is hereby granted, free of charge, to any person obtaining a copy of
12314
- this software and associated documentation files (the &quot;Software&quot;), to deal in
12315
- the Software without restriction, including without limitation the rights to
12316
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
12317
- the Software, and to permit persons to whom the Software is furnished to do so,
12318
- subject to the following conditions:
12319
-
12320
- The above copyright notice and this permission notice shall be included in all
12321
- copies or substantial portions of the Software.
12322
-
12323
- THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12324
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
12325
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
12326
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
12327
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
12328
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12329
12335
  </pre>
12330
12336
  </li>
12331
12337
  <li class="license">
@@ -28,6 +28,7 @@ We support the following types of LLM APIs:
28
28
  | [LiteLLM](#litellm) | `LlmApiType.LITE_LLM` | ✅ | ❌ |
29
29
  | [OpenRouter](#openrouter) | `LlmApiType.OPEN_ROUTER` | ✅ | ❌ |
30
30
  | [vLLM](#vllm) | `LlmApiType.VLLM` | ✅ | ❌ |
31
+ | [Bedrock](#bedrock) | `LlmApiType.BEDROCK` | ✅ | ❌ |
31
32
 
32
33
  ## LLM Tasks
33
34
 
@@ -440,3 +441,28 @@ cocoindex.LlmSpec(
440
441
 
441
442
  </TabItem>
442
443
  </Tabs>
444
+
445
+ ### Bedrock
446
+
447
+ To use the Bedrock API, you need to set up AWS credentials. You can do this by setting the following environment variables:
448
+
449
+ - `AWS_ACCESS_KEY_ID`
450
+ - `AWS_SECRET_ACCESS_KEY`
451
+ - `AWS_SESSION_TOKEN` (optional)
452
+
453
+ A spec for Bedrock looks like this:
454
+
455
+ <Tabs>
456
+ <TabItem value="python" label="Python" default>
457
+
458
+ ```python
459
+ cocoindex.LlmSpec(
460
+ api_type=cocoindex.LlmApiType.BEDROCK,
461
+ model="us.anthropic.claude-3-5-haiku-20241022-v1:0",
462
+ )
463
+ ```
464
+
465
+ </TabItem>
466
+ </Tabs>
467
+
468
+ You can find the full list of models supported by Bedrock [here](https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html).