Python library to build pretty command line user prompts with interactive forms and validation
Overall
score
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
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-questionarydocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10