pyOBD is an OBD-II compliant car diagnostic tool. It is designed to interface with low-cost ELM 32x OBD-II diagnostic interfaces such as ELM-USB. It will basically allow you to talk to your car's ECU, display fault codes, display measured values, read status tests, etc. All cars made since 1996 (in the US) or 2001 (in the EU) must be OBD-II compliant, i.e. they should work with pyOBD.
O2OO reads sensor data from a car into a sqlite database and generates graphs of the data so you can analyze the behavior of the car. It can also retrieve the location from a GPS module and store it in the same database, then can create a Google Maps KML-file, coloring the route line with a color depending on a sensor reading.