Python code that simulates the 2D Ising Model on a square periodic lattice of arbitrary size using Markov Chain Monte Carlo.