I'd like to simulate agents that have different interests (e.g. some prefer "red" and some prefer "blue) moving over a grid on which red and blue squares are randomly distributed. At each time point I'd like the agent to compare its current environment to a neighboring environment and move if the neighboring spot better matches its interests. The idea is this looks somewhat like a Schelling model, but the environment of grid-squares is static, and the agents (small circles overlaid on the environment on squares) move.
I'm looking for a library that will allow me to model this visually, and show the grid and the agents at different time steps.
Any advice on what I could use to do this in python?