| Crates.io | datasynth-server |
| lib.rs | datasynth-server |
| version | 0.2.1 |
| created_at | 2026-01-20 15:55:01.598976+00 |
| updated_at | 2026-01-24 21:50:49.627068+00 |
| description | gRPC and REST server for synthetic data generation |
| homepage | |
| repository | |
| max_upload_size | |
| id | 2056896 |
| size | 314,180 |
REST, gRPC, and WebSocket server for synthetic data generation.
datasynth-server provides server-based access to SyntheticData:
cargo run -p datasynth-server -- --port 3000 --worker-threads 4
# Get current configuration
curl http://localhost:3000/api/config
# Update configuration
curl -X POST http://localhost:3000/api/config \
-H "Content-Type: application/json" \
-d '{"industry": "manufacturing"}'
# Start generation
curl -X POST http://localhost:3000/api/stream/start
# Pause/Resume
curl -X POST http://localhost:3000/api/stream/pause
curl -X POST http://localhost:3000/api/stream/resume
# Stop
curl -X POST http://localhost:3000/api/stream/stop
# Trigger pattern
curl -X POST http://localhost:3000/api/stream/trigger/month_end
curl http://localhost:3000/health
Connect to ws://localhost:3000/ws/events for real-time events.
Set the X-API-Key header for authenticated requests:
curl -H "X-API-Key: your-api-key" http://localhost:3000/api/config
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);
}
| 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 |
Apache-2.0 - See LICENSE for details.