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
File details
Details for the file realitydb-0.0.2.tar.gz
.
File metadata
- Download URL: realitydb-0.0.2.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.15 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cd4f005eb12261317423e0c6584fa4c2e23cc6f02249ebdace8f25e87c9c6f3 |
|
MD5 | c94afbf2349aac1165859cf355c029ea |
|
BLAKE2b-256 | 90662ad6cae91aa5d91f41603aa7545f13ae6056d2144c9173b6a1f688d2a2cb |
File details
Details for the file realitydb-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: realitydb-0.0.2-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.15 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0189b8ceccc0bda96661a97b383aaa7aa2ccf6909ac322197119b542d7e9a605 |
|
MD5 | 8f4e15d127cb5e94095651583da6b490 |
|
BLAKE2b-256 | d2eaf85d3a49ec66dbc1f43bc7c19dc3a4e6aa80f9762025aa280ca120572406 |