Skip to main content

RPC, WebSocket Server, JSON RPC 2.0, OpenAPI, Swagger UI

Project description

RealityDB

Cover

RealityDB is a document-oriented database built on top of rocksdb, enhanced by Python extensions such as base64c, orjson, and rocksdict for performance-critical operations. It leverages pydantic and OpenAPI specifications for seamless data management. By accepting a single OpenAPI specification, RealityDB can generate the corresponding Python classes and methods for data handling.

Inspired by AWS DynamoDB, RealityDB includes methods like CreateTable, DeleteTable, GetItem, PutItem, DeleteItem, Scan, Query, BatchGetItem, BatchWriteItem, and UpdateItem for efficient data storage and retrieval. It offers real-time capabilities using WebSockets for full-duplex communication.

Primarily intended for media-intensive applications—such as images, audio, video, 3D models, and other binary data—RealityDB meets real-time requirements through its optimized base64c and orjson extensions.

Features

  • DynamoDB API Compatibility
    • Implements methods similar to AWS DynamoDB for seamless integration and data operations.
  • Real-time Communication
    • Utilizes WebSockets for full-duplex communication, enabling real-time data updates and notifications.
  • OpenAPI Specification Migration
    • Generates Python classes and methods from a single OpenAPI specification for streamlined data management.
  • OAuth2 Authentication
    • Implements OAuth2 protocol for secure authentication and authorization.
  • Indexing of KeySchema Attributes
    • Supports indexing of key schema attributes for faster and more efficient queries.
  • Publish/Subscribe Support
    • Introduces a Pub/Sub model for real-time data changes and event notifications.
  • Global Distribution @Edge
    • Enables global distribution and edge computing capabilities for low-latency access worldwide.
  • Zstd Compression
    • Integrates Zstandard (zstd) compression for efficient data storage and transfer.
  • S3FS Integration with Edge Computing
    • Integrates with S3FS to provide distributed file system capabilities in edge environments.
  • Authentication and Multi-tenancy
    • Supports multi-tenant architectures with robust authentication mechanisms for data isolation and security.

Installation

Install RealityDB using pip:

pip install realitydb

Usage

Use your own OpenAPI specification to generate the corresponding Python classes and methods for data handling.

realitydb ./openapi.json

You will see the RPCServer running on ws://localhost:8888 and the RPCClient ready to use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

realitydb-0.0.2.tar.gz (12.0 kB view hashes)

Uploaded Source

Built Distribution

realitydb-0.0.2-py3-none-any.whl (12.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page