A gRPC server for iRacing telemetry data. Uses pyirsdk
under the hood.
Allows for messaging to the iRacing simulation, and querying for telmetry data.
Clone the repo and install the dependencies:
make install
Run the server:
make run
iRacing telemetry data is provided via gRPC, REST API, and WebSocket API.
The server uses pyirsdk
to connect to the iRacing simulation and retrieve telemetry data.
Service for retrieving telemetry data from iRacing.
Service for sending "broadcast messages" to the iRacing simulation.
REST and WebSocket API for retrieving telemetry data.
Start the server and navigate to http://localhost:8001
for a dashboard, and a link to the API documentation.
Make changes to the proto
files in the proto
directory and run:
make protoc
To generate the gRPC code.
It's recommended to use postman to test the gRPC server. You can use the (Coming soon). The server supports reflection, so you can use any gRPC client to test the server. The postman
directory to import the collection and environment.grpcurl
tool is also a good option for testing gRPC servers from the command line.
Generate a pyinstaller spec file and then build the .exe:
make spec
pyinstaller telemetry-server.spec
Check the dist
directory for the generated .exe file.
Docker implementation is intended to bundle the server with an envoy
proxy server
to enable gRPC-web support. This allows for easy integration with web applications. The implmentation is not yet complete.