cocoindex 0.2.3__tar.gz → 0.2.5__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 (416) hide show
  1. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/workflows/_test.yml +22 -1
  2. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/workflows/release.yml +26 -1
  3. {cocoindex-0.2.3 → cocoindex-0.2.5}/Cargo.lock +3 -1
  4. {cocoindex-0.2.3 → cocoindex-0.2.5}/Cargo.toml +3 -1
  5. {cocoindex-0.2.3 → cocoindex-0.2.5}/PKG-INFO +1 -2
  6. cocoindex-0.2.5/about.hbs +70 -0
  7. cocoindex-0.2.5/about.toml +12 -0
  8. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/cli.mdx +9 -3
  9. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/flow_methods.mdx +1 -1
  10. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/academic_papers_index.md +1 -1
  11. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/docs_to_knowledge_graph.md +1 -1
  12. cocoindex-0.2.5/docs/docs/examples/examples/document_ai.md +156 -0
  13. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/manual_extraction.md +1 -1
  14. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/multi_format_index.md +1 -1
  15. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/patient_form_extraction.md +1 -1
  16. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/photo_search.md +1 -1
  17. cocoindex-0.2.5/docs/docs/examples/examples/postgres_source.md +301 -0
  18. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/product_recommendation.md +1 -1
  19. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/simple_vector_index.md +1 -1
  20. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/query.mdx +1 -1
  21. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/components/GitHubButton/index.tsx +18 -2
  22. cocoindex-0.2.5/docs/static/img/examples/document_ai/cover.png +0 -0
  23. cocoindex-0.2.5/docs/static/img/examples/document_ai/document_ai.png +0 -0
  24. cocoindex-0.2.5/docs/static/img/examples/document_ai/processor.png +0 -0
  25. cocoindex-0.2.5/docs/static/img/examples/postgres_source/collector.png +0 -0
  26. cocoindex-0.2.5/docs/static/img/examples/postgres_source/cover.png +0 -0
  27. cocoindex-0.2.5/docs/static/img/examples/postgres_source/description.png +0 -0
  28. cocoindex-0.2.5/docs/static/img/examples/postgres_source/embed.png +0 -0
  29. cocoindex-0.2.5/docs/static/img/examples/postgres_source/flow.png +0 -0
  30. cocoindex-0.2.5/docs/static/img/examples/postgres_source/lineage.png +0 -0
  31. cocoindex-0.2.5/docs/static/img/examples/postgres_source/price.png +0 -0
  32. cocoindex-0.2.5/docs/static/img/examples/postgres_source/source.png +0 -0
  33. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/amazon_s3_embedding/README.md +2 -2
  34. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/amazon_s3_embedding/pyproject.toml +1 -1
  35. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/azure_blob_embedding/README.md +2 -2
  36. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/azure_blob_embedding/pyproject.toml +1 -1
  37. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/code_embedding/README.md +1 -1
  38. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/code_embedding/pyproject.toml +1 -1
  39. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/README.md +1 -1
  40. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/pyproject.toml +1 -1
  41. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/docs_to_knowledge_graph/README.md +1 -1
  42. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/docs_to_knowledge_graph/pyproject.toml +1 -1
  43. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/README.md +1 -1
  44. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/pyproject.toml +1 -1
  45. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/requirements.txt +1 -1
  46. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/gdrive_text_embedding/README.md +2 -2
  47. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/gdrive_text_embedding/pyproject.toml +1 -1
  48. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/pyproject.toml +2 -2
  49. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/live_updates/pyproject.toml +1 -1
  50. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/README.md +1 -1
  51. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/pyproject.toml +1 -1
  52. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/README.md +1 -1
  53. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/pyproject.toml +1 -1
  54. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/README.md +1 -1
  55. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/pyproject.toml +1 -1
  56. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/README.md +1 -1
  57. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/pyproject.toml +1 -1
  58. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/README.md +1 -1
  59. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/pyproject.toml +1 -1
  60. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/postgres_source/README.md +2 -2
  61. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/postgres_source/main.py +1 -1
  62. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/postgres_source/pyproject.toml +1 -1
  63. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/README.md +1 -1
  64. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/pyproject.toml +1 -1
  65. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/README.md +1 -1
  66. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/pyproject.toml +1 -1
  67. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding_qdrant/README.md +1 -1
  68. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding_qdrant/pyproject.toml +1 -1
  69. {cocoindex-0.2.3 → cocoindex-0.2.5}/pyproject.toml +1 -0
  70. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/cli.py +22 -4
  71. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/user_app_loader.py +12 -10
  72. {cocoindex-0.2.3 → cocoindex-0.2.5}/.cargo/config.toml +0 -0
  73. {cocoindex-0.2.3 → cocoindex-0.2.5}/.env.lib_debug +0 -0
  74. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
  75. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
  76. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/scripts/update_version.sh +0 -0
  77. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/workflows/CI.yml +0 -0
  78. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/workflows/_doc_release.yml +0 -0
  79. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/workflows/docs.yml +0 -0
  80. {cocoindex-0.2.3 → cocoindex-0.2.5}/.github/workflows/format.yml +0 -0
  81. {cocoindex-0.2.3 → cocoindex-0.2.5}/.gitignore +0 -0
  82. {cocoindex-0.2.3 → cocoindex-0.2.5}/.pre-commit-config.yaml +0 -0
  83. {cocoindex-0.2.3 → cocoindex-0.2.5}/CODE_OF_CONDUCT.md +0 -0
  84. {cocoindex-0.2.3 → cocoindex-0.2.5}/CONTRIBUTING.md +0 -0
  85. {cocoindex-0.2.3 → cocoindex-0.2.5}/LICENSE +0 -0
  86. {cocoindex-0.2.3 → cocoindex-0.2.5}/README.md +0 -0
  87. {cocoindex-0.2.3 → cocoindex-0.2.5}/dev/neo4j.yaml +0 -0
  88. {cocoindex-0.2.3 → cocoindex-0.2.5}/dev/postgres.yaml +0 -0
  89. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/.gitignore +0 -0
  90. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/README.md +0 -0
  91. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/about/community.md +0 -0
  92. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/ai/llm.mdx +0 -0
  93. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/contributing/guide.md +0 -0
  94. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/contributing/new_built_in_target.mdx +0 -0
  95. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/contributing/setup_dev_environment.md +0 -0
  96. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/basics.md +0 -0
  97. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/data_example.svg +0 -0
  98. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/data_types.mdx +0 -0
  99. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/flow_def.mdx +0 -0
  100. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/flow_example.svg +0 -0
  101. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/core/settings.mdx +0 -0
  102. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/custom_ops/custom_functions.mdx +0 -0
  103. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/custom_ops/custom_targets.mdx +0 -0
  104. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/codebase_index.md +0 -0
  105. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/custom_targets.md +0 -0
  106. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/examples/image_search.md +0 -0
  107. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/examples/index.md +0 -0
  108. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/getting_started/installation.md +0 -0
  109. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/getting_started/markdown_files.zip +0 -0
  110. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/getting_started/overview.md +0 -0
  111. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/getting_started/quickstart.md +0 -0
  112. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/ops/functions.md +0 -0
  113. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/ops/sources.md +0 -0
  114. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/ops/targets.md +0 -0
  115. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/tutorials/live_updates.md +0 -0
  116. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docs/tutorials/manage_flow_dynamically.mdx +0 -0
  117. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/docusaurus.config.ts +0 -0
  118. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/package.json +0 -0
  119. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/sidebars.ts +0 -0
  120. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/css/custom.css +0 -0
  121. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/theme/DocCard/index.tsx +0 -0
  122. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/theme/DocCard/styles.module.css +0 -0
  123. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/theme/DocCardList/index.tsx +0 -0
  124. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/theme/DocCardList/styles.module.css +0 -0
  125. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/src/theme/Root.js +0 -0
  126. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/.nojekyll +0 -0
  127. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/docusaurus.png +0 -0
  128. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/abstract_chunks.png +0 -0
  129. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/basic_info.png +0 -0
  130. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/chunk_embedding.png +0 -0
  131. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/cover.png +0 -0
  132. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/first_page.png +0 -0
  133. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/flow.png +0 -0
  134. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/academic_papers_index/metadata.png +0 -0
  135. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/codebase_index/chunk.png +0 -0
  136. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/codebase_index/cover.png +0 -0
  137. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/codebase_index/flow.png +0 -0
  138. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/custom_targets/convert.png +0 -0
  139. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/custom_targets/cover.png +0 -0
  140. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/cover.png +0 -0
  141. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/dedupe.png +0 -0
  142. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/export_document.png +0 -0
  143. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/export_relationship.png +0 -0
  144. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/extract_relationship.png +0 -0
  145. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/flow.png +0 -0
  146. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/relationship.png +0 -0
  147. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/docs_to_knowledge_graph/summary.png +0 -0
  148. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/image_search/cover.png +0 -0
  149. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/image_search/embedding.png +0 -0
  150. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/image_search/flow.png +0 -0
  151. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/image_search/multi_modal_architecture.png +0 -0
  152. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/image_search/result.png +0 -0
  153. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/manual_extraction/cover.png +0 -0
  154. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/manual_extraction/extraction.png +0 -0
  155. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/manual_extraction/flow.png +0 -0
  156. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/manual_extraction/summary.png +0 -0
  157. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/multi_format_index/colpali_architecture.png +0 -0
  158. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/multi_format_index/cover.png +0 -0
  159. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/multi_format_index/embed.png +0 -0
  160. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/multi_format_index/flow.png +0 -0
  161. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/multi_format_index/pages.png +0 -0
  162. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/patient_form_extraction/cover.png +0 -0
  163. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/patient_form_extraction/extraction.png +0 -0
  164. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/patient_form_extraction/fields.png +0 -0
  165. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/patient_form_extraction/flow.png +0 -0
  166. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/patient_form_extraction/tomarkdown.png +0 -0
  167. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/photo_search/cover.png +0 -0
  168. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/photo_search/extraction.png +0 -0
  169. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/photo_search/flow.png +0 -0
  170. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/cover.png +0 -0
  171. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/dedupe.png +0 -0
  172. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/export_all.png +0 -0
  173. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/export_product.png +0 -0
  174. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/export_taxonomy.png +0 -0
  175. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/extract_product.png +0 -0
  176. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/extract_taxonomy.png +0 -0
  177. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/neo4j.png +0 -0
  178. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/parse_json.png +0 -0
  179. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/product_recommendation/taxonomy.png +0 -0
  180. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/simple_vector_index/chunk.png +0 -0
  181. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/simple_vector_index/cover.png +0 -0
  182. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/simple_vector_index/embed.png +0 -0
  183. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/examples/simple_vector_index/flow.png +0 -0
  184. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/favicon.ico +0 -0
  185. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/icon.svg +0 -0
  186. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/img/incremental-etl.gif +0 -0
  187. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/static/robots.txt +0 -0
  188. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/tsconfig.json +0 -0
  189. {cocoindex-0.2.3 → cocoindex-0.2.5}/docs/yarn.lock +0 -0
  190. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/amazon_s3_embedding/.env.example +0 -0
  191. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/amazon_s3_embedding/.gitignore +0 -0
  192. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/amazon_s3_embedding/main.py +0 -0
  193. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/azure_blob_embedding/.env.example +0 -0
  194. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/azure_blob_embedding/.gitignore +0 -0
  195. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/azure_blob_embedding/main.py +0 -0
  196. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/code_embedding/.env +0 -0
  197. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/code_embedding/main.py +0 -0
  198. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/.env +0 -0
  199. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/.gitignore +0 -0
  200. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/data/bizarre_animals.md +0 -0
  201. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/data/chunk_norris.md +0 -0
  202. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/custom_output_files/main.py +0 -0
  203. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/docs_to_knowledge_graph/.env +0 -0
  204. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/docs_to_knowledge_graph/main.py +0 -0
  205. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/.env +0 -0
  206. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/images/Carter_welcomes_Reagan.jpg +0 -0
  207. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/images/Solvay_conference_1927.jpg +0 -0
  208. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/images/Steve_Jobs_and_Bill_Gates_(522695099).jpg +0 -0
  209. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/images/einplanck3.jpg +0 -0
  210. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/face_recognition/main.py +0 -0
  211. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/.dockerignore +0 -0
  212. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/.env +0 -0
  213. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/README.md +0 -0
  214. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/compose.yaml +0 -0
  215. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/dockerfile +0 -0
  216. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
  217. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/fastapi_server_docker/main.py +0 -0
  218. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/gdrive_text_embedding/.env.example +0 -0
  219. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/gdrive_text_embedding/.gitignore +0 -0
  220. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/gdrive_text_embedding/main.py +0 -0
  221. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/.env +0 -0
  222. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/README.md +0 -0
  223. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/colpali_main.py +0 -0
  224. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/.gitignore +0 -0
  225. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/index.html +0 -0
  226. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/package-lock.json +0 -0
  227. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/package.json +0 -0
  228. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/src/App.jsx +0 -0
  229. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/src/main.jsx +0 -0
  230. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/src/style.css +0 -0
  231. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/frontend/vite.config.js +0 -0
  232. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/img/cat1.jpeg +0 -0
  233. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/img/dog1.jpeg +0 -0
  234. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/img/elephant1.jpg +0 -0
  235. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/img/giraffe.jpg +0 -0
  236. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/image_search/main.py +0 -0
  237. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/live_updates/.env +0 -0
  238. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/live_updates/README.md +0 -0
  239. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/live_updates/data/bizarre_animals.md +0 -0
  240. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/live_updates/data/chunk_norris.md +0 -0
  241. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/live_updates/main.py +0 -0
  242. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/.env +0 -0
  243. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/main.py +0 -0
  244. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
  245. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
  246. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
  247. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
  248. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/.env +0 -0
  249. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/main.py +0 -0
  250. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/1706.03762v7.pdf +0 -0
  251. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/1810.04805v2.pdf +0 -0
  252. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/2502.06786v3.pdf +0 -0
  253. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/healthcare_industry_test_p101.jpg +0 -0
  254. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/healthcare_industry_test_p86.jpg +0 -0
  255. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/healthcare_industry_test_p9.jpg +0 -0
  256. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/restaurant_brands_international_2023.jpg +0 -0
  257. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/multi_format_indexing/source_files/sweetgreen_2023.jpg +0 -0
  258. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/.env.example +0 -0
  259. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/.gitignore +0 -0
  260. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/main.py +0 -0
  261. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/papers/1706.03762v7.pdf +0 -0
  262. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/papers/1810.04805v2.pdf +0 -0
  263. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/papers/2502.06786v3.pdf +0 -0
  264. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/paper_metadata/papers/2502.20346v1.pdf +0 -0
  265. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/.env.example +0 -0
  266. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/data/README.md +0 -0
  267. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_David_Artificial.docx +0 -0
  268. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Emily_Artificial.pdf +0 -0
  269. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Joe_Artificial.pdf +0 -0
  270. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_From_Jane_Artificial.docx +0 -0
  271. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/patient_intake_extraction/main.py +0 -0
  272. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/.env +0 -0
  273. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/main.py +0 -0
  274. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
  275. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
  276. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
  277. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/postgres_source/.env +0 -0
  278. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/postgres_source/prepare_source_data.sql +0 -0
  279. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/.env.example +0 -0
  280. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/img/cocoinsight.png +0 -0
  281. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/img/neo4j.png +0 -0
  282. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/main.py +0 -0
  283. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p1.json +0 -0
  284. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p2.json +0 -0
  285. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p3.json +0 -0
  286. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p4.json +0 -0
  287. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p5.json +0 -0
  288. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p6.json +0 -0
  289. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p7.json +0 -0
  290. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p8.json +0 -0
  291. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/product_recommendation/products/p9.json +0 -0
  292. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/.env +0 -0
  293. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/Text_Embedding.ipynb +0 -0
  294. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/main.py +0 -0
  295. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
  296. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
  297. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
  298. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding_qdrant/.env +0 -0
  299. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding_qdrant/main.py +0 -0
  300. {cocoindex-0.2.3 → cocoindex-0.2.5}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
  301. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/__init__.py +0 -0
  302. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/auth_registry.py +0 -0
  303. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/convert.py +0 -0
  304. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/flow.py +0 -0
  305. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/functions.py +0 -0
  306. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/index.py +0 -0
  307. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/lib.py +0 -0
  308. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/llm.py +0 -0
  309. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/op.py +0 -0
  310. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/py.typed +0 -0
  311. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/runtime.py +0 -0
  312. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/setting.py +0 -0
  313. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/setup.py +0 -0
  314. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/sources.py +0 -0
  315. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/subprocess_exec.py +0 -0
  316. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/targets.py +0 -0
  317. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/__init__.py +0 -0
  318. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/conftest.py +0 -0
  319. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/test_convert.py +0 -0
  320. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/test_optional_database.py +0 -0
  321. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/test_transform_flow.py +0 -0
  322. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/test_typing.py +0 -0
  323. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/tests/test_validation.py +0 -0
  324. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/typing.py +0 -0
  325. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/utils.py +0 -0
  326. {cocoindex-0.2.3 → cocoindex-0.2.5}/python/cocoindex/validation.py +0 -0
  327. {cocoindex-0.2.3 → cocoindex-0.2.5}/ruff.toml +0 -0
  328. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/duration.rs +0 -0
  329. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/field_attrs.rs +0 -0
  330. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/json_schema.rs +0 -0
  331. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/mod.rs +0 -0
  332. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/schema.rs +0 -0
  333. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/spec.rs +0 -0
  334. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/base/value.rs +0 -0
  335. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/builder/analyzed_flow.rs +0 -0
  336. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/builder/analyzer.rs +0 -0
  337. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/builder/exec_ctx.rs +0 -0
  338. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/builder/flow_builder.rs +0 -0
  339. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/builder/mod.rs +0 -0
  340. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/builder/plan.rs +0 -0
  341. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/db_tracking.rs +0 -0
  342. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/db_tracking_setup.rs +0 -0
  343. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/dumper.rs +0 -0
  344. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/evaluator.rs +0 -0
  345. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/indexing_status.rs +0 -0
  346. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/live_updater.rs +0 -0
  347. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/memoization.rs +0 -0
  348. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/mod.rs +0 -0
  349. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/row_indexer.rs +0 -0
  350. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/source_indexer.rs +0 -0
  351. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/execution/stats.rs +0 -0
  352. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/lib.rs +0 -0
  353. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/lib_context.rs +0 -0
  354. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/anthropic.rs +0 -0
  355. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/gemini.rs +0 -0
  356. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/litellm.rs +0 -0
  357. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/mod.rs +0 -0
  358. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/ollama.rs +0 -0
  359. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/openai.rs +0 -0
  360. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/openrouter.rs +0 -0
  361. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/vllm.rs +0 -0
  362. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/llm/voyage.rs +0 -0
  363. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/factory_bases.rs +0 -0
  364. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/functions/embed_text.rs +0 -0
  365. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/functions/extract_by_llm.rs +0 -0
  366. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/functions/mod.rs +0 -0
  367. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/functions/parse_json.rs +0 -0
  368. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/functions/split_recursively.rs +0 -0
  369. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/functions/test_utils.rs +0 -0
  370. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/interface.rs +0 -0
  371. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/mod.rs +0 -0
  372. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/py_factory.rs +0 -0
  373. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/registration.rs +0 -0
  374. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/registry.rs +0 -0
  375. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sdk.rs +0 -0
  376. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/shared/mod.rs +0 -0
  377. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/shared/postgres.rs +0 -0
  378. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/amazon_s3.rs +0 -0
  379. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/azure_blob.rs +0 -0
  380. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/google_drive.rs +0 -0
  381. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/local_file.rs +0 -0
  382. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/mod.rs +0 -0
  383. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/postgres.rs +0 -0
  384. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/shared/mod.rs +0 -0
  385. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/sources/shared/pattern_matcher.rs +0 -0
  386. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/kuzu.rs +0 -0
  387. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/mod.rs +0 -0
  388. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/neo4j.rs +0 -0
  389. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/postgres.rs +0 -0
  390. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/qdrant.rs +0 -0
  391. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/shared/mod.rs +0 -0
  392. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/shared/property_graph.rs +0 -0
  393. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/ops/targets/shared/table_columns.rs +0 -0
  394. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/prelude.rs +0 -0
  395. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/py/convert.rs +0 -0
  396. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/py/mod.rs +0 -0
  397. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/server.rs +0 -0
  398. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/service/error.rs +0 -0
  399. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/service/flows.rs +0 -0
  400. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/service/mod.rs +0 -0
  401. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/settings.rs +0 -0
  402. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/auth_registry.rs +0 -0
  403. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/components.rs +0 -0
  404. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/db_metadata.rs +0 -0
  405. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/driver.rs +0 -0
  406. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/flow_features.rs +0 -0
  407. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/mod.rs +0 -0
  408. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/setup/states.rs +0 -0
  409. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/concur_control.rs +0 -0
  410. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/db.rs +0 -0
  411. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/fingerprint.rs +0 -0
  412. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/immutable.rs +0 -0
  413. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/mod.rs +0 -0
  414. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/retryable.rs +0 -0
  415. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/str_sanitize.rs +0 -0
  416. {cocoindex-0.2.3 → cocoindex-0.2.5}/src/utils/yaml_ser.rs +0 -0
@@ -62,4 +62,25 @@ jobs:
62
62
  if: ${{ startsWith(matrix.platform.runner, 'windows') }}
63
63
  shell: cmd # Use `cmd` to run test for Windows, as PowerShell doesn't detect exit code by `os._exit(0)` correctly.
64
64
  run: |
65
- ${{ matrix.platform.python_exec }} -m pytest --capture=no python/cocoindex/tests
65
+ ${{ matrix.platform.python_exec }} -m pytest --capture=no python/cocoindex/tests
66
+
67
+ validate-3p-notices:
68
+ runs-on: ubuntu-latest
69
+ steps:
70
+ - uses: actions/checkout@v4
71
+ - name: Rust Cache
72
+ uses: Swatinem/rust-cache@v2
73
+ - name: Install Rust toolchain
74
+ uses: dtolnay/rust-toolchain@stable
75
+ - name: Install cargo-about
76
+ run: cargo install --locked cargo-about
77
+ - name: Validate third-party notices (dry-run)
78
+ shell: bash
79
+ run: |
80
+ set +e
81
+ cargo about generate about.hbs > /dev/null
82
+ status=$?
83
+ if [ $status -ne 0 ]; then
84
+ echo "::error::Third-party notices validation failed. Please update /about.toml and rerun."
85
+ exit $status
86
+ fi
@@ -94,10 +94,32 @@ jobs:
94
94
  name: wheels-sdist
95
95
  path: dist
96
96
 
97
+ generate-3p-notices:
98
+ runs-on: ubuntu-latest
99
+ needs: [create-versioned-toml]
100
+ steps:
101
+ - uses: actions/checkout@v4
102
+ - uses: actions/download-artifact@v4
103
+ with:
104
+ name: Cargo.toml
105
+ - name: Rust Cache
106
+ uses: Swatinem/rust-cache@v2
107
+ - name: Install Rust toolchain
108
+ uses: dtolnay/rust-toolchain@stable
109
+ - name: Install cargo-about
110
+ run: cargo install --locked cargo-about
111
+ - name: Generate THIRD_PARTY_NOTICES.html
112
+ run: cargo about generate -o THIRD_PARTY_NOTICES.html about.hbs
113
+ - name: Upload THIRD_PARTY_NOTICES.html artifact
114
+ uses: actions/upload-artifact@v4
115
+ with:
116
+ name: THIRD_PARTY_NOTICES.html
117
+ path: THIRD_PARTY_NOTICES.html
118
+
97
119
  release:
98
120
  name: Release
99
121
  runs-on: ubuntu-latest
100
- needs: [create-versioned-toml, build, test-abi3, sdist]
122
+ needs: [create-versioned-toml, build, test-abi3, sdist, generate-3p-notices]
101
123
  permissions:
102
124
  # Use to sign the release artifacts
103
125
  id-token: write
@@ -111,6 +133,9 @@ jobs:
111
133
  - uses: actions/download-artifact@v4
112
134
  with:
113
135
  name: Cargo.toml
136
+ - uses: actions/download-artifact@v4
137
+ with:
138
+ name: THIRD_PARTY_NOTICES.html
114
139
  - uses: actions/download-artifact@v4
115
140
  with:
116
141
  pattern: wheels-*
@@ -1283,7 +1283,7 @@ dependencies = [
1283
1283
 
1284
1284
  [[package]]
1285
1285
  name = "cocoindex"
1286
- version = "0.2.3"
1286
+ version = "0.2.5"
1287
1287
  dependencies = [
1288
1288
  "anyhow",
1289
1289
  "async-openai",
@@ -5091,6 +5091,7 @@ dependencies = [
5091
5091
  "memchr",
5092
5092
  "once_cell",
5093
5093
  "percent-encoding",
5094
+ "rustls 0.23.31",
5094
5095
  "serde",
5095
5096
  "serde_json",
5096
5097
  "sha2",
@@ -5101,6 +5102,7 @@ dependencies = [
5101
5102
  "tracing",
5102
5103
  "url",
5103
5104
  "uuid",
5105
+ "webpki-roots 0.26.11",
5104
5106
  ]
5105
5107
 
5106
5108
  [[package]]
@@ -2,9 +2,10 @@
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.3"
5
+ version = "0.2.5"
6
6
  edition = "2024"
7
7
  rust-version = "1.88"
8
+ license = "Apache-2.0"
8
9
  readme = "README.md"
9
10
 
10
11
  [profile.release]
@@ -43,6 +44,7 @@ sqlx = { version = "0.8.6", features = [
43
44
  "postgres",
44
45
  "runtime-tokio",
45
46
  "uuid",
47
+ "tls-rustls-aws-lc-rs",
46
48
  ] }
47
49
  tokio = { version = "1.47.1", features = [
48
50
  "macros",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cocoindex
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Operating System :: OS Independent
@@ -34,7 +34,6 @@ Provides-Extra: dev
34
34
  Provides-Extra: embeddings
35
35
  Provides-Extra: colpali
36
36
  Provides-Extra: all
37
- License-File: LICENSE
38
37
  Summary: With CocoIndex, users declare the transformation, CocoIndex creates & maintains an index, and keeps the derived index up to date based on source update, with minimal computation and changes.
39
38
  Keywords: indexing,real-time,incremental,pipeline,search,ai,etl,rag,dataflow,context-engineering
40
39
  Author-email: CocoIndex <cocoindex.io@gmail.com>
@@ -0,0 +1,70 @@
1
+ <html>
2
+
3
+ <head>
4
+ <style>
5
+ @media (prefers-color-scheme: dark) {
6
+ body {
7
+ background: #333;
8
+ color: white;
9
+ }
10
+ a {
11
+ color: skyblue;
12
+ }
13
+ }
14
+ .container {
15
+ font-family: sans-serif;
16
+ max-width: 800px;
17
+ margin: 0 auto;
18
+ }
19
+ .intro {
20
+ text-align: center;
21
+ }
22
+ .licenses-list {
23
+ list-style-type: none;
24
+ margin: 0;
25
+ padding: 0;
26
+ }
27
+ .license-used-by {
28
+ margin-top: -10px;
29
+ }
30
+ .license-text {
31
+ max-height: 200px;
32
+ overflow-y: scroll;
33
+ white-space: pre-wrap;
34
+ }
35
+ </style>
36
+ </head>
37
+
38
+ <body>
39
+ <main class="container">
40
+ <div class="intro">
41
+ <h1>Third Party Licenses</h1>
42
+ <p>This page lists the licenses of the projects used in cargo-about.</p>
43
+ </div>
44
+
45
+ <h2>Overview of licenses:</h2>
46
+ <ul class="licenses-overview">
47
+ {{#each overview}}
48
+ <li><a href="#{{id}}">{{name}}</a> ({{count}})</li>
49
+ {{/each}}
50
+ </ul>
51
+
52
+ <h2>All license text:</h2>
53
+ <ul class="licenses-list">
54
+ {{#each licenses}}
55
+ <li class="license">
56
+ <h3 id="{{id}}">{{name}}</h3>
57
+ <h4>Used by:</h4>
58
+ <ul class="license-used-by">
59
+ {{#each used_by}}
60
+ <li><a href="{{#if crate.repository}} {{crate.repository}} {{else}} https://crates.io/crates/{{crate.name}} {{/if}}">{{crate.name}} {{crate.version}}</a></li>
61
+ {{/each}}
62
+ </ul>
63
+ <pre class="license-text">{{text}}</pre>
64
+ </li>
65
+ {{/each}}
66
+ </ul>
67
+ </main>
68
+ </body>
69
+
70
+ </html>
@@ -0,0 +1,12 @@
1
+ accepted = [
2
+ "Apache-2.0",
3
+ "Apache-2.0 WITH LLVM-exception",
4
+ "BSD-2-Clause",
5
+ "BSD-3-Clause",
6
+ "CDLA-Permissive-2.0",
7
+ "ISC",
8
+ "MIT",
9
+ "OpenSSL",
10
+ "Unicode-3.0",
11
+ "Zlib",
12
+ ]
@@ -17,11 +17,16 @@ Once CocoIndex is installed, you can invoke the CLI directly using the `cocoinde
17
17
  ### APP_TARGET Format
18
18
 
19
19
  The `APP_TARGET` can be:
20
- 1. A **path to a Python file** defining your flows (e.g., `main.py`, `path/to/my_flows.py`).
21
- 2. An **installed Python module name** that contains your flow definitions (e.g., `my_package.flows`).
20
+ 1. An **Python module name** that contains your flow definitions (e.g., `main`, `my_package.flows`).
21
+ You can also use `--app-dir <path>` to specify the base directory to load the module from.
22
+
23
+ 2. A **path to a Python file** defining your flows (e.g., `main.py`, `path/to/my_flows.py`).
24
+
25
+ The file will be loaded as a top-level Python module, e.g. relative imports will not work as its parent package is not defined (similar to how `python main.py` resolves imports).
26
+
22
27
  3. For commands that operate on a *specific flow* (like `show`, `update`, `evaluate`), you can combine the application reference with a flow name:
23
- * `path/to/my_flows.py:MyFlow`
24
28
  * `my_package.flows:MyFlow`
29
+ * `path/to/my_flows.py:MyFlow`
25
30
 
26
31
  ### Environment Variables
27
32
 
@@ -44,6 +49,7 @@ If no file is found, only existing system environment variables are used.
44
49
  CocoIndex CLI supports the following global options:
45
50
 
46
51
  * `--env-file <path>`: Load environment variables from a specified `.env` file. If not provided, `.env` in the current directory is loaded if it exists.
52
+ * `--app-dir <path>`: Load apps from the specified directory. It will be treated as part of `PYTHONPATH`. Default to the current directory.
47
53
  * `--version`: Show the CocoIndex version and exit.
48
54
  * `--help`: Show the main help message and exit.
49
55
 
@@ -190,7 +190,7 @@ A data source may enable one or multiple *change capture mechanisms*:
190
190
  * Configured with a [refresh interval](flow_def#refresh-interval), which is generally applicable to all data sources.
191
191
 
192
192
  * Specific data sources also provide their specific change capture mechanisms.
193
- For example, [`AmazonS3` source](../ops/sources/#amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../ops/sources#googledrive) allows polling recent modified files.
193
+ For example, [`Postgres` source](../ops/sources/#postgres) listens to PostgreSQL's change notifications, [`AmazonS3` source](../ops/sources/#amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../ops/sources#googledrive) allows polling recent modified files.
194
194
  See documentations for specific data sources.
195
195
 
196
196
  Change capture mechanisms enable CocoIndex to continuously capture changes from the source data and update the target data accordingly, under live update mode.
@@ -342,7 +342,7 @@ You can walk through the project step by step in [CocoInsight](https://www.youtu
342
342
 
343
343
 
344
344
  ```sh
345
- cocoindex server -ci main.py
345
+ cocoindex server -ci main
346
346
  ```
347
347
 
348
348
  Follow the url `https://cocoindex.io/cocoinsight`. It connects to your local CocoIndex server, with zero pipeline data retention.
@@ -345,7 +345,7 @@ It creates relationships by:
345
345
  I used CocoInsight to troubleshoot the index generation and understand the data lineage of the pipeline. It is in free beta now, you can give it a try.
346
346
 
347
347
  ```sh
348
- cocoindex server -ci main.py
348
+ cocoindex server -ci main
349
349
  ```
350
350
 
351
351
  And then open the url `https://cocoindex.io/cocoinsight`. It just connects to your local CocoIndex server, with zero pipeline data retention.
@@ -0,0 +1,156 @@
1
+ ---
2
+ title: Bring your own parser as building block with Google Document AI
3
+ description: Use Google Document AI to parse document, embed the resulting text, and store it in a vectorized database for semantic search.
4
+ sidebar_class_name: hidden
5
+ slug: /examples/document_ai
6
+ canonicalUrl: '/examples/document_ai'
7
+ sidebar_custom_props:
8
+ image: /img/examples/document_ai/cover.png
9
+ tags: [vector-index, custom-building-block]
10
+ tags: [vector-index, custom-building-block]
11
+ ---
12
+ import { GitHubButton, DocumentationButton, ExampleButton } from '../../../src/components/GitHubButton';
13
+
14
+
15
+ <GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/document_ai" margin="0 0 24px 0" />
16
+
17
+ ![Document AI](/img/examples/document_ai/cover.png)
18
+
19
+ CocoIndex is a flexible ETL framework with incremental processing. We don’t build parser ourselves, and users can bring in any open source or commercial parser that works best for their scenarios. In this example, we show how to use **Google Document AI to parse document**, embed the resulting text, and store it in a vectorized database for semantic search.
20
+
21
+ ## Set up
22
+ - [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one.
23
+ - Configure Project and Processor ID for Document AI API
24
+ - [Official Google document AI API](https://cloud.google.com/document-ai/docs/try-docai) with free live demo.
25
+ - Sign in to [Google Cloud Console](https://console.cloud.google.com/), create or open a project, and enable Document AI API.
26
+ - ![image.png](/img/examples/document_ai/document_ai.png)
27
+ - ![image.png](/img/examples/document_ai/processor.png)
28
+ - update `.env` with `GOOGLE_CLOUD_PROJECT_ID` and `GOOGLE_CLOUD_PROCESSOR_ID`.
29
+
30
+
31
+ ## Create Your building block to convert PDFs to Markdown
32
+
33
+ We define a `ToMarkdown` custom function spec, which leverages Google Document AI to parse PDF content:
34
+
35
+ ```python
36
+ class ToMarkdown(cocoindex.op.FunctionSpec):
37
+ """Convert a PDF to markdown using Google Document AI."""
38
+ ```
39
+
40
+ The corresponding executor class handles API initialization and parsing logic:
41
+
42
+ ```python
43
+ @cocoindex.op.executor_class(cache=True, behavior_version=1)
44
+ class DocumentAIExecutor:
45
+ """Executor for Google Document AI to parse PDF files."""
46
+
47
+ spec: ToMarkdown
48
+ _client: documentai.DocumentProcessorServiceClient
49
+ _processor_name: str
50
+
51
+ def prepare(self):
52
+ # Initialize the Document AI client
53
+ project_id = os.environ.get("GOOGLE_CLOUD_PROJECT_ID")
54
+ location = os.environ.get("GOOGLE_CLOUD_LOCATION", "us")
55
+ processor_id = os.environ.get("GOOGLE_CLOUD_PROCESSOR_ID")
56
+
57
+ opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
58
+ self._client = documentai.DocumentProcessorServiceClient(client_options=opts)
59
+ self._processor_name = self._client.processor_path(project_id, location, processor_id)
60
+
61
+ async def __call__(self, content: bytes) -> str:
62
+ """Parse PDF content and convert to markdown text."""
63
+ request = documentai.ProcessRequest(
64
+ name=self._processor_name,
65
+ raw_document=documentai.RawDocument(content=content, mime_type="application/pdf")
66
+ )
67
+ response = self._client.process_document(request=request)
68
+ return response.document.text
69
+ ```
70
+
71
+ Make sure you configure the `cache` and `behavior_version` parameters for heavy operations like this.
72
+
73
+ - `cache`: Whether the executor will enable cache for this function. When True, the executor will cache the result of the function for reuse during reprocessing. We recommend to set this to True for any function that is computationally intensive.
74
+
75
+ - `behavior_version`: The version of the behavior of the function. When the version is changed, the function will be re-executed even if cache is enabled. It's required to be set if cache is True.
76
+
77
+
78
+ <DocumentationButton url="https://cocoindex.io/docs/custom_ops/custom_functions#option-2-by-a-function-spec-and-an-executor" text="Custom Functions" margin="0 0 16px 0" />
79
+
80
+ <DocumentationButton url="https://cocoindex.io/docs/custom_ops/custom_functions#parameters-for-custom-functions" text="Parameters for Custom Functions" margin="0 0 16px 0" />
81
+
82
+ ## Define the flow
83
+
84
+ ```python
85
+ @cocoindex.flow_def(name="DocumentAiPdfEmbedding")
86
+ def pdf_embedding_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.DataScope):
87
+ # flow definition
88
+ ```
89
+
90
+ ### Add source & collector
91
+
92
+ ```python
93
+ data_scope["documents"] = flow_builder.add_source(
94
+ cocoindex.sources.LocalFile(path="pdf_files", binary=True)
95
+ )
96
+
97
+ doc_embeddings = data_scope.add_collector()
98
+ ```
99
+
100
+ <DocumentationButton url="https://cocoindex.io/docs/ops/sources" text="Source" margin="0 0 16px 0" />
101
+
102
+ <DocumentationButton url="https://cocoindex.io/docs/ops/collectors" text="Collector" margin="0 0 16px 0" />
103
+
104
+ ### Process each document
105
+
106
+ ```python
107
+ with data_scope["documents"].row() as doc:
108
+ doc["markdown"] = doc["content"].transform(ToMarkdown())
109
+ doc["chunks"] = doc["markdown"].transform(
110
+ cocoindex.functions.SplitRecursively(),
111
+ language="markdown",
112
+ chunk_size=2000,
113
+ chunk_overlap=500
114
+ )
115
+ with doc["chunks"].row() as chunk:
116
+ chunk["embedding"] = chunk["text"].call(text_to_embedding)
117
+ doc_embeddings.collect(
118
+ id=cocoindex.GeneratedField.UUID,
119
+ filename=doc["filename"],
120
+ location=chunk["location"],
121
+ text=chunk["text"],
122
+ embedding=chunk["embedding"]
123
+ )
124
+ ```
125
+
126
+ 1. Convert them to Markdown using Document AI.
127
+ 2. Split the Markdown into chunks.
128
+ 3. Embed each chunk.
129
+
130
+ ## Export to Postgres
131
+
132
+ ```python
133
+ doc_embeddings.export(
134
+ "doc_embeddings",
135
+ cocoindex.storages.Postgres(),
136
+ primary_key_fields=["id"],
137
+ vector_indexes=[
138
+ cocoindex.VectorIndexDef(
139
+ field_name="embedding",
140
+ metric=cocoindex.VectorSimilarityMetric.COSINE_SIMILARITY
141
+ )
142
+ ]
143
+ )
144
+ ```
145
+
146
+ ## End to End Example
147
+
148
+ For a step-by-step walkthrough of each indexing stage and the query path, check out this example:
149
+
150
+ <ExampleButton href="https://cocoindex.io/docs/examples/simple_vector_index" text="Simple Vector Index" margin="0 0 16px 0" />
151
+
152
+ ## Other sources
153
+
154
+ CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more with native incremental processing out of box - when new or updated files are detected, the pipeline will capture the changes and only process what's changed.
155
+
156
+ <DocumentationButton url="https://cocoindex.io/docs/ops/sources" text="Sources" margin="0 0 16px 0" />
@@ -245,7 +245,7 @@ SELECT filename, module_info->'title' AS title, module_summary FROM modules_info
245
245
  [CocoInsight](https://www.youtube.com/watch?v=ZnmyoHslBSc) is a really cool tool to help you understand your data pipeline and data index. It is in Early Access now (Free).
246
246
 
247
247
  ```sh
248
- cocoindex server -ci main.py
248
+ cocoindex server -ci main
249
249
  ```
250
250
  CocoInsight dashboard is here `https://cocoindex.io/cocoinsight`. It connects to your local CocoIndex server with zero data retention.
251
251
 
@@ -193,7 +193,7 @@ You can walk through the project step by step in [CocoInsight](https://www.youtu
193
193
 
194
194
 
195
195
  ```sh
196
- cocoindex server -ci main.py
196
+ cocoindex server -ci main
197
197
  ```
198
198
 
199
199
  Follow the url `https://cocoindex.io/cocoinsight`. It connects to your local CocoIndex server, with zero pipeline data retention. You can use it to view extracted pages, see embedding vectors and metadata.
@@ -283,7 +283,7 @@ We could troubleshoot in two steps:
283
283
  I also use CocoInsight to help me troubleshoot.
284
284
 
285
285
  ```bash
286
- cocoindex server -ci main.py
286
+ cocoindex server -ci main
287
287
  ```
288
288
 
289
289
  Go to `https://cocoindex.io/cocoinsight`. You could see an interactive UI to explore the data.
@@ -206,7 +206,7 @@ CocoInsight is a tool to help you understand your data pipeline and data index.
206
206
  You can walk through the project step by step in [CocoInsight](https://www.youtube.com/watch?v=MMrpUfUcZPk) to see exactly how each field is constructed and what happens behind the scenes.
207
207
 
208
208
  ```sh
209
- cocoindex server -ci main.py
209
+ cocoindex server -ci main
210
210
  ```
211
211
 
212
212
  Follow the url `https://cocoindex.io/cocoinsight`. It connects to your local CocoIndex server, with zero pipeline data retention.