cocoindex 0.1.60__tar.gz → 0.1.62__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.60 → cocoindex-0.1.62}/.gitignore +2 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/Cargo.lock +1 -1
- {cocoindex-0.1.60 → cocoindex-0.1.62}/Cargo.toml +1 -1
- {cocoindex-0.1.60 → cocoindex-0.1.62}/PKG-INFO +1 -1
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/cli.mdx +0 -6
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/__init__.py +1 -2
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/cli.py +13 -3
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/flow.py +10 -1
- cocoindex-0.1.62/python/cocoindex/lib.py +32 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/spec.rs +8 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/builder/analyzer.rs +3 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/builder/flow_builder.rs +5 -1
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/builder/plan.rs +1 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/source_indexer.rs +1 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/functions/split_recursively.rs +5 -7
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/postgres.rs +8 -9
- cocoindex-0.1.62/src/utils/concur_control.rs +30 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/utils/mod.rs +3 -0
- cocoindex-0.1.60/.vscode/settings.json +0 -9
- cocoindex-0.1.60/python/cocoindex/lib.py +0 -75
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.cargo/config.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.env.lib_debug +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/workflows/CI.yml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/workflows/_doc_release.yml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/workflows/_test.yml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/workflows/docs.yml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/workflows/format.yml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.github/workflows/release.yml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/.pre-commit-config.yaml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/CONTRIBUTING.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/LICENSE +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/dev/neo4j.yaml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/dev/postgres.yaml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/.gitignore +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/about/community.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/about/contributing.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/ai/llm.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/basics.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/custom_function.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/data_types.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/flow_def.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/flow_methods.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/core/settings.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/getting_started/installation.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/getting_started/quickstart.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/ops/functions.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/ops/sources.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/ops/targets.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docs/query.mdx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/docusaurus.config.ts +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/package.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/sidebars.ts +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/src/css/custom.css +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/static/.nojekyll +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/static/img/incremental-etl.gif +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/static/robots.txt +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/tsconfig.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/docs/yarn.lock +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/amazon_s3_embedding/.env.example +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/amazon_s3_embedding/.gitignore +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/amazon_s3_embedding/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/amazon_s3_embedding/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/amazon_s3_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/code_embedding/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/code_embedding/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/code_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/docs_to_knowledge_graph/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/docs_to_knowledge_graph/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/docs_to_knowledge_graph/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/docs_to_knowledge_graph/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/.dockerignore +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/compose.yaml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/dockerfile +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/fastapi_server_docker/requirements.txt +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/gdrive_text_embedding/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/gdrive_text_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/.gitignore +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/index.html +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/package-lock.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/package.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/src/App.jsx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/src/main.jsx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/src/style.css +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/frontend/vite.config.js +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/img/cat1.jpeg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/img/dog1.jpeg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/img/elephant1.jpg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/img/giraffe.jpg +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/image_search/requirements.txt +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/manuals_llm_extraction/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/.env.example +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/data/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_David_Artificial.docx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Emily_Artificial.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Joe_Artificial.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_From_Jane_Artificial.docx +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/patient_intake_extraction/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/pdf_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/img/cocoinsight.png +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/img/neo4j.png +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p1.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p2.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p3.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p4.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p5.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p6.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p7.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p8.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/products/p9.json +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/product_recommendation/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/Text_Embedding.ipynb +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding_qdrant/.env +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding_qdrant/README.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/examples/text_embedding_qdrant/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/pyproject.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/convert.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/functions.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/index.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/llm.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/op.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/runtime.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/setting.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/sources.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/targets.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/tests/test_convert.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/tests/test_optional_database.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/tests/test_typing.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/typing.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/python/cocoindex/utils.py +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/ruff.toml +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/duration.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/json_schema.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/schema.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/base/value.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/builder/analyzed_flow.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/builder/exec_ctx.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/builder/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/db_tracking_setup.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/dumper.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/evaluator.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/indexing_status.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/live_updater.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/memoization.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/row_indexer.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/execution/stats.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/lib.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/lib_context.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/anthropic.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/gemini.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/litellm.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/ollama.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/openai.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/openrouter.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/vllm.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/llm/voyage.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/factory_bases.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/functions/embed_text.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/interface.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/py_factory.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/registration.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/registry.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/sdk.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/sources/amazon_s3.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/sources/google_drive.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/sources/local_file.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/kuzu.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/neo4j.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/qdrant.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/shared/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/shared/property_graph.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/ops/targets/shared/table_columns.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/prelude.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/py/convert.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/py/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/server.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/service/error.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/service/flows.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/service/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/settings.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/setup/auth_registry.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/setup/components.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/setup/db_metadata.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/setup/driver.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/setup/mod.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/setup/states.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/utils/db.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/utils/fingerprint.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/utils/immutable.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/utils/retryable.rs +0 -0
- {cocoindex-0.1.60 → cocoindex-0.1.62}/src/utils/yaml_ser.rs +0 -0
@@ -47,12 +47,6 @@ CocoIndex CLI supports the following global options:
|
|
47
47
|
* `--version`: Show the CocoIndex version and exit.
|
48
48
|
* `--help`: Show the main help message and exit.
|
49
49
|
|
50
|
-
:::caution Deprecated Usage
|
51
|
-
|
52
|
-
The old method of invoking the CLI using `python main.py cocoindex ...` via the `@cocoindex.main_fn()` decorator is now deprecated. Please remove `@cocoindex.main_fn()` from your scripts and use the standalone cocoindex command as described.
|
53
|
-
|
54
|
-
:::
|
55
|
-
|
56
50
|
## Subcommands
|
57
51
|
|
58
52
|
The following subcommands are available:
|
@@ -12,7 +12,7 @@ from .flow import flow_def
|
|
12
12
|
from .flow import EvaluateAndDumpOptions, GeneratedField
|
13
13
|
from .flow import FlowLiveUpdater, FlowLiveUpdaterOptions
|
14
14
|
from .flow import update_all_flows_async, setup_all_flows, drop_all_flows
|
15
|
-
from .lib import init, start_server, stop
|
15
|
+
from .lib import init, start_server, stop
|
16
16
|
from .llm import LlmSpec, LlmApiType
|
17
17
|
from .index import VectorSimilarityMetric, VectorIndexDef, IndexOptions
|
18
18
|
from .setting import DatabaseConnectionSpec, Settings, ServerSettings
|
@@ -59,7 +59,6 @@ __all__ = [
|
|
59
59
|
"init",
|
60
60
|
"start_server",
|
61
61
|
"stop",
|
62
|
-
"main_fn",
|
63
62
|
# LLM
|
64
63
|
"LlmSpec",
|
65
64
|
"LlmApiType",
|
@@ -408,6 +408,12 @@ def update(
|
|
408
408
|
app_ref, flow_name = _parse_app_flow_specifier(app_flow_specifier)
|
409
409
|
_load_user_app(app_ref)
|
410
410
|
|
411
|
+
if live:
|
412
|
+
click.secho(
|
413
|
+
"NOTE: Flow code changes will NOT be reflected in the server until you restart it.",
|
414
|
+
fg="red",
|
415
|
+
)
|
416
|
+
|
411
417
|
options = flow.FlowLiveUpdaterOptions(live_mode=live, print_stats=not quiet)
|
412
418
|
if flow_name is None:
|
413
419
|
if setup:
|
@@ -597,6 +603,10 @@ def server(
|
|
597
603
|
),
|
598
604
|
)
|
599
605
|
else:
|
606
|
+
click.secho(
|
607
|
+
"NOTE: Flow code changes will NOT be reflected in the server until you restart it. Use --reload to enable auto-reload.",
|
608
|
+
fg="red",
|
609
|
+
)
|
600
610
|
_run_server(*args)
|
601
611
|
|
602
612
|
|
@@ -633,9 +643,6 @@ def _run_server(
|
|
633
643
|
if address is not None:
|
634
644
|
server_settings.address = address
|
635
645
|
|
636
|
-
if COCOINDEX_HOST in cors_origins:
|
637
|
-
click.echo(f"Open CocoInsight at: {COCOINDEX_HOST}/cocoinsight")
|
638
|
-
|
639
646
|
if run_setup:
|
640
647
|
_setup_flows(
|
641
648
|
flow.flows().values(),
|
@@ -649,6 +656,9 @@ def _run_server(
|
|
649
656
|
|
650
657
|
lib.start_server(server_settings)
|
651
658
|
|
659
|
+
if COCOINDEX_HOST in cors_origins:
|
660
|
+
click.echo(f"Open CocoInsight at: {COCOINDEX_HOST}/cocoinsight")
|
661
|
+
|
652
662
|
click.secho("Press Ctrl+C to stop the server.", fg="yellow")
|
653
663
|
|
654
664
|
shutdown_event = threading.Event()
|
@@ -416,6 +416,11 @@ class _SourceRefreshOptions:
|
|
416
416
|
refresh_interval: datetime.timedelta | None = None
|
417
417
|
|
418
418
|
|
419
|
+
@dataclass
|
420
|
+
class _ExecutionOptions:
|
421
|
+
max_inflight_count: int | None = None
|
422
|
+
|
423
|
+
|
419
424
|
class FlowBuilder:
|
420
425
|
"""
|
421
426
|
A flow builder is used to build a flow.
|
@@ -439,6 +444,7 @@ class FlowBuilder:
|
|
439
444
|
*,
|
440
445
|
name: str | None = None,
|
441
446
|
refresh_interval: datetime.timedelta | None = None,
|
447
|
+
max_inflight_count: int | None = None,
|
442
448
|
) -> DataSlice[T]:
|
443
449
|
"""
|
444
450
|
Import a source to the flow.
|
@@ -454,9 +460,12 @@ class FlowBuilder:
|
|
454
460
|
self._state.field_name_builder.build_name(
|
455
461
|
name, prefix=_to_snake_case(_spec_kind(spec)) + "_"
|
456
462
|
),
|
457
|
-
dump_engine_object(
|
463
|
+
refresh_options=dump_engine_object(
|
458
464
|
_SourceRefreshOptions(refresh_interval=refresh_interval)
|
459
465
|
),
|
466
|
+
execution_options=dump_engine_object(
|
467
|
+
_ExecutionOptions(max_inflight_count=max_inflight_count)
|
468
|
+
),
|
460
469
|
),
|
461
470
|
name,
|
462
471
|
)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"""
|
2
|
+
Library level functions and states.
|
3
|
+
"""
|
4
|
+
|
5
|
+
import warnings
|
6
|
+
from typing import Callable, Any
|
7
|
+
|
8
|
+
from . import _engine # type: ignore
|
9
|
+
from . import flow, setting
|
10
|
+
from .convert import dump_engine_object
|
11
|
+
|
12
|
+
|
13
|
+
def init(settings: setting.Settings | None = None) -> None:
|
14
|
+
"""
|
15
|
+
Initialize the cocoindex library.
|
16
|
+
|
17
|
+
If the settings are not provided, they are loaded from the environment variables.
|
18
|
+
"""
|
19
|
+
settings = settings or setting.Settings.from_env()
|
20
|
+
_engine.init(dump_engine_object(settings))
|
21
|
+
setting.set_app_namespace(settings.app_namespace)
|
22
|
+
|
23
|
+
|
24
|
+
def start_server(settings: setting.ServerSettings) -> None:
|
25
|
+
"""Start the cocoindex server."""
|
26
|
+
flow.ensure_all_flows_built()
|
27
|
+
_engine.start_server(settings.__dict__)
|
28
|
+
|
29
|
+
|
30
|
+
def stop() -> None:
|
31
|
+
"""Stop the cocoindex library."""
|
32
|
+
_engine.stop()
|
@@ -253,6 +253,11 @@ impl SpecFormatter for OpSpec {
|
|
253
253
|
}
|
254
254
|
}
|
255
255
|
|
256
|
+
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
257
|
+
pub struct ExecutionOptions {
|
258
|
+
pub max_inflight_count: Option<u32>,
|
259
|
+
}
|
260
|
+
|
256
261
|
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
257
262
|
pub struct SourceRefreshOptions {
|
258
263
|
pub refresh_interval: Option<std::time::Duration>,
|
@@ -274,6 +279,9 @@ pub struct ImportOpSpec {
|
|
274
279
|
|
275
280
|
#[serde(default)]
|
276
281
|
pub refresh_options: SourceRefreshOptions,
|
282
|
+
|
283
|
+
#[serde(default)]
|
284
|
+
pub execution_options: ExecutionOptions,
|
277
285
|
}
|
278
286
|
|
279
287
|
impl SpecFormatter for ImportOpSpec {
|
@@ -697,6 +697,9 @@ impl AnalyzerContext {
|
|
697
697
|
primary_key_type,
|
698
698
|
name: op_name,
|
699
699
|
refresh_options: import_op.spec.refresh_options,
|
700
|
+
concurrency_controller: utils::ConcurrencyController::new(
|
701
|
+
import_op.spec.execution_options.max_inflight_count,
|
702
|
+
),
|
700
703
|
})
|
701
704
|
};
|
702
705
|
Ok(result_fut)
|
@@ -288,7 +288,7 @@ impl FlowBuilder {
|
|
288
288
|
OpScopeRef(self.root_op_scope.clone())
|
289
289
|
}
|
290
290
|
|
291
|
-
#[pyo3(signature = (kind, op_spec, target_scope, name, refresh_options=None))]
|
291
|
+
#[pyo3(signature = (kind, op_spec, target_scope, name, refresh_options=None, execution_options=None))]
|
292
292
|
pub fn add_source(
|
293
293
|
&mut self,
|
294
294
|
py: Python<'_>,
|
@@ -297,6 +297,7 @@ impl FlowBuilder {
|
|
297
297
|
target_scope: Option<OpScopeRef>,
|
298
298
|
name: String,
|
299
299
|
refresh_options: Option<py::Pythonized<spec::SourceRefreshOptions>>,
|
300
|
+
execution_options: Option<py::Pythonized<spec::ExecutionOptions>>,
|
300
301
|
) -> PyResult<DataSlice> {
|
301
302
|
if let Some(target_scope) = target_scope {
|
302
303
|
if *target_scope != self.root_op_scope {
|
@@ -313,6 +314,9 @@ impl FlowBuilder {
|
|
313
314
|
spec: op_spec.into_inner(),
|
314
315
|
},
|
315
316
|
refresh_options: refresh_options.map(|o| o.into_inner()).unwrap_or_default(),
|
317
|
+
execution_options: execution_options
|
318
|
+
.map(|o| o.into_inner())
|
319
|
+
.unwrap_or_default(),
|
316
320
|
},
|
317
321
|
};
|
318
322
|
let analyzer_ctx = AnalyzerContext {
|
@@ -56,6 +56,7 @@ pub struct AnalyzedImportOp {
|
|
56
56
|
pub output: AnalyzedOpOutput,
|
57
57
|
pub primary_key_type: schema::ValueType,
|
58
58
|
pub refresh_options: spec::SourceRefreshOptions,
|
59
|
+
pub concurrency_controller: utils::ConcurrencyController,
|
59
60
|
}
|
60
61
|
|
61
62
|
pub struct AnalyzedFunctionExecInfo {
|
@@ -918,16 +918,14 @@ impl SimpleFunctionExecutor for Executor {
|
|
918
918
|
let table = output
|
919
919
|
.into_iter()
|
920
920
|
.map(|chunk_output| {
|
921
|
+
let output_start = chunk_output.start_pos.output.unwrap();
|
922
|
+
let output_end = chunk_output.end_pos.output.unwrap();
|
921
923
|
(
|
922
|
-
RangeValue::new(
|
923
|
-
chunk_output.start_pos.byte_offset,
|
924
|
-
chunk_output.end_pos.byte_offset,
|
925
|
-
)
|
926
|
-
.into(),
|
924
|
+
RangeValue::new(output_start.char_offset, output_end.char_offset).into(),
|
927
925
|
fields_value!(
|
928
926
|
Arc::<str>::from(chunk_output.text),
|
929
|
-
|
930
|
-
|
927
|
+
output_start.into_output(),
|
928
|
+
output_end.into_output()
|
931
929
|
)
|
932
930
|
.into(),
|
933
931
|
)
|
@@ -197,8 +197,7 @@ impl ExportContext {
|
|
197
197
|
.map(|f| format!("\"{}\"", f.name))
|
198
198
|
.collect::<Vec<_>>()
|
199
199
|
.join(", ");
|
200
|
-
let
|
201
|
-
.iter()
|
200
|
+
let all_fields = (key_fields_schema.iter().chain(value_fields_schema.iter()))
|
202
201
|
.map(|f| format!("\"{}\"", f.name))
|
203
202
|
.collect::<Vec<_>>()
|
204
203
|
.join(", ");
|
@@ -211,15 +210,15 @@ impl ExportContext {
|
|
211
210
|
Ok(Self {
|
212
211
|
db_ref,
|
213
212
|
db_pool,
|
213
|
+
upsert_sql_prefix: format!("INSERT INTO {table_name} ({all_fields}) VALUES "),
|
214
|
+
upsert_sql_suffix: if value_fields_schema.is_empty() {
|
215
|
+
format!(" ON CONFLICT ({key_fields}) DO NOTHING;")
|
216
|
+
} else {
|
217
|
+
format!(" ON CONFLICT ({key_fields}) DO UPDATE SET {set_value_fields};")
|
218
|
+
},
|
219
|
+
delete_sql_prefix: format!("DELETE FROM {table_name} WHERE "),
|
214
220
|
key_fields_schema,
|
215
221
|
value_fields_schema,
|
216
|
-
upsert_sql_prefix: format!(
|
217
|
-
"INSERT INTO {table_name} ({key_fields}, {value_fields}) VALUES "
|
218
|
-
),
|
219
|
-
upsert_sql_suffix: format!(
|
220
|
-
" ON CONFLICT ({key_fields}) DO UPDATE SET {set_value_fields};"
|
221
|
-
),
|
222
|
-
delete_sql_prefix: format!("DELETE FROM {table_name} WHERE "),
|
223
222
|
})
|
224
223
|
}
|
225
224
|
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
use crate::prelude::*;
|
2
|
+
|
3
|
+
use tokio::sync::{Semaphore, SemaphorePermit};
|
4
|
+
|
5
|
+
pub struct ConcurrencyController {
|
6
|
+
inflight_count_sem: Option<Semaphore>,
|
7
|
+
}
|
8
|
+
|
9
|
+
pub struct ConcurrencyControllerPermit<'a> {
|
10
|
+
_inflight_count_permit: Option<SemaphorePermit<'a>>,
|
11
|
+
}
|
12
|
+
|
13
|
+
impl ConcurrencyController {
|
14
|
+
pub fn new(max_inflight_count: Option<u32>) -> Self {
|
15
|
+
Self {
|
16
|
+
inflight_count_sem: max_inflight_count.map(|max| Semaphore::new(max as usize)),
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
pub async fn acquire<'a>(&'a self) -> Result<ConcurrencyControllerPermit<'a>> {
|
21
|
+
let inflight_count_permit = if let Some(sem) = &self.inflight_count_sem {
|
22
|
+
Some(sem.acquire().await?)
|
23
|
+
} else {
|
24
|
+
None
|
25
|
+
};
|
26
|
+
Ok(ConcurrencyControllerPermit {
|
27
|
+
_inflight_count_permit: inflight_count_permit,
|
28
|
+
})
|
29
|
+
}
|
30
|
+
}
|
@@ -1,75 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Library level functions and states.
|
3
|
-
"""
|
4
|
-
|
5
|
-
import warnings
|
6
|
-
from typing import Callable, Any
|
7
|
-
|
8
|
-
from . import _engine # type: ignore
|
9
|
-
from . import flow, setting
|
10
|
-
from .convert import dump_engine_object
|
11
|
-
|
12
|
-
|
13
|
-
def init(settings: setting.Settings | None = None) -> None:
|
14
|
-
"""
|
15
|
-
Initialize the cocoindex library.
|
16
|
-
|
17
|
-
If the settings are not provided, they are loaded from the environment variables.
|
18
|
-
"""
|
19
|
-
settings = settings or setting.Settings.from_env()
|
20
|
-
_engine.init(dump_engine_object(settings))
|
21
|
-
setting.set_app_namespace(settings.app_namespace)
|
22
|
-
|
23
|
-
|
24
|
-
def start_server(settings: setting.ServerSettings) -> None:
|
25
|
-
"""Start the cocoindex server."""
|
26
|
-
flow.ensure_all_flows_built()
|
27
|
-
_engine.start_server(settings.__dict__)
|
28
|
-
|
29
|
-
|
30
|
-
def stop() -> None:
|
31
|
-
"""Stop the cocoindex library."""
|
32
|
-
_engine.stop()
|
33
|
-
|
34
|
-
|
35
|
-
def main_fn(
|
36
|
-
settings: Any | None = None,
|
37
|
-
cocoindex_cmd: str | None = None,
|
38
|
-
) -> Callable[[Callable[..., Any]], Callable[..., Any]]:
|
39
|
-
"""
|
40
|
-
DEPRECATED: The @cocoindex.main_fn() decorator is obsolete and has no effect.
|
41
|
-
It will be removed in a future version, which will cause an AttributeError.
|
42
|
-
|
43
|
-
Please remove this decorator from your code and use the standalone 'cocoindex' CLI.
|
44
|
-
See the updated CLI usage examples in the warning message.
|
45
|
-
"""
|
46
|
-
warnings.warn(
|
47
|
-
"\n\n"
|
48
|
-
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"
|
49
|
-
"CRITICAL DEPRECATION NOTICE from CocoIndex:\n"
|
50
|
-
"The @cocoindex.main_fn() decorator in your script is DEPRECATED and IGNORED.\n"
|
51
|
-
"It provides NO functionality and will be REMOVED entirely in a future version.\n"
|
52
|
-
"If not removed, your script will FAIL with an AttributeError in the future.\n\n"
|
53
|
-
"ACTION REQUIRED: Please REMOVE @cocoindex.main_fn() from your Python script.\n\n"
|
54
|
-
"To use CocoIndex, invoke the standalone 'cocoindex' CLI."
|
55
|
-
" Examples of new CLI usage:\n\n"
|
56
|
-
" To list flows from 'main.py' (previously 'python main.py cocoindex ls'):\n"
|
57
|
-
" cocoindex ls main.py\n\n"
|
58
|
-
" To list all persisted flows (previously 'python main.py cocoindex ls --all'):\n"
|
59
|
-
" cocoindex ls\n\n"
|
60
|
-
" To show 'MyFlow' defined in 'main.py' (previously 'python main.py cocoindex show MyFlow'):\n"
|
61
|
-
" cocoindex show main.py:MyFlow\n\n"
|
62
|
-
" To update all flows in 'my_package.flows_module':\n"
|
63
|
-
" cocoindex update my_package.flows_module\n\n"
|
64
|
-
" To update 'SpecificFlow' in 'my_package.flows_module':\n"
|
65
|
-
" cocoindex update my_package.flows_module:SpecificFlow\n\n"
|
66
|
-
"See cocoindex <command> --help for more details.\n"
|
67
|
-
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n",
|
68
|
-
DeprecationWarning,
|
69
|
-
stacklevel=2,
|
70
|
-
)
|
71
|
-
|
72
|
-
def _main_wrapper(fn: Callable[..., Any]) -> Callable[..., Any]:
|
73
|
-
return fn
|
74
|
-
|
75
|
-
return _main_wrapper
|
File without changes
|
File without changes
|
{cocoindex-0.1.60 → cocoindex-0.1.62}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md"
RENAMED
File without changes
|
{cocoindex-0.1.60 → cocoindex-0.1.62}/.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
|
{cocoindex-0.1.60 → cocoindex-0.1.62}/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
|