A Perlin noise based terrain generator in Python