tessl install tessl/pypi-questionary@2.1.0Python library to build pretty command line user prompts with interactive forms and validation
Agent Success
Agent success rate when using this tile
96%
Improvement
Agent success rate improvement when using this tile compared to baseline
1x
Baseline
Agent success rate without this tile
96%
{
"context": "This criteria evaluates how effectively the engineer uses questionary's custom validation features to validate user registration inputs. The focus is on proper usage of questionary's validation system including custom validators, error messages, and integration with prompt functions.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses questionary prompts",
"description": "Uses questionary.text() or questionary.password() to collect user inputs for username, email, and password fields",
"max_score": 15
},
{
"name": "Custom validation functions",
"description": "Implements custom validation functions (either as standalone functions or Validator classes) for username, email, and password validation logic",
"max_score": 25
},
{
"name": "Validation parameter usage",
"description": "Correctly passes validation functions to questionary prompts using the 'validate' parameter",
"max_score": 15
},
{
"name": "Username validation logic",
"description": "Validates username is at least 3 characters and contains only alphanumeric characters and underscores, returns error message for invalid input",
"max_score": 10
},
{
"name": "Email validation logic",
"description": "Validates email format including presence of @ symbol and domain extension, returns error message for invalid input",
"max_score": 10
},
{
"name": "Password validation logic",
"description": "Validates password is at least 8 characters with uppercase, lowercase, and digit requirements, returns error message for invalid input",
"max_score": 10
},
{
"name": "Custom error messages",
"description": "Provides specific, helpful error messages for each validation failure (e.g., explaining what's wrong with the input)",
"max_score": 10
},
{
"name": "Returns validated data",
"description": "Returns a dictionary containing username, email, and password after successful validation using .ask() or .ask_async() methods",
"max_score": 5
}
]
}