You can easily do regular checkerboards by using numpy to copy parts of an image (array) onto another array, like this:
# Let's define two arrays to work on. They should be replaced with your surfaces
a = numpy.ones((640,480))
b = numpy.zeros((640,480))
a[100:110,200:210] = b[100:110, 200:210]
Obviously you can mix it up, copy from multiple sources and different locations if you need it for your effects. Since everything is handled by numpy (without coming back to python after every pixel) it is quite fast.
The only limitation is that the source and destination must be the same size (or obey the broadcasting rules, but that's not what you want here).
I'm not sure how to generalize this to diamond patterns. You could do the same for every scanline, but I'm afraid that it might bee too slow. On the other hand, to mimic 8-bit era transition, that could be exactly the effect you are looking for!