Just a minor suggestion:
def display_board(board):
print ' a b c d e f g h'
print '+---+---+---+---+---+---+---+---+'
for row in range(8):
for col in range(8):
piece = board[row * 8 + col]
if piece_type[piece] == WHITE:
print '| \x1b[31;01m%c\x1b[39;49;00m' % board[row * 8 + col],
else:
print '| \x1b[34;01m%c\x1b[39;49;00m' % board[row * 8 + col],
print '|', 8 - row
print '+---+---+---+---+---+---+---+---+'
--
http://mail.python.org/mailman/listinfo/python-list
