I agree that this is not a basic function but I don't see it as being less basic than
pygame.transform.laplacian -
find edges in a surface.
True. But I'm not sure laplacian belongs in the package either. Then again, maybe I suffer from feature creep paranoia. It's too early to say anything about the frequency of its use.
Perlin noise has a LOT of uses with game writing: surfaces, shapes, and movement can
all be made better using it.
I have never seen any pygame projects using Perlin noise before, but that could also be a chicken/egg thing. I still think its not basic functionality. There's no GUI into the core for the same reason. quoting the about page: "the core is kept simple, and extra things like GUI
libraries, and effects are developed separately outside of pygame."
Of course, by all means develop a separate library outside of pygame.
I think that's a Great Idea(tm), and people that want the functionality can easily download it.
Perhaps it could be integrated into the core later if there is enough interest.
I have not checked out that Caseman lib in full but from what I see it only has 3d perlin and not other dimensions and I don't know how fast it is.
I also agree that we could make a whole section of code like this. There are other types of noise, a lot of vector math toys like unit vector and perpendicular vector etc that get used a lot in game making. I am sure there are more that could be rounded up for a nice set of functions. Then there are even really big ones like AI functions that could be written (I keep thinking that a Prolog lib for python would be great for making games!) but then that is in the same class as a gui or 3d etc.
Vector/AI aren't really in the same functionality type as noise functions. Besides, there are already 2d and 3d vectors in the cookboock section. But you could bundle it up into a nice noise/procedural generation library.