Cross-platform Bluetooth Low Energy GATT client library for asynchronous BLE communication
Overall
score
97%
{
"context": "This evaluation assesses how effectively the engineer uses the bleak package to implement a BLE device unpairing workflow. The focus is specifically on proper usage of bleak's device discovery, connection management, and unpairing APIs to accomplish the task specified in the problem.",
"type": "weighted_checklist",
"checklist": [
{
"name": "BleakScanner usage",
"description": "Uses BleakScanner.find_device_by_address() or similar scanner functionality to locate the device by its Bluetooth address. The implementation should properly handle the timeout parameter and return the discovered device object.",
"max_score": 25
},
{
"name": "BleakClient connection",
"description": "Creates a BleakClient instance with the discovered device and uses it to establish a connection. Should use either the connect() method or async context manager (async with BleakClient(...)) to manage the connection lifecycle.",
"max_score": 25
},
{
"name": "Connection verification",
"description": "Uses the is_connected property or is_connected() method of BleakClient to verify that the connection is active before proceeding with unpair operation.",
"max_score": 15
},
{
"name": "Unpair method",
"description": "Calls the unpair() method on the BleakClient instance to remove the device pairing. This is the core capability being tested and should be explicitly invoked.",
"max_score": 25
},
{
"name": "Error handling",
"description": "Properly handles bleak-specific exceptions such as BleakDeviceNotFoundError, BleakError, or connection-related exceptions. Should catch and report errors appropriately for each stage of the workflow.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-bleakdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9