Before I go and build it myself, I have been looking for a library that may help making a grid based first person view similar to: https://www.youtube.com/watch?v=GwmZoCFd4Us I plan to make a web based version of this in a hackathon I am organizing. Would there be something for this in python?
Since it's not used that much anymore (for rendering at least), i'm not sure if you will be able to find a library/engine that would do this for you out of the box.
You may have to do it yourself, what you want to pick then is a standard rendering library such as SFML, SDL etc. The process of raycasting is very simple. If i would have to recommend only one reading about raycasting i would choose this one.
Also if you want to use Python be careful of what tools you decide to use. I would recommend avoiding PyGame for this kind of things. I made a Wolfenstein 3D clone in C that i tried to port in Python using PyGame, the game was terribly slow.