I want to write a visualization for some complex scientific data in Python. I have done a similar thing a few years ago in Objective-C/Cocoa/OpenGL. The visualization will contain some fancy shader programs, so at least OpenGL 3.0 is required. Also, I need to draw a window and do some mouse/keyboard handling. Some GUI widgets would be nice, but not required. Python 3 support is highly desirable.
I looked into:

PyOpenGL, which has no window/mouse/keyboard handling.
PyGlet, which only supports Python 2.7.
PyQt, which only supports OpenGL 2.0.
PySide, which is pretty much dead, and stuck in Qt 4.7.
wxPython, which only supports Python 2.7.
PyGame, which is pretty much dead.

Do you know any library that can do modern OpenGL and some windowing in Python 3?
My recommendation is PyOpenGL plus PyQt. Python plus either Pyglet or wxPython are possible alternatives.
PyOpenGL (the Mike Fletcher version, right?) is the best Python OpenGL API I know of. It has support for OpenGL 3 and 4 and is just very nice and Pythonic.
PyQt itself only supports OpenGL 2, but PyOpenGL will run inside a PyQt context. Since PyQt does have a Python 3 version, this combination should meet your needs.
For the GUI stuff I prefer wxPython, but as you note that hasn't been updated for Python 3 yet. You could take a look at the wxPython Phoenix project, but that's very much a work in progress.
Pyglet is also quite nice but has less GUI functionality that wxPython or PyQt. Think of it as the equivalent of GLUT. The Python 3 version is currently in alpha, but given that it's not a complete rewrite I'd expect it to be stable very soon.
Hope this helps.
OpenGL 3+ with Python 3