My company (https://www.pretalen.com/ PreTalen) does a lot of research into GPS. We test and characterize a ton of receivers, and I can tell you that U-blox has earned a lot of respect here for their products. (I am not being paid to endorse them.) The M8N is one of the best civilian receivers on the market, but the Ublox 7 is pretty great too. If you have a hub/adapter, they make one that is affordable and has a nice form factor https://www.amazon.com/Diymall-G-mouse-Glonass-Raspberry-Aviation/dp/B00NWEEWW8/ref=sr_1_1?ie=UTF8&q... here.
Then it's as easy as:
>> pip install pyserial
gps = serial.Serial('/dev/ttyACM0')
You will need to reference someplace like http://www.gpsinformation.org/dale/nmea.htm this to parse out the NMEA data, but that should get you started.