cocoindex 0.1.39__tar.gz → 0.1.40__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.39 → cocoindex-0.1.40}/Cargo.lock +1 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/Cargo.toml +1 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/PKG-INFO +2 -2
- {cocoindex-0.1.39 → cocoindex-0.1.40}/README.md +1 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/amazon_s3_embedding/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/code_embedding/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/docs_to_knowledge_graph/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/gdrive_text_embedding/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/pyproject.toml +4 -1
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/README.md +4 -2
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/main.py +1 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding_qdrant/pyproject.toml +4 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/__init__.py +1 -1
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/flow.py +21 -9
- cocoindex-0.1.40/python/cocoindex/utils.py +9 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.cargo/config.toml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.env.lib_debug +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/workflows/CI.yml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/workflows/_test.yml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/workflows/docs.yml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.github/workflows/release.yml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.gitignore +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/.vscode/settings.json +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/CONTRIBUTING.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/LICENSE +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/dev/neo4j.yaml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/dev/postgres.yaml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/.gitignore +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/about/community.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/about/contributing.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/ai/llm.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/basics.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/cli.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/custom_function.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/data_types.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/flow_def.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/flow_methods.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/core/initialization.mdx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/getting_started/installation.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/getting_started/quickstart.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/ops/functions.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/ops/sources.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docs/ops/storages.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/docusaurus.config.ts +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/package.json +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/sidebars.ts +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/src/css/custom.css +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/static/.nojekyll +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/static/robots.txt +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/tsconfig.json +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/docs/yarn.lock +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/amazon_s3_embedding/.env.example +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/amazon_s3_embedding/.gitignore +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/amazon_s3_embedding/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/amazon_s3_embedding/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/code_embedding/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/code_embedding/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/docs_to_knowledge_graph/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/docs_to_knowledge_graph/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/docs_to_knowledge_graph/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/.dockerignore +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/compose.yaml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/dockerfile +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/requirements.txt +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/sample_code/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/fastapi_server_docker/src/cocoindex_funs.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/gdrive_text_embedding/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/.gitignore +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/index.html +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/package-lock.json +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/package.json +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/src/App.jsx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/src/main.jsx +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/src/style.css +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/frontend/vite.config.js +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/img/cat1.jpeg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/img/dog1.jpeg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/img/elephant1.jpg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/img/giraffe.jpg +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/image_search_example/requirements.txt +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/.env +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/img/cocoinsight.png +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/img/neo4j.png +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/main.py +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p1.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p2.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p3.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p4.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p5.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p6.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p7.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p8.json +0 -0
- {cocoindex-0.1.39/examples/product_taxonomy_knowledge_graph → cocoindex-0.1.40/examples/product_recommendation}/products/p9.json +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/Text_Embedding.ipynb +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding_qdrant/.env +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding_qdrant/README.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/pyproject.toml +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/cli.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/convert.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/functions.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/index.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/lib.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/llm.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/op.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/query.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/runtime.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/setting.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/sources.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/storages.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/tests/test_convert.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/python/cocoindex/typing.py +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/base/json_schema.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/base/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/base/schema.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/base/spec.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/base/value.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/builder/analyzed_flow.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/builder/analyzer.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/builder/flow_builder.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/builder/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/builder/plan.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/db_tracking_setup.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/dumper.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/evaluator.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/indexing_status.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/live_updater.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/memoization.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/query.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/row_indexer.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/source_indexer.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/execution/stats.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/lib.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/lib_context.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/llm/anthropic.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/llm/gemini.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/llm/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/llm/ollama.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/llm/openai.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/factory_bases.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/functions/split_recursively.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/interface.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/py_factory.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/registration.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/registry.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/sdk.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/sources/amazon_s3.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/sources/google_drive.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/sources/local_file.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/storages/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/storages/neo4j.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/storages/postgres.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/storages/qdrant.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/ops/storages/spec.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/prelude.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/py/convert.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/py/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/server.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/service/error.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/service/flows.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/service/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/service/search.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/settings.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/setup/auth_registry.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/setup/components.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/setup/db_metadata.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/setup/driver.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/setup/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/setup/states.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/utils/db.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/utils/fingerprint.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/utils/immutable.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/utils/mod.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/utils/retryable.rs +0 -0
- {cocoindex-0.1.39 → cocoindex-0.1.40}/src/utils/yaml_ser.rs +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cocoindex
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.40
|
4
4
|
Requires-Dist: sentence-transformers>=3.3.1
|
5
5
|
Requires-Dist: click>=8.1.8
|
6
6
|
Requires-Dist: rich>=14.0.0
|
@@ -153,7 +153,7 @@ It defines an index flow like this:
|
|
153
153
|
| [Docs to Knowledge Graph](examples/docs_to_knowledge_graph) | Extract relationships from Markdown documents and build a knowledge graph |
|
154
154
|
| [Embeddings to Qdrant](examples/text_embedding_qdrant) | Index documents in a Qdrant collection for semantic search |
|
155
155
|
| [FastAPI Server with Docker](examples/fastapi_server_docker) | Run the semantic search server in a Dockerized FastAPI setup |
|
156
|
-
| [
|
156
|
+
| [Product Recommendation](examples/product_recommendation) | Build real-time product recommendations with LLM and graph database|
|
157
157
|
| [Image Search with Vision API](examples/image_search_example) | Generates detailed captions for images using a vision model, embeds them, enables live-updating semantic search via FastAPI and served on a React frontend|
|
158
158
|
|
159
159
|
More coming and stay tuned 👀!
|
@@ -137,7 +137,7 @@ It defines an index flow like this:
|
|
137
137
|
| [Docs to Knowledge Graph](examples/docs_to_knowledge_graph) | Extract relationships from Markdown documents and build a knowledge graph |
|
138
138
|
| [Embeddings to Qdrant](examples/text_embedding_qdrant) | Index documents in a Qdrant collection for semantic search |
|
139
139
|
| [FastAPI Server with Docker](examples/fastapi_server_docker) | Run the semantic search server in a Dockerized FastAPI setup |
|
140
|
-
| [
|
140
|
+
| [Product Recommendation](examples/product_recommendation) | Build real-time product recommendations with LLM and graph database|
|
141
141
|
| [Image Search with Vision API](examples/image_search_example) | Generates detailed captions for images using a vision model, embeds them, enables live-updating semantic search via FastAPI and served on a React frontend|
|
142
142
|
|
143
143
|
More coming and stay tuned 👀!
|
@@ -3,4 +3,7 @@ name = "amazon-s3-text-embedding"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for cocoindex: build embedding index based on Amazon S3 files."
|
5
5
|
requires-python = ">=3.11"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -3,4 +3,7 @@ name = "code-embedding"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for cocoindex: build embedding index based on source code."
|
5
5
|
requires-python = ">=3.10"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -3,4 +3,7 @@ name = "manuals-to-kg"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for cocoindex: extract triples from files and build knowledge graph."
|
5
5
|
requires-python = ">=3.10"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -3,4 +3,7 @@ name = "gdrive-text-embedding"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for cocoindex: build embedding index based on Google Drive files."
|
5
5
|
requires-python = ">=3.11"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -4,7 +4,10 @@ version = "0.1.0"
|
|
4
4
|
description = "Simple example for cocoindex: extract structured information from a Markdown file using LLM."
|
5
5
|
requires-python = ">=3.10"
|
6
6
|
dependencies = [
|
7
|
-
"cocoindex>=0.1.
|
7
|
+
"cocoindex>=0.1.39",
|
8
8
|
"python-dotenv>=1.0.1",
|
9
9
|
"marker-pdf>=1.5.2",
|
10
10
|
]
|
11
|
+
|
12
|
+
[tool.setuptools]
|
13
|
+
packages = []
|
@@ -4,7 +4,10 @@ version = "0.1.0"
|
|
4
4
|
description = "Simple example for cocoindex: build embedding index based on local PDF files."
|
5
5
|
requires-python = ">=3.10"
|
6
6
|
dependencies = [
|
7
|
-
"cocoindex>=0.1.
|
7
|
+
"cocoindex>=0.1.39",
|
8
8
|
"python-dotenv>=1.0.1",
|
9
9
|
"marker-pdf>=1.5.2",
|
10
10
|
]
|
11
|
+
|
12
|
+
[tool.setuptools]
|
13
|
+
packages = []
|
@@ -1,6 +1,8 @@
|
|
1
|
-
# Build Real-Time
|
1
|
+
# Build Real-Time Recommendation Engine with LLM and Graph Database
|
2
2
|
|
3
|
-
We will
|
3
|
+
We will build a real-time product recommendation engine with LLM and graph database. In particular, we will use LLM to understand the category (taxonomy) of a product. In addition, we will use LLM to enumerate the complementary products - users are likely to buy together with the current product (pencil and notebook).
|
4
|
+
|
5
|
+
We will use Graph to explore the relationships between products that can be further used for product recommendations or labeling.
|
4
6
|
|
5
7
|
Please drop [CocoIndex on Github](https://github.com/cocoindex-io/cocoindex) a star to support us and stay tuned for more updates. Thank you so much 🥥🤗. [](https://github.com/cocoindex-io/cocoindex)
|
6
8
|
|
@@ -3,4 +3,7 @@ name = "cocoindex-ecommerce-taxonomy"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for CocoIndex: extract taxonomy from e-commerce products and build knowledge graph."
|
5
5
|
requires-python = ">=3.10"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1", "jinja2>=3.1.6"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -3,4 +3,7 @@ name = "text-embedding"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for cocoindex: build embedding index based on local text files."
|
5
5
|
requires-python = ">=3.10"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -3,4 +3,7 @@ name = "text-embedding-qdrant"
|
|
3
3
|
version = "0.1.0"
|
4
4
|
description = "Simple example for cocoindex: build embedding index based on local text files."
|
5
5
|
requires-python = ">=3.10"
|
6
|
-
dependencies = ["cocoindex>=0.1.
|
6
|
+
dependencies = ["cocoindex>=0.1.39", "python-dotenv>=1.0.1"]
|
7
|
+
|
8
|
+
[tool.setuptools]
|
9
|
+
packages = []
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""
|
2
2
|
Cocoindex is a framework for building and running indexing pipelines.
|
3
3
|
"""
|
4
|
-
from . import functions, query, sources, storages, cli
|
4
|
+
from . import functions, query, sources, storages, cli, utils
|
5
5
|
from .flow import FlowBuilder, DataScope, DataSlice, Flow, flow_def, transform_flow
|
6
6
|
from .flow import EvaluateAndDumpOptions, GeneratedField
|
7
7
|
from .flow import update_all_flows_async, FlowLiveUpdater, FlowLiveUpdaterOptions
|
@@ -310,9 +310,8 @@ class _FlowBuilderState:
|
|
310
310
|
engine_flow_builder: _engine.FlowBuilder
|
311
311
|
field_name_builder: _NameBuilder
|
312
312
|
|
313
|
-
def __init__(self,
|
314
|
-
|
315
|
-
self.engine_flow_builder = _engine.FlowBuilder(get_full_flow_name(flow_name))
|
313
|
+
def __init__(self, full_name: str):
|
314
|
+
self.engine_flow_builder = _engine.FlowBuilder(full_name)
|
316
315
|
self.field_name_builder = _NameBuilder()
|
317
316
|
|
318
317
|
def get_data_slice(self, v: Any) -> _engine.DataSlice:
|
@@ -464,9 +463,13 @@ class Flow:
|
|
464
463
|
"""
|
465
464
|
A flow describes an indexing pipeline.
|
466
465
|
"""
|
466
|
+
_name: str
|
467
|
+
_full_name: str
|
467
468
|
_lazy_engine_flow: Callable[[], _engine.Flow]
|
468
469
|
|
469
|
-
def __init__(self, engine_flow_creator: Callable[[], _engine.Flow]):
|
470
|
+
def __init__(self, name: str, full_name: str, engine_flow_creator: Callable[[], _engine.Flow]):
|
471
|
+
self._name = name
|
472
|
+
self._full_name = full_name
|
470
473
|
engine_flow = None
|
471
474
|
lock = Lock()
|
472
475
|
def _lazy_engine_flow() -> _engine.Flow:
|
@@ -497,7 +500,7 @@ class Flow:
|
|
497
500
|
tree.children.append(section_node)
|
498
501
|
return tree
|
499
502
|
|
500
|
-
def _get_spec(self, verbose: bool = False) ->
|
503
|
+
def _get_spec(self, verbose: bool = False) -> _engine.RenderedSpec:
|
501
504
|
return self._lazy_engine_flow().get_spec(output_mode="verbose" if verbose else "concise")
|
502
505
|
|
503
506
|
def _get_schema(self) -> list[tuple[str, str, str]]:
|
@@ -509,12 +512,19 @@ class Flow:
|
|
509
512
|
def __repr__(self):
|
510
513
|
return repr(self._lazy_engine_flow())
|
511
514
|
|
515
|
+
@property
|
516
|
+
def name(self) -> str:
|
517
|
+
"""
|
518
|
+
Get the name of the flow.
|
519
|
+
"""
|
520
|
+
return self._name
|
521
|
+
|
512
522
|
@property
|
513
523
|
def full_name(self) -> str:
|
514
524
|
"""
|
515
525
|
Get the full name of the flow.
|
516
526
|
"""
|
517
|
-
return self.
|
527
|
+
return self._full_name
|
518
528
|
|
519
529
|
def update(self) -> _engine.IndexUpdateInfo:
|
520
530
|
"""
|
@@ -555,14 +565,16 @@ def _create_lazy_flow(name: str | None, fl_def: Callable[[FlowBuilder, DataScope
|
|
555
565
|
Create a flow without really building it yet.
|
556
566
|
The flow will be built the first time when it's really needed.
|
557
567
|
"""
|
568
|
+
flow_name = _flow_name_builder.build_name(name, prefix="_flow_")
|
569
|
+
flow_full_name = get_full_flow_name(flow_name)
|
558
570
|
def _create_engine_flow() -> _engine.Flow:
|
559
|
-
flow_builder_state = _FlowBuilderState(
|
571
|
+
flow_builder_state = _FlowBuilderState(flow_full_name)
|
560
572
|
root_scope = DataScope(
|
561
573
|
flow_builder_state, flow_builder_state.engine_flow_builder.root_scope())
|
562
574
|
fl_def(FlowBuilder(flow_builder_state), root_scope)
|
563
575
|
return flow_builder_state.engine_flow_builder.build_flow(execution_context.event_loop)
|
564
576
|
|
565
|
-
return Flow(_create_engine_flow)
|
577
|
+
return Flow(flow_name, flow_full_name, _create_engine_flow)
|
566
578
|
|
567
579
|
|
568
580
|
_flows_lock = Lock()
|
@@ -695,7 +707,7 @@ class TransformFlow(Generic[T]):
|
|
695
707
|
return self._lazy_flow_info
|
696
708
|
|
697
709
|
async def _build_flow_info_async(self) -> TransformFlowInfo:
|
698
|
-
flow_builder_state = _FlowBuilderState(
|
710
|
+
flow_builder_state = _FlowBuilderState(self._flow_name)
|
699
711
|
sig = inspect.signature(self._flow_fn)
|
700
712
|
if len(sig.parameters) != len(self._flow_arg_types):
|
701
713
|
raise ValueError(
|
@@ -0,0 +1,9 @@
|
|
1
|
+
from .flow import Flow
|
2
|
+
from .setting import get_app_namespace
|
3
|
+
|
4
|
+
def get_target_storage_default_name(flow: Flow, target_name: str, delimiter: str = "__") -> str:
|
5
|
+
"""
|
6
|
+
Get the default name for a target.
|
7
|
+
It's used as the underlying storage name (e.g. a table, a collection, etc.) followed by most storage backends, if not explicitly specified.
|
8
|
+
"""
|
9
|
+
return get_app_namespace(trailing_delimiter=delimiter) + flow.name + delimiter + target_name
|
File without changes
|
File without changes
|
{cocoindex-0.1.39 → cocoindex-0.1.40}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md"
RENAMED
File without changes
|
{cocoindex-0.1.39 → cocoindex-0.1.40}/.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
|
{cocoindex-0.1.39 → cocoindex-0.1.40}/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
|
{cocoindex-0.1.39 → cocoindex-0.1.40}/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
|
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.39 → cocoindex-0.1.40}/examples/text_embedding/markdown_files/1706.03762v7.md
RENAMED
File without changes
|
{cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding/markdown_files/1810.04805v2.md
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cocoindex-0.1.39 → cocoindex-0.1.40}/examples/text_embedding_qdrant/markdown_files/rfc8259.md
RENAMED
File without changes
|
File without changes
|