CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/pypi-asciimatics

tessl install tessl/pypi-asciimatics@1.15.0

A cross-platform package to replace curses (mouse/keyboard input & text colours/positioning) and create ASCII animations

Agent Success

Agent success rate when using this tile

81%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.33x

Baseline

Agent success rate without this tile

61%

rubric.jsonevals/scenario-5/

{
  "context": "This criteria evaluates how well an engineer uses asciimatics' Text widget and form system to build a validated registration form. It focuses on proper usage of Text widget parameters, Form/Layout structure, validation mechanisms, and event handling.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Text widget creation",
      "description": "Uses the Text widget class from asciimatics.widgets to create all four input fields (username, email, password, confirm password)",
      "max_score": 20
    },
    {
      "name": "Label parameters",
      "description": "Properly uses the 'label' parameter when creating Text widgets to display field labels",
      "max_score": 10
    },
    {
      "name": "Widget names",
      "description": "Uses the 'name' parameter on Text widgets to uniquely identify each field for data retrieval",
      "max_score": 10
    },
    {
      "name": "Regex validation",
      "description": "Uses the 'validator' parameter on Text widgets with appropriate regex patterns for username and email validation",
      "max_score": 15
    },
    {
      "name": "Password hiding",
      "description": "Uses the 'hide_char' parameter on password Text widgets to hide password input (e.g., hide_char='*')",
      "max_score": 20
    },
    {
      "name": "Frame initialization",
      "description": "Creates a Frame subclass and properly initializes it with super().__init__() passing screen and dimensions",
      "max_score": 5
    },
    {
      "name": "Layout usage",
      "description": "Creates and adds Layout instances to the Frame using add_layout() method",
      "max_score": 5
    },
    {
      "name": "Widget placement",
      "description": "Adds Text widgets and Buttons to layouts using the layout.add_widget() method",
      "max_score": 5
    },
    {
      "name": "InvalidFields exception",
      "description": "Uses InvalidFields exception from asciimatics.exceptions to handle validation failures",
      "max_score": 5
    },
    {
      "name": "Data access",
      "description": "Accesses form data using the Frame's 'data' property to retrieve field values for validation",
      "max_score": 5
    }
  ]
}

Version

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