tessl install tessl/pypi-pynmea2@1.19.0Python library for parsing and generating NMEA 0183 protocol messages used in GPS and marine navigation systems
Agent Success
Agent success rate when using this tile
77%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.12x
Baseline
Agent success rate without this tile
69%
{
"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
}
]
}