Define devices, properties, and commands once. ODevice turns your Python model into a realtime Web and Mobile interface — no frontend project required.
$ pip install odevicefrom odevice import App, Device, Number, Boolean
app = App("Factory Demo")
pump = Device(
id="pump-01",
name="Main Pump",
properties={
"pressure": Number(unit="bar", min=0, max=10, view="gauge"),
"power": Boolean(writable=True),
},
)
app.add(pump)
pump.update(pressure=6.2, power=True)ODevice bridges MQTT, REST, database, or custom Python — it is not a device cloud.
Semantic properties become useful widgets automatically.
One Python model powers the shared Web and Mobile runtime.
MIT licensed. Self-hosted — run it alongside the systems you already operate.