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 well the engineer uses questionary's autocomplete functionality to build an interactive city search tool. The focus is on proper use of the autocomplete prompt, choice configuration with metadata, case-insensitive matching, and error handling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Autocomplete prompt usage",
"description": "Uses questionary.autocomplete() to create the interactive prompt with the message 'Search for a city:'",
"max_score": 25
},
{
"name": "Choice list configuration",
"description": "Provides a list of at least 15 city choices to the autocomplete prompt, with each choice containing both the city name and associated data (country)",
"max_score": 20
},
{
"name": "Metadata display",
"description": "Displays country information alongside city names in the autocomplete dropdown using Choice objects with the meta parameter, or formats choice strings to include country information",
"max_score": 20
},
{
"name": "Case-insensitive matching",
"description": "Configures the autocomplete to use case-insensitive matching (default behavior) or implements a custom completer with case-insensitive logic, ensuring 'par' matches 'Paris'",
"max_score": 15
},
{
"name": "Result handling",
"description": "Correctly retrieves and displays the selected city and country after user selection in the format 'You selected: {city}, {country}'",
"max_score": 10
},
{
"name": "Keyboard interrupt handling",
"description": "Handles prompt cancellation either by wrapping the prompt in try-except to catch KeyboardInterrupt, or by using the .ask() method without unsafe parameter (safe mode is default) and checking for None return value",
"max_score": 10
}
]
}