datasynth-server
REST, gRPC, and WebSocket server for synthetic data generation.
Overview
datasynth-server provides server-based access to SyntheticData:
- REST API: Configuration management and stream control
- gRPC API: High-performance streaming generation
- WebSocket: Real-time event streaming
- Production Features: Authentication, rate limiting, timeouts
Starting the Server
REST API
Configuration
# Get current configuration
# Update configuration
Stream Control
# Start generation
# Pause/Resume
# Stop
# Trigger pattern
Health Check
WebSocket Streaming
Connect to ws://localhost:3000/ws/events for real-time events.
Authentication
Set the X-API-Key header for authenticated requests:
gRPC
Protocol buffer definitions in proto/synth.proto.
service SynthService {
rpc StreamGenerate(GenerateRequest) returns (stream GenerateResponse);
rpc GetConfig(Empty) returns (ConfigResponse);
rpc SetConfig(ConfigRequest) returns (ConfigResponse);
}
Production Features
| Feature | Description |
|---|---|
| Rate Limiting | Sliding window with per-client tracking |
| Request Timeout | Configurable timeout layer |
| Memory Limits | Enforced via memory guard |
| CORS | Configurable cross-origin settings |
License
Apache-2.0 - See LICENSE for details.