praval.storage.data_manager๏ƒ

Data Manager - Unified interface for storage operations

Provides a high-level interface for agents to interact with multiple storage providers through a single, consistent API.

Functions

delete_data(provider,ย resource,ย **kwargs)

Delete data using the global data manager.

get_data(provider,ย resource,ย **kwargs)

Retrieve data using the global data manager.

get_data_manager()

Get the global data manager instance.

query_data(provider,ย resource,ย query,ย **kwargs)

Query data using the global data manager.

store_data(provider,ย resource,ย data,ย **kwargs)

Store data using the global data manager.

Classes

DataManager([registry])

Unified data management interface for agents.

class praval.storage.data_manager.DataManager(registry=None)[source]๏ƒ

Bases: object

Unified data management interface for agents.

Provides high-level methods for storing, retrieving, and querying data across multiple storage backends through a single interface.

Features: - Automatic provider selection based on data type - Cross-provider queries and operations - Data reference management for spore communication - Storage optimization and caching - Transaction-like operations across providers

Parameters:

registry (StorageRegistry | None)

__init__(registry=None)[source]๏ƒ

Initialize data manager.

Parameters:

registry (Optional[StorageRegistry]) โ€“ Storage registry to use (defaults to global registry)

set_agent_context(agent_name)[source]๏ƒ

Set the current agent context for permission checking.

Parameters:

agent_name (str)

get_agent_context()[source]๏ƒ

Get the current agent context.

Return type:

Optional[str]

async store(provider, resource, data, **kwargs)[source]๏ƒ

Store data in a specific provider.

Parameters:
  • provider (str) โ€“ Storage provider name

  • resource (str) โ€“ Resource identifier (table, key, path, etc.)

  • data (Any) โ€“ Data to store

  • **kwargs โ€“ Provider-specific parameters

Return type:

StorageResult

Returns:

StorageResult with operation outcome

async get(provider, resource, **kwargs)[source]๏ƒ

Retrieve data from a specific provider.

Parameters:
  • provider (str) โ€“ Storage provider name

  • resource (str) โ€“ Resource identifier

  • **kwargs โ€“ Provider-specific parameters

Return type:

StorageResult

Returns:

StorageResult with retrieved data

async query(provider, resource, query, **kwargs)[source]๏ƒ

Execute a query on a specific provider.

Parameters:
  • provider (str) โ€“ Storage provider name

  • resource (str) โ€“ Resource to query

  • query (Union[str, Dict]) โ€“ Query string or structured query

  • **kwargs โ€“ Query parameters

Return type:

StorageResult

Returns:

StorageResult with query results

async delete(provider, resource, **kwargs)[source]๏ƒ

Delete data from a specific provider.

Parameters:
  • provider (str) โ€“ Storage provider name

  • resource (str) โ€“ Resource to delete

  • **kwargs โ€“ Delete parameters

Return type:

StorageResult

Returns:

StorageResult with operation outcome

async smart_store(data, resource=None, preferred_provider=None, **kwargs)[source]๏ƒ

Intelligently store data by selecting the best provider.

Parameters:
  • data (Any) โ€“ Data to store

  • resource (Optional[str]) โ€“ Optional resource identifier

  • preferred_provider (Optional[str]) โ€“ Preferred storage provider

  • **kwargs โ€“ Storage parameters

Return type:

StorageResult

Returns:

StorageResult with operation outcome

Search across multiple providers intelligently.

Parameters:
  • query (Union[str, List[float], Dict]) โ€“ Search query (text, vector, or structured)

  • providers (Optional[List[str]]) โ€“ Providers to search (defaults to all suitable)

  • **kwargs โ€“ Search parameters

Return type:

List[StorageResult]

Returns:

List of StorageResult from different providers

create_data_reference(provider, resource, **metadata)[source]๏ƒ

Create a data reference for spore communication.

Parameters:
  • provider (str) โ€“ Storage provider name

  • resource (str) โ€“ Resource identifier

  • **metadata โ€“ Additional metadata

Return type:

DataReference

Returns:

DataReference object

async resolve_data_reference(data_ref, **kwargs)[source]๏ƒ

Resolve a data reference to actual data.

Parameters:
  • data_ref (Union[DataReference, str]) โ€“ DataReference object or URI string

  • **kwargs โ€“ Retrieval parameters

Return type:

StorageResult

Returns:

StorageResult with resolved data

async batch_store(operations)[source]๏ƒ

Execute multiple store operations in batch.

Parameters:

operations (List[Dict[str, Any]]) โ€“ List of operation dictionaries with keys: - provider: Storage provider name - resource: Resource identifier - data: Data to store - kwargs: Additional parameters

Return type:

List[StorageResult]

Returns:

List of StorageResult objects

async batch_get(operations)[source]๏ƒ

Execute multiple get operations in batch.

Parameters:

operations (List[Dict[str, Any]]) โ€“ List of operation dictionaries with keys: - provider: Storage provider name - resource: Resource identifier - kwargs: Additional parameters

Return type:

List[StorageResult]

Returns:

List of StorageResult objects

list_providers(storage_type=None)[source]๏ƒ

List available storage providers.

Parameters:

storage_type (Optional[str]) โ€“ Filter by storage type

Return type:

List[str]

Returns:

List of provider names

get_provider_info(provider)[source]๏ƒ

Get information about a storage provider.

Parameters:

provider (str) โ€“ Storage provider name

Return type:

Dict[str, Any]

Returns:

Provider information dictionary

async health_check(provider=None)[source]๏ƒ

Perform health check on providers.

Parameters:

provider (Optional[str]) โ€“ Specific provider to check (None for all)

Return type:

Dict[str, Any]

Returns:

Health check results

praval.storage.data_manager.get_data_manager()[source]๏ƒ

Get the global data manager instance.

Return type:

DataManager

async praval.storage.data_manager.store_data(provider, resource, data, **kwargs)[source]๏ƒ

Store data using the global data manager.

Return type:

StorageResult

Parameters:
async praval.storage.data_manager.get_data(provider, resource, **kwargs)[source]๏ƒ

Retrieve data using the global data manager.

Return type:

StorageResult

Parameters:
  • provider (str)

  • resource (str)

async praval.storage.data_manager.query_data(provider, resource, query, **kwargs)[source]๏ƒ

Query data using the global data manager.

Return type:

StorageResult

Parameters:
async praval.storage.data_manager.delete_data(provider, resource, **kwargs)[source]๏ƒ

Delete data using the global data manager.

Return type:

StorageResult

Parameters:
  • provider (str)

  • resource (str)