tessl install tessl/pypi-textual@6.1.0Modern Text User Interface framework for building cross-platform terminal and web applications with Python
Agent Success
Agent success rate when using this tile
93%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.18x
Baseline
Agent success rate without this tile
79%
{
"context": "This criteria evaluates how well the engineer uses Textual's key binding and input handling system to implement custom keyboard shortcuts for the task manager application. The focus is on proper usage of the BINDINGS class attribute, Binding objects, action methods, and visual feedback through the Footer widget.",
"type": "weighted_checklist",
"checklist": [
{
"name": "BINDINGS Declaration",
"description": "Uses the BINDINGS class attribute on the App or appropriate widget/screen class to declare keyboard shortcuts. This is the standard Textual pattern for defining key bindings.",
"max_score": 15
},
{
"name": "Binding Objects",
"description": "Uses Binding objects (from textual.binding import Binding) to define each keyboard shortcut with proper parameters including key, action, and description.",
"max_score": 15
},
{
"name": "Compound Bindings",
"description": "Implements compound bindings using comma-separated keys (e.g., 'a,n' or 'j,up') to allow multiple keys to trigger the same action, as specified for add task and navigation shortcuts.",
"max_score": 15
},
{
"name": "Action Methods",
"description": "Implements action methods (e.g., action_add_task, action_toggle_complete, action_delete_task) that correspond to the actions specified in the BINDINGS. Action methods should follow the naming convention action_<name>.",
"max_score": 20
},
{
"name": "Footer Widget",
"description": "Uses the Footer widget (from textual.widgets import Footer) to display available keyboard shortcuts. The Footer automatically displays bindings defined in BINDINGS.",
"max_score": 10
},
{
"name": "Binding Groups",
"description": "Organizes related shortcuts into binding groups by setting the 'group' parameter on Binding objects, enabling visual grouping in the footer (e.g., navigation shortcuts grouped together).",
"max_score": 10
},
{
"name": "Special Key Handling",
"description": "Properly handles special keys like 'space', 'delete', 'escape', and control sequences like 'ctrl+c' using the correct Textual key identifiers.",
"max_score": 10
},
{
"name": "Quit Binding",
"description": "Implements the quit functionality using the 'q' key binding with the appropriate action (e.g., action_quit calling self.exit() or using the built-in 'quit' action).",
"max_score": 5
}
]
}