Client Libraries Overview

QilbeeDB provides official client libraries for multiple programming languages, making it easy to integrate QilbeeDB into your applications.

Available Client Libraries#

Python SDK#

The Python SDK is the most mature and feature-complete client library for QilbeeDB.

Features: - Full graph operations (nodes, relationships, properties) - Complete Cypher query support - Native agent memory management - Query builder for programmatic query construction - Connection pooling and management - Comprehensive error handling

Documentation: Python SDK

Installation:

pip install qilbeedb

Quick Example:

from qilbeedb import QilbeeDB

db = QilbeeDB("http://localhost:7474")
graph = db.graph("my_graph")

# Create nodes and relationships
user = graph.create_node(['User'], {'name': 'Alice'})

JavaScript/TypeScript SDK#

Coming soon

Java SDK#

Coming soon

Go SDK#

Coming soon

Rust SDK#

Coming soon

Protocol Support#

QilbeeDB supports multiple protocols for maximum interoperability:

HTTP REST API#

The HTTP REST API provides a simple, stateless interface for all QilbeeDB operations.

  • Endpoint: http://localhost:7474
  • Format: JSON
  • Authentication: Optional (configurable)

Example:

curl -X POST http://localhost:7474/graphs/my_graph/query \
  -H "Content-Type: application/json" \
  -d '{"cypher": "MATCH (n:User) RETURN n"}'

Bolt Protocol#

Bolt is a binary protocol designed for graph databases (Neo4j-compatible).

  • Endpoint: bolt://localhost:7687
  • Format: Binary
  • Features: Streaming, pipelining, type system

gRPC#

High-performance RPC protocol for microservices architectures.

  • Endpoint: grpc://localhost:7688
  • Format: Protocol Buffers
  • Features: Bidirectional streaming, strong typing

Choosing a Client Library#

Use Python SDK When:#

  • Building AI agents with memory requirements
  • Rapid prototyping and development
  • Data science and analytics workloads
  • Backend services in Python

Use HTTP REST API When:#

  • Language without native SDK
  • Stateless request/response pattern
  • Simple integration requirements
  • Testing and debugging

Use Bolt Protocol When:#

  • Need Neo4j compatibility
  • High-performance requirements
  • Streaming large result sets
  • Existing Bolt infrastructure

Use gRPC When:#

  • Microservices architecture
  • Low-latency requirements
  • Bidirectional streaming needs
  • Strong typing requirements

Connection Management#

All client libraries support connection pooling and configuration:

# Python example
from qilbeedb import QilbeeDB

db = QilbeeDB(
    "http://localhost:7474",
    max_connections=10,
    timeout=30
)

Learn more: Connection Management

Authentication#

QilbeeDB supports multiple authentication methods:

  • None - Open access (development only)
  • Basic Auth - Username/password
  • Token-based - JWT tokens
  • OAuth - Third-party authentication
# Example with authentication
db = QilbeeDB(
    "http://localhost:7474",
    auth=("username", "password")
)

Error Handling#

All client libraries provide structured error handling:

from qilbeedb.exceptions import (
    ConnectionError,
    QueryError,
    NodeNotFoundError
)

try:
    result = graph.query("MATCH (n) RETURN n")
except ConnectionError as e:
    print(f"Connection failed: {e}")
except QueryError as e:
    print(f"Query failed: {e}")

Next Steps#

Community SDKs#

Community-maintained SDKs are welcome! If you've built a client library for QilbeeDB, please let us know.

Contributing#

Interested in building a client library? Check out our contributing guide and API documentation.