cocoindex 0.2.1__tar.gz → 0.2.3__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.
- cocoindex-0.2.3/.github/workflows/_test.yml +65 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/workflows/release.yml +29 -11
- {cocoindex-0.2.1 → cocoindex-0.2.3}/Cargo.lock +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/Cargo.toml +7 -2
- {cocoindex-0.2.1 → cocoindex-0.2.3}/PKG-INFO +18 -2
- {cocoindex-0.2.1 → cocoindex-0.2.3}/README.md +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/academic_papers_index.md +6 -4
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/codebase_index.md +19 -12
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/custom_targets.md +7 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/docs_to_knowledge_graph.md +8 -6
- cocoindex-0.2.3/docs/docs/examples/examples/image_search.md +270 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/manual_extraction.md +9 -7
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/multi_format_index.md +29 -26
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/patient_form_extraction.md +8 -6
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/photo_search.md +3 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/product_recommendation.md +7 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/examples/simple_vector_index.md +45 -22
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/getting_started/installation.md +8 -1
- cocoindex-0.2.3/docs/docs/getting_started/quickstart.md +177 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/ops/sources.md +21 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/ops/targets.md +7 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docusaurus.config.ts +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/components/GitHubButton/index.tsx +5 -5
- cocoindex-0.2.3/docs/static/img/examples/codebase_index/chunk.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/codebase_index/cover.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/image_search/cover.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/image_search/embedding.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/image_search/flow.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/image_search/multi_modal_architecture.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/image_search/result.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/multi_format_index/colpali_architecture.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/multi_format_index/cover.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/multi_format_index/embed.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/multi_format_index/flow.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/multi_format_index/pages.png +0 -0
- cocoindex-0.2.3/docs/static/img/examples/simple_vector_index/embed.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/yarn.lock +159 -191
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/amazon_s3_embedding/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/azure_blob_embedding/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/code_embedding/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/docs_to_knowledge_graph/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/requirements.txt +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/gdrive_text_embedding/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/live_updates/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/postgres_source/README.md +4 -5
- cocoindex-0.2.3/examples/postgres_source/main.py +164 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/postgres_source/prepare_source_data.sql +1 -32
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/postgres_source/pyproject.toml +7 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding_qdrant/pyproject.toml +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/pyproject.toml +29 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/convert.py +37 -26
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/flow.py +45 -22
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/op.py +4 -19
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/sources.py +13 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/subprocess_exec.py +27 -3
- cocoindex-0.2.3/python/cocoindex/tests/conftest.py +38 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/tests/test_transform_flow.py +31 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/value.rs +151 -194
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/builder/analyzer.rs +9 -17
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/builder/plan.rs +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/dumper.rs +6 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/evaluator.rs +7 -7
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/indexing_status.rs +1 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/live_updater.rs +13 -9
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/row_indexer.rs +13 -14
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/source_indexer.rs +48 -46
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/factory_bases.rs +5 -2
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/functions/split_recursively.rs +2 -2
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/interface.rs +37 -28
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/py_factory.rs +2 -2
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/shared/postgres.rs +9 -24
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/amazon_s3.rs +17 -9
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/azure_blob.rs +16 -8
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/google_drive.rs +18 -10
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/local_file.rs +16 -8
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/postgres.rs +353 -100
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/kuzu.rs +9 -12
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/neo4j.rs +2 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/postgres.rs +20 -21
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/qdrant.rs +6 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/shared/property_graph.rs +3 -1
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/py/convert.rs +32 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/service/flows.rs +6 -5
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/mod.rs +1 -0
- cocoindex-0.2.3/src/utils/str_sanitize.rs +597 -0
- cocoindex-0.2.1/.github/workflows/_test.yml +0 -58
- cocoindex-0.2.1/docs/docs/examples/examples/image_search.md +0 -214
- cocoindex-0.2.1/docs/docs/getting_started/quickstart.md +0 -283
- cocoindex-0.2.1/docs/static/img/examples/codebase_index/chunk.png +0 -0
- cocoindex-0.2.1/docs/static/img/examples/codebase_index/cover.png +0 -0
- cocoindex-0.2.1/docs/static/img/examples/codebase_index/usecase.png +0 -0
- cocoindex-0.2.1/docs/static/img/examples/image_search/cover.png +0 -0
- cocoindex-0.2.1/docs/static/img/examples/multi_format_index/cover.png +0 -0
- cocoindex-0.2.1/docs/static/img/examples/simple_vector_index/embed.png +0 -0
- cocoindex-0.2.1/examples/postgres_source/.env.example +0 -22
- cocoindex-0.2.1/examples/postgres_source/main.py +0 -134
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.cargo/config.toml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.env.lib_debug +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/workflows/CI.yml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/workflows/_doc_release.yml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/workflows/docs.yml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.github/workflows/format.yml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/.pre-commit-config.yaml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/CONTRIBUTING.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/LICENSE +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/dev/neo4j.yaml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/dev/postgres.yaml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/about/community.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/ai/llm.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/contributing/guide.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/contributing/new_built_in_target.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/contributing/setup_dev_environment.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/basics.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/cli.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/data_types.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/flow_def.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/flow_methods.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/core/settings.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/custom_ops/custom_functions.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/custom_ops/custom_targets.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/examples/index.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/ops/functions.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/query.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/tutorials/live_updates.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/docs/tutorials/manage_flow_dynamically.mdx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/package.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/sidebars.ts +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/css/custom.css +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/theme/DocCard/index.tsx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/theme/DocCard/styles.module.css +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/theme/DocCardList/index.tsx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/theme/DocCardList/styles.module.css +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/.nojekyll +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/abstract_chunks.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/basic_info.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/chunk_embedding.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/first_page.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/academic_papers_index/metadata.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/codebase_index/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/custom_targets/convert.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/custom_targets/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/dedupe.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/export_document.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/export_relationship.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/extract_relationship.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/relationship.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/docs_to_knowledge_graph/summary.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/manual_extraction/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/manual_extraction/extraction.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/manual_extraction/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/manual_extraction/summary.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/patient_form_extraction/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/patient_form_extraction/extraction.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/patient_form_extraction/fields.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/patient_form_extraction/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/patient_form_extraction/tomarkdown.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/photo_search/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/photo_search/extraction.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/photo_search/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/dedupe.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/export_all.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/export_product.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/export_taxonomy.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/extract_product.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/extract_taxonomy.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/neo4j.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/parse_json.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/product_recommendation/taxonomy.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/simple_vector_index/chunk.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/simple_vector_index/cover.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/examples/simple_vector_index/flow.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/img/incremental-etl.gif +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/static/robots.txt +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/docs/tsconfig.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/amazon_s3_embedding/.env.example +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/amazon_s3_embedding/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/amazon_s3_embedding/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/amazon_s3_embedding/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/azure_blob_embedding/.env.example +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/azure_blob_embedding/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/azure_blob_embedding/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/azure_blob_embedding/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/code_embedding/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/code_embedding/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/data/bizarre_animals.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/data/chunk_norris.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/custom_output_files/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/docs_to_knowledge_graph/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/docs_to_knowledge_graph/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/docs_to_knowledge_graph/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/images/Carter_welcomes_Reagan.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/images/Solvay_conference_1927.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/images/Steve_Jobs_and_Bill_Gates_(522695099).jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/images/einplanck3.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/face_recognition/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/.dockerignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/compose.yaml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/dockerfile +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/fastapi_server_docker/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/gdrive_text_embedding/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/colpali_main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/index.html +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/package-lock.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/package.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/src/App.jsx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/src/main.jsx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/src/style.css +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/frontend/vite.config.js +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/img/cat1.jpeg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/img/dog1.jpeg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/img/elephant1.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/img/giraffe.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/image_search/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/live_updates/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/live_updates/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/live_updates/data/bizarre_animals.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/live_updates/data/chunk_norris.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/live_updates/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/2502.06786v3.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/healthcare_industry_test_p101.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/healthcare_industry_test_p86.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/healthcare_industry_test_p9.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/restaurant_brands_international_2023.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/multi_format_indexing/source_files/sweetgreen_2023.jpg +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/.env.example +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/.gitignore +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/papers/1706.03762v7.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/papers/1810.04805v2.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/papers/2502.06786v3.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/paper_metadata/papers/2502.20346v1.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/.env.example +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/data/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_David_Artificial.docx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Emily_Artificial.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Joe_Artificial.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_From_Jane_Artificial.docx +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/patient_intake_extraction/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/postgres_source/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/.env.example +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/img/cocoinsight.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/img/neo4j.png +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p1.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p2.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p3.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p4.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p5.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p6.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p7.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p8.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/product_recommendation/products/p9.json +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/Text_Embedding.ipynb +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding_qdrant/.env +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding_qdrant/README.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/__init__.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/cli.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/functions.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/index.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/lib.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/llm.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/runtime.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/setting.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/targets.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/tests/test_convert.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/tests/test_optional_database.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/tests/test_typing.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/tests/test_validation.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/typing.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/user_app_loader.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/utils.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/python/cocoindex/validation.py +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/ruff.toml +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/duration.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/json_schema.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/schema.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/base/spec.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/builder/analyzed_flow.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/builder/exec_ctx.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/builder/flow_builder.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/builder/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/db_tracking_setup.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/memoization.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/execution/stats.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/lib.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/lib_context.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/anthropic.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/gemini.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/litellm.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/ollama.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/openai.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/openrouter.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/vllm.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/llm/voyage.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/functions/embed_text.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/functions/test_utils.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/registration.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/registry.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sdk.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/shared/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/shared/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/sources/shared/pattern_matcher.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/shared/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/ops/targets/shared/table_columns.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/prelude.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/py/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/server.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/service/error.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/service/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/settings.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/auth_registry.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/components.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/db_metadata.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/driver.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/flow_features.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/mod.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/setup/states.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/concur_control.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/db.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/fingerprint.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/immutable.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/retryable.rs +0 -0
- {cocoindex-0.2.1 → cocoindex-0.2.3}/src/utils/yaml_ser.rs +0 -0
@@ -0,0 +1,65 @@
|
|
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]
|
14
|
+
platform:
|
15
|
+
- { runner: ubuntu-latest, python_exec: ".venv/bin/python" }
|
16
|
+
- { runner: ubuntu-24.04-arm, python_exec: ".venv/bin/python" }
|
17
|
+
- { runner: macos-latest, python_exec: ".venv/bin/python" }
|
18
|
+
- { runner: macos-13, python_exec: ".venv/bin/python" }
|
19
|
+
- { runner: windows-latest, python_exec: ".venv\\Scripts\\python" }
|
20
|
+
runs-on: ${{ matrix.platform.runner }}
|
21
|
+
steps:
|
22
|
+
- uses: actions/checkout@v4
|
23
|
+
|
24
|
+
- uses: actions/setup-python@v5
|
25
|
+
id: setup_python
|
26
|
+
with:
|
27
|
+
python-version: ${{ matrix.python-version }}
|
28
|
+
cache: 'pip'
|
29
|
+
|
30
|
+
- run: rustup toolchain install stable --profile minimal
|
31
|
+
- name: Rust Cache
|
32
|
+
uses: Swatinem/rust-cache@v2
|
33
|
+
with:
|
34
|
+
key: rust-${{ matrix.platform.runner }}-${{ matrix.python-version }}
|
35
|
+
- name: Rust tests
|
36
|
+
run: cargo test --verbose
|
37
|
+
|
38
|
+
- uses: actions/cache@v4
|
39
|
+
with:
|
40
|
+
path: .venv
|
41
|
+
key: pyenv-${{ matrix.platform.runner }}-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('pyproject.toml') }}
|
42
|
+
restore-keys: |
|
43
|
+
pyenv-${{ matrix.platform.runner }}-${{ steps.setup_python.outputs.python-version }}-
|
44
|
+
|
45
|
+
- name: Setup venv
|
46
|
+
run: |
|
47
|
+
python -m venv .venv
|
48
|
+
- name: Install Python toolchains
|
49
|
+
run: |
|
50
|
+
${{ matrix.platform.python_exec }} -m pip install maturin mypy pytest pytest-asyncio
|
51
|
+
- name: Python build
|
52
|
+
run: |
|
53
|
+
${{ matrix.platform.python_exec }} -m maturin develop -E all
|
54
|
+
- name: Python type check (mypy)
|
55
|
+
run: |
|
56
|
+
${{ matrix.platform.python_exec }} -m mypy python
|
57
|
+
- name: Python tests
|
58
|
+
if: ${{ !startsWith(matrix.platform.runner, 'windows') }}
|
59
|
+
run: |
|
60
|
+
${{ matrix.platform.python_exec }} -m pytest --capture=no python/cocoindex/tests
|
61
|
+
- name: Python tests (Windows cmd)
|
62
|
+
if: ${{ startsWith(matrix.platform.runner, 'windows') }}
|
63
|
+
shell: cmd # Use `cmd` to run test for Windows, as PowerShell doesn't detect exit code by `os._exit(0)` correctly.
|
64
|
+
run: |
|
65
|
+
${{ matrix.platform.python_exec }} -m pytest --capture=no python/cocoindex/tests
|
@@ -1,8 +1,7 @@
|
|
1
|
-
# This
|
2
|
-
# To update, run
|
3
|
-
#
|
4
|
-
# maturin generate-ci github
|
1
|
+
# This workflow can be triggered on tags push (automatic release) or manually on any branch.
|
5
2
|
#
|
3
|
+
# - When triggered on tags push, it will build and publishes a new version including docs.
|
4
|
+
# - When triggered manually, it's a dry-run: only build, without publishing anything.
|
6
5
|
name: release
|
7
6
|
|
8
7
|
on:
|
@@ -31,11 +30,11 @@ jobs:
|
|
31
30
|
strategy:
|
32
31
|
matrix:
|
33
32
|
platform:
|
34
|
-
- { os: linux, runner: ubuntu-
|
35
|
-
- { os: linux, runner: ubuntu-24.04, target: aarch64, container: "ghcr.io/rust-cross/manylinux_2_28-cross:aarch64" }
|
36
|
-
- { os:
|
33
|
+
- { os: linux, runner: ubuntu-latest, target: x86_64, container: "ghcr.io/rust-cross/manylinux_2_28-cross:x86_64" }
|
34
|
+
- { os: linux, runner: ubuntu-24.04-arm, target: aarch64, container: "ghcr.io/rust-cross/manylinux_2_28-cross:aarch64" }
|
35
|
+
- { os: macos, runner: macos-latest, target: aarch64 }
|
37
36
|
- { os: macos, runner: macos-13, target: x86_64 }
|
38
|
-
- { os:
|
37
|
+
- { os: windows, runner: windows-latest, target: x64 }
|
39
38
|
steps:
|
40
39
|
- uses: actions/checkout@v4
|
41
40
|
- uses: actions/download-artifact@v4
|
@@ -43,12 +42,12 @@ jobs:
|
|
43
42
|
name: Cargo.toml
|
44
43
|
- uses: actions/setup-python@v5
|
45
44
|
with:
|
46
|
-
python-version: 3.
|
45
|
+
python-version: 3.13
|
47
46
|
- name: Build wheels
|
48
47
|
uses: PyO3/maturin-action@v1
|
49
48
|
with:
|
50
49
|
target: ${{ matrix.platform.target }}
|
51
|
-
args: --release --out dist
|
50
|
+
args: --release --out dist
|
52
51
|
sccache: 'true'
|
53
52
|
manylinux: auto
|
54
53
|
container: ${{ matrix.platform.container }}
|
@@ -58,6 +57,24 @@ jobs:
|
|
58
57
|
name: wheels-${{ matrix.platform.os }}-${{ matrix.platform.target }}
|
59
58
|
path: dist
|
60
59
|
|
60
|
+
test-abi3:
|
61
|
+
runs-on: ubuntu-24.04
|
62
|
+
needs: build
|
63
|
+
strategy:
|
64
|
+
matrix:
|
65
|
+
py: ["3.11", "3.12", "3.13"]
|
66
|
+
steps:
|
67
|
+
- uses: actions/download-artifact@v4
|
68
|
+
with:
|
69
|
+
name: wheels-linux-x86_64
|
70
|
+
- uses: actions/setup-python@v5
|
71
|
+
with:
|
72
|
+
python-version: ${{ matrix.py }}
|
73
|
+
- run: python -V
|
74
|
+
- run: pip install --find-links=./ cocoindex
|
75
|
+
- run: python -c "import cocoindex, sys; print('import ok on', sys.version)"
|
76
|
+
|
77
|
+
|
61
78
|
sdist:
|
62
79
|
runs-on: ubuntu-latest
|
63
80
|
needs: [create-versioned-toml]
|
@@ -80,7 +97,7 @@ jobs:
|
|
80
97
|
release:
|
81
98
|
name: Release
|
82
99
|
runs-on: ubuntu-latest
|
83
|
-
needs: [create-versioned-toml, build, sdist]
|
100
|
+
needs: [create-versioned-toml, build, test-abi3, sdist]
|
84
101
|
permissions:
|
85
102
|
# Use to sign the release artifacts
|
86
103
|
id-token: write
|
@@ -111,5 +128,6 @@ jobs:
|
|
111
128
|
release-docs:
|
112
129
|
name: Release Docs
|
113
130
|
needs: [release]
|
131
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
114
132
|
uses: ./.github/workflows/_doc_release.yml
|
115
133
|
secrets: inherit
|
@@ -2,7 +2,7 @@
|
|
2
2
|
name = "cocoindex"
|
3
3
|
# Version used for local development is always higher than others to take precedence.
|
4
4
|
# Will be overridden for specific release versions.
|
5
|
-
version = "0.2.
|
5
|
+
version = "0.2.3"
|
6
6
|
edition = "2024"
|
7
7
|
rust-version = "1.88"
|
8
8
|
readme = "README.md"
|
@@ -16,7 +16,12 @@ name = "cocoindex_engine"
|
|
16
16
|
crate-type = ["cdylib"]
|
17
17
|
|
18
18
|
[dependencies]
|
19
|
-
pyo3 = { version = "0.25.1", features = [
|
19
|
+
pyo3 = { version = "0.25.1", features = [
|
20
|
+
"abi3-py311",
|
21
|
+
"auto-initialize",
|
22
|
+
"chrono",
|
23
|
+
"uuid",
|
24
|
+
] }
|
20
25
|
pythonize = "0.25.0"
|
21
26
|
pyo3-async-runtimes = { version = "0.25.0", features = ["tokio-runtime"] }
|
22
27
|
|
@@ -1,6 +1,21 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cocoindex
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.3
|
4
|
+
Classifier: Development Status :: 3 - Alpha
|
5
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
6
|
+
Classifier: Operating System :: OS Independent
|
7
|
+
Classifier: Programming Language :: Rust
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
9
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
14
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
15
|
+
Classifier: Topic :: Text Processing :: Indexing
|
16
|
+
Classifier: Intended Audience :: Developers
|
17
|
+
Classifier: Natural Language :: English
|
18
|
+
Classifier: Typing :: Typed
|
4
19
|
Requires-Dist: click>=8.1.8
|
5
20
|
Requires-Dist: rich>=14.0.0
|
6
21
|
Requires-Dist: python-dotenv>=1.1.0
|
@@ -21,6 +36,7 @@ Provides-Extra: colpali
|
|
21
36
|
Provides-Extra: all
|
22
37
|
License-File: LICENSE
|
23
38
|
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
|
+
Keywords: indexing,real-time,incremental,pipeline,search,ai,etl,rag,dataflow,context-engineering
|
24
40
|
Author-email: CocoIndex <cocoindex.io@gmail.com>
|
25
41
|
License-Expression: Apache-2.0
|
26
42
|
Requires-Python: >=3.11
|
@@ -84,7 +100,7 @@ CocoIndex makes it effortless to transform data with AI, and keep source data an
|
|
84
100
|
</br>
|
85
101
|
|
86
102
|
<p align="center">
|
87
|
-
<img
|
103
|
+
<img alt="CocoIndex Features" src="https://cocoindex.io/images/venn2.svg" />
|
88
104
|
</p>
|
89
105
|
|
90
106
|
</br>
|
@@ -55,7 +55,7 @@ CocoIndex makes it effortless to transform data with AI, and keep source data an
|
|
55
55
|
</br>
|
56
56
|
|
57
57
|
<p align="center">
|
58
|
-
<img
|
58
|
+
<img alt="CocoIndex Features" src="https://cocoindex.io/images/venn2.svg" />
|
59
59
|
</p>
|
60
60
|
|
61
61
|
</br>
|
@@ -12,7 +12,9 @@ tags: [vector-index, metadata]
|
|
12
12
|
|
13
13
|
import { GitHubButton, YouTubeButton, DocumentationButton } from '../../../src/components/GitHubButton';
|
14
14
|
|
15
|
-
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/paper_metadata"/>
|
15
|
+
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/paper_metadata" margin="0 0 24px 0" />
|
16
|
+
|
17
|
+

|
16
18
|
|
17
19
|
## What we will achieve
|
18
20
|
|
@@ -45,7 +47,7 @@ to answer questions like "Give me all the papers by Jeff Dean."
|
|
45
47
|
CocoIndex uses PostgreSQL internally for incremental processing.
|
46
48
|
- [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). Alternatively, we have native support for Gemini, Ollama, LiteLLM. You can choose your favorite LLM provider and work completely on-premises.
|
47
49
|
|
48
|
-
<DocumentationButton
|
50
|
+
<DocumentationButton url="https://cocoindex.io/docs/ai/llm" text="LLM" margin="0 0 16px 0" />
|
49
51
|
|
50
52
|
## Import the Papers
|
51
53
|
|
@@ -61,7 +63,7 @@ def paper_metadata_flow(
|
|
61
63
|
```
|
62
64
|
|
63
65
|
`flow_builder.add_source` will create a table with sub fields (`filename`, `content`).
|
64
|
-
<DocumentationButton
|
66
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/sources" text="Sources" margin="0 0 16px 0" />
|
65
67
|
|
66
68
|
## Extract and collect metadata
|
67
69
|
|
@@ -321,7 +323,7 @@ metadata_embeddings.export(
|
|
321
323
|
|
322
324
|
In this example we use PGVector as embedding store. With CocoIndex, you can do one line switch on other supported Vector databases.
|
323
325
|
|
324
|
-
<DocumentationButton
|
326
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/targets#entry-oriented-targets" text="Entry Oriented Targets" margin="0 0 16px 0" />
|
325
327
|
|
326
328
|
## Query the index
|
327
329
|
|
@@ -12,23 +12,23 @@ tags: [vector-index, codebase]
|
|
12
12
|
|
13
13
|
import { GitHubButton, YouTubeButton, DocumentationButton } from '../../../src/components/GitHubButton';
|
14
14
|
|
15
|
-
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/code_embedding"/>
|
16
|
-
<YouTubeButton url="https://youtu.be/G3WstvhHO24?si=ndYfM0XRs03_hVPR" />
|
15
|
+
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/code_embedding" margin="0 0 24px 0" />
|
16
|
+
<YouTubeButton url="https://youtu.be/G3WstvhHO24?si=ndYfM0XRs03_hVPR" margin="0 0 24px 0" />
|
17
|
+
|
18
|
+

|
17
19
|
|
18
20
|
## Overview
|
19
21
|
In this tutorial, we will build codebase index. [CocoIndex](https://github.com/cocoindex-io/cocoindex) provides built-in support for codebase chunking, with native Tree-sitter support. It works with large codebases, and can be updated in near real-time with incremental processing - only reprocess what's changed.
|
20
22
|
|
21
23
|
## Use Cases
|
22
|
-
A wide range of applications can be built with an effective codebase index that is always up-to-date.
|
23
|
-
|
24
|
-

|
24
|
+
A wide range of applications can be built with an effective codebase index that is always up-to-date.
|
25
25
|
|
26
26
|
- Semantic code context for AI coding agents like Claude, Codex, Gemini CLI.
|
27
27
|
- MCP for code editors such as Cursor, Windsurf, and VSCode.
|
28
28
|
- Context-aware code search applications—semantic code search, natural language code retrieval.
|
29
29
|
- Context for code review agents—AI code review, automated code analysis, code quality checks, pull request summarization.
|
30
30
|
- Automated code refactoring, large-scale code migration.
|
31
|
-
-
|
31
|
+
- SRE workflows: enable rapid root cause analysis, incident response, and change impact assessment by indexing infrastructure-as-code, deployment scripts, and config files for semantic search and lineage tracking.
|
32
32
|
- Automatically generate design documentation from code—keep design docs up-to-date.
|
33
33
|
|
34
34
|
## Flow Overview
|
@@ -67,7 +67,7 @@ def code_embedding_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoind
|
|
67
67
|
- Exclude files and directories starting `.`, `target` in the root and `node_modules` under any directory.
|
68
68
|
|
69
69
|
`flow_builder.add_source` will create a table with sub fields (`filename`, `content`).
|
70
|
-
<DocumentationButton
|
70
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/sources" text="Sources" />
|
71
71
|
|
72
72
|
|
73
73
|
## Process each file and collect the information
|
@@ -84,7 +84,7 @@ def extract_extension(filename: str) -> str:
|
|
84
84
|
return os.path.splitext(filename)[1]
|
85
85
|
```
|
86
86
|
|
87
|
-
<DocumentationButton
|
87
|
+
<DocumentationButton url="https://cocoindex.io/docs/custom_ops/custom_functions" text="Custom Function" margin="0 0 16px 0" />
|
88
88
|
|
89
89
|
### Split the file into chunks
|
90
90
|
We use the `SplitRecursively` function to split the file into chunks. `SplitRecursively` is CocoIndex building block, with native integration with Tree-sitter. You need to pass in the language to the `language` parameter if you are processing code.
|
@@ -97,7 +97,7 @@ with data_scope["files"].row() as file:
|
|
97
97
|
cocoindex.functions.SplitRecursively(),
|
98
98
|
language=file["extension"], chunk_size=1000, chunk_overlap=300)
|
99
99
|
```
|
100
|
-
<DocumentationButton
|
100
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/functions#splitrecursively" text="SplitRecursively" margin="0 0 16px 0" />
|
101
101
|
|
102
102
|

|
103
103
|
|
@@ -112,13 +112,13 @@ def code_to_embedding(text: cocoindex.DataSlice[str]) -> cocoindex.DataSlice[lis
|
|
112
112
|
model="sentence-transformers/all-MiniLM-L6-v2"))
|
113
113
|
```
|
114
114
|
|
115
|
-
<DocumentationButton
|
115
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/functions#sentencetransformerembed" text="SentenceTransformerEmbed" margin="0 0 16px 0" />
|
116
116
|
|
117
117
|
:::tip
|
118
118
|
`@cocoindex.transform_flow()` is needed to share the transformation across indexing and query. When building a vector index and querying against it, the embedding computation must remain consistent between indexing and querying.
|
119
119
|
:::
|
120
120
|
|
121
|
-
<DocumentationButton
|
121
|
+
<DocumentationButton url="https://cocoindex.io/docs/query#transform-flow" text="Transform Flow" margin="0 0 16px 0" />
|
122
122
|
|
123
123
|
Then for each chunk, we will embed it using the `code_to_embedding` function, and collect the embeddings to the `code_embeddings` collector.
|
124
124
|
|
@@ -222,4 +222,11 @@ To spin up, it is super easy.
|
|
222
222
|
```
|
223
223
|
cocoindex server main.py -ci
|
224
224
|
```
|
225
|
-
Follow the url from the terminal - `https://cocoindex.io/cocoinsight` to access the CocoInsight.
|
225
|
+
Follow the url from the terminal - `https://cocoindex.io/cocoinsight` to access the CocoInsight.
|
226
|
+
|
227
|
+
|
228
|
+
## Supported Languages
|
229
|
+
|
230
|
+
SplitRecursively has native support for all major programming languages.
|
231
|
+
|
232
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/functions#supported-languages" text="Supported Languages" margin="0 0 16px 0" />
|
@@ -11,7 +11,9 @@ tags: [custom-building-blocks]
|
|
11
11
|
---
|
12
12
|
import { GitHubButton, YouTubeButton, DocumentationButton } from '../../../src/components/GitHubButton';
|
13
13
|
|
14
|
-
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/custom_output_files"/>
|
14
|
+
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/custom_output_files" margin="0 0 24px 0" />
|
15
|
+
|
16
|
+

|
15
17
|
|
16
18
|
## Overview
|
17
19
|
|
@@ -33,7 +35,7 @@ flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.DataScope
|
|
33
35
|
)
|
34
36
|
```
|
35
37
|
This ingestion creates a table with `filename` and `content` fields.
|
36
|
-
<DocumentationButton
|
38
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/sources" text="Sources" />
|
37
39
|
|
38
40
|
## Process each file and collect
|
39
41
|
|
@@ -45,7 +47,7 @@ def markdown_to_html(text: str) -> str:
|
|
45
47
|
return _markdown_it.render(text)
|
46
48
|
```
|
47
49
|
|
48
|
-
<DocumentationButton
|
50
|
+
<DocumentationButton url="https://cocoindex.io/docs/custom_ops/custom_functions" text="Custom Function" margin="0 0 16px 0" />
|
49
51
|
|
50
52
|
Define data collector and transform each document to html.
|
51
53
|
|
@@ -62,7 +64,7 @@ with data_scope["documents"].row() as doc:
|
|
62
64
|
|
63
65
|
### Define the target spec
|
64
66
|
|
65
|
-
<DocumentationButton
|
67
|
+
<DocumentationButton url="https://cocoindex.io/docs/custom_ops/custom_targets#target-spec" text="Target Spec" margin="0 0 16px 0" />
|
66
68
|
|
67
69
|
The target spec contains a directory for output files:
|
68
70
|
|
@@ -74,7 +76,7 @@ class LocalFileTarget(cocoindex.op.TargetSpec):
|
|
74
76
|
|
75
77
|
### Implement the connector
|
76
78
|
|
77
|
-
<DocumentationButton
|
79
|
+
<DocumentationButton url="https://cocoindex.io/docs/custom_ops/custom_targets#target-connector" text="Target Connector" margin="0 0 16px 0" />
|
78
80
|
|
79
81
|
`get_persistent_key()` defines the persistent key,
|
80
82
|
which uniquely identifies the target for change tracking and incremental updates. Here, we simply use the target directory as the key (e.g., `./data/output`).
|
@@ -12,8 +12,10 @@ tags: [knowledge-graph, structured-data-extraction]
|
|
12
12
|
|
13
13
|
import { GitHubButton, YouTubeButton, DocumentationButton } from '../../../src/components/GitHubButton';
|
14
14
|
|
15
|
-
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/docs_to_knowledge_graph"/>
|
16
|
-
<YouTubeButton url="https://youtu.be/2KVkpUGRtnk?si=MRalDweWrid-IFje" />
|
15
|
+
<GitHubButton url="https://github.com/cocoindex-io/cocoindex/tree/main/examples/docs_to_knowledge_graph" margin="0 0 24px 0" />
|
16
|
+
<YouTubeButton url="https://youtu.be/2KVkpUGRtnk?si=MRalDweWrid-IFje" margin="0 0 24px 0" />
|
17
|
+
|
18
|
+

|
17
19
|
|
18
20
|
## Overview
|
19
21
|
[CocoIndex](https://github.com/cocoindex-io/cocoindex) makes it easy to build and maintain knowledge graphs with continuous source updates. In this tutorial, we will use LLM to extract relationships between the concepts in each document, and generate two kinds of relationships:
|
@@ -37,11 +39,11 @@ and then build a knowledge graph.
|
|
37
39
|
* [Install Neo4j](https://cocoindex.io/docs/ops/targets#neo4j-dev-instance), a graph database.
|
38
40
|
* [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). Alternatively, we have native support for Gemini, Ollama, LiteLLM. You can choose your favorite LLM provider and work completely on-premises.
|
39
41
|
|
40
|
-
<DocumentationButton
|
42
|
+
<DocumentationButton url="https://cocoindex.io/docs/ai/llm" text="LLM" margin="0 0 16px 0" />
|
41
43
|
|
42
44
|
|
43
45
|
## Documentation
|
44
|
-
<DocumentationButton
|
46
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/targets#property-graph-targets" text="Property Graph Targets" margin="0 0 16px 0" />
|
45
47
|
|
46
48
|
|
47
49
|
## Data flow to build knowledge graph
|
@@ -61,7 +63,7 @@ def docs_to_kg_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.D
|
|
61
63
|
Here `flow_builder.add_source` creates a [KTable](https://cocoindex.io/docs/core/data_types#KTable).
|
62
64
|
`filename` is the key of the KTable.
|
63
65
|
|
64
|
-
<DocumentationButton
|
66
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/sources" text="Sources" margin="0 0 16px 0" />
|
65
67
|
|
66
68
|
|
67
69
|
### Add data collectors
|
@@ -366,7 +368,7 @@ MATCH p=()-->() RETURN p
|
|
366
368
|
## Kuzu
|
367
369
|
Cocoindex natively supports Kuzu - a high performant, embedded open source graph database.
|
368
370
|
|
369
|
-
<DocumentationButton
|
371
|
+
<DocumentationButton url="https://cocoindex.io/docs/ops/targets#kuzu" text="Kuzu" margin="0 0 16px 0" />
|
370
372
|
|
371
373
|
The GraphDB interface in CocoIndex is standardized, you just need to **switch the configuration** without any additional code changes. CocoIndex supports exporting to Kuzu through its API server. You can bring up a Kuzu API server locally by running:
|
372
374
|
|