praval.storage.providers.s3_provider๏ƒ

S3 object storage provider for Praval framework

Provides object storage capabilities with S3-compatible backends including AWS S3, MinIO, and other S3-compatible services.

Classes

S3Provider(name,ย config)

S3-compatible object storage provider.

class praval.storage.providers.s3_provider.S3Provider(name, config)[source]๏ƒ

Bases: BaseStorageProvider

S3-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

Parameters:
async connect()[source]๏ƒ

Establish connection to S3.

Return type:

bool

async disconnect()[source]๏ƒ

Close S3 connection.

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

Store object in S3.

Parameters:
  • resource (str) โ€“ S3 object key

  • data (Any) โ€“ Data to store (bytes, string, file-like object, or dict/list for JSON)

  • **kwargs โ€“ S3 parameters (content_type, metadata, acl, etc.)

Return type:

StorageResult

Returns:

StorageResult with operation outcome

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

Retrieve object from S3.

Parameters:
  • resource (str) โ€“ S3 object key

  • **kwargs โ€“ Retrieval parameters (range, decode_json, etc.)

Return type:

StorageResult

Returns:

StorageResult with retrieved data

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

Execute S3 operations or list objects.

Parameters:
  • resource (str) โ€“ Prefix or specific key

  • query (Union[str, Dict]) โ€“ Query type (โ€œlistโ€, โ€œsearchโ€, โ€œmetadataโ€, etc.)

  • **kwargs โ€“ Query parameters

Return type:

StorageResult

Returns:

StorageResult with query results

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

Delete object(s) from S3.

Parameters:
  • resource (str) โ€“ Object key or prefix

  • **kwargs โ€“ Delete parameters (recursive, etc.)

Return type:

StorageResult

Returns:

StorageResult with operation outcome

async list_resources(prefix='', **kwargs)[source]๏ƒ

List objects in S3 bucket.

Return type:

StorageResult

Parameters:

prefix (str)