Parallel tempering for the 2D Ising model in python