code: def scan(self):
          
          found = []
          for addr in range(0,0x80):
              try:
                  self._i2c_bus.read_byte(addr)
              except OSError:
                  continue
              found.append(addr)
          return found
docs: Try to read a byte from each address, if you get an OSError it means the device isnt there