Skip to main content

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.

Build Status Deploy Status Codecov Black code style License PyPi GitHub Pages

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:

  1. Clone the repository: .. code-block:: bash

    git clone https://github.com/roelkist/darca-vector-db.git cd darca-vector-db

  2. 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.

  1. Running tests: .. code-block:: bash

    make test

  2. Formatting the code: .. code-block:: bash

    make format

  3. 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

Author

Roel Kist

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)

Source distribution for darca-vector-db 0.1.0
File Size Uploaded
darca_vector_db-0.1.0.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for darca-vector-db 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page