CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-bleak

Cross-platform Bluetooth Low Energy GATT client library for asynchronous BLE communication

Overall
score

97%

Overview
Eval results
Files

rubric.jsonevals/scenario-6/

{
  "context": "This criteria evaluates how effectively the engineer uses the bleak library to write GATT descriptor values, specifically for configuring characteristic notifications via the Client Characteristic Configuration Descriptor (CCCD).",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "BleakClient initialization",
      "description": "Creates BleakClient instance with device address for establishing connection to BLE device",
      "max_score": 15
    },
    {
      "name": "Connection management",
      "description": "Uses async context manager or explicit connect/disconnect methods to manage BLE connection lifecycle",
      "max_score": 15
    },
    {
      "name": "Characteristic lookup",
      "description": "Uses client.services to access the GATT service collection and retrieves the target characteristic by UUID using get_characteristic() or similar methods",
      "max_score": 20
    },
    {
      "name": "CCCD descriptor access",
      "description": "Accesses the Client Characteristic Configuration Descriptor from the characteristic's descriptors, typically by finding descriptor with UUID '00002902-0000-1000-8000-00805f9b34fb'",
      "max_score": 20
    },
    {
      "name": "write_gatt_descriptor usage",
      "description": "Calls write_gatt_descriptor() method with the descriptor handle or descriptor object and appropriate data payload to enable/disable notifications",
      "max_score": 25
    },
    {
      "name": "Error handling",
      "description": "Handles cases where characteristic or CCCD is not found, raising appropriate errors as specified in the API",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-bleak

tile.json