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:
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¶
- Explore the Python SDK documentation
- Learn about Connection Management
- Read the HTTP REST API reference
- Check out the Bolt Protocol documentation
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.