Why use input()
when you can go advanced?
aprompt lets you prompt users in a neat way. It comes with a UI system and everything is customizable!
- ✅ Large set of built-in prompts.
- ✅ Custom prompts
- ✅ Custom themes
- ✅ Drop-in replacement for argparse
- ✅ Test API
While it is easily possible to create custom prompts, aprompt comes with a lot of useful prompts.
- Text
- Integer
- Confirmation
- PIN Code
- Sort
- Choice
- Multiple Choice
- Path
- Datetime
- Date
- Time
Unchecked prompts are planned for the future
from aprompt import prompt
from aprompt.prompts import choice
languages: list[str] = prompt(
"In what languages can you code in?",
choice(
"c",
"c++",
"erlang",
"fortran",
"haskell",
"javascript",
"nim",
"python",
"ruby",
"rust",
"typescript",
multiple=True
)
)
# ... do something with `languages` ...
aprompt provides the attribute test_with
for the main prompt wrapper to
test the result for a predefined sequence of keys.
def test_confirm() -> None:
assert prompt("", confirm(), test_with=iter("y"))
assert not prompt("", confirm(), test_with=iter("n"))
- add path prompt (as extension) and document it
- turn
match
es intoif-else
s - add demo file and add a GIF of it to the README (instead of only the choice variant)
- add GIFs to all prompt engines in docs
- turn simple formatter into a class
- add logo