Gamepad/pyglet/pygame

As far as I know this is still the state of the art.