or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/textual@6.1.x
tile.json

tessl/pypi-textual

tessl install tessl/pypi-textual@6.1.0

Modern 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%

rubric.jsonevals/scenario-3/

{
  "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
    }
  ]
}