CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-textual

Modern Text User Interface framework for building cross-platform terminal and web applications with Python

Overall
score

93%

Overview
Eval results
Files

rubric.jsonevals/scenario-8/

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

Install with Tessl CLI

npx tessl i tessl/pypi-textual

tile.json