@priyanshu10/ev-truck-predictive-maintenance

0
0
flwr new @priyanshu10/ev-truck-predictive-maintenance

Truck Predictive Maintenance

Minimal Flower Hub app for federated predictive maintenance on real-world heavy-truck telemetry. This is scoped from the June 15, 2026 call: keep the workload easy to inspect, make it runnable on Flower SuperGrid, and use a public dataset so the demo is trustworthy without including sensitive data.

The default data path uses the public Scania Component X dataset. The app trains a binary logistic regression model that predicts whether a truck has an in-study repair label from local operational readouts.

Project layout

ev-truck-predictive-maintenance/
|-- docs/
|   |-- data.md
|   `-- supergrid.md
|-- ev_truck_maintenance/
|   |-- client_app.py
|   |-- constants.py
|   |-- data.py
|   |-- model.py
|   |-- server_app.py
|   `-- task.py
|-- pyproject.toml
|-- LICENSE
`-- README.md

Data requirement

This app does not include telemetry data. Download and extract Scania Component X locally, then run with dataset-dir pointing to the extracted directory:

pip install -e .
flwr run . --run-config "dataset-dir='/path/to/scania-component-x'" --stream

The directory must contain:

train_operational_readouts.csv
train_tte.csv

See docs/data.md for the dataset source, expected files, and privacy notes.

Smoke test

Synthetic data is disabled by default. For a quick local smoke test only:

flwr run . \
  --run-config "allow-synthetic-fallback=true num-server-rounds=2 max-features=10" \
  --stream

This validates the Flower app mechanics, not the real predictive-maintenance claim.

SuperGrid

This app targets Flower Framework/SuperGrid 1.31.x. See docs/supergrid.md for non-sensitive setup notes covering:

  • installing the latest stable Flower package
  • logging in to SuperGrid
  • running on a simulation federation
  • connecting SuperNodes for deployment federations
  • publishing and running from Flower Hub

Flower Hub

Confirm the publisher field in pyproject.toml before publishing. Publish with:

pip install -U "flwr>=1.31,<1.32"
flwr login supergrid
flwr app publish .