codira-backend-duckdb
First-party DuckDB backend plugin for codira.
This package adds a file-local DuckDB index backend that integrates with the
standard codira backend registry.
Install it with pip, not as a system dependency:
pip install codira-backend-duckdb
Repository-local editable install:
source .venv/bin/activate
pip install -e .
pip install -e packages/codira-backend-duckdb
Activate DuckDB for one repository instance:
export CODIRA_INDEX_BACKEND=duckdb
codira index
Verify activation and discovery:
codira plugins
CODIRA_INDEX_BACKEND=duckdb codira plugins
CODIRA_INDEX_BACKEND=duckdb codira sym helper --json
Optional profiling for backend-performance investigations:
[plugins.backend-duckdb]
profiling_enabled = true
Enabled index runs emit .codira/duckdb-profile.json with aggregate timings for
DuckDB SQL, flush, embedding, vector-store, and transaction spans. Keep this
disabled during normal use.
Operator model:
- one backend is active for one repository instance
- DuckDB uses
.codira/index.duckdbunder the repository storage root - core
codiraremains backend-neutral; this package owns DuckDB bootstrap and storage behavior - DuckDB physical schema DDL is package-local in
codira_backend_duckdb.schema - full-index rebuilds use a DuckDB-native bulk path that recreates index tables, skips fresh-output cache reads, and writes embeddings without stale-row deletes or SQL window deduplication
- when paired with the DuckDB vector store, full-index vector persistence fuses cache writes, materialized vector replacement, and pending cleanup into one vector-store transaction
Good fit:
- local repository indexing
- larger exact-query and embedding inventories than the default SQLite path
- document-heavy or documentation-channel workloads where local analytical scans matter more than multi-client shared concurrency
Not the target:
- system-level DuckDB installation
- many active backends for the same repository at once
- remote shared-database deployment semantics
Package-local verification:
pytest -q packages/codira-backend-duckdb/tests
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codira_backend_duckdb-1.55.0.tar.gz.
File metadata
- Download URL: codira_backend_duckdb-1.55.0.tar.gz
- Upload date:
- Size: 72.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fa5a081c5ff4b2ae403ea0000686dc10d25fe9d48919c08def349c6c073d5b9
|
|
| MD5 |
7b214f63868a3cdce223d8524cd45fd3
|
|
| BLAKE2b-256 |
a49a0cacdcb4993932a8fb8648808f98b70146c5feeb7db7e54b25e45571eb59
|
File details
Details for the file codira_backend_duckdb-1.55.0-py3-none-any.whl.
File metadata
- Download URL: codira_backend_duckdb-1.55.0-py3-none-any.whl
- Upload date:
- Size: 60.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
502e56e5fbedb7da7f37790546178744435617f8b442ca74e0d6555115ffcd89
|
|
| MD5 |
2356bb7014fa974813d9d607cc055ca5
|
|
| BLAKE2b-256 |
3dfa52d90474d1c75291806317af58a7ddaa9caf2df482d0b630c85dd53b031c
|