RPC, WebSocket Server, JSON RPC 2.0, OpenAPI, Swagger UI
Project description
RealityDB
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for realitydb-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0189b8ceccc0bda96661a97b383aaa7aa2ccf6909ac322197119b542d7e9a605 |
|
MD5 | 8f4e15d127cb5e94095651583da6b490 |
|
BLAKE2b-256 | d2eaf85d3a49ec66dbc1f43bc7c19dc3a4e6aa80f9762025aa280ca120572406 |