Currently this package works with any 2dfeature detector. The user is expected to pass the detector class to the functions. This means the package dependencies no longer require xfeatures2d. However, for a user to be able to use SURF as a their detector it would be nice to give them documentation on how to do so.
Probably involves manual build of python-opencv-contrib pkg as outlined:
opencv/opencv-python#126 (comment)