cocoindex 0.1.26__tar.gz → 0.1.27__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 (195) hide show
  1. cocoindex-0.1.27/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md +20 -0
  2. {cocoindex-0.1.26 → cocoindex-0.1.27}/.github/workflows/CI.yml +5 -2
  3. cocoindex-0.1.27/.github/workflows/_test.yml +45 -0
  4. {cocoindex-0.1.26 → cocoindex-0.1.27}/.gitignore +0 -3
  5. cocoindex-0.1.27/.vscode/settings.json +7 -0
  6. {cocoindex-0.1.26 → cocoindex-0.1.27}/Cargo.lock +68 -60
  7. {cocoindex-0.1.26 → cocoindex-0.1.27}/Cargo.toml +2 -1
  8. {cocoindex-0.1.26 → cocoindex-0.1.27}/PKG-INFO +1 -1
  9. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/about/contributing.md +13 -3
  10. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/ai/llm.mdx +24 -1
  11. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/basics.md +3 -3
  12. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/custom_function.mdx +1 -1
  13. cocoindex-0.1.27/docs/docs/core/data_types.mdx +121 -0
  14. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/flow_def.mdx +92 -59
  15. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/flow_methods.mdx +1 -1
  16. cocoindex-0.1.27/docs/docs/core/initialization.mdx +121 -0
  17. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/getting_started/quickstart.md +4 -3
  18. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/ops/functions.md +1 -1
  19. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/ops/sources.md +2 -2
  20. cocoindex-0.1.27/docs/docs/ops/storages.md +393 -0
  21. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docusaurus.config.ts +5 -0
  22. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/package.json +1 -0
  23. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/yarn.lock +934 -7
  24. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/code_embedding/pyproject.toml +1 -1
  25. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/main.py +33 -49
  26. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/pyproject.toml +1 -1
  27. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/pyproject.toml +1 -1
  28. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/main.py +8 -4
  29. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/pyproject.toml +1 -1
  30. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/pyproject.toml +1 -1
  31. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/pyproject.toml +1 -1
  32. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding_qdrant/pyproject.toml +1 -1
  33. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/__init__.py +2 -1
  34. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/convert.py +42 -21
  35. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/flow.py +2 -2
  36. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/functions.py +1 -1
  37. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/lib.py +15 -7
  38. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/llm.py +1 -0
  39. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/op.py +4 -4
  40. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/query.py +5 -4
  41. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/storages.py +1 -1
  42. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/tests/test_convert.py +99 -53
  43. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/typing.py +75 -47
  44. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/base/json_schema.rs +1 -1
  45. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/base/schema.rs +26 -26
  46. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/base/spec.rs +65 -3
  47. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/base/value.rs +32 -37
  48. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/builder/analyzed_flow.rs +1 -1
  49. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/builder/analyzer.rs +24 -28
  50. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/builder/flow_builder.rs +4 -4
  51. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/db_tracking_setup.rs +21 -14
  52. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/evaluator.rs +25 -27
  53. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/query.rs +2 -2
  54. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/lib_context.rs +38 -3
  55. cocoindex-0.1.27/src/llm/anthropic.rs +137 -0
  56. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/llm/mod.rs +5 -0
  57. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/factory_bases.rs +10 -3
  58. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/functions/split_recursively.rs +181 -7
  59. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/interface.rs +34 -6
  60. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/registration.rs +1 -1
  61. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/sdk.rs +2 -2
  62. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/sources/google_drive.rs +2 -2
  63. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/sources/local_file.rs +2 -2
  64. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/storages/neo4j.rs +10 -10
  65. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/storages/postgres.rs +76 -90
  66. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/storages/qdrant.rs +1 -1
  67. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/py/convert.rs +8 -8
  68. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/py/mod.rs +38 -26
  69. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/service/flows.rs +5 -5
  70. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/service/search.rs +4 -9
  71. cocoindex-0.1.27/src/settings.rs +13 -0
  72. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/setup/auth_registry.rs +1 -1
  73. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/setup/components.rs +1 -0
  74. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/setup/db_metadata.rs +53 -28
  75. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/setup/driver.rs +97 -57
  76. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/setup/states.rs +18 -9
  77. cocoindex-0.1.26/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md +0 -24
  78. cocoindex-0.1.26/docs/docs/core/data_types.mdx +0 -99
  79. cocoindex-0.1.26/docs/docs/core/initialization.mdx +0 -75
  80. cocoindex-0.1.26/docs/docs/ops/storages.md +0 -93
  81. cocoindex-0.1.26/src/settings.rs +0 -6
  82. {cocoindex-0.1.26 → cocoindex-0.1.27}/.cargo/config.toml +0 -0
  83. {cocoindex-0.1.26 → cocoindex-0.1.27}/.env.lib_debug +0 -0
  84. {cocoindex-0.1.26 → cocoindex-0.1.27}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
  85. {cocoindex-0.1.26 → cocoindex-0.1.27}/.github/scripts/update_version.sh +0 -0
  86. {cocoindex-0.1.26 → cocoindex-0.1.27}/.github/workflows/docs.yml +0 -0
  87. {cocoindex-0.1.26 → cocoindex-0.1.27}/.github/workflows/release.yml +0 -0
  88. {cocoindex-0.1.26 → cocoindex-0.1.27}/CODE_OF_CONDUCT.md +0 -0
  89. {cocoindex-0.1.26 → cocoindex-0.1.27}/CONTRIBUTING.md +0 -0
  90. {cocoindex-0.1.26 → cocoindex-0.1.27}/LICENSE +0 -0
  91. {cocoindex-0.1.26 → cocoindex-0.1.27}/README.md +0 -0
  92. {cocoindex-0.1.26 → cocoindex-0.1.27}/dev/neo4j.yaml +0 -0
  93. {cocoindex-0.1.26 → cocoindex-0.1.27}/dev/postgres.yaml +0 -0
  94. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/.gitignore +0 -0
  95. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/README.md +0 -0
  96. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/about/community.md +0 -0
  97. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/cli.mdx +0 -0
  98. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/data_example.svg +0 -0
  99. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/core/flow_example.svg +0 -0
  100. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/getting_started/installation.md +0 -0
  101. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/getting_started/markdown_files.zip +0 -0
  102. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/docs/getting_started/overview.md +0 -0
  103. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/sidebars.ts +0 -0
  104. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/src/components/HomepageFeatures/index.tsx +0 -0
  105. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/src/components/HomepageFeatures/styles.module.css +0 -0
  106. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/src/css/custom.css +0 -0
  107. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/src/theme/Root.js +0 -0
  108. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/static/.nojekyll +0 -0
  109. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/static/img/docusaurus.png +0 -0
  110. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/static/img/favicon.ico +0 -0
  111. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/static/img/icon.svg +0 -0
  112. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/static/robots.txt +0 -0
  113. {cocoindex-0.1.26 → cocoindex-0.1.27}/docs/tsconfig.json +0 -0
  114. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/code_embedding/.env +0 -0
  115. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/code_embedding/README.md +0 -0
  116. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/code_embedding/main.py +0 -0
  117. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/.env +0 -0
  118. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/README.md +0 -0
  119. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/markdown_files/1706.03762v7.md +0 -0
  120. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/markdown_files/1810.04805v2.md +0 -0
  121. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/docs_to_knowledge_graph/markdown_files/rfc8259.md +0 -0
  122. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/.env.example +0 -0
  123. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/.gitignore +0 -0
  124. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/README.md +0 -0
  125. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/data/1706.03762v7.docx +0 -0
  126. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/data/1810.04805v2.docx +0 -0
  127. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/gdrive_text_embedding/main.py +0 -0
  128. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/.env +0 -0
  129. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/README.md +0 -0
  130. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
  131. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
  132. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
  133. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
  134. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/.env +0 -0
  135. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/README.md +0 -0
  136. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/main.py +0 -0
  137. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
  138. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
  139. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
  140. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/.env +0 -0
  141. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/README.md +0 -0
  142. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/Text_Embedding.ipynb +0 -0
  143. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/main.py +0 -0
  144. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
  145. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
  146. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
  147. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding_qdrant/.env +0 -0
  148. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding_qdrant/README.md +0 -0
  149. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding_qdrant/main.py +0 -0
  150. {cocoindex-0.1.26 → cocoindex-0.1.27}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
  151. {cocoindex-0.1.26 → cocoindex-0.1.27}/pyproject.toml +0 -0
  152. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/auth_registry.py +0 -0
  153. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/cli.py +0 -0
  154. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/index.py +0 -0
  155. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/py.typed +0 -0
  156. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/runtime.py +0 -0
  157. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/setup.py +0 -0
  158. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/sources.py +0 -0
  159. {cocoindex-0.1.26 → cocoindex-0.1.27}/python/cocoindex/tests/__init__.py +0 -0
  160. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/base/field_attrs.rs +0 -0
  161. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/base/mod.rs +0 -0
  162. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/builder/mod.rs +0 -0
  163. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/builder/plan.rs +0 -0
  164. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/db_tracking.rs +0 -0
  165. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/dumper.rs +0 -0
  166. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/live_updater.rs +0 -0
  167. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/memoization.rs +0 -0
  168. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/mod.rs +0 -0
  169. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/row_indexer.rs +0 -0
  170. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/source_indexer.rs +0 -0
  171. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/execution/stats.rs +0 -0
  172. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/lib.rs +0 -0
  173. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/llm/gemini.rs +0 -0
  174. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/llm/ollama.rs +0 -0
  175. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/llm/openai.rs +0 -0
  176. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/functions/extract_by_llm.rs +0 -0
  177. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/functions/mod.rs +0 -0
  178. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/functions/parse_json.rs +0 -0
  179. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/mod.rs +0 -0
  180. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/py_factory.rs +0 -0
  181. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/registry.rs +0 -0
  182. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/sources/mod.rs +0 -0
  183. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/storages/mod.rs +0 -0
  184. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/ops/storages/spec.rs +0 -0
  185. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/prelude.rs +0 -0
  186. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/server.rs +0 -0
  187. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/service/error.rs +0 -0
  188. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/service/mod.rs +0 -0
  189. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/setup/mod.rs +0 -0
  190. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/utils/db.rs +0 -0
  191. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/utils/fingerprint.rs +0 -0
  192. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/utils/immutable.rs +0 -0
  193. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/utils/mod.rs +0 -0
  194. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/utils/retriable.rs +0 -0
  195. {cocoindex-0.1.26 → cocoindex-0.1.27}/src/utils/yaml_ser.rs +0 -0
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: "\U0001F4A1 Feature request"
3
+ about: Suggest an idea for this project
4
+ title: "[FEATURE]"
5
+ labels: ''
6
+ type: 'feature'
7
+ assignees: ''
8
+
9
+ ---
10
+
11
+ **What is the use case?**
12
+
13
+ **Describe the solution you'd like**
14
+
15
+ **Additional context**
16
+
17
+
18
+ ---
19
+ ❤️ Contributors, please refer to 📙[Contributing Guide](https://cocoindex.io/docs/about/contributing).
20
+ Unless the PR can be sent immediately (e.g. just a few lines of code), we recommend you to leave a comment on the issue like **`I'm working on it`** or **`Can I work on this issue?`** to avoid duplicating work. Our [Discord server](https://discord.com/invite/zpA9S2DR7s) is always open and friendly.
@@ -12,14 +12,14 @@ on:
12
12
  - src/**
13
13
  - python/**
14
14
  - "*.toml"
15
- - ".github/workflows/CI.yml"
15
+ - ".github/workflows/*.yml"
16
16
  push:
17
17
  branches: [main]
18
18
  paths:
19
19
  - src/**
20
20
  - python/**
21
21
  - "*.toml"
22
- - ".github/workflows/CI.yml"
22
+ - ".github/workflows/*.yml"
23
23
  workflow_dispatch:
24
24
 
25
25
  permissions:
@@ -46,3 +46,6 @@ jobs:
46
46
  sccache: 'true'
47
47
  manylinux: auto
48
48
  container: ${{ matrix.platform.container }}
49
+ test:
50
+ name: Run test
51
+ uses: ./.github/workflows/_test.yml
@@ -0,0 +1,45 @@
1
+ name: Run Tests
2
+
3
+ on:
4
+ workflow_call:
5
+
6
+ env:
7
+ CARGO_TERM_COLOR: always
8
+
9
+ jobs:
10
+ build-test:
11
+ strategy:
12
+ matrix:
13
+ python-version: [3.11, 3.13]
14
+ platform: [ubuntu-latest, macos-latest]
15
+ runs-on: ${{ matrix.platform }}
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - run: rustup toolchain install stable --profile minimal
20
+ - name: Rust Cache
21
+ uses: Swatinem/rust-cache@v2
22
+ with:
23
+ key: ${{ runner.os }}-rust-${{ matrix.python-version }}
24
+ - name: Rust build
25
+ run: cargo build --verbose
26
+ - name: Rust tests
27
+ run: cargo test --verbose
28
+
29
+ - uses: actions/setup-python@v5
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+ cache: 'pip'
33
+ - uses: actions/cache@v4
34
+ with:
35
+ path: .venv
36
+ key: ${{ runner.os }}-pythonenv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
37
+ restore-keys: |
38
+ ${{ runner.os }}-pythonenv-${{ matrix.python-version }}-
39
+ - name: Python build & test
40
+ run: |
41
+ python -m venv .venv
42
+ source .venv/bin/activate
43
+ pip install maturin pytest
44
+ maturin develop
45
+ pytest python/cocoindex/tests
@@ -14,9 +14,6 @@ dist/
14
14
 
15
15
  .DS_Store
16
16
 
17
- # Lock files for dependencies should be ignored for library
18
- /Cargo.lock
19
-
20
17
  *.egg-info/
21
18
 
22
19
  # Output of `cocoindex eval`
@@ -0,0 +1,7 @@
1
+ {
2
+ "cSpell.words": [
3
+ "cocoindex",
4
+ "reindexing",
5
+ "timedelta"
6
+ ]
7
+ }
@@ -155,7 +155,7 @@ checksum = "0289cba6d5143bfe8251d57b4a8cac036adf158525a76533a7082ba65ec76398"
155
155
  dependencies = [
156
156
  "proc-macro2",
157
157
  "quote",
158
- "syn 2.0.100",
158
+ "syn 2.0.101",
159
159
  ]
160
160
 
161
161
  [[package]]
@@ -177,7 +177,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
177
177
  dependencies = [
178
178
  "proc-macro2",
179
179
  "quote",
180
- "syn 2.0.100",
180
+ "syn 2.0.101",
181
181
  ]
182
182
 
183
183
  [[package]]
@@ -188,7 +188,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
188
188
  dependencies = [
189
189
  "proc-macro2",
190
190
  "quote",
191
- "syn 2.0.100",
191
+ "syn 2.0.101",
192
192
  ]
193
193
 
194
194
  [[package]]
@@ -380,7 +380,7 @@ dependencies = [
380
380
  "regex",
381
381
  "rustc-hash 1.1.0",
382
382
  "shlex",
383
- "syn 2.0.100",
383
+ "syn 2.0.101",
384
384
  "which",
385
385
  ]
386
386
 
@@ -444,9 +444,9 @@ dependencies = [
444
444
 
445
445
  [[package]]
446
446
  name = "cc"
447
- version = "1.2.19"
447
+ version = "1.2.20"
448
448
  source = "registry+https://github.com/rust-lang/crates.io-index"
449
- checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362"
449
+ checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a"
450
450
  dependencies = [
451
451
  "jobserver",
452
452
  "libc",
@@ -533,7 +533,7 @@ dependencies = [
533
533
 
534
534
  [[package]]
535
535
  name = "cocoindex"
536
- version = "0.1.26"
536
+ version = "0.1.27"
537
537
  dependencies = [
538
538
  "anyhow",
539
539
  "async-openai",
@@ -561,6 +561,7 @@ dependencies = [
561
561
  "indexmap 2.9.0",
562
562
  "indoc",
563
563
  "itertools 0.14.0",
564
+ "json5",
564
565
  "log",
565
566
  "neo4rs",
566
567
  "owo-colors",
@@ -862,7 +863,7 @@ dependencies = [
862
863
  "proc-macro2",
863
864
  "quote",
864
865
  "strsim",
865
- "syn 2.0.100",
866
+ "syn 2.0.101",
866
867
  ]
867
868
 
868
869
  [[package]]
@@ -873,7 +874,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
873
874
  dependencies = [
874
875
  "darling_core",
875
876
  "quote",
876
- "syn 2.0.100",
877
+ "syn 2.0.101",
877
878
  ]
878
879
 
879
880
  [[package]]
@@ -956,7 +957,7 @@ dependencies = [
956
957
  "darling",
957
958
  "proc-macro2",
958
959
  "quote",
959
- "syn 2.0.100",
960
+ "syn 2.0.101",
960
961
  ]
961
962
 
962
963
  [[package]]
@@ -966,7 +967,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
966
967
  checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
967
968
  dependencies = [
968
969
  "derive_builder_core",
969
- "syn 2.0.100",
970
+ "syn 2.0.101",
970
971
  ]
971
972
 
972
973
  [[package]]
@@ -989,7 +990,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
989
990
  dependencies = [
990
991
  "proc-macro2",
991
992
  "quote",
992
- "syn 2.0.100",
993
+ "syn 2.0.101",
993
994
  ]
994
995
 
995
996
  [[package]]
@@ -1230,7 +1231,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
1230
1231
  dependencies = [
1231
1232
  "proc-macro2",
1232
1233
  "quote",
1233
- "syn 2.0.100",
1234
+ "syn 2.0.101",
1234
1235
  ]
1235
1236
 
1236
1237
  [[package]]
@@ -1761,7 +1762,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
1761
1762
  dependencies = [
1762
1763
  "proc-macro2",
1763
1764
  "quote",
1764
- "syn 2.0.100",
1765
+ "syn 2.0.101",
1765
1766
  ]
1766
1767
 
1767
1768
  [[package]]
@@ -1900,7 +1901,7 @@ checksum = "199b7932d97e325aff3a7030e141eafe7f2c6268e1d1b24859b753a627f45254"
1900
1901
  dependencies = [
1901
1902
  "proc-macro2",
1902
1903
  "quote",
1903
- "syn 2.0.100",
1904
+ "syn 2.0.101",
1904
1905
  ]
1905
1906
 
1906
1907
  [[package]]
@@ -2149,7 +2150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2149
2150
  checksum = "53a0d57c55d2d1dc62a2b1d16a0a1079eb78d67c36bdf468d582ab4482ec7002"
2150
2151
  dependencies = [
2151
2152
  "quote",
2152
- "syn 2.0.100",
2153
+ "syn 2.0.101",
2153
2154
  ]
2154
2155
 
2155
2156
  [[package]]
@@ -2367,7 +2368,7 @@ dependencies = [
2367
2368
  "pest_meta",
2368
2369
  "proc-macro2",
2369
2370
  "quote",
2370
- "syn 2.0.100",
2371
+ "syn 2.0.101",
2371
2372
  ]
2372
2373
 
2373
2374
  [[package]]
@@ -2445,7 +2446,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
2445
2446
  dependencies = [
2446
2447
  "proc-macro2",
2447
2448
  "quote",
2448
- "syn 2.0.100",
2449
+ "syn 2.0.101",
2449
2450
  ]
2450
2451
 
2451
2452
  [[package]]
@@ -2514,7 +2515,7 @@ version = "0.2.21"
2514
2515
  source = "registry+https://github.com/rust-lang/crates.io-index"
2515
2516
  checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
2516
2517
  dependencies = [
2517
- "zerocopy 0.8.24",
2518
+ "zerocopy 0.8.25",
2518
2519
  ]
2519
2520
 
2520
2521
  [[package]]
@@ -2524,7 +2525,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2524
2525
  checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6"
2525
2526
  dependencies = [
2526
2527
  "proc-macro2",
2527
- "syn 2.0.100",
2528
+ "syn 2.0.101",
2528
2529
  ]
2529
2530
 
2530
2531
  [[package]]
@@ -2556,7 +2557,7 @@ dependencies = [
2556
2557
  "itertools 0.14.0",
2557
2558
  "proc-macro2",
2558
2559
  "quote",
2559
- "syn 2.0.100",
2560
+ "syn 2.0.101",
2560
2561
  ]
2561
2562
 
2562
2563
  [[package]]
@@ -2629,7 +2630,7 @@ dependencies = [
2629
2630
  "proc-macro2",
2630
2631
  "pyo3-macros-backend",
2631
2632
  "quote",
2632
- "syn 2.0.100",
2633
+ "syn 2.0.101",
2633
2634
  ]
2634
2635
 
2635
2636
  [[package]]
@@ -2642,7 +2643,7 @@ dependencies = [
2642
2643
  "proc-macro2",
2643
2644
  "pyo3-build-config",
2644
2645
  "quote",
2645
- "syn 2.0.100",
2646
+ "syn 2.0.101",
2646
2647
  ]
2647
2648
 
2648
2649
  [[package]]
@@ -3140,7 +3141,7 @@ dependencies = [
3140
3141
  "proc-macro2",
3141
3142
  "quote",
3142
3143
  "serde_derive_internals",
3143
- "syn 2.0.100",
3144
+ "syn 2.0.101",
3144
3145
  ]
3145
3146
 
3146
3147
  [[package]]
@@ -3224,7 +3225,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
3224
3225
  dependencies = [
3225
3226
  "proc-macro2",
3226
3227
  "quote",
3227
- "syn 2.0.100",
3228
+ "syn 2.0.101",
3228
3229
  ]
3229
3230
 
3230
3231
  [[package]]
@@ -3235,7 +3236,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
3235
3236
  dependencies = [
3236
3237
  "proc-macro2",
3237
3238
  "quote",
3238
- "syn 2.0.100",
3239
+ "syn 2.0.101",
3239
3240
  ]
3240
3241
 
3241
3242
  [[package]]
@@ -3322,7 +3323,7 @@ dependencies = [
3322
3323
  "darling",
3323
3324
  "proc-macro2",
3324
3325
  "quote",
3325
- "syn 2.0.100",
3326
+ "syn 2.0.101",
3326
3327
  ]
3327
3328
 
3328
3329
  [[package]]
@@ -3493,7 +3494,7 @@ dependencies = [
3493
3494
  "quote",
3494
3495
  "sqlx-core",
3495
3496
  "sqlx-macros-core",
3496
- "syn 2.0.100",
3497
+ "syn 2.0.101",
3497
3498
  ]
3498
3499
 
3499
3500
  [[package]]
@@ -3516,7 +3517,7 @@ dependencies = [
3516
3517
  "sqlx-mysql",
3517
3518
  "sqlx-postgres",
3518
3519
  "sqlx-sqlite",
3519
- "syn 2.0.100",
3520
+ "syn 2.0.101",
3520
3521
  "tempfile",
3521
3522
  "tokio",
3522
3523
  "url",
@@ -3679,9 +3680,9 @@ dependencies = [
3679
3680
 
3680
3681
  [[package]]
3681
3682
  name = "syn"
3682
- version = "2.0.100"
3683
+ version = "2.0.101"
3683
3684
  source = "registry+https://github.com/rust-lang/crates.io-index"
3684
- checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
3685
+ checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
3685
3686
  dependencies = [
3686
3687
  "proc-macro2",
3687
3688
  "quote",
@@ -3705,7 +3706,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
3705
3706
  dependencies = [
3706
3707
  "proc-macro2",
3707
3708
  "quote",
3708
- "syn 2.0.100",
3709
+ "syn 2.0.101",
3709
3710
  ]
3710
3711
 
3711
3712
  [[package]]
@@ -3753,7 +3754,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
3753
3754
  dependencies = [
3754
3755
  "proc-macro2",
3755
3756
  "quote",
3756
- "syn 2.0.100",
3757
+ "syn 2.0.101",
3757
3758
  ]
3758
3759
 
3759
3760
  [[package]]
@@ -3764,7 +3765,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
3764
3765
  dependencies = [
3765
3766
  "proc-macro2",
3766
3767
  "quote",
3767
- "syn 2.0.100",
3768
+ "syn 2.0.101",
3768
3769
  ]
3769
3770
 
3770
3771
  [[package]]
@@ -3871,7 +3872,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
3871
3872
  dependencies = [
3872
3873
  "proc-macro2",
3873
3874
  "quote",
3874
- "syn 2.0.100",
3875
+ "syn 2.0.101",
3875
3876
  ]
3876
3877
 
3877
3878
  [[package]]
@@ -3910,9 +3911,9 @@ dependencies = [
3910
3911
 
3911
3912
  [[package]]
3912
3913
  name = "toml"
3913
- version = "0.8.20"
3914
+ version = "0.8.21"
3914
3915
  source = "registry+https://github.com/rust-lang/crates.io-index"
3915
- checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
3916
+ checksum = "900f6c86a685850b1bc9f6223b20125115ee3f31e01207d81655bbcc0aea9231"
3916
3917
  dependencies = [
3917
3918
  "serde",
3918
3919
  "serde_spanned",
@@ -3922,26 +3923,33 @@ dependencies = [
3922
3923
 
3923
3924
  [[package]]
3924
3925
  name = "toml_datetime"
3925
- version = "0.6.8"
3926
+ version = "0.6.9"
3926
3927
  source = "registry+https://github.com/rust-lang/crates.io-index"
3927
- checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
3928
+ checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
3928
3929
  dependencies = [
3929
3930
  "serde",
3930
3931
  ]
3931
3932
 
3932
3933
  [[package]]
3933
3934
  name = "toml_edit"
3934
- version = "0.22.24"
3935
+ version = "0.22.25"
3935
3936
  source = "registry+https://github.com/rust-lang/crates.io-index"
3936
- checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
3937
+ checksum = "10558ed0bd2a1562e630926a2d1f0b98c827da99fabd3fe20920a59642504485"
3937
3938
  dependencies = [
3938
3939
  "indexmap 2.9.0",
3939
3940
  "serde",
3940
3941
  "serde_spanned",
3941
3942
  "toml_datetime",
3943
+ "toml_write",
3942
3944
  "winnow",
3943
3945
  ]
3944
3946
 
3947
+ [[package]]
3948
+ name = "toml_write"
3949
+ version = "0.1.0"
3950
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3951
+ checksum = "28391a4201ba7eb1984cfeb6862c0b3ea2cfe23332298967c749dddc0d6cd976"
3952
+
3945
3953
  [[package]]
3946
3954
  name = "tonic"
3947
3955
  version = "0.12.3"
@@ -4060,7 +4068,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
4060
4068
  dependencies = [
4061
4069
  "proc-macro2",
4062
4070
  "quote",
4063
- "syn 2.0.100",
4071
+ "syn 2.0.101",
4064
4072
  ]
4065
4073
 
4066
4074
  [[package]]
@@ -4538,7 +4546,7 @@ dependencies = [
4538
4546
  "log",
4539
4547
  "proc-macro2",
4540
4548
  "quote",
4541
- "syn 2.0.100",
4549
+ "syn 2.0.101",
4542
4550
  "wasm-bindgen-shared",
4543
4551
  ]
4544
4552
 
@@ -4573,7 +4581,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
4573
4581
  dependencies = [
4574
4582
  "proc-macro2",
4575
4583
  "quote",
4576
- "syn 2.0.100",
4584
+ "syn 2.0.101",
4577
4585
  "wasm-bindgen-backend",
4578
4586
  "wasm-bindgen-shared",
4579
4587
  ]
@@ -4622,9 +4630,9 @@ dependencies = [
4622
4630
 
4623
4631
  [[package]]
4624
4632
  name = "webpki-roots"
4625
- version = "0.26.8"
4633
+ version = "0.26.9"
4626
4634
  source = "registry+https://github.com/rust-lang/crates.io-index"
4627
- checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9"
4635
+ checksum = "29aad86cec885cafd03e8305fd727c418e970a521322c91688414d5b8efba16b"
4628
4636
  dependencies = [
4629
4637
  "rustls-pki-types",
4630
4638
  ]
@@ -4672,7 +4680,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
4672
4680
  dependencies = [
4673
4681
  "proc-macro2",
4674
4682
  "quote",
4675
- "syn 2.0.100",
4683
+ "syn 2.0.101",
4676
4684
  ]
4677
4685
 
4678
4686
  [[package]]
@@ -4683,7 +4691,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
4683
4691
  dependencies = [
4684
4692
  "proc-macro2",
4685
4693
  "quote",
4686
- "syn 2.0.100",
4694
+ "syn 2.0.101",
4687
4695
  ]
4688
4696
 
4689
4697
  [[package]]
@@ -4944,9 +4952,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
4944
4952
 
4945
4953
  [[package]]
4946
4954
  name = "winnow"
4947
- version = "0.7.6"
4955
+ version = "0.7.7"
4948
4956
  source = "registry+https://github.com/rust-lang/crates.io-index"
4949
- checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10"
4957
+ checksum = "6cb8234a863ea0e8cd7284fcdd4f145233eb00fee02bbdd9861aec44e6477bc5"
4950
4958
  dependencies = [
4951
4959
  "memchr",
4952
4960
  ]
@@ -5014,7 +5022,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
5014
5022
  dependencies = [
5015
5023
  "proc-macro2",
5016
5024
  "quote",
5017
- "syn 2.0.100",
5025
+ "syn 2.0.101",
5018
5026
  "synstructure",
5019
5027
  ]
5020
5028
 
@@ -5082,11 +5090,11 @@ dependencies = [
5082
5090
 
5083
5091
  [[package]]
5084
5092
  name = "zerocopy"
5085
- version = "0.8.24"
5093
+ version = "0.8.25"
5086
5094
  source = "registry+https://github.com/rust-lang/crates.io-index"
5087
- checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
5095
+ checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
5088
5096
  dependencies = [
5089
- "zerocopy-derive 0.8.24",
5097
+ "zerocopy-derive 0.8.25",
5090
5098
  ]
5091
5099
 
5092
5100
  [[package]]
@@ -5097,18 +5105,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
5097
5105
  dependencies = [
5098
5106
  "proc-macro2",
5099
5107
  "quote",
5100
- "syn 2.0.100",
5108
+ "syn 2.0.101",
5101
5109
  ]
5102
5110
 
5103
5111
  [[package]]
5104
5112
  name = "zerocopy-derive"
5105
- version = "0.8.24"
5113
+ version = "0.8.25"
5106
5114
  source = "registry+https://github.com/rust-lang/crates.io-index"
5107
- checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
5115
+ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
5108
5116
  dependencies = [
5109
5117
  "proc-macro2",
5110
5118
  "quote",
5111
- "syn 2.0.100",
5119
+ "syn 2.0.101",
5112
5120
  ]
5113
5121
 
5114
5122
  [[package]]
@@ -5128,7 +5136,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
5128
5136
  dependencies = [
5129
5137
  "proc-macro2",
5130
5138
  "quote",
5131
- "syn 2.0.100",
5139
+ "syn 2.0.101",
5132
5140
  "synstructure",
5133
5141
  ]
5134
5142
 
@@ -5157,5 +5165,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
5157
5165
  dependencies = [
5158
5166
  "proc-macro2",
5159
5167
  "quote",
5160
- "syn 2.0.100",
5168
+ "syn 2.0.101",
5161
5169
  ]
@@ -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.1.26"
5
+ version = "0.1.27"
6
6
  edition = "2021"
7
7
 
8
8
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -106,3 +106,4 @@ bytes = "1.10.1"
106
106
  rand = "0.9.0"
107
107
  indoc = "2.0.6"
108
108
  owo-colors = "4.2.0"
109
+ json5 = "0.4.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cocoindex
3
- Version: 0.1.26
3
+ Version: 0.1.27
4
4
  Requires-Dist: sentence-transformers>=3.3.1
5
5
  Requires-Dist: click>=8.1.8
6
6
  Requires-Dist: pytest ; extra == 'test'
@@ -23,11 +23,20 @@ We tag issues with the ["good first issue"](https://github.com/cocoindex-io/coco
23
23
  ## Start hacking! Setting Up Development Environment
24
24
  Following the steps below to get cocoindex build on latest codebase locally - if you are making changes to cocoindex funcionality and want to test it out.
25
25
 
26
- - Install Rust toolchain: [docs](https://rust-lang.org/tools/install)
26
+ - 🦀 [Install Rust](https://rust-lang.org/tools/install)
27
+
28
+ If you don't have Rust installed, run
29
+ ```bash
30
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
31
+ ```
32
+ Already have Rust? Make sure it's up to date
33
+ ```bash
34
+ rustup update
35
+ ```
27
36
 
28
- - (Optional) Setup Python virtual environment:
37
+ - (Recommended) Setup Python virtual environment:
29
38
  ```bash
30
- virtualenv --python=$(which python3.12) .venv
39
+ python3 -m venv .venv
31
40
  ```
32
41
  Activate the virtual environment, before any installings / buildings / runnings:
33
42
 
@@ -51,6 +60,7 @@ Following the steps below to get cocoindex build on latest codebase locally - if
51
60
  ```
52
61
 
53
62
  ## Submit Your Code
63
+ CocoIndex is committed to the highest standards of code quality. Please ensure your code is thoroughly tested before submitting a PR.
54
64
 
55
65
  To submit your code:
56
66
 
@@ -97,4 +97,27 @@ cocoindex.LlmSpec(
97
97
  </TabItem>
98
98
  </Tabs>
99
99
 
100
- You can find the full list of models supported by Gemini [here](https://ai.google.dev/gemini-api/docs/models).
100
+ You can find the full list of models supported by Gemini [here](https://ai.google.dev/gemini-api/docs/models).
101
+
102
+ ### Anthropic
103
+
104
+ To use the Anthropic LLM API, you need to set the environment variable `ANTHROPIC_API_KEY`.
105
+ You can generate the API key from [Anthropic API](https://console.anthropic.com/settings/keys).
106
+
107
+ A spec for Anthropic looks like this:
108
+
109
+ <Tabs>
110
+ <TabItem value="python" label="Python" default>
111
+
112
+ ```python
113
+ cocoindex.LlmSpec(
114
+ api_type=cocoindex.LlmApiType.ANTHROPIC,
115
+ model="claude-3-5-sonnet-latest",
116
+ )
117
+ ```
118
+
119
+ </TabItem>
120
+ </Tabs>
121
+
122
+ You can find the full list of models supported by Anthropic [here](https://docs.anthropic.com/en/docs/about-claude/models/all-models).
123
+
@@ -21,9 +21,9 @@ An indexing flow involves source data and transformed data (either as an interme
21
21
 
22
22
  Each piece of data has a **data type**, falling into one of the following categories:
23
23
 
24
- * Basic type.
25
- * Struct type: a collection of **fields**, each with a name and a type.
26
- * Collection type: a collection of **rows**, each of which is a struct with specified schema. A collection type can be a table (which has a key field) or a list (ordered but without key field).
24
+ * *Basic type*.
25
+ * *Struct type*: a collection of **fields**, each with a name and a type.
26
+ * *Table type*: a collection of **rows**, each of which is a struct with specified schema. A table type can be a *KTable* (which has a key field) or a *LTable* (ordered but without key field).
27
27
 
28
28
  An indexing flow always has a top-level struct, containing all data within and managed by the flow.
29
29