Felicitas is a WebSocket‑based real‑time communication framework for Python.
It provides file distribution, message routing, multi‑client synchronization, and a set of reliability and monitoring features designed for distributed systems.
Installation
pip install felicitas
Source Code and Documentation
- Source: https://git.latinai.de/latin-ai-software/felicitas/
- Wiki: https://git.latinai.de/latin-ai-software/felicitas/-/wikis/home
Current Features in Version 0.1.0.2
Below is the complete list of features that are implemented and functional in this release.
1. WebSocket Communication
- Asynchronous WebSocket server and client
- Full duplex communication
- Broadcast, direct messaging, and group‑based routing
- Heartbeat and keepalive mechanisms
- Automatic reconnection with backoff
- Connection state tracking
- Graceful shutdown handling
2. File Transfer and Synchronization
- Chunked file transfer (supports large files)
- SHA256‑based deduplication
- Delta synchronization (only changed file segments are transmitted)
- File versioning
- Recursive directory transfer
- File filtering (extension, size, pattern)
- Automatic organization of received files
- TTL‑based cleanup of old files
- Per‑client storage quotas
3. Messaging System
- Persistent message queue (SQLite backend)
- ACK/NACK support
- Offline buffering and replay
- Message TTL
- Topic‑based publish/subscribe
- Wildcard topic subscriptions
- Topic‑level access control
- RPC‑style request/response with timeouts
4. Security
- API key authentication
- JWT authentication
- Role‑based access control (RBAC)
- TLS (wss://) support
- AES‑256 file encryption
- Per‑file encryption keys
5. Client Management
- Client identity and metadata
- Online/offline presence tracking
- Client capability advertisement
- Connection state management
- Load‑aware reconnection and pooling
6. Monitoring and Logging
- Structured JSON logging
- Debug tracing mode
- Connection lifecycle logging
- File transfer progress logging
- Metrics for:
- Message throughput
- File transfer speed
- Connection duration
- CPU and memory usage
7. Scalability and Persistence
- Multi‑server clustering
- Client load distribution
- Failover support
- Session migration
- SQLite‑based persistent state
- Message history storage
- Client connection history
8. Integrations and Tools
- FastAPI integration
- Flask integration
- Django integration
- REST API for server control
- Auto‑generated OpenAPI/Swagger documentation
- Interactive API explorer
- Command‑line tools for:
- Server management
- File upload/download
- Diagnostics
- Client testing
9. Benchmarking
- Built‑in performance benchmark suite
- Throughput and latency tests
- File transfer benchmarks
- CPU and memory usage analysis
- Comparison with Raw WebSockets and Socket.IO
Performance diagrams
Diagrams




Felicitas v0.1.0.2 already provides:
- A complete real‑time messaging system
- A robust file synchronization engine
- Strong security features
- Monitoring and observability tools
- Multi‑server clustering and persistence
- Framework integrations and CLI utilities
- A full benchmark suite demonstrating competitive performance
This makes Felicitas suitable for distributed applications requiring reliable real‑time communication and efficient file synchronization