I needed an easy way to check if there’s unread email in a gmail account.
import lxml.etree import requests def check_for_new_mail(user, password): """Check a gmail atom feed for new email""" response = requests.get('https://mail.google.com/mail/feed/atom', auth=(user, password)) ns = {"feed": "http://purl.org/atom/ns#"} xml = lxml.etree.fromstring(str(response.text)) return len(xml.xpath('//feed:entry', namespaces=ns)) > 0