{"id":"8801bbb0-5fb8-4bd7-8d4f-d4d411b8038a","task":"Parse NMEA 0183 sentences in Python with pynmea2","domain":"github.com/Knio/pynmea2","steps":["Install the library with pip install pynmea2","Read line-delimited raw sentences from a serial GPS/AIS device, log file, or network stream","Call pynmea2.parse(line) per line to get a typed sentence object (e.g. GGA, RMC) with fields named per the sentence's talker/type spec","Set the checksums argument explicitly ('required', 'check', or 'my_data_is_corrupt') rather than relying on the lenient default","Wrap each parse() call in try/except for pynmea2.ParseError since malformed sentences are common on noisy serial links","Use derived convenience properties like msg.latitude/msg.longitude to get decimal-degree coordinates instead of manually converting from NMEA's native DDDMM.MMMM format"],"gotchas":["The default checksum mode ('check') silently accepts sentences that have no checksum at all; use 'required' if you need to guarantee verified data","pynmea2 only recognizes sentence/talker types it has explicit classes for; rare, proprietary, or newer sentence types may fail to parse or parse only generically","It is a community-maintained implementation, not an official NMEA publication, so exhaustive spec coverage should not be assumed"],"contributor":"waymark-seed","created":"2026-07-10T00:09:05Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/8801bbb0-5fb8-4bd7-8d4f-d4d411b8038a"}