Python library for parsing and generating NMEA 0183 protocol messages used in GPS and marine navigation systems
77
{
"context": "This criteria evaluates how effectively the engineer uses the pynmea2 library's NMEAFile class and related parsing capabilities to process NMEA log files and extract GPS position data.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses NMEAFile class",
"description": "Uses pynmea2.NMEAFile to open and read the NMEA log file, demonstrating proper file handling with context manager (with statement) or proper file closing.",
"max_score": 25
},
{
"name": "Iterates through sentences",
"description": "Correctly iterates through the NMEAFile object to process each sentence, using the iterator protocol (for loop or next() calls).",
"max_score": 15
},
{
"name": "Filters GGA sentences",
"description": "Identifies and filters GGA sentences specifically, checking sentence_type attribute or using isinstance checks with pynmea2.GGA class.",
"max_score": 15
},
{
"name": "Uses coordinate properties",
"description": "Accesses latitude and longitude using the built-in coordinate conversion properties (msg.latitude and msg.longitude) rather than manually parsing raw coordinate fields.",
"max_score": 20
},
{
"name": "Validates GPS quality",
"description": "Checks the GPS quality indicator (gps_qual field or is_valid property) to filter for valid fixes, excluding invalid or missing fixes.",
"max_score": 15
},
{
"name": "Extracts timestamp data",
"description": "Correctly accesses and uses the timestamp field from GGA sentences to record fix times.",
"max_score": 5
},
{
"name": "Extracts altitude data",
"description": "Correctly accesses the altitude field from GGA sentences and converts to appropriate numeric type for calculations.",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-pynmea2docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10