I'm using the $20 Carista. The ELM327 dongle is available elsewhere but this has higher quality and is trusted for bidirectional use.
The included software is a trap, trying to get you to spend $10/month after a free trial. The trial lets you do stuff like turn off backup beepers, set different TPMS sensors, etc. But the dongle also works with Torque Pro. For the Prius, some hackers came up with a huge table of additional PIDs for Torque which is delightful.