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 file monitoring capabilities to build a reactive TUI application. The focus is on proper usage of FileMonitor, async callback handling, and integration with the Textual app lifecycle.",
"type": "weighted_checklist",
"checklist": [
{
"name": "FileMonitor instantiation",
"description": "Uses the FileMonitor class from textual.file_monitor module with proper initialization, including a list/sequence of Path objects and a callback function",
"max_score": 20
},
{
"name": "File path handling",
"description": "Correctly converts the input file path to a Path object and passes it to FileMonitor in the expected format (as a sequence of Path objects)",
"max_score": 15
},
{
"name": "Callback implementation",
"description": "Implements a callback function/method that is invoked when file changes are detected, properly reading and updating the displayed content",
"max_score": 20
},
{
"name": "App lifecycle integration",
"description": "Sets up the FileMonitor during the appropriate lifecycle phase (e.g., on_mount) to ensure monitoring begins when the app is ready",
"max_score": 15
},
{
"name": "UI widgets composition",
"description": "Uses appropriate Textual widgets (such as Static, Label, or TextArea) to display file content and status information in the compose method or through mount calls",
"max_score": 15
},
{
"name": "Reactive state management",
"description": "Uses reactive attributes (Reactive descriptor) to track state changes such as change count or last update time, triggering automatic UI updates",
"max_score": 10
},
{
"name": "Key binding",
"description": "Implements key bindings using the BINDINGS class attribute or Binding objects to handle the quit action when 'q' is pressed",
"max_score": 5
}
]
}