cocoindex 0.1.55__tar.gz → 0.1.56__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.55 → cocoindex-0.1.56}/Cargo.lock +1 -1
- {cocoindex-0.1.55 → cocoindex-0.1.56}/Cargo.toml +1 -1
- {cocoindex-0.1.55 → cocoindex-0.1.56}/PKG-INFO +1 -1
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/code_embedding/main.py +1 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/live_updater.rs +8 -12
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/lib_context.rs +35 -3
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/postgres.rs +12 -8
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/py/mod.rs +1 -1
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/service/flows.rs +2 -2
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/setup/driver.rs +1 -1
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.cargo/config.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.env.lib_debug +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/workflows/CI.yml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/workflows/_doc_release.yml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/workflows/_test.yml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/workflows/docs.yml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.github/workflows/release.yml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.gitignore +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.pre-commit-config.yaml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/.vscode/settings.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/CONTRIBUTING.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/LICENSE +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/dev/neo4j.yaml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/dev/postgres.yaml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/.gitignore +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/about/community.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/about/contributing.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/ai/llm.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/basics.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/cli.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/custom_function.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/data_types.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/flow_def.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/flow_methods.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/core/settings.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/getting_started/installation.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/getting_started/quickstart.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/ops/functions.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/ops/sources.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/ops/targets.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docs/query.mdx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/docusaurus.config.ts +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/package.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/sidebars.ts +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/src/css/custom.css +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/static/.nojekyll +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/static/img/incremental-etl.gif +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/static/robots.txt +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/tsconfig.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/docs/yarn.lock +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/amazon_s3_embedding/.env.example +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/amazon_s3_embedding/.gitignore +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/amazon_s3_embedding/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/amazon_s3_embedding/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/amazon_s3_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/code_embedding/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/code_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/docs_to_knowledge_graph/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/docs_to_knowledge_graph/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/docs_to_knowledge_graph/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/docs_to_knowledge_graph/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/.dockerignore +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/compose.yaml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/dockerfile +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/fastapi_server_docker/requirements.txt +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/gdrive_text_embedding/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/gdrive_text_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/.gitignore +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/index.html +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/package-lock.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/package.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/src/App.jsx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/src/main.jsx +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/src/style.css +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/frontend/vite.config.js +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/img/cat1.jpeg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/img/dog1.jpeg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/img/elephant1.jpg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/img/giraffe.jpg +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/image_search/requirements.txt +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/manuals_llm_extraction/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/pdf_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/img/cocoinsight.png +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/img/neo4j.png +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p1.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p2.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p3.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p4.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p5.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p6.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p7.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p8.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/products/p9.json +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/product_recommendation/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/Text_Embedding.ipynb +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding_qdrant/.env +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding_qdrant/README.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding_qdrant/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/pyproject.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/__init__.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/cli.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/convert.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/flow.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/functions.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/index.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/lib.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/llm.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/op.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/runtime.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/setting.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/sources.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/targets.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/tests/test_convert.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/tests/test_optional_database.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/tests/test_typing.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/typing.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/python/cocoindex/utils.py +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/ruff.toml +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/duration.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/json_schema.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/schema.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/spec.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/base/value.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/builder/analyzed_flow.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/builder/analyzer.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/builder/exec_ctx.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/builder/flow_builder.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/builder/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/builder/plan.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/db_tracking_setup.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/dumper.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/evaluator.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/indexing_status.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/memoization.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/row_indexer.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/source_indexer.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/execution/stats.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/lib.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/anthropic.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/gemini.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/litellm.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/ollama.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/openai.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/openrouter.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/llm/voyage.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/factory_bases.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/functions/embed_text.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/functions/split_recursively.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/interface.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/py_factory.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/registration.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/registry.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/sdk.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/sources/amazon_s3.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/sources/google_drive.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/sources/local_file.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/kuzu.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/neo4j.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/qdrant.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/shared/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/shared/property_graph.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/ops/targets/shared/table_columns.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/prelude.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/py/convert.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/server.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/service/error.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/service/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/settings.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/setup/auth_registry.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/setup/components.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/setup/db_metadata.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/setup/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/setup/states.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/utils/db.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/utils/fingerprint.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/utils/immutable.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/utils/mod.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/utils/retryable.rs +0 -0
- {cocoindex-0.1.55 → cocoindex-0.1.56}/src/utils/yaml_ser.rs +0 -0
@@ -60,16 +60,16 @@ impl SharedAckFn {
|
|
60
60
|
}
|
61
61
|
|
62
62
|
async fn update_source(
|
63
|
-
|
63
|
+
flow: Arc<builder::AnalyzedFlow>,
|
64
64
|
plan: Arc<plan::ExecutionPlan>,
|
65
|
+
execution_ctx: Arc<tokio::sync::OwnedRwLockReadGuard<crate::lib_context::ExecutionContext>>,
|
65
66
|
source_update_stats: Arc<stats::UpdateStats>,
|
66
67
|
source_idx: usize,
|
67
68
|
pool: PgPool,
|
68
69
|
options: FlowLiveUpdaterOptions,
|
69
70
|
) -> Result<()> {
|
70
|
-
let execution_ctx = flow_ctx.execution_ctx.read().await;
|
71
71
|
let source_context = execution_ctx
|
72
|
-
.get_source_indexing_context(&
|
72
|
+
.get_source_indexing_context(&flow, source_idx, &pool)
|
73
73
|
.await?;
|
74
74
|
|
75
75
|
let import_op = &plan.import_ops[source_idx];
|
@@ -97,15 +97,9 @@ async fn update_source(
|
|
97
97
|
delta
|
98
98
|
};
|
99
99
|
if options.print_stats {
|
100
|
-
println!(
|
101
|
-
"{}.{}: {}",
|
102
|
-
flow_ctx.flow.flow_instance.name, import_op.name, delta
|
103
|
-
);
|
100
|
+
println!("{}.{}: {}", flow.flow_instance.name, import_op.name, delta);
|
104
101
|
} else {
|
105
|
-
trace!(
|
106
|
-
"{}.{}: {}",
|
107
|
-
flow_ctx.flow.flow_instance.name, import_op.name, delta
|
108
|
-
);
|
102
|
+
trace!("{}.{}: {}", flow.flow_instance.name, import_op.name, delta);
|
109
103
|
}
|
110
104
|
};
|
111
105
|
|
@@ -219,14 +213,16 @@ impl FlowLiveUpdater {
|
|
219
213
|
options: FlowLiveUpdaterOptions,
|
220
214
|
) -> Result<Self> {
|
221
215
|
let plan = flow_ctx.flow.get_execution_plan().await?;
|
216
|
+
let execution_ctx = Arc::new(flow_ctx.use_owned_execution_ctx().await?);
|
222
217
|
|
223
218
|
let mut tasks = JoinSet::new();
|
224
219
|
let sources_update_stats = (0..plan.import_ops.len())
|
225
220
|
.map(|source_idx| {
|
226
221
|
let source_update_stats = Arc::new(stats::UpdateStats::default());
|
227
222
|
tasks.spawn(update_source(
|
228
|
-
flow_ctx.clone(),
|
223
|
+
flow_ctx.flow.clone(),
|
229
224
|
plan.clone(),
|
225
|
+
execution_ctx.clone(),
|
230
226
|
source_update_stats.clone(),
|
231
227
|
source_idx,
|
232
228
|
pool.clone(),
|
@@ -4,6 +4,7 @@ use crate::builder::AnalyzedFlow;
|
|
4
4
|
use crate::execution::source_indexer::SourceIndexingContext;
|
5
5
|
use crate::service::error::ApiError;
|
6
6
|
use crate::settings;
|
7
|
+
use crate::setup::ObjectSetupStatus;
|
7
8
|
use axum::http::StatusCode;
|
8
9
|
use sqlx::PgPool;
|
9
10
|
use sqlx::postgres::PgConnectOptions;
|
@@ -67,7 +68,7 @@ impl ExecutionContext {
|
|
67
68
|
}
|
68
69
|
pub struct FlowContext {
|
69
70
|
pub flow: Arc<AnalyzedFlow>,
|
70
|
-
|
71
|
+
execution_ctx: Arc<tokio::sync::RwLock<ExecutionContext>>,
|
71
72
|
}
|
72
73
|
|
73
74
|
impl FlowContext {
|
@@ -75,13 +76,44 @@ impl FlowContext {
|
|
75
76
|
flow: Arc<AnalyzedFlow>,
|
76
77
|
existing_flow_ss: Option<&setup::FlowSetupState<setup::ExistingMode>>,
|
77
78
|
) -> Result<Self> {
|
78
|
-
let execution_ctx =
|
79
|
-
|
79
|
+
let execution_ctx = Arc::new(tokio::sync::RwLock::new(
|
80
|
+
ExecutionContext::new(&flow, existing_flow_ss).await?,
|
81
|
+
));
|
80
82
|
Ok(Self {
|
81
83
|
flow,
|
82
84
|
execution_ctx,
|
83
85
|
})
|
84
86
|
}
|
87
|
+
|
88
|
+
pub async fn use_execution_ctx(
|
89
|
+
&self,
|
90
|
+
) -> Result<tokio::sync::RwLockReadGuard<ExecutionContext>> {
|
91
|
+
let execution_ctx = self.execution_ctx.read().await;
|
92
|
+
if !execution_ctx.flow_setup_status.is_up_to_date() {
|
93
|
+
api_bail!(
|
94
|
+
"Flow setup is not up-to-date. Please run `cocoindex setup` to update the setup."
|
95
|
+
);
|
96
|
+
}
|
97
|
+
Ok(execution_ctx)
|
98
|
+
}
|
99
|
+
|
100
|
+
pub async fn use_owned_execution_ctx(
|
101
|
+
&self,
|
102
|
+
) -> Result<tokio::sync::OwnedRwLockReadGuard<ExecutionContext>> {
|
103
|
+
let execution_ctx = self.execution_ctx.clone().read_owned().await;
|
104
|
+
if !execution_ctx.flow_setup_status.is_up_to_date() {
|
105
|
+
api_bail!(
|
106
|
+
"Flow setup is not up-to-date. Please run `cocoindex setup` to update the setup."
|
107
|
+
);
|
108
|
+
}
|
109
|
+
Ok(execution_ctx)
|
110
|
+
}
|
111
|
+
|
112
|
+
pub async fn get_execution_ctx_for_setup(
|
113
|
+
&self,
|
114
|
+
) -> tokio::sync::RwLockReadGuard<ExecutionContext> {
|
115
|
+
self.execution_ctx.read().await
|
116
|
+
}
|
85
117
|
}
|
86
118
|
|
87
119
|
static TOKIO_RUNTIME: LazyLock<Runtime> = LazyLock::new(|| Runtime::new().unwrap());
|
@@ -194,17 +194,17 @@ impl ExportContext {
|
|
194
194
|
) -> Result<Self> {
|
195
195
|
let key_fields = key_fields_schema
|
196
196
|
.iter()
|
197
|
-
.map(|f| f.name
|
197
|
+
.map(|f| format!("\"{}\"", f.name))
|
198
198
|
.collect::<Vec<_>>()
|
199
199
|
.join(", ");
|
200
200
|
let value_fields = value_fields_schema
|
201
201
|
.iter()
|
202
|
-
.map(|f| f.name
|
202
|
+
.map(|f| format!("\"{}\"", f.name))
|
203
203
|
.collect::<Vec<_>>()
|
204
204
|
.join(", ");
|
205
205
|
let set_value_fields = value_fields_schema
|
206
206
|
.iter()
|
207
|
-
.map(|f| format!("{} = EXCLUDED
|
207
|
+
.map(|f| format!("\"{}\" = EXCLUDED.\"{}\"", f.name, f.name))
|
208
208
|
.collect::<Vec<_>>()
|
209
209
|
.join(", ");
|
210
210
|
|
@@ -288,7 +288,9 @@ impl ExportContext {
|
|
288
288
|
if i > 0 {
|
289
289
|
query_builder.push(" AND ");
|
290
290
|
}
|
291
|
+
query_builder.push("\"");
|
291
292
|
query_builder.push(schema.name.as_str());
|
293
|
+
query_builder.push("\"");
|
292
294
|
query_builder.push("=");
|
293
295
|
bind_key_field(&mut query_builder, value)?;
|
294
296
|
}
|
@@ -547,14 +549,16 @@ impl SetupStatus {
|
|
547
549
|
.await?;
|
548
550
|
}
|
549
551
|
for index_name in self.actions.indexes_to_delete.iter() {
|
550
|
-
let sql = format!("DROP INDEX IF EXISTS {}"
|
552
|
+
let sql = format!("DROP INDEX IF EXISTS {index_name}");
|
551
553
|
sqlx::query(&sql).execute(db_pool).await?;
|
552
554
|
}
|
553
555
|
if let Some(table_upsertion) = &self.actions.table_action.table_upsertion {
|
554
556
|
match table_upsertion {
|
555
557
|
TableUpsertionAction::Create { keys, values } => {
|
556
|
-
let mut fields = (keys
|
557
|
-
.
|
558
|
+
let mut fields = (keys
|
559
|
+
.iter()
|
560
|
+
.map(|(name, typ)| format!("\"{name}\" {typ} NOT NULL")))
|
561
|
+
.chain(values.iter().map(|(name, typ)| format!("\"{name}\" {typ}")));
|
558
562
|
let sql = format!(
|
559
563
|
"CREATE TABLE IF NOT EXISTS {table_name} ({}, PRIMARY KEY ({}))",
|
560
564
|
fields.join(", "),
|
@@ -568,13 +572,13 @@ impl SetupStatus {
|
|
568
572
|
} => {
|
569
573
|
for column_name in columns_to_delete.iter() {
|
570
574
|
let sql = format!(
|
571
|
-
"ALTER TABLE {table_name} DROP COLUMN IF EXISTS {column_name}",
|
575
|
+
"ALTER TABLE {table_name} DROP COLUMN IF EXISTS \"{column_name}\"",
|
572
576
|
);
|
573
577
|
sqlx::query(&sql).execute(db_pool).await?;
|
574
578
|
}
|
575
579
|
for (column_name, column_type) in columns_to_upsert.iter() {
|
576
580
|
let sql = format!(
|
577
|
-
"ALTER TABLE {table_name} DROP COLUMN IF EXISTS {column_name}, ADD COLUMN {column_name} {column_type}"
|
581
|
+
"ALTER TABLE {table_name} DROP COLUMN IF EXISTS \"{column_name}\", ADD COLUMN \"{column_name}\" {column_type}"
|
578
582
|
);
|
579
583
|
sqlx::query(&sql).execute(db_pool).await?;
|
580
584
|
}
|
@@ -202,7 +202,7 @@ impl Flow {
|
|
202
202
|
.block_on(async {
|
203
203
|
let exec_plan = self.0.flow.get_execution_plan().await?;
|
204
204
|
let lib_context = get_lib_context()?;
|
205
|
-
let execution_ctx = self.0.
|
205
|
+
let execution_ctx = self.0.use_execution_ctx().await?;
|
206
206
|
execution::dumper::evaluate_and_dump(
|
207
207
|
&exec_plan,
|
208
208
|
&execution_ctx.setup_execution_context,
|
@@ -189,7 +189,7 @@ pub async fn evaluate_data(
|
|
189
189
|
) -> Result<Json<EvaluateDataResponse>, ApiError> {
|
190
190
|
let flow_ctx = lib_context.get_flow_context(&flow_name)?;
|
191
191
|
let source_row_key_ctx = SourceRowKeyContextHolder::create(&flow_ctx, query).await?;
|
192
|
-
let execution_ctx = flow_ctx.
|
192
|
+
let execution_ctx = flow_ctx.use_execution_ctx().await?;
|
193
193
|
let evaluate_output = row_indexer::evaluate_source_entry_with_memory(
|
194
194
|
&source_row_key_ctx.as_context(),
|
195
195
|
&execution_ctx.setup_execution_context,
|
@@ -239,7 +239,7 @@ pub async fn get_row_indexing_status(
|
|
239
239
|
let flow_ctx = lib_context.get_flow_context(&flow_name)?;
|
240
240
|
let source_row_key_ctx = SourceRowKeyContextHolder::create(&flow_ctx, query).await?;
|
241
241
|
|
242
|
-
let execution_ctx = flow_ctx.
|
242
|
+
let execution_ctx = flow_ctx.use_execution_ctx().await?;
|
243
243
|
let indexing_status = indexing_status::get_source_row_indexing_status(
|
244
244
|
&source_row_key_ctx.as_context(),
|
245
245
|
&execution_ctx.setup_execution_context,
|
@@ -366,7 +366,7 @@ pub async fn sync_setup(
|
|
366
366
|
let mut flow_setup_status = BTreeMap::new();
|
367
367
|
for (flow_name, flow_context) in flows {
|
368
368
|
let existing_state = all_setup_state.flows.get(flow_name);
|
369
|
-
let execution_ctx = flow_context.
|
369
|
+
let execution_ctx = flow_context.get_execution_ctx_for_setup().await;
|
370
370
|
flow_setup_status.insert(
|
371
371
|
flow_name.clone(),
|
372
372
|
check_flow_setup_status(
|
File without changes
|
File without changes
|
{cocoindex-0.1.55 → cocoindex-0.1.56}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md"
RENAMED
File without changes
|
{cocoindex-0.1.55 → cocoindex-0.1.56}/.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
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.55 → cocoindex-0.1.56}/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
|
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
|
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.55 → cocoindex-0.1.56}/examples/text_embedding/markdown_files/1706.03762v7.md
RENAMED
File without changes
|
{cocoindex-0.1.55 → cocoindex-0.1.56}/examples/text_embedding/markdown_files/1810.04805v2.md
RENAMED
File without changes
|