cocoindex 0.2.17__tar.gz → 0.2.19__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.
Files changed (455) hide show
  1. {cocoindex-0.2.17 → cocoindex-0.2.19}/Cargo.lock +14 -3
  2. {cocoindex-0.2.17 → cocoindex-0.2.19}/Cargo.toml +3 -3
  3. {cocoindex-0.2.17 → cocoindex-0.2.19}/PKG-INFO +1 -1
  4. {cocoindex-0.2.17 → cocoindex-0.2.19}/THIRD_PARTY_NOTICES.html +34 -4
  5. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/flow_def.mdx +3 -3
  6. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/flow_methods.mdx +1 -1
  7. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/settings.mdx +20 -18
  8. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/image_search.md +1 -1
  9. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/multi_format_index.md +1 -1
  10. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/photo_search.md +2 -2
  11. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/postgres_source.md +1 -1
  12. cocoindex-0.2.19/docs/docs/ops/functions.md +252 -0
  13. cocoindex-0.2.19/docs/docs/sources/amazons3.md +121 -0
  14. cocoindex-0.2.19/docs/docs/sources/azureblob.md +80 -0
  15. cocoindex-0.2.19/docs/docs/sources/googledrive.md +56 -0
  16. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/sources/index.md +5 -5
  17. cocoindex-0.2.19/docs/docs/sources/localfile.md +30 -0
  18. cocoindex-0.2.19/docs/docs/sources/postgres.md +104 -0
  19. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/targets/postgres.md +5 -0
  20. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/sidebars.ts +15 -14
  21. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/amazon_s3_embedding/README.md +1 -1
  22. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/azure_blob_embedding/README.md +1 -1
  23. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/code_embedding/main.py +4 -9
  24. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/docs_to_knowledge_graph/README.md +1 -1
  25. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/docs_to_knowledge_graph/main.py +14 -4
  26. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/gdrive_text_embedding/README.md +1 -1
  27. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/main.py +0 -12
  28. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/functions/__init__.py +5 -10
  29. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/functions/_engine_builtin_specs.py +4 -0
  30. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/sources/_engine_builtin_specs.py +3 -0
  31. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/targets/_engine_builtin_specs.py +10 -1
  32. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/spec.rs +1 -1
  33. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/evaluator.rs +44 -32
  34. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/live_updater.rs +209 -156
  35. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/openai.rs +102 -76
  36. cocoindex-0.2.19/src/ops/functions/detect_program_lang.rs +125 -0
  37. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/mod.rs +1 -0
  38. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/split_recursively.rs +50 -218
  39. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/registration.rs +4 -3
  40. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/shared/mod.rs +1 -0
  41. cocoindex-0.2.19/src/ops/shared/program_langs.rs +495 -0
  42. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/postgres.rs +34 -18
  43. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/neo4j.rs +30 -8
  44. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/postgres.rs +212 -51
  45. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/retryable.rs +30 -15
  46. cocoindex-0.2.17/docs/docs/ops/functions.md +0 -241
  47. {cocoindex-0.2.17 → cocoindex-0.2.19}/.cargo/config.toml +0 -0
  48. {cocoindex-0.2.17 → cocoindex-0.2.19}/.env.lib_debug +0 -0
  49. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
  50. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
  51. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/SECURITY.md +0 -0
  52. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/scripts/update_version.sh +0 -0
  53. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/CI.yml +0 -0
  54. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/_docs_release.yml +0 -0
  55. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/_test.yml +0 -0
  56. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/docs_release.yml +0 -0
  57. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/docs_test.yml +0 -0
  58. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/format.yml +0 -0
  59. {cocoindex-0.2.17 → cocoindex-0.2.19}/.github/workflows/release.yml +0 -0
  60. {cocoindex-0.2.17 → cocoindex-0.2.19}/.gitignore +0 -0
  61. {cocoindex-0.2.17 → cocoindex-0.2.19}/.pre-commit-config.yaml +0 -0
  62. {cocoindex-0.2.17 → cocoindex-0.2.19}/CODE_OF_CONDUCT.md +0 -0
  63. {cocoindex-0.2.17 → cocoindex-0.2.19}/CONTRIBUTING.md +0 -0
  64. {cocoindex-0.2.17 → cocoindex-0.2.19}/LICENSE +0 -0
  65. {cocoindex-0.2.17 → cocoindex-0.2.19}/README.md +0 -0
  66. {cocoindex-0.2.17 → cocoindex-0.2.19}/about.hbs +0 -0
  67. {cocoindex-0.2.17 → cocoindex-0.2.19}/about.toml +0 -0
  68. {cocoindex-0.2.17 → cocoindex-0.2.19}/dev/README.md +0 -0
  69. {cocoindex-0.2.17 → cocoindex-0.2.19}/dev/generate_cli_docs.py +0 -0
  70. {cocoindex-0.2.17 → cocoindex-0.2.19}/dev/neo4j.yaml +0 -0
  71. {cocoindex-0.2.17 → cocoindex-0.2.19}/dev/postgres.yaml +0 -0
  72. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/.gitignore +0 -0
  73. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/README.md +0 -0
  74. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/about/community.md +0 -0
  75. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/ai/llm.mdx +0 -0
  76. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/contributing/guide.md +0 -0
  77. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/contributing/new_built_in_target.mdx +0 -0
  78. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/contributing/setup_dev_environment.md +0 -0
  79. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/basics.md +0 -0
  80. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/cli-commands.md +0 -0
  81. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/cli.mdx +0 -0
  82. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/data_example.svg +0 -0
  83. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/data_types.mdx +0 -0
  84. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/core/flow_example.svg +0 -0
  85. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/custom_ops/custom_functions.mdx +0 -0
  86. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/custom_ops/custom_targets.mdx +0 -0
  87. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/academic_papers_index.md +0 -0
  88. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/codebase_index.md +0 -0
  89. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/custom_targets.md +0 -0
  90. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/docs_to_knowledge_graph.md +0 -0
  91. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/document_ai.md +0 -0
  92. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/manual_extraction.md +0 -0
  93. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/patient_form_extraction.md +0 -0
  94. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/product_recommendation.md +0 -0
  95. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/examples/simple_vector_index.md +0 -0
  96. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/examples/index.md +0 -0
  97. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/getting_started/installation.md +0 -0
  98. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/getting_started/markdown_files.zip +0 -0
  99. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/getting_started/overview.md +0 -0
  100. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/getting_started/quickstart.md +0 -0
  101. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/query.mdx +0 -0
  102. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/targets/index.md +0 -0
  103. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/targets/kuzu.md +0 -0
  104. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/targets/lancedb.md +0 -0
  105. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/targets/neo4j.md +0 -0
  106. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/targets/qdrant.md +0 -0
  107. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/tutorials/live_updates.md +0 -0
  108. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docs/tutorials/manage_flow_dynamically.mdx +0 -0
  109. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/docusaurus.config.ts +0 -0
  110. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/package.json +0 -0
  111. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/components/GitHubButton/index.tsx +0 -0
  112. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/css/custom.css +0 -0
  113. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/theme/DocCard/index.tsx +0 -0
  114. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/theme/DocCard/styles.module.css +0 -0
  115. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/theme/DocCardList/index.tsx +0 -0
  116. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/theme/DocCardList/styles.module.css +0 -0
  117. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/src/theme/Root.js +0 -0
  118. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/.nojekyll +0 -0
  119. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/docusaurus.png +0 -0
  120. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/abstract_chunks.png +0 -0
  121. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/basic_info.png +0 -0
  122. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/chunk_embedding.png +0 -0
  123. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/cover.png +0 -0
  124. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/first_page.png +0 -0
  125. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/flow.png +0 -0
  126. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/academic_papers_index/metadata.png +0 -0
  127. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/codebase_index/chunk.png +0 -0
  128. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/codebase_index/cover.png +0 -0
  129. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/codebase_index/flow.png +0 -0
  130. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/custom_targets/convert.png +0 -0
  131. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/custom_targets/cover.png +0 -0
  132. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/cover.png +0 -0
  133. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/dedupe.png +0 -0
  134. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/export_document.png +0 -0
  135. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/export_relationship.png +0 -0
  136. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/extract_relationship.png +0 -0
  137. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/flow.png +0 -0
  138. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/relationship.png +0 -0
  139. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/docs_to_knowledge_graph/summary.png +0 -0
  140. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/document_ai/cover.png +0 -0
  141. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/document_ai/document_ai.png +0 -0
  142. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/document_ai/processor.png +0 -0
  143. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/image_search/cover.png +0 -0
  144. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/image_search/embedding.png +0 -0
  145. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/image_search/flow.png +0 -0
  146. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/image_search/multi_modal_architecture.png +0 -0
  147. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/image_search/result.png +0 -0
  148. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/manual_extraction/cover.png +0 -0
  149. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/manual_extraction/extraction.png +0 -0
  150. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/manual_extraction/flow.png +0 -0
  151. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/manual_extraction/summary.png +0 -0
  152. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/multi_format_index/colpali_architecture.png +0 -0
  153. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/multi_format_index/cover.png +0 -0
  154. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/multi_format_index/embed.png +0 -0
  155. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/multi_format_index/flow.png +0 -0
  156. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/multi_format_index/pages.png +0 -0
  157. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/patient_form_extraction/cover.png +0 -0
  158. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/patient_form_extraction/extraction.png +0 -0
  159. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/patient_form_extraction/fields.png +0 -0
  160. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/patient_form_extraction/flow.png +0 -0
  161. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/patient_form_extraction/tomarkdown.png +0 -0
  162. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/photo_search/cover.png +0 -0
  163. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/photo_search/extraction.png +0 -0
  164. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/photo_search/flow.png +0 -0
  165. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/collector.png +0 -0
  166. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/cover.png +0 -0
  167. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/description.png +0 -0
  168. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/embed.png +0 -0
  169. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/flow.png +0 -0
  170. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/lineage.png +0 -0
  171. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/price.png +0 -0
  172. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/postgres_source/source.png +0 -0
  173. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/cover.png +0 -0
  174. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/dedupe.png +0 -0
  175. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/export_all.png +0 -0
  176. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/export_product.png +0 -0
  177. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/export_taxonomy.png +0 -0
  178. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/extract_product.png +0 -0
  179. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/extract_taxonomy.png +0 -0
  180. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/neo4j.png +0 -0
  181. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/parse_json.png +0 -0
  182. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/product_recommendation/taxonomy.png +0 -0
  183. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/simple_vector_index/chunk.png +0 -0
  184. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/simple_vector_index/cover.png +0 -0
  185. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/simple_vector_index/embed.png +0 -0
  186. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/examples/simple_vector_index/flow.png +0 -0
  187. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/favicon.ico +0 -0
  188. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/icon.svg +0 -0
  189. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/img/incremental-etl.gif +0 -0
  190. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/static/robots.txt +0 -0
  191. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/tsconfig.json +0 -0
  192. {cocoindex-0.2.17 → cocoindex-0.2.19}/docs/yarn.lock +0 -0
  193. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/amazon_s3_embedding/.env.example +0 -0
  194. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/amazon_s3_embedding/.gitignore +0 -0
  195. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/amazon_s3_embedding/main.py +0 -0
  196. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/amazon_s3_embedding/pyproject.toml +0 -0
  197. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/azure_blob_embedding/.env.example +0 -0
  198. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/azure_blob_embedding/.gitignore +0 -0
  199. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/azure_blob_embedding/main.py +0 -0
  200. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/azure_blob_embedding/pyproject.toml +0 -0
  201. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/code_embedding/.env +0 -0
  202. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/code_embedding/README.md +0 -0
  203. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/code_embedding/pyproject.toml +0 -0
  204. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/.env +0 -0
  205. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/.gitignore +0 -0
  206. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/README.md +0 -0
  207. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/data/bizarre_animals.md +0 -0
  208. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/data/chunk_norris.md +0 -0
  209. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/main.py +0 -0
  210. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/custom_output_files/pyproject.toml +0 -0
  211. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/docs_to_knowledge_graph/.env +0 -0
  212. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/docs_to_knowledge_graph/pyproject.toml +0 -0
  213. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/.env +0 -0
  214. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/README.md +0 -0
  215. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/images/Carter_welcomes_Reagan.jpg +0 -0
  216. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/images/Solvay_conference_1927.jpg +0 -0
  217. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/images/Steve_Jobs_and_Bill_Gates_(522695099).jpg +0 -0
  218. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/images/einplanck3.jpg +0 -0
  219. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/main.py +0 -0
  220. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/face_recognition/pyproject.toml +0 -0
  221. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/.dockerignore +0 -0
  222. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/.env +0 -0
  223. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/README.md +0 -0
  224. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/compose.yaml +0 -0
  225. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/dockerfile +0 -0
  226. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
  227. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/main.py +0 -0
  228. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/fastapi_server_docker/requirements.txt +0 -0
  229. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/gdrive_text_embedding/.env.example +0 -0
  230. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/gdrive_text_embedding/.gitignore +0 -0
  231. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/gdrive_text_embedding/main.py +0 -0
  232. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/gdrive_text_embedding/pyproject.toml +0 -0
  233. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/.env +0 -0
  234. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/README.md +0 -0
  235. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/colpali_main.py +0 -0
  236. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/.gitignore +0 -0
  237. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/index.html +0 -0
  238. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/package-lock.json +0 -0
  239. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/package.json +0 -0
  240. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/src/App.jsx +0 -0
  241. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/src/main.jsx +0 -0
  242. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/src/style.css +0 -0
  243. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/frontend/vite.config.js +0 -0
  244. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/img/cat1.jpeg +0 -0
  245. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/img/dog1.jpeg +0 -0
  246. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/img/elephant1.jpg +0 -0
  247. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/img/giraffe.jpg +0 -0
  248. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/main.py +0 -0
  249. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/image_search/pyproject.toml +0 -0
  250. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/live_updates/.env +0 -0
  251. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/live_updates/README.md +0 -0
  252. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/live_updates/data/bizarre_animals.md +0 -0
  253. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/live_updates/data/chunk_norris.md +0 -0
  254. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/live_updates/main.py +0 -0
  255. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/live_updates/pyproject.toml +0 -0
  256. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/.env +0 -0
  257. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/README.md +0 -0
  258. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/main.py +0 -0
  259. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
  260. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
  261. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
  262. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
  263. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/manuals_llm_extraction/pyproject.toml +0 -0
  264. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/.env +0 -0
  265. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/README.md +0 -0
  266. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/main.py +0 -0
  267. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/pyproject.toml +0 -0
  268. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/1706.03762v7.pdf +0 -0
  269. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/1810.04805v2.pdf +0 -0
  270. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/2502.06786v3.pdf +0 -0
  271. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/healthcare_industry_test_p101.jpg +0 -0
  272. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/healthcare_industry_test_p86.jpg +0 -0
  273. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/healthcare_industry_test_p9.jpg +0 -0
  274. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/restaurant_brands_international_2023.jpg +0 -0
  275. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/multi_format_indexing/source_files/sweetgreen_2023.jpg +0 -0
  276. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/.env.example +0 -0
  277. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/.gitignore +0 -0
  278. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/README.md +0 -0
  279. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/main.py +0 -0
  280. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/papers/1706.03762v7.pdf +0 -0
  281. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/papers/1810.04805v2.pdf +0 -0
  282. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/papers/2502.06786v3.pdf +0 -0
  283. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/papers/2502.20346v1.pdf +0 -0
  284. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/paper_metadata/pyproject.toml +0 -0
  285. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/.env.example +0 -0
  286. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/README.md +0 -0
  287. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/data/README.md +0 -0
  288. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_David_Artificial.docx +0 -0
  289. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Emily_Artificial.pdf +0 -0
  290. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Joe_Artificial.pdf +0 -0
  291. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_From_Jane_Artificial.docx +0 -0
  292. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/main.py +0 -0
  293. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/patient_intake_extraction/pyproject.toml +0 -0
  294. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/.env +0 -0
  295. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/README.md +0 -0
  296. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/main.py +0 -0
  297. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
  298. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
  299. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
  300. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/pdf_embedding/pyproject.toml +0 -0
  301. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/postgres_source/.env +0 -0
  302. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/postgres_source/README.md +0 -0
  303. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/postgres_source/main.py +0 -0
  304. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/postgres_source/prepare_source_data.sql +0 -0
  305. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/postgres_source/pyproject.toml +0 -0
  306. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/.env.example +0 -0
  307. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/.gitignore +0 -0
  308. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/README.md +0 -0
  309. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/img/cocoinsight.png +0 -0
  310. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/img/neo4j.png +0 -0
  311. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/main.py +0 -0
  312. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p1.json +0 -0
  313. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p2.json +0 -0
  314. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p3.json +0 -0
  315. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p4.json +0 -0
  316. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p5.json +0 -0
  317. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p6.json +0 -0
  318. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p7.json +0 -0
  319. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p8.json +0 -0
  320. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/products/p9.json +0 -0
  321. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/product_recommendation/pyproject.toml +0 -0
  322. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/.env +0 -0
  323. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/README.md +0 -0
  324. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/Text_Embedding.ipynb +0 -0
  325. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
  326. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
  327. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
  328. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding/pyproject.toml +0 -0
  329. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_lancedb/.env +0 -0
  330. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_lancedb/.gitignore +0 -0
  331. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_lancedb/README.md +0 -0
  332. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_lancedb/main.py +0 -0
  333. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_lancedb/markdown_files/rfc8259.md +0 -0
  334. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_lancedb/pyproject.toml +0 -0
  335. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_qdrant/.env +0 -0
  336. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_qdrant/README.md +0 -0
  337. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_qdrant/main.py +0 -0
  338. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
  339. {cocoindex-0.2.17 → cocoindex-0.2.19}/examples/text_embedding_qdrant/pyproject.toml +0 -0
  340. {cocoindex-0.2.17 → cocoindex-0.2.19}/pyproject.toml +0 -0
  341. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/__init__.py +0 -0
  342. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/auth_registry.py +0 -0
  343. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/cli.py +0 -0
  344. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/engine_object.py +0 -0
  345. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/engine_value.py +0 -0
  346. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/flow.py +0 -0
  347. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/functions/colpali.py +0 -0
  348. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/functions/sbert.py +0 -0
  349. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/functions.py +0 -0
  350. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/index.py +0 -0
  351. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/lib.py +0 -0
  352. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/llm.py +0 -0
  353. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/op.py +0 -0
  354. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/py.typed +0 -0
  355. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/query_handler.py +0 -0
  356. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/runtime.py +0 -0
  357. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/setting.py +0 -0
  358. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/setup.py +0 -0
  359. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/sources/__init__.py +0 -0
  360. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/subprocess_exec.py +0 -0
  361. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/targets/__init__.py +0 -0
  362. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/targets/lancedb.py +0 -0
  363. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/__init__.py +0 -0
  364. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/test_engine_object.py +0 -0
  365. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/test_engine_value.py +0 -0
  366. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/test_optional_database.py +0 -0
  367. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/test_transform_flow.py +0 -0
  368. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/test_typing.py +0 -0
  369. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/tests/test_validation.py +0 -0
  370. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/typing.py +0 -0
  371. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/user_app_loader.py +0 -0
  372. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/utils.py +0 -0
  373. {cocoindex-0.2.17 → cocoindex-0.2.19}/python/cocoindex/validation.py +0 -0
  374. {cocoindex-0.2.17 → cocoindex-0.2.19}/ruff.toml +0 -0
  375. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/duration.rs +0 -0
  376. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/field_attrs.rs +0 -0
  377. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/json_schema.rs +0 -0
  378. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/mod.rs +0 -0
  379. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/schema.rs +0 -0
  380. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/base/value.rs +0 -0
  381. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/builder/analyzed_flow.rs +0 -0
  382. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/builder/analyzer.rs +0 -0
  383. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/builder/exec_ctx.rs +0 -0
  384. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/builder/flow_builder.rs +0 -0
  385. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/builder/mod.rs +0 -0
  386. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/builder/plan.rs +0 -0
  387. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/db_tracking.rs +0 -0
  388. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/db_tracking_setup.rs +0 -0
  389. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/dumper.rs +0 -0
  390. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/indexing_status.rs +0 -0
  391. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/memoization.rs +0 -0
  392. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/mod.rs +0 -0
  393. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/row_indexer.rs +0 -0
  394. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/source_indexer.rs +0 -0
  395. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/execution/stats.rs +0 -0
  396. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/lib.rs +0 -0
  397. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/lib_context.rs +0 -0
  398. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/anthropic.rs +0 -0
  399. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/gemini.rs +0 -0
  400. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/litellm.rs +0 -0
  401. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/mod.rs +0 -0
  402. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/ollama.rs +0 -0
  403. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/openrouter.rs +0 -0
  404. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/vllm.rs +0 -0
  405. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/llm/voyage.rs +0 -0
  406. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/factory_bases.rs +0 -0
  407. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/embed_text.rs +0 -0
  408. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/extract_by_llm.rs +0 -0
  409. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/parse_json.rs +0 -0
  410. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/split_by_separators.rs +0 -0
  411. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/functions/test_utils.rs +0 -0
  412. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/interface.rs +0 -0
  413. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/mod.rs +0 -0
  414. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/py_factory.rs +0 -0
  415. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/registry.rs +0 -0
  416. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sdk.rs +0 -0
  417. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/shared/postgres.rs +0 -0
  418. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/shared/split.rs +0 -0
  419. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/amazon_s3.rs +0 -0
  420. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/azure_blob.rs +0 -0
  421. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/google_drive.rs +0 -0
  422. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/local_file.rs +0 -0
  423. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/mod.rs +0 -0
  424. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/shared/mod.rs +0 -0
  425. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/sources/shared/pattern_matcher.rs +0 -0
  426. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/kuzu.rs +0 -0
  427. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/mod.rs +0 -0
  428. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/qdrant.rs +0 -0
  429. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/shared/mod.rs +0 -0
  430. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/shared/property_graph.rs +0 -0
  431. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/ops/targets/shared/table_columns.rs +0 -0
  432. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/prelude.rs +0 -0
  433. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/py/convert.rs +0 -0
  434. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/py/mod.rs +0 -0
  435. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/server.rs +0 -0
  436. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/service/error.rs +0 -0
  437. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/service/flows.rs +0 -0
  438. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/service/mod.rs +0 -0
  439. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/service/query_handler.rs +0 -0
  440. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/settings.rs +0 -0
  441. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/auth_registry.rs +0 -0
  442. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/components.rs +0 -0
  443. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/db_metadata.rs +0 -0
  444. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/driver.rs +0 -0
  445. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/flow_features.rs +0 -0
  446. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/mod.rs +0 -0
  447. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/setup/states.rs +0 -0
  448. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/concur_control.rs +0 -0
  449. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/db.rs +0 -0
  450. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/deser.rs +0 -0
  451. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/fingerprint.rs +0 -0
  452. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/immutable.rs +0 -0
  453. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/mod.rs +0 -0
  454. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/str_sanitize.rs +0 -0
  455. {cocoindex-0.2.17 → cocoindex-0.2.19}/src/utils/yaml_ser.rs +0 -0
@@ -1283,7 +1283,7 @@ dependencies = [
1283
1283
 
1284
1284
  [[package]]
1285
1285
  name = "cocoindex"
1286
- version = "0.2.17"
1286
+ version = "0.2.19"
1287
1287
  dependencies = [
1288
1288
  "anyhow",
1289
1289
  "async-openai",
@@ -2573,6 +2573,16 @@ dependencies = [
2573
2573
  "tracing",
2574
2574
  ]
2575
2575
 
2576
+ [[package]]
2577
+ name = "half"
2578
+ version = "2.6.0"
2579
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2580
+ checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
2581
+ dependencies = [
2582
+ "cfg-if",
2583
+ "crunchy",
2584
+ ]
2585
+
2576
2586
  [[package]]
2577
2587
  name = "hashbrown"
2578
2588
  version = "0.12.3"
@@ -3721,6 +3731,7 @@ version = "0.4.1"
3721
3731
  source = "registry+https://github.com/rust-lang/crates.io-index"
3722
3732
  checksum = "fc58e2d255979a31caa7cabfa7aac654af0354220719ab7a68520ae7a91e8c0b"
3723
3733
  dependencies = [
3734
+ "half",
3724
3735
  "sqlx",
3725
3736
  ]
3726
3737
 
@@ -5845,9 +5856,9 @@ checksum = "c4013970217383f67b18aef68f6fb2e8d409bc5755227092d32efb0422ba24b8"
5845
5856
 
5846
5857
  [[package]]
5847
5858
  name = "tree-sitter-md"
5848
- version = "0.3.2"
5859
+ version = "0.5.1"
5849
5860
  source = "registry+https://github.com/rust-lang/crates.io-index"
5850
- checksum = "17f968c22a01010b83fc960455ae729db08dbeb6388617d9113897cb9204b030"
5861
+ checksum = "2b55ea8733e098490746a07d6f629d1f7820e8953a4aab1341ae39123bcdf93d"
5851
5862
  dependencies = [
5852
5863
  "cc",
5853
5864
  "tree-sitter-language",
@@ -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.17"
5
+ version = "0.2.19"
6
6
  edition = "2024"
7
7
  rust-version = "1.89"
8
8
  license = "Apache-2.0"
@@ -62,7 +62,7 @@ tower = "0.5.2"
62
62
  tower-http = { version = "0.6.6", features = ["cors", "trace"] }
63
63
  indexmap = { version = "2.10.0", features = ["serde"] }
64
64
  blake2 = "0.10.6"
65
- pgvector = { version = "0.4.1", features = ["sqlx"] }
65
+ pgvector = { version = "0.4.1", features = ["sqlx", "halfvec"] }
66
66
  phf = { version = "0.12.1", features = ["macros"] }
67
67
  indenter = "0.3.4"
68
68
  itertools = "0.14.0"
@@ -91,7 +91,7 @@ tree-sitter-javascript = "0.23.1"
91
91
  tree-sitter-json = "0.24.8"
92
92
  # The other more popular crate tree-sitter-kotlin requires tree-sitter < 0.23 for now
93
93
  tree-sitter-kotlin-ng = "1.1.0"
94
- tree-sitter-md = "0.3.2"
94
+ tree-sitter-md = "0.5.1"
95
95
  tree-sitter-pascal = "0.10.0"
96
96
  tree-sitter-php = "0.23.11"
97
97
  tree-sitter-python = "0.23.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cocoindex
3
- Version: 0.2.17
3
+ Version: 0.2.19
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Operating System :: OS Independent
@@ -44,8 +44,8 @@
44
44
 
45
45
  <h2>Overview of licenses:</h2>
46
46
  <ul class="licenses-overview">
47
- <li><a href="#Apache-2.0">Apache License 2.0</a> (415)</li>
48
- <li><a href="#MIT">MIT License</a> (125)</li>
47
+ <li><a href="#Apache-2.0">Apache License 2.0</a> (416)</li>
48
+ <li><a href="#MIT">MIT License</a> (126)</li>
49
49
  <li><a href="#Unicode-3.0">Unicode License v3</a> (19)</li>
50
50
  <li><a href="#ISC">ISC License</a> (8)</li>
51
51
  <li><a href="#BSD-3-Clause">BSD 3-Clause &quot;New&quot; or &quot;Revised&quot; License</a> (6)</li>
@@ -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.17</a></li>
2431
+ <li><a href=" https://crates.io/crates/cocoindex ">cocoindex 0.2.19</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>
@@ -9559,6 +9559,7 @@ limitations under the License.
9559
9559
  <li><a href=" https://github.com/googleapis/google-cloud-rust/tree/main ">google-cloud-rpc 0.4.5</a></li>
9560
9560
  <li><a href=" https://github.com/googleapis/google-cloud-rust/tree/main ">google-cloud-type 0.4.5</a></li>
9561
9561
  <li><a href=" https://github.com/googleapis/google-cloud-rust/tree/main ">google-cloud-wkt 0.5.4</a></li>
9562
+ <li><a href=" https://github.com/VoidStarKat/half-rs ">half 2.6.0</a></li>
9562
9563
  <li><a href=" https://github.com/TedDriggs/ident_case ">ident_case 1.0.1</a></li>
9563
9564
  <li><a href=" https://github.com/yaahc/indenter ">indenter 0.3.4</a></li>
9564
9565
  <li><a href=" https://github.com/dtolnay/indoc ">indoc 2.0.6</a></li>
@@ -11931,7 +11932,7 @@ SOFTWARE.
11931
11932
  <li><a href=" https://github.com/tree-sitter/tree-sitter-json ">tree-sitter-json 0.24.8</a></li>
11932
11933
  <li><a href=" https://github.com/tree-sitter-grammars/tree-sitter-kotlin ">tree-sitter-kotlin-ng 1.1.0</a></li>
11933
11934
  <li><a href=" https://github.com/tree-sitter/tree-sitter ">tree-sitter-language 0.1.5</a></li>
11934
- <li><a href=" https://github.com/tree-sitter-grammars/tree-sitter-markdown ">tree-sitter-md 0.3.2</a></li>
11935
+ <li><a href=" https://github.com/tree-sitter-grammars/tree-sitter-markdown ">tree-sitter-md 0.5.1</a></li>
11935
11936
  <li><a href=" https://github.com/Isopod/tree-sitter-pascal ">tree-sitter-pascal 0.10.0</a></li>
11936
11937
  <li><a href=" https://github.com/tree-sitter/tree-sitter-php ">tree-sitter-php 0.23.11</a></li>
11937
11938
  <li><a href=" https://github.com/tree-sitter/tree-sitter-python ">tree-sitter-python 0.23.6</a></li>
@@ -12174,6 +12175,35 @@ furnished to do so, subject to the following conditions:
12174
12175
  The above copyright notice and this permission notice shall be included in all
12175
12176
  copies or substantial portions of the Software.
12176
12177
 
12178
+ THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12179
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12180
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12181
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12182
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12183
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
12184
+ SOFTWARE.
12185
+ </pre>
12186
+ </li>
12187
+ <li class="license">
12188
+ <h3 id="MIT">MIT License</h3>
12189
+ <h4>Used by:</h4>
12190
+ <ul class="license-used-by">
12191
+ <li><a href=" https://github.com/eira-fransham/crunchy ">crunchy 0.2.4</a></li>
12192
+ </ul>
12193
+ <pre class="license-text">The MIT License (MIT)
12194
+
12195
+ Copyright 2017-2023 Eira Fransham.
12196
+
12197
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12198
+ of this software and associated documentation files (the &quot;Software&quot;), to deal
12199
+ in the Software without restriction, including without limitation the rights
12200
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12201
+ copies of the Software, and to permit persons to whom the Software is
12202
+ furnished to do so, subject to the following conditions:
12203
+
12204
+ The above copyright notice and this permission notice shall be included in all
12205
+ copies or substantial portions of the Software.
12206
+
12177
12207
  THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12178
12208
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12179
12209
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -313,9 +313,9 @@ Types of the fields must be key types. See [Key Types](data_types#key-types) for
313
313
 
314
314
  *Vector index* is specified by `vector_indexes` (`Sequence[VectorIndexDef]`). `VectorIndexDef` has the following fields:
315
315
 
316
- * `field_name`: the field to create vector index.
317
- * `metric`: the similarity metric to use.
318
- * `method` (optional): the index algorithm and optional tuning parameters. Leave unset to use the target default (HNSW for Postgres). Use `cocoindex.HnswVectorIndexMethod()` or `cocoindex.IvfFlatVectorIndexMethod()` to customize the method and its parameters.
316
+ * `field_name`: the field to create vector index.
317
+ * `metric`: the similarity metric to use.
318
+ * `method` (optional): the index algorithm and optional tuning parameters. Leave unset to use the target default (HNSW for Postgres). Use `cocoindex.HnswVectorIndexMethod()` or `cocoindex.IvfFlatVectorIndexMethod()` to customize the method and its parameters.
319
319
 
320
320
  #### Similarity Metrics
321
321
 
@@ -210,7 +210,7 @@ A data source may enable one or multiple *change capture mechanisms*:
210
210
  * Configured with a [refresh interval](flow_def#refresh-interval), which is generally applicable to all data sources.
211
211
 
212
212
  * Specific data sources also provide their specific change capture mechanisms.
213
- For example, [`Postgres` source](../sources/#postgres) listens to PostgreSQL's change notifications, [`AmazonS3` source](../sources/#amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../sources#googledrive) allows polling recent modified files.
213
+ For example, [`Postgres` source](../sources/postgres) listens to PostgreSQL's change notifications, [`AmazonS3` source](../sources/amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../sources/googledrive) allows polling recent modified files.
214
214
  See documentations for specific data sources.
215
215
 
216
216
  Change capture mechanisms enable CocoIndex to continuously capture changes from the source data and update the target data accordingly, under live update mode.
@@ -14,9 +14,8 @@ Certain settings need to be provided for CocoIndex to work, e.g. database connec
14
14
 
15
15
  Note that in general, you have two ways to launch CocoIndex:
16
16
 
17
- * Call CocoIndex APIs from your own Python application or library.
18
- * Use [Cocoindex CLI](cli). It's handy for most routine indexing building and management tasks.
19
-
17
+ * Call CocoIndex APIs from your own Python application or library.
18
+ * Use [Cocoindex CLI](cli). It's handy for most routine indexing building and management tasks.
20
19
 
21
20
  CocoIndex exposes process-level settings specified by `cocoindex.Settings` dataclass.
22
21
  Settings can be configured in three different ways.
@@ -77,10 +76,10 @@ But be careful that if you call `cocoindex.init()` only under the path of main (
77
76
 
78
77
  `cocoindex.init()` is optional:
79
78
 
80
- - You can call `cocoindex.init()` with a `cocoindex.Settings` dataclass object as argument, or without any argument.
79
+ * You can call `cocoindex.init()` with a `cocoindex.Settings` dataclass object as argument, or without any argument.
81
80
  When without argument, the settings will be loaded from the `@cocoindex.settings` function or environment variables.
82
81
 
83
- - You don't have to explicitly call `cocoindex.init()`.
82
+ * You don't have to explicitly call `cocoindex.init()`.
84
83
  CocoIndex will be automatically initialized when needed, e.g. when any method of any flow is called the first time.
85
84
  But calling `cocoindex.init()` explicitly (usually at startup time, e.g. in the main function of your application) has the benefit of making sure CocoIndex library is initialized and any potential exceptions are raised earlier before proceeding with the application.
86
85
  If you need this clarity, you can call it explicitly even if you don't want to provide settings by the `cocoindex.init()` call.
@@ -91,9 +90,9 @@ But be careful that if you call `cocoindex.init()` only under the path of main (
91
90
 
92
91
  `cocoindex.Settings` is a dataclass that contains the following fields:
93
92
 
94
- * `app_namespace` (type: `str`, required): The namespace of the application.
95
- * `database` (type: `DatabaseConnectionSpec`, required): The connection to the Postgres database.
96
- * `global_execution_options` (type: `GlobalExecutionOptions`, optional): The global execution options shared by all flows.
93
+ * `app_namespace` (type: `str`, required): The namespace of the application.
94
+ * `database` (type: `DatabaseConnectionSpec`, required): The connection to the Postgres database.
95
+ * `global_execution_options` (type: `GlobalExecutionOptions`, optional): The global execution options shared by all flows.
97
96
 
98
97
  ### App Namespace
99
98
 
@@ -110,15 +109,15 @@ If not set, all flows are in a default unnamed namespace.
110
109
 
111
110
  `DatabaseConnectionSpec` configures the connection to a database. Only Postgres is supported for now. It has the following fields:
112
111
 
113
- * `url` (type: `str`): The URL of the Postgres database to use as the internal storage, e.g. `postgres://cocoindex:cocoindex@localhost/cocoindex`.
112
+ * `url` (type: `str`): The URL of the Postgres database to use as the internal storage, e.g. `postgres://cocoindex:cocoindex@localhost/cocoindex`.
114
113
 
115
114
  *Environment variable* for `Settings.database.url`: `COCOINDEX_DATABASE_URL`
116
115
 
117
- * `user` (type: `Optional[str]`, default: `None`): The username for the Postgres database. If not provided, username will come from `url`.
116
+ * `user` (type: `Optional[str]`, default: `None`): The username for the Postgres database. If not provided, username will come from `url`.
118
117
 
119
118
  *Environment variable* for `Settings.database.user`: `COCOINDEX_DATABASE_USER`
120
119
 
121
- * `password` (type: `Optional[str]`, default: `None`): The password for the Postgres database. If not provided, password will come from `url`.
120
+ * `password` (type: `Optional[str]`, default: `None`): The password for the Postgres database. If not provided, password will come from `url`.
122
121
 
123
122
  *Environment variable* for `Settings.database.password`: `COCOINDEX_DATABASE_PASSWORD`
124
123
 
@@ -129,21 +128,24 @@ If not set, all flows are in a default unnamed namespace.
129
128
 
130
129
  :::
131
130
 
132
- * `max_connections` (type: `int`, default: `25`): The maximum number of connections to keep in the pool.
131
+ * `max_connections` (type: `int`, default: `25`): The maximum number of connections to keep in the pool.
133
132
 
134
133
  *Environment variable* for `Settings.database.max_connections`: `COCOINDEX_DATABASE_MAX_CONNECTIONS`
135
134
 
136
- * `min_connections` (type: `int`, default: `5`): The minimum number of connections to keep in the pool.
135
+ * `min_connections` (type: `int`, default: `5`): The minimum number of connections to keep in the pool.
137
136
 
138
137
  *Environment variable* for `Settings.database.min_connections`: `COCOINDEX_DATABASE_MIN_CONNECTIONS`
139
138
 
140
-
141
139
  :::info
142
140
 
143
141
  If you use the Postgres database hosted by [Supabase](https://supabase.com/), please click **Connect** on your project dashboard and find the following URL:
144
142
 
145
- * If you're on a IPv6 network, use the URL under **Direct connection**. You can visit [IPv6 test](https://test-ipv6.com/) to see if you have IPv6 Internet connection.
146
- * Otherwise, use the URL under **Session pooler**.
143
+ * If you're on a IPv6 network, use the URL under **Direct connection**. You can visit [IPv6 test](https://test-ipv6.com/) to see if you have IPv6 Internet connection.
144
+ * Otherwise, use the URL under **Session pooler**.
145
+ Note that Supabase has a pool size limit of 15 by default, while CocoIndex's default `max_connections` value is 25.
146
+ You can adjust either value to make sure Supabase's pool size limit is greater than CocoIndex's `max_connections` value.
147
+ Supabase's pool size limit can be adjusted under "Database" -> "Settings".
148
+ * CocoIndex doesn't support *Transaction pooler* now.
147
149
 
148
150
  :::
149
151
 
@@ -151,8 +153,8 @@ If you use the Postgres database hosted by [Supabase](https://supabase.com/), pl
151
153
 
152
154
  `GlobalExecutionOptions` is used to configure the global execution options shared by all flows. It has the following fields:
153
155
 
154
- * `source_max_inflight_rows` (type: `int | None`, default: `1024`): The maximum number of concurrent inflight rows for all source operations.
155
- * `source_max_inflight_bytes` (type: `int | None`, default: `None`): The maximum number of concurrent inflight bytes for all source operations.
156
+ * `source_max_inflight_rows` (type: `int | None`, default: `1024`): The maximum number of concurrent inflight rows for all source operations.
157
+ * `source_max_inflight_bytes` (type: `int | None`, default: `None`): The maximum number of concurrent inflight bytes for all source operations.
156
158
 
157
159
  See also [flow definition docs](/docs/core/flow_def#control-processing-concurrency) about why it's necessary to control processing concurrency, and how to configure it on per-source basis.
158
160
  If both global and per-source limits are specified, both need to be satisfied to admit additional source rows.
@@ -66,7 +66,7 @@ def image_object_embedding_flow(flow_builder, data_scope):
66
66
 
67
67
  The `add_source` function sets up a table with fields like `filename` and `content`. Images are automatically re-scanned every minute.
68
68
 
69
- <DocumentationButton url="https://cocoindex.io/docs/ops/sources#localfile" text="LocalFile" />
69
+ <DocumentationButton url="https://cocoindex.io/docs/ops/sources/localfile" text="LocalFile" />
70
70
 
71
71
 
72
72
  ## Process Each Image and Collect the Embedding
@@ -52,7 +52,7 @@ data_scope["documents"] = flow_builder.add_source(
52
52
  cocoindex.sources.LocalFile(path="source_files", binary=True)
53
53
  )
54
54
  ```
55
- <DocumentationButton url="https://cocoindex.io/docs/ops/sources#localfile" text="LocalFile" margin="0 0 16px 0" />
55
+ <DocumentationButton url="https://cocoindex.io/docs/ops/sources/localfile" text="LocalFile" margin="0 0 16px 0" />
56
56
 
57
57
 
58
58
  ## Convert Files to Pages
@@ -65,8 +65,8 @@ def face_recognition_flow(flow_builder, data_scope):
65
65
  This creates a table with `filename` and `content` fields. 📂
66
66
 
67
67
 
68
- You can connect it to your [S3 Buckets](https://cocoindex.io/docs/ops/sources#amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl))
69
- or [Azure Blob store](https://cocoindex.io/docs/ops/sources#azureblob).
68
+ You can connect it to your [S3 Buckets](https://cocoindex.io/docs/ops/sources/amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl))
69
+ or [Azure Blob store](https://cocoindex.io/docs/ops/sources/azureblob).
70
70
 
71
71
  ## Detect and Extract Faces
72
72
 
@@ -59,7 +59,7 @@ CocoIndex incrementally sync data from Postgres. When new or updated rows are fo
59
59
  - `notification` enables change capture based on Postgres LISTEN/NOTIFY. Each change triggers an incremental processing on the specific row immediately.
60
60
  - Regardless if `notification` is provided or not, CocoIndex still needs to scan the full table to detect changes in some scenarios (e.g. between two `update` invocation), and the `ordinal_column` provides a field that CocoIndex can use to quickly detect which row has changed without reading value columns.
61
61
 
62
- Check [Postgres source](https://cocoindex.io/docs/ops/sources#postgres) for more details.
62
+ Check [Postgres source](https://cocoindex.io/docs/ops/sources/postgres) for more details.
63
63
 
64
64
  If you use the Postgres database hosted by Supabase, please click Connect on your project dashboard and find the URL there. Check [DatabaseConnectionSpec](https://cocoindex.io/docs/core/settings#databaseconnectionspec)
65
65
  for more details.
@@ -0,0 +1,252 @@
1
+ ---
2
+ title: Functions
3
+ description: CocoIndex Built-in Functions
4
+ ---
5
+
6
+ # CocoIndex Built-in Functions
7
+
8
+ ## ParseJson
9
+
10
+ `ParseJson` parses a given text to JSON.
11
+
12
+ Input data:
13
+
14
+ * `text` (*Str*): The source text to parse.
15
+ * `language` (*Optional[Str]*, default: `"json"`): The language of the source text. Only `json` is supported now.
16
+
17
+ Return: *Json*, the parsed JSON object.
18
+
19
+ ## DetectProgrammingLanguage
20
+
21
+ `DetectProgrammingLanguage` detects the programming language of a file based on its filename extension.
22
+
23
+ Input data:
24
+
25
+ * `filename` (*Str*): The filename (with extension) to detect the language for.
26
+
27
+ Return: *Str* or *Null*. Returns the programming language name if the file extension is recognized, or *Null* if the extension is not supported.
28
+
29
+ The returned string values match the language name listed in [`tree-sitter-language-pack`](https://github.com/Goldziher/tree-sitter-language-pack?tab=readme-ov-file#available-languages).
30
+
31
+ ## SplitRecursively
32
+
33
+ `SplitRecursively` splits a document into chunks of a given size.
34
+ It tries to split at higher-level boundaries. If each chunk is still too large, it tries at the next level of boundaries.
35
+ For example, for a Markdown file, it identifies boundaries in this order: level-1 sections, level-2 sections, level-3 sections, paragraphs, sentences, etc.
36
+
37
+ The spec takes the following fields:
38
+
39
+ * `custom_languages` (`list[CustomLanguageSpec]`, optional): This allows you to customize the way to chunking specific languages using regular expressions. Each `CustomLanguageSpec` is a dict with the following fields:
40
+ * `language_name` (`str`): Name of the language.
41
+ * `aliases` (`list[str]`, optional): A list of aliases for the language.
42
+ It's an error if any language name or alias is duplicated.
43
+
44
+ * `separators_regex` (`list[str]`): A list of regex patterns to split the text.
45
+ Higher-level boundaries should come first, and lower-level should be listed later. e.g. `[r"\n# ", r"\n## ", r"\n\n", r"\. "]`.
46
+ See [regex syntax](https://docs.rs/regex/latest/regex/#syntax) for supported regular expression syntax.
47
+
48
+ Input data:
49
+
50
+ * `text` (*Str*): The text to split.
51
+ * `chunk_size` (*Int64*): The maximum size of each chunk, in bytes.
52
+ * `min_chunk_size` (*Int64*, default: `chunk_size / 2`): The minimum size of each chunk, in bytes.
53
+
54
+ :::note
55
+
56
+ `SplitRecursively` will do its best to make the output chunks sized between `min_chunk_size` and `chunk_size`.
57
+ However, it's possible that some chunks are smaller than `min_chunk_size` or larger than `chunk_size` in rare cases, e.g. too short input text, or non-splittable large text.
58
+
59
+ Please avoid setting `min_chunk_size` to a value too close to `chunk_size`, to leave more rooms for the function to plan the optimal chunking.
60
+
61
+ :::
62
+
63
+ * `chunk_overlap` (*Optional[Int64]*, default: *None*): The maximum overlap size between adjacent chunks, in bytes.
64
+ * `language` (*Str*, default: `""`): The language of the document.
65
+ Can be a language name (e.g. `python`, `javascript`, `markdown`) or a file extension (e.g. `.py`, `.js`, `.md`).
66
+
67
+ :::note
68
+
69
+ We use the `language` field to determine how to split the input text, following these rules:
70
+
71
+ * We match the input `language` field against the following registries in the following order:
72
+ * `custom_languages` in the spec, against the `language_name` or `aliases` field of each entry.
73
+ * Builtin languages (see [Supported Languages](#supported-languages) section below), against the language, aliases or file extensions of each entry.
74
+
75
+ All matches are in a case-insensitive manner.
76
+
77
+ * If no match is found, the input will be treated as plain text.
78
+
79
+ :::
80
+
81
+ Return: [*KTable*](/docs/core/data_types#ktable), each row represents a chunk, with the following sub fields:
82
+
83
+ * `location` (*Range*): The location of the chunk.
84
+ * `text` (*Str*): The text of the chunk.
85
+ * `start` / `end` (*Struct*): Details about the start position (inclusive) and end position (exclusive) of the chunk. They have the following sub fields:
86
+ * `offset` (*Int64*): The byte offset of the position.
87
+ * `line` (*Int64*): The line number of the position. Starting from 1.
88
+ * `column` (*Int64*): The column number of the position. Starting from 1.
89
+
90
+ ### Supported Languages
91
+
92
+ Currently, `SplitRecursively` supports the following languages:
93
+
94
+ | Language | Aliases | File Extensions |
95
+ |----------|---------|-----------------|
96
+ | c | | `.c` |
97
+ | cpp | c++ | `.cpp`, `.cc`, `.cxx`, `.h`, `.hpp` |
98
+ | csharp | csharp, cs | `.cs` |
99
+ | css | | `.css`, `.scss` |
100
+ | dtd | | `.dtd` |
101
+ | fortran | f, f90, f95, f03 | `.f`, `.f90`, `.f95`, `.f03` |
102
+ | go | golang | `.go` |
103
+ | html | | `.html`, `.htm` |
104
+ | java | | `.java` |
105
+ | javascript | js | `.js` |
106
+ | json | | `.json` |
107
+ | kotlin | | `.kt`, `.kts` |
108
+ | markdown | md | `.md`, `.mdx` |
109
+ | pascal | pas, dpr, delphi | `.pas`, `.dpr` |
110
+ | php | | `.php` |
111
+ | python | | `.py` |
112
+ | r | | `.r` |
113
+ | ruby | | `.rb` |
114
+ | rust | rs | `.rs` |
115
+ | scala | | `.scala` |
116
+ | solidity | | `.sol` |
117
+ | sql | | `.sql` |
118
+ | swift | | `.swift` |
119
+ | toml | | `.toml` |
120
+ | tsx | | `.tsx` |
121
+ | typescript | ts | `.ts` |
122
+ | xml | | `.xml` |
123
+ | yaml | | `.yaml`, `.yml` |
124
+
125
+ ## SentenceTransformerEmbed
126
+
127
+ `SentenceTransformerEmbed` embeds a text into a vector space using the [SentenceTransformer](https://huggingface.co/sentence-transformers) library.
128
+
129
+ :::note Optional Dependency Required
130
+
131
+ This function requires the 'sentence-transformers' library, which is an optional dependency. Install CocoIndex with:
132
+
133
+ ```bash
134
+ pip install 'cocoindex[embeddings]'
135
+ ```
136
+
137
+ :::
138
+
139
+ The spec takes the following fields:
140
+
141
+ * `model` (`str`): The name of the SentenceTransformer model to use.
142
+ * `args` (`dict[str, Any]`, optional): Additional arguments to pass to the SentenceTransformer constructor. e.g. `{"trust_remote_code": True}`
143
+
144
+ Input data:
145
+
146
+ * `text` (*Str*): The text to embed.
147
+
148
+ Return: *Vector[Float32, N]*, where *N* is determined by the model
149
+
150
+ ## ExtractByLlm
151
+
152
+ `ExtractByLlm` extracts structured information from a text using specified LLM. The spec takes the following fields:
153
+
154
+ * `llm_spec` (`cocoindex.LlmSpec`): The specification of the LLM to use. See [LLM Spec](/docs/ai/llm#llm-spec) for more details.
155
+ * `output_type` (`type`): The type of the output. e.g. a dataclass type name. See [Data Types](/docs/core/data_types) for all supported data types. The LLM will output values that match the schema of the type.
156
+ * `instruction` (`str`, optional): Additional instruction for the LLM.
157
+
158
+ :::tip Clear type definitions
159
+
160
+ Definitions of the `output_type` is fed into LLM as guidance to generate the output.
161
+ To improve the quality of the extracted information, giving clear definitions for your dataclasses is especially important, e.g.
162
+
163
+ * Provide readable field names for your dataclasses.
164
+ * Provide reasonable docstrings for your dataclasses.
165
+ * For any optional fields, clearly annotate that they are optional, by `SomeType | None` or `typing.Optional[SomeType]`.
166
+
167
+ :::
168
+
169
+ Input data:
170
+
171
+ * `text` (*Str*): The text to extract information from.
172
+
173
+ Return: As specified by the `output_type` field in the spec. The extracted information from the input text.
174
+
175
+ ## EmbedText
176
+
177
+ `EmbedText` embeds a text into a vector space using various LLM APIs that support text embedding.
178
+
179
+ The spec takes the following fields:
180
+
181
+ * `api_type` ([`cocoindex.LlmApiType`](/docs/ai/llm#llm-api-types)): The type of LLM API to use for embedding.
182
+ * `model` (`str`): The name of the embedding model to use.
183
+ * `address` (`str`, optional): The address of the LLM API. If not specified, uses the default address for the API type.
184
+ * `output_dimension` (`int`, optional): The expected dimension of the output embedding vector. If not specified, use the default dimension of the model.
185
+
186
+ For most API types, the function internally keeps a registry for the default output dimension of known model.
187
+ You need to explicitly specify the `output_dimension` if you want to use a new model that is not in the registry yet.
188
+
189
+ * `task_type` (`str`, optional): The task type for embedding, used by some embedding models to optimize the embedding for specific use cases.
190
+
191
+ :::note Supported APIs for Text Embedding
192
+
193
+ Not all LLM APIs support text embedding. See the [LLM API Types table](/docs/ai/llm#llm-api-types) for which APIs support text embedding functionality.
194
+
195
+ :::
196
+
197
+ Input data:
198
+
199
+ * `text` (*Str*): The text to embed.
200
+
201
+ Return: *Vector[Float32, N]*, where *N* is the dimension of the embedding vector determined by the model.
202
+
203
+ ## ColPali Functions
204
+
205
+ ColPali functions enable multimodal document retrieval using ColVision models. These functions support ALL models available in the [colpali-engine library](https://github.com/illuin-tech/colpali), including:
206
+
207
+ * **ColPali models** (colpali-*): PaliGemma-based, best for general document retrieval
208
+ * **ColQwen2 models** (colqwen-*): Qwen2-VL-based, excellent for multilingual text (29+ languages) and general vision
209
+ * **ColSmol models** (colsmol-*): Lightweight, good for resource-constrained environments
210
+ * Any future ColVision models supported by colpali-engine
211
+
212
+ These models use late interaction between image patch embeddings and text token embeddings for retrieval.
213
+
214
+ :::note Optional Dependency Required
215
+
216
+ These functions require the `colpali-engine` library, which is an optional dependency. Install CocoIndex with:
217
+
218
+ ```bash
219
+ pip install 'cocoindex[colpali]'
220
+ ```
221
+
222
+ :::
223
+
224
+ ### ColPaliEmbedImage
225
+
226
+ `ColPaliEmbedImage` embeds images using ColVision multimodal models.
227
+
228
+ The spec takes the following fields:
229
+
230
+ * `model` (`str`): Any ColVision model name supported by colpali-engine (e.g., "vidore/colpali-v1.2", "vidore/colqwen2.5-v0.2", "vidore/colsmol-v1.0"). See the [complete list of supported models](https://github.com/illuin-tech/colpali#list-of-colvision-models).
231
+
232
+ Input data:
233
+
234
+ * `img_bytes` (*Bytes*): The image data in bytes format.
235
+
236
+ Return: *Vector[Vector[Float32, N]]*, where *N* is the hidden dimension determined by the model. This returns a multi-vector format with variable patches and fixed hidden dimension.
237
+
238
+ ### ColPaliEmbedQuery
239
+
240
+ `ColPaliEmbedQuery` embeds text queries using ColVision multimodal models.
241
+
242
+ This produces query embeddings compatible with ColVision image embeddings for late interaction scoring (MaxSim).
243
+
244
+ The spec takes the following fields:
245
+
246
+ * `model` (`str`): Any ColVision model name supported by colpali-engine (e.g., "vidore/colpali-v1.2", "vidore/colqwen2.5-v0.2", "vidore/colsmol-v1.0"). See the [complete list of supported models](https://github.com/illuin-tech/colpali#list-of-colvision-models).
247
+
248
+ Input data:
249
+
250
+ * `query` (*Str*): The text query to embed.
251
+
252
+ Return: *Vector[Vector[Float32, N]]*, where *N* is the hidden dimension determined by the model. This returns a multi-vector format with variable tokens and fixed hidden dimension.