cocoindex 0.1.25__tar.gz → 0.1.27__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.27/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md +20 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.github/workflows/CI.yml +5 -2
- cocoindex-0.1.27/.github/workflows/_test.yml +45 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.gitignore +0 -3
- cocoindex-0.1.27/.vscode/settings.json +7 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/Cargo.lock +100 -92
- {cocoindex-0.1.25 → cocoindex-0.1.27}/Cargo.toml +2 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/PKG-INFO +2 -2
- {cocoindex-0.1.25 → cocoindex-0.1.27}/README.md +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/about/community.md +2 -2
- cocoindex-0.1.27/docs/docs/about/contributing.md +80 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/ai/llm.mdx +45 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/basics.md +3 -3
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/custom_function.mdx +1 -1
- cocoindex-0.1.27/docs/docs/core/data_types.mdx +121 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/flow_def.mdx +92 -59
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/flow_methods.mdx +1 -1
- cocoindex-0.1.27/docs/docs/core/initialization.mdx +121 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/getting_started/quickstart.md +4 -3
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/ops/functions.md +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/ops/sources.md +2 -2
- cocoindex-0.1.27/docs/docs/ops/storages.md +393 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docusaurus.config.ts +5 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/package.json +1 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/yarn.lock +934 -7
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/code_embedding/pyproject.toml +1 -1
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/main.py +45 -54
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/pyproject.toml +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/main.py +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/pyproject.toml +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/main.py +13 -4
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/pyproject.toml +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/pyproject.toml +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/README.md +7 -2
- cocoindex-0.1.27/examples/text_embedding/Text_Embedding.ipynb +392 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/pyproject.toml +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding_qdrant/pyproject.toml +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/__init__.py +2 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/cli.py +9 -6
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/convert.py +42 -21
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/flow.py +46 -15
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/functions.py +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/lib.py +17 -8
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/llm.py +2 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/op.py +7 -6
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/query.py +5 -4
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/runtime.py +12 -4
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/storages.py +10 -3
- cocoindex-0.1.27/python/cocoindex/tests/test_convert.py +280 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/typing.py +75 -47
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/base/json_schema.rs +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/base/schema.rs +26 -26
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/base/spec.rs +68 -3
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/base/value.rs +32 -37
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/builder/analyzed_flow.rs +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/builder/analyzer.rs +280 -230
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/builder/flow_builder.rs +14 -4
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/db_tracking_setup.rs +21 -14
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/evaluator.rs +25 -27
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/query.rs +2 -2
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/lib_context.rs +40 -4
- cocoindex-0.1.27/src/llm/anthropic.rs +137 -0
- cocoindex-0.1.27/src/llm/gemini.rs +110 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/llm/mod.rs +10 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/factory_bases.rs +70 -34
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/functions/split_recursively.rs +181 -7
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/interface.rs +49 -13
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/py_factory.rs +29 -18
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/registration.rs +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/sdk.rs +3 -3
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/sources/google_drive.rs +2 -2
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/sources/local_file.rs +2 -2
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/storages/neo4j.rs +239 -201
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/storages/postgres.rs +117 -123
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/storages/qdrant.rs +40 -34
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/storages/spec.rs +13 -7
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/prelude.rs +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/py/convert.rs +10 -10
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/py/mod.rs +69 -41
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/service/flows.rs +5 -5
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/service/search.rs +4 -9
- cocoindex-0.1.27/src/settings.rs +13 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/setup/auth_registry.rs +1 -1
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/setup/components.rs +1 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/setup/db_metadata.rs +53 -28
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/setup/driver.rs +97 -57
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/setup/states.rs +20 -11
- cocoindex-0.1.25/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md +0 -20
- cocoindex-0.1.25/docs/docs/about/contributing.md +0 -57
- cocoindex-0.1.25/docs/docs/core/data_types.mdx +0 -99
- cocoindex-0.1.25/docs/docs/core/initialization.mdx +0 -75
- cocoindex-0.1.25/docs/docs/ops/storages.md +0 -93
- cocoindex-0.1.25/python/cocoindex/tests/test_convert.py +0 -69
- cocoindex-0.1.25/src/settings.rs +0 -6
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.cargo/config.toml +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.env.lib_debug +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.github/workflows/docs.yml +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/.github/workflows/release.yml +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/CONTRIBUTING.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/LICENSE +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/dev/neo4j.yaml +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/dev/postgres.yaml +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/.gitignore +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/README.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/cli.mdx +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/getting_started/installation.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/sidebars.ts +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/src/components/HomepageFeatures/index.tsx +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/src/components/HomepageFeatures/styles.module.css +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/src/css/custom.css +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/static/.nojekyll +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/static/robots.txt +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/docs/tsconfig.json +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/code_embedding/.env +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/code_embedding/main.py +0 -0
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/.env +0 -0
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/README.md +0 -0
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.25/examples/docs_to_kg → cocoindex-0.1.27/examples/docs_to_knowledge_graph}/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/data/1706.03762v7.docx +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/gdrive_text_embedding/data/1810.04805v2.docx +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/.env +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/.env +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/main.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding_qdrant/.env +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding_qdrant/README.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/pyproject.toml +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/index.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/sources.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/base/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/builder/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/builder/plan.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/dumper.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/live_updater.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/memoization.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/row_indexer.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/source_indexer.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/execution/stats.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/lib.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/llm/ollama.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/llm/openai.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/registry.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/ops/storages/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/server.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/service/error.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/service/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/setup/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/utils/db.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/utils/fingerprint.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/utils/immutable.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/utils/mod.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/utils/retriable.rs +0 -0
- {cocoindex-0.1.25 → cocoindex-0.1.27}/src/utils/yaml_ser.rs +0 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: "\U0001F4A1 Feature request"
|
3
|
+
about: Suggest an idea for this project
|
4
|
+
title: "[FEATURE]"
|
5
|
+
labels: ''
|
6
|
+
type: 'feature'
|
7
|
+
assignees: ''
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
**What is the use case?**
|
12
|
+
|
13
|
+
**Describe the solution you'd like**
|
14
|
+
|
15
|
+
**Additional context**
|
16
|
+
|
17
|
+
|
18
|
+
---
|
19
|
+
❤️ Contributors, please refer to 📙[Contributing Guide](https://cocoindex.io/docs/about/contributing).
|
20
|
+
Unless the PR can be sent immediately (e.g. just a few lines of code), we recommend you to leave a comment on the issue like **`I'm working on it`** or **`Can I work on this issue?`** to avoid duplicating work. Our [Discord server](https://discord.com/invite/zpA9S2DR7s) is always open and friendly.
|
@@ -12,14 +12,14 @@ on:
|
|
12
12
|
- src/**
|
13
13
|
- python/**
|
14
14
|
- "*.toml"
|
15
|
-
- ".github/workflows
|
15
|
+
- ".github/workflows/*.yml"
|
16
16
|
push:
|
17
17
|
branches: [main]
|
18
18
|
paths:
|
19
19
|
- src/**
|
20
20
|
- python/**
|
21
21
|
- "*.toml"
|
22
|
-
- ".github/workflows
|
22
|
+
- ".github/workflows/*.yml"
|
23
23
|
workflow_dispatch:
|
24
24
|
|
25
25
|
permissions:
|
@@ -46,3 +46,6 @@ jobs:
|
|
46
46
|
sccache: 'true'
|
47
47
|
manylinux: auto
|
48
48
|
container: ${{ matrix.platform.container }}
|
49
|
+
test:
|
50
|
+
name: Run test
|
51
|
+
uses: ./.github/workflows/_test.yml
|
@@ -0,0 +1,45 @@
|
|
1
|
+
name: Run Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_call:
|
5
|
+
|
6
|
+
env:
|
7
|
+
CARGO_TERM_COLOR: always
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build-test:
|
11
|
+
strategy:
|
12
|
+
matrix:
|
13
|
+
python-version: [3.11, 3.13]
|
14
|
+
platform: [ubuntu-latest, macos-latest]
|
15
|
+
runs-on: ${{ matrix.platform }}
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v4
|
18
|
+
|
19
|
+
- run: rustup toolchain install stable --profile minimal
|
20
|
+
- name: Rust Cache
|
21
|
+
uses: Swatinem/rust-cache@v2
|
22
|
+
with:
|
23
|
+
key: ${{ runner.os }}-rust-${{ matrix.python-version }}
|
24
|
+
- name: Rust build
|
25
|
+
run: cargo build --verbose
|
26
|
+
- name: Rust tests
|
27
|
+
run: cargo test --verbose
|
28
|
+
|
29
|
+
- uses: actions/setup-python@v5
|
30
|
+
with:
|
31
|
+
python-version: ${{ matrix.python-version }}
|
32
|
+
cache: 'pip'
|
33
|
+
- uses: actions/cache@v4
|
34
|
+
with:
|
35
|
+
path: .venv
|
36
|
+
key: ${{ runner.os }}-pythonenv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
|
37
|
+
restore-keys: |
|
38
|
+
${{ runner.os }}-pythonenv-${{ matrix.python-version }}-
|
39
|
+
- name: Python build & test
|
40
|
+
run: |
|
41
|
+
python -m venv .venv
|
42
|
+
source .venv/bin/activate
|
43
|
+
pip install maturin pytest
|
44
|
+
maturin develop
|
45
|
+
pytest python/cocoindex/tests
|