cocoindex 0.1.34__tar.gz → 0.1.35__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.1.34 → cocoindex-0.1.35}/Cargo.lock +1 -1
- {cocoindex-0.1.34 → cocoindex-0.1.35}/Cargo.toml +1 -1
- {cocoindex-0.1.34 → cocoindex-0.1.35}/PKG-INFO +1 -1
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/main.py +3 -3
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/__init__.py +1 -1
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/cli.py +7 -10
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/flow.py +63 -36
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.cargo/config.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.env.lib_debug +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/workflows/CI.yml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/workflows/_test.yml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/workflows/docs.yml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.github/workflows/release.yml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.gitignore +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/.vscode/settings.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/CONTRIBUTING.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/LICENSE +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/dev/neo4j.yaml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/dev/postgres.yaml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/.gitignore +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/about/community.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/about/contributing.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/ai/llm.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/basics.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/cli.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/custom_function.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/data_types.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/flow_def.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/flow_methods.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/core/initialization.mdx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/getting_started/installation.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/getting_started/quickstart.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/ops/functions.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/ops/sources.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docs/ops/storages.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/docusaurus.config.ts +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/package.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/sidebars.ts +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/src/css/custom.css +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/static/.nojekyll +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/static/robots.txt +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/tsconfig.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/docs/yarn.lock +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/code_embedding/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/code_embedding/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/code_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/.dockerignore +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/compose.yaml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/dockerfile +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/requirements.txt +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/sample_code/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/fastapi_server_docker/src/cocoindex_funs.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/data/1706.03762v7.docx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/data/1810.04805v2.docx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/gdrive_text_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/.gitignore +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/index.html +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/package-lock.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/package.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/src/App.jsx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/src/main.jsx +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/src/style.css +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/vite.config.js +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/img/cat1.jpeg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/img/dog1.jpeg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/img/elephant1.jpg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/img/giraffe.jpg +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/requirements.txt +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/manuals_llm_extraction/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/pdf_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/img/cocoinsight.png +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/img/neo4j.png +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p1.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p2.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p3.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p4.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p5.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p6.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p7.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p8.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p9.json +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/Text_Embedding.ipynb +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding_qdrant/.env +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding_qdrant/README.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding_qdrant/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/pyproject.toml +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/convert.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/functions.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/index.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/lib.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/llm.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/op.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/query.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/runtime.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/setting.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/sources.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/storages.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/tests/test_convert.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/python/cocoindex/typing.py +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/base/json_schema.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/base/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/base/schema.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/base/spec.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/base/value.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/builder/analyzed_flow.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/builder/analyzer.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/builder/flow_builder.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/builder/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/builder/plan.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/db_tracking_setup.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/dumper.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/evaluator.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/live_updater.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/memoization.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/query.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/row_indexer.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/source_indexer.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/execution/stats.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/lib.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/lib_context.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/llm/anthropic.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/llm/gemini.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/llm/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/llm/ollama.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/llm/openai.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/factory_bases.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/functions/split_recursively.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/interface.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/py_factory.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/registration.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/registry.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/sdk.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/sources/google_drive.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/sources/local_file.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/storages/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/storages/neo4j.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/storages/postgres.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/storages/qdrant.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/ops/storages/spec.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/prelude.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/py/convert.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/py/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/server.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/service/error.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/service/flows.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/service/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/service/search.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/settings.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/setup/auth_registry.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/setup/components.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/setup/db_metadata.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/setup/driver.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/setup/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/setup/states.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/utils/db.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/utils/fingerprint.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/utils/immutable.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/utils/mod.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/utils/retriable.rs +0 -0
- {cocoindex-0.1.34 → cocoindex-0.1.35}/src/utils/yaml_ser.rs +0 -0
@@ -53,9 +53,9 @@ query_handler = cocoindex.query.SimpleSemanticsQueryHandler(
|
|
53
53
|
default_similarity_metric=cocoindex.VectorSimilarityMetric.COSINE_SIMILARITY)
|
54
54
|
|
55
55
|
@cocoindex.main_fn()
|
56
|
-
|
56
|
+
def _run():
|
57
57
|
# Use a `FlowLiveUpdater` to keep the flow data updated.
|
58
|
-
|
58
|
+
with cocoindex.FlowLiveUpdater(gdrive_text_embedding_flow):
|
59
59
|
# Run queries in a loop to demonstrate the query capabilities.
|
60
60
|
while True:
|
61
61
|
try:
|
@@ -74,4 +74,4 @@ async def _run():
|
|
74
74
|
|
75
75
|
if __name__ == "__main__":
|
76
76
|
load_dotenv(override=True)
|
77
|
-
|
77
|
+
_run()
|
@@ -4,7 +4,7 @@ Cocoindex is a framework for building and running indexing pipelines.
|
|
4
4
|
from . import functions, query, sources, storages, cli
|
5
5
|
from .flow import FlowBuilder, DataScope, DataSlice, Flow, flow_def
|
6
6
|
from .flow import EvaluateAndDumpOptions, GeneratedField
|
7
|
-
from .flow import
|
7
|
+
from .flow import update_all_flows_async, FlowLiveUpdater, FlowLiveUpdaterOptions
|
8
8
|
from .llm import LlmSpec, LlmApiType
|
9
9
|
from .index import VectorSimilarityMetric, VectorIndexDef, IndexOptions
|
10
10
|
from .auth_registry import AuthEntryReference, add_auth_entry, ref_auth_entry
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import asyncio
|
2
1
|
import click
|
3
2
|
import datetime
|
4
3
|
|
@@ -7,7 +6,6 @@ from rich.table import Table
|
|
7
6
|
|
8
7
|
from . import flow, lib, setting
|
9
8
|
from .setup import sync_setup, drop_setup, flow_names_with_setup, apply_setup_changes
|
10
|
-
from .runtime import execution_context
|
11
9
|
|
12
10
|
@click.group()
|
13
11
|
def cli():
|
@@ -136,13 +134,12 @@ def update(flow_name: str | None, live: bool, quiet: bool):
|
|
136
134
|
Update the index to reflect the latest data from data sources.
|
137
135
|
"""
|
138
136
|
options = flow.FlowLiveUpdaterOptions(live_mode=live, print_stats=not quiet)
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
updater
|
144
|
-
|
145
|
-
execution_context.run(_update())
|
137
|
+
if flow_name is None:
|
138
|
+
return flow.update_all_flows(options)
|
139
|
+
else:
|
140
|
+
with flow.FlowLiveUpdater(_flow_by_name(flow_name), options) as updater:
|
141
|
+
updater.wait()
|
142
|
+
return updater.update_stats()
|
146
143
|
|
147
144
|
@cli.command()
|
148
145
|
@click.argument("flow_name", type=str, required=False)
|
@@ -217,7 +214,7 @@ def server(address: str | None, live_update: bool, quiet: bool, cors_origin: str
|
|
217
214
|
|
218
215
|
if live_update:
|
219
216
|
options = flow.FlowLiveUpdaterOptions(live_mode=True, print_stats=not quiet)
|
220
|
-
|
217
|
+
flow.update_all_flows(options)
|
221
218
|
if COCOINDEX_HOST in cors_origins:
|
222
219
|
click.echo(f"Open CocoInsight at: {COCOINDEX_HOST}/cocoinsight")
|
223
220
|
input("Press Enter to stop...")
|
@@ -8,7 +8,6 @@ import asyncio
|
|
8
8
|
import re
|
9
9
|
import inspect
|
10
10
|
import datetime
|
11
|
-
import json
|
12
11
|
|
13
12
|
from typing import Any, Callable, Sequence, TypeVar
|
14
13
|
from threading import Lock
|
@@ -384,56 +383,71 @@ class FlowLiveUpdater:
|
|
384
383
|
"""
|
385
384
|
A live updater for a flow.
|
386
385
|
"""
|
387
|
-
|
386
|
+
_flow: Flow
|
387
|
+
_options: FlowLiveUpdaterOptions
|
388
|
+
_engine_live_updater: _engine.FlowLiveUpdater | None = None
|
388
389
|
|
389
|
-
def __init__(self,
|
390
|
-
|
391
|
-
|
392
|
-
else:
|
393
|
-
self._engine_live_updater = execution_context.run(_engine.FlowLiveUpdater(
|
394
|
-
arg.internal_flow(), dump_engine_object(options or FlowLiveUpdaterOptions())))
|
395
|
-
|
396
|
-
@staticmethod
|
397
|
-
async def create(fl: Flow, options: FlowLiveUpdaterOptions | None = None) -> FlowLiveUpdater:
|
398
|
-
"""
|
399
|
-
Create a live updater for a flow.
|
400
|
-
"""
|
401
|
-
engine_live_updater = await _engine.FlowLiveUpdater.create(
|
402
|
-
await fl.ainternal_flow(),
|
403
|
-
dump_engine_object(options or FlowLiveUpdaterOptions()))
|
404
|
-
return FlowLiveUpdater(engine_live_updater)
|
390
|
+
def __init__(self, fl: Flow, options: FlowLiveUpdaterOptions | None = None):
|
391
|
+
self._flow = fl
|
392
|
+
self._options = options or FlowLiveUpdaterOptions()
|
405
393
|
|
406
394
|
def __enter__(self) -> FlowLiveUpdater:
|
395
|
+
self.start()
|
407
396
|
return self
|
408
397
|
|
409
398
|
def __exit__(self, exc_type, exc_value, traceback):
|
410
399
|
self.abort()
|
411
|
-
|
400
|
+
self.wait()
|
412
401
|
|
413
402
|
async def __aenter__(self) -> FlowLiveUpdater:
|
403
|
+
await self.start_async()
|
414
404
|
return self
|
415
405
|
|
416
406
|
async def __aexit__(self, exc_type, exc_value, traceback):
|
417
407
|
self.abort()
|
418
|
-
await self.
|
408
|
+
await self.wait_async()
|
409
|
+
|
410
|
+
def start(self) -> None:
|
411
|
+
"""
|
412
|
+
Start the live updater.
|
413
|
+
"""
|
414
|
+
execution_context.run(self.start_async())
|
415
|
+
|
416
|
+
async def start_async(self) -> None:
|
417
|
+
"""
|
418
|
+
Start the live updater.
|
419
|
+
"""
|
420
|
+
self._engine_live_updater = await _engine.FlowLiveUpdater.create(
|
421
|
+
await self._flow.internal_flow_async(), dump_engine_object(self._options))
|
419
422
|
|
420
|
-
|
423
|
+
def wait(self) -> None:
|
421
424
|
"""
|
422
425
|
Wait for the live updater to finish.
|
423
426
|
"""
|
424
|
-
|
427
|
+
execution_context.run(self.wait_async())
|
428
|
+
|
429
|
+
async def wait_async(self) -> None:
|
430
|
+
"""
|
431
|
+
Wait for the live updater to finish. Async version.
|
432
|
+
"""
|
433
|
+
await self._get_engine_live_updater().wait()
|
425
434
|
|
426
435
|
def abort(self) -> None:
|
427
436
|
"""
|
428
437
|
Abort the live updater.
|
429
438
|
"""
|
430
|
-
self.
|
439
|
+
self._get_engine_live_updater().abort()
|
431
440
|
|
432
441
|
def update_stats(self) -> _engine.IndexUpdateInfo:
|
433
442
|
"""
|
434
443
|
Get the index update info.
|
435
444
|
"""
|
436
|
-
return self.
|
445
|
+
return self._get_engine_live_updater().index_update_info()
|
446
|
+
|
447
|
+
def _get_engine_live_updater(self) -> _engine.FlowLiveUpdater:
|
448
|
+
if self._engine_live_updater is None:
|
449
|
+
raise RuntimeError("Live updater is not started")
|
450
|
+
return self._engine_live_updater
|
437
451
|
|
438
452
|
|
439
453
|
@dataclass
|
@@ -500,13 +514,20 @@ class Flow:
|
|
500
514
|
"""
|
501
515
|
return self._lazy_engine_flow().name()
|
502
516
|
|
503
|
-
|
517
|
+
def update(self) -> _engine.IndexUpdateInfo:
|
518
|
+
"""
|
519
|
+
Update the index defined by the flow.
|
520
|
+
Once the function returns, the index is fresh up to the moment when the function is called.
|
521
|
+
"""
|
522
|
+
return execution_context.run(self.update_async())
|
523
|
+
|
524
|
+
async def update_async(self) -> _engine.IndexUpdateInfo:
|
504
525
|
"""
|
505
526
|
Update the index defined by the flow.
|
506
|
-
Once the function returns, the
|
527
|
+
Once the function returns, the index is fresh up to the moment when the function is called.
|
507
528
|
"""
|
508
|
-
updater = await FlowLiveUpdater.
|
509
|
-
await updater.
|
529
|
+
updater = await FlowLiveUpdater.create_async(self, FlowLiveUpdaterOptions(live_mode=False))
|
530
|
+
await updater.wait_async()
|
510
531
|
return updater.update_stats()
|
511
532
|
|
512
533
|
def evaluate_and_dump(self, options: EvaluateAndDumpOptions):
|
@@ -521,7 +542,7 @@ class Flow:
|
|
521
542
|
"""
|
522
543
|
return self._lazy_engine_flow()
|
523
544
|
|
524
|
-
async def
|
545
|
+
async def internal_flow_async(self) -> _engine.Flow:
|
525
546
|
"""
|
526
547
|
Get the engine flow. The async version.
|
527
548
|
"""
|
@@ -587,22 +608,28 @@ def ensure_all_flows_built() -> None:
|
|
587
608
|
for fl in flows():
|
588
609
|
fl.internal_flow()
|
589
610
|
|
590
|
-
async def
|
611
|
+
async def ensure_all_flows_built_async() -> None:
|
591
612
|
"""
|
592
613
|
Ensure all flows are built.
|
593
614
|
"""
|
594
615
|
for fl in flows():
|
595
|
-
await fl.
|
616
|
+
await fl.internal_flow_async()
|
596
617
|
|
597
|
-
|
618
|
+
def update_all_flows(options: FlowLiveUpdaterOptions) -> dict[str, _engine.IndexUpdateInfo]:
|
598
619
|
"""
|
599
620
|
Update all flows.
|
600
621
|
"""
|
601
|
-
|
622
|
+
return execution_context.run(update_all_flows_async(options))
|
623
|
+
|
624
|
+
async def update_all_flows_async(options: FlowLiveUpdaterOptions) -> dict[str, _engine.IndexUpdateInfo]:
|
625
|
+
"""
|
626
|
+
Update all flows.
|
627
|
+
"""
|
628
|
+
await ensure_all_flows_built_async()
|
602
629
|
async def _update_flow(fl: Flow) -> _engine.IndexUpdateInfo:
|
603
|
-
|
604
|
-
|
605
|
-
|
630
|
+
async with FlowLiveUpdater(fl, options) as updater:
|
631
|
+
await updater.wait_async()
|
632
|
+
return updater.update_stats()
|
606
633
|
fls = flows()
|
607
634
|
all_stats = await asyncio.gather(*(_update_flow(fl) for fl in fls))
|
608
635
|
return {fl.name: stats for fl, stats in zip(fls, all_stats)}
|
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md"
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md"
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/docs/src/components/HomepageFeatures/styles.module.css
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/docs_to_knowledge_graph/markdown_files/rfc8259.md
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/image_search_example/frontend/package-lock.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/img/cocoinsight.png
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/img/neo4j.png
RENAMED
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p1.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p2.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p3.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p4.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p5.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p6.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p7.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p8.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/products/p9.json
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/product_taxonomy_knowledge_graph/pyproject.toml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/markdown_files/1706.03762v7.md
RENAMED
File without changes
|
{cocoindex-0.1.34 → cocoindex-0.1.35}/examples/text_embedding/markdown_files/1810.04805v2.md
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|