A pluggable vector database client system with backend support. Currently, the only supported backend is Qdrant. This project provides a unified client interface to interact with vector databases. It is designed to be easily extensible to support additional backends in the future.
GitHub Repository:
Visit the official repository at: darca-vector-db on GitHub
Installation
The project uses Poetry for dependency management and virtual environment handling.
To set up the project locally, follow these steps:
Clone the repository: .. code-block:: bash
git clone https://github.com/roelkist/darca-vector-db.git cd darca-vector-db
Install dependencies and set up the environment with a single command: .. code-block:: bash
make install
This command will handle creating the virtual environment, installing Poetry, and installing dependencies.
Make Targets for Faster Iterations
You can use specific make targets for faster development cycles:
make format : Formats the codebase using black and isort.
make test : Runs the test suite with coverage reporting.
make docs : Builds the documentation using Sphinx.
make check : Runs all checks (formatting, testing, docs) before committing.
Always run make check before committing changes to ensure consistency and quality.
Running tests: .. code-block:: bash
make test
Formatting the code: .. code-block:: bash
make format
Building the documentation: .. code-block:: bash
make docs
Features
Unified client interface for vector databases
Qdrant support
Easy to extend for additional backends
Structured logging and error handling
Flexible CI and local environment support
Automated testing and code formatting
Usage
To use the client, instantiate it with the desired backend (currently only Qdrant is supported):
from darca_vector_db import DBClient
client = DBClient(backend="qdrant", host="localhost", port=6333)
client.connect()
client.create_collection(name="my_vectors", vector_size=128, distance_metric="cosine")
client.insert_vector("my_vectors", vector_id=1, vector=[0.1] * 128, metadata={"label": "example"})
results = client.search_vectors("my_vectors", query_vector=[0.1] * 128, top_k=5)
print(results)
Contributing
Contributions are welcome! Please refer to the CONTRIBUTING.rst for detailed guidelines.
License
MIT License
Release files for darca-vector-db 0.1.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 | |
|---|---|---|---|
| darca_vector_db-0.1.0.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| darca_vector_db-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / darca_vector_db-0.1.0.tar.gz
| Download URL | darca_vector_db-0.1.0.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6f8274f4808a03a26b9221644e0b5ca8c814c94155ddac680337dc44c45e6b8
|
|
BLAKE2b-256 checksum How to use checksums |
36e6b897e38f5247e0f3f74483f890343ff96f28908e81ccf909bfd3d65da114
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 5, 2025.
Transparency logRelease files / darca_vector_db-0.1.0-py3-none-any.whl
| Download URL | darca_vector_db-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8cc9d9dc3d099e6cea934e6ee3e6e534ae17e6a39a483dd5dfe9bb65d39045dc
|
|
BLAKE2b-256 checksum How to use checksums |
9e06b1c05edc80a467620d31a3f198b47f01b7c711f7fa1a1480558369f5d82b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 5, 2025.
Transparency log