CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-textual

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

93

1.17x
Quality

Pending

Does it follow best practices?

Impact

93%

1.17x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-4/

{
  "context": "This criteria evaluates how well the engineer uses Textual's reactive programming system to implement an automatically updating task counter application. It focuses specifically on the use of reactive attributes, computed properties, and watchers.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Reactive attributes",
      "description": "Uses the `reactive` descriptor from `textual.reactive` to declare `completed` and `pending` attributes that automatically trigger UI updates when modified.",
      "max_score": 25
    },
    {
      "name": "Computed property implementation",
      "description": "Implements a `compute_total()` method that automatically calculates the total number of tasks from completed and pending counts.",
      "max_score": 20
    },
    {
      "name": "Percentage computed property",
      "description": "Implements a `compute_percentage()` method that calculates completion percentage, handling the edge case of zero tasks by returning '0.0%'.",
      "max_score": 20
    },
    {
      "name": "Reactive configuration",
      "description": "Properly configures reactive attributes with appropriate options (e.g., `layout=True` or `repaint=True`) to trigger UI updates automatically.",
      "max_score": 15
    },
    {
      "name": "Widget composition",
      "description": "Uses appropriate widgets (Static, Label, or similar) in the `compose()` method to display the reactive values (completed, pending, total, percentage).",
      "max_score": 10
    },
    {
      "name": "Key binding integration",
      "description": "Implements key press handlers that modify reactive attributes, demonstrating that changes to reactive values automatically propagate to the UI.",
      "max_score": 10
    }
  ]
}

tile.json