sample python code below:
from lsm303d import LSM303D
lsm = LSM303D(i2c_addr=0x1D)
print("temp is {:+05.1f} deg C".format(lsm.temperature()))
this is giving me -5.1deg C in my lounge (which should be around 21deg C )
testing with a second sensor gives a similar value ( -4.9deg C ) so it doesn't appear to be a faulty sensor, which implies the sensor reading to temperature mapping is wrong.