praval.storage.providers๏
Built-in storage providers for Praval framework
This module contains ready-to-use storage provider implementations for common backends like PostgreSQL, Redis, S3, and file systems.
- class praval.storage.providers.PostgreSQLProvider(name, config)[source]๏
Bases:
BaseStorageProviderPostgreSQL storage provider with async connection pooling.
Features: - Async connection pooling - SQL query execution - Transaction support - Schema management - JSON column support - Full-text search capabilities
- async delete(resource, **kwargs)[source]๏
Delete data from PostgreSQL table.
- Parameters:
resource (
str) โ Table name**kwargs โ Delete parameters (where clause required)
- Return type:
- Returns:
StorageResult with operation outcome
- async list_resources(prefix='', **kwargs)[source]๏
List tables in the database.
- Return type:
- Parameters:
prefix (str)
- async query(resource, query, **kwargs)[source]๏
Execute SQL query against PostgreSQL.
- Parameters:
- Return type:
- Returns:
StorageResult with query results
- async retrieve(resource, **kwargs)[source]๏
Retrieve data from PostgreSQL table.
- Parameters:
resource (
str) โ Table name**kwargs โ Query parameters (where, limit, offset, order_by, etc.)
- Return type:
- Returns:
StorageResult with retrieved data
- class praval.storage.providers.RedisProvider(name, config)[source]๏
Bases:
BaseStorageProviderRedis key-value storage provider with async support.
Features: - Key-value operations (GET, SET, DEL) - Hash operations (HGET, HSET, HGETALL) - List operations (LPUSH, RPUSH, LRANGE) - Set operations (SADD, SMEMBERS) - Expiration and TTL management - Pub/Sub messaging - Lua script execution
- async delete(resource, **kwargs)[source]๏
Delete keys from Redis.
- Parameters:
resource (
str) โ Key or pattern to delete**kwargs โ Delete parameters
- Return type:
- Returns:
StorageResult with operation outcome
- async list_resources(prefix='', **kwargs)[source]๏
List keys in Redis.
- Return type:
- Parameters:
prefix (str)
- async query(resource, query, **kwargs)[source]๏
Execute Redis operations or search queries.
- Parameters:
- Return type:
- Returns:
StorageResult with query results
- async retrieve(resource, **kwargs)[source]๏
Retrieve data from Redis.
- Parameters:
resource (
str) โ Redis key**kwargs โ Additional parameters (decode_json, etc.)
- Return type:
- Returns:
StorageResult with retrieved data
- class praval.storage.providers.S3Provider(name, config)[source]๏
Bases:
BaseStorageProviderS3-compatible object storage provider.
Features: - Object upload, download, and deletion - Bucket management - Presigned URLs for secure access - Metadata and tagging support - Multipart uploads for large files - Lifecycle management - Cross-region replication support
- async delete(resource, **kwargs)[source]๏
Delete object(s) from S3.
- Parameters:
resource (
str) โ Object key or prefix**kwargs โ Delete parameters (recursive, etc.)
- Return type:
- Returns:
StorageResult with operation outcome
- async list_resources(prefix='', **kwargs)[source]๏
List objects in S3 bucket.
- Return type:
- Parameters:
prefix (str)
- async query(resource, query, **kwargs)[source]๏
Execute S3 operations or list objects.
- Parameters:
- Return type:
- Returns:
StorageResult with query results
- async retrieve(resource, **kwargs)[source]๏
Retrieve object from S3.
- Parameters:
resource (
str) โ S3 object key**kwargs โ Retrieval parameters (range, decode_json, etc.)
- Return type:
- Returns:
StorageResult with retrieved data
- class praval.storage.providers.FileSystemProvider(name, config)[source]๏
Bases:
BaseStorageProviderLocal file system storage provider.
Features: - File and directory operations - Path management and validation - File metadata and permissions - Recursive operations - Pattern-based file listing - Atomic file operations
- async delete(resource, **kwargs)[source]๏
Delete file or directory from file system.
- Parameters:
resource (
str) โ Path to delete**kwargs โ Delete parameters (recursive, etc.)
- Return type:
- Returns:
StorageResult with operation outcome
- async list_resources(prefix='', **kwargs)[source]๏
List files and directories.
- Return type:
- Parameters:
prefix (str)
- async query(resource, query, **kwargs)[source]๏
Execute file system operations.
- Parameters:
- Return type:
- Returns:
StorageResult with query results
- async retrieve(resource, **kwargs)[source]๏
Retrieve data from file system.
- Parameters:
resource (
str) โ File path relative to base_path**kwargs โ Read parameters (encoding, decode_json, etc.)
- Return type:
- Returns:
StorageResult with retrieved data
- class praval.storage.providers.QdrantProvider(name, config)[source]๏
Bases:
BaseStorageProviderQdrant vector database storage provider.
Features: - Vector similarity search - Collection management - Point insertion and retrieval - Filtering and metadata search - Batch operations - Integration with Praval memory system
- async delete(resource, **kwargs)[source]๏
Delete points from Qdrant.
- Parameters:
resource (
str) โ Collection name or โcollection:point_idโ**kwargs โ Delete parameters (point_ids, filter)
- Return type:
- Returns:
StorageResult with operation outcome
- async list_resources(prefix='', **kwargs)[source]๏
List collections in Qdrant.
- Return type:
- Parameters:
prefix (str)
- async query(resource, query, **kwargs)[source]๏
Execute vector search or other operations.
- Parameters:
- Return type:
- Returns:
StorageResult with query results
- async retrieve(resource, **kwargs)[source]๏
Retrieve vectors from Qdrant.
- Parameters:
resource (
str) โ Collection name or โcollection:point_idโ**kwargs โ Retrieval parameters (point_ids, with_vectors, with_payload)
- Return type:
- Returns:
StorageResult with retrieved data
- async store(resource, data, **kwargs)[source]๏
Store vector data in Qdrant.
- Parameters:
resource (
str) โ Collection name (optional, uses default if not specified)data (
Any) โ Data to store - can be: - Single point: {โidโ: โโฆโ, โvectorโ: [โฆ], โpayloadโ: {โฆ}} - Multiple points: [{โidโ: โโฆโ, โvectorโ: [โฆ], โpayloadโ: {โฆ}}, โฆ] - Just vector: [0.1, 0.2, โฆ] (will generate ID)**kwargs โ Additional parameters
- Return type:
- Returns:
StorageResult with operation outcome
Modules
File system storage provider for Praval framework |
|
PostgreSQL storage provider for Praval framework |
|
Qdrant vector storage provider for Praval framework |
|
Redis storage provider for Praval framework |
|
S3 object storage provider for Praval framework |