This small Python (bottle) server receives analytics events from Dolphin instances in the wild, deserializes them, and writes records to ClickHouse. It dynamically maintains the ClickHouse table schema in order to support some amount of schema agility, where new analytics fields can be added in the client without requiring server side changes.
- Python 3 and uv
- ClickHouse
Note: this requires Nix Flakes to be enabled on your system.
nix run github:dolphin-emu/analytics-ingest
This project uses uv for dependency management.
# Install dependencies.
uv sync
# Run the server
uv run analytics-ingest
Licensed under the MIT License. See LICENSE.