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
Metadata
Release files for codira-backend-duckdb 1.55.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| codira_backend_duckdb-1.55.0.tar.gz | 72.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| codira_backend_duckdb-1.55.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 133.6 kB
Release files / codira_backend_duckdb-1.55.0.tar.gz
| Download URL | codira_backend_duckdb-1.55.0.tar.gz |
|---|---|
| Size | 72.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6fa5a081c5ff4b2ae403ea0000686dc10d25fe9d48919c08def349c6c073d5b9
|
|
BLAKE2b-256 checksum How to use checksums |
a49a0cacdcb4993932a8fb8648808f98b70146c5feeb7db7e54b25e45571eb59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / codira_backend_duckdb-1.55.0-py3-none-any.whl
| Download URL | codira_backend_duckdb-1.55.0-py3-none-any.whl |
|---|---|
| Size | 60.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
502e56e5fbedb7da7f37790546178744435617f8b442ca74e0d6555115ffcd89
|
|
BLAKE2b-256 checksum How to use checksums |
3dfa52d90474d1c75291806317af58a7ddaa9caf2df482d0b630c85dd53b031c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Security for codira-backend-duckdb 1.55.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.