I can hardly believe it took me this long to find PyShark, but I am very glad I did! PyShark is a wrapper for the Wireshark CLI interface, tshark, so all of the Wireshark decoders are available to PyShark! It’s so amazing that I started a new project just so I could use this amazing new tool: Cloud-Pcap.
You can use PyShark to sniff from a interface or open a saved capture file, as the docs show on the overview page here:
# Open saved trace file
cap = pyshark.FileCapture('/tmp/mycapture.cap')
# Sniff from interface
capture = pyshark.LiveCapture(interface='eth0')
<LiveCapture (5 packets)>