I would recommend using
libfreenect or OpenNI, both of which have Python wrappers that can be easily used with OpenCV. Personally, I would rather use one of these over the library Arhowk linked because they have a much larger user base and has been well tested.
I have personally used OpenNI on a Raspberry Pi 3 (but I didn't use Python) and it has worked well, apart from some initial issues setting it up.