Kind of like a non intrusive addon for the standard input()
Project description
InputPowertools
Eliminate the annoyances of getting input or building a cli in python!
Prolog
I love using command line interfaces and I think most people like building these small tools as well, but its really annoying to have to build the interface between the user and your program, hence I build this python package to take care of this part for you.
Examples
input()
Alpha
>>> print(f"Result: {input('Type your name:', Mode.ALPHA)}")
Type your name: >? 123
🛑 Please enter a value that is completely alphabetic (no punctuation, numbers, emojis or nothing)...
Type your name: >? Malte
Result: Malte
Numeric
>>> print(f"Result: {input('How old are you:', Mode.NUMERIC, domain=lambda x: x % 1 == 0)}")
How old are you: >? 😀
🛑 Please enter a number...
How old are you: >? 13.5
🛑 Please enter a value that fits the answers domain...
How old are you: >? 16
Result: 16
Options
>>> print(f"Result: {input(
'Are you a what kind of person are you?',
Mode.OPTIONS,
options=['Cat person', 'Dog person', 'Bird person']
)}")
Are you a what kind of person are you?
1 -> Cat person
2 -> Dog person
3 -> Bird person
Select option [1-3]: >? Though question
🛑 Please enter a number...
Select option [1-3]: >? 0
🛑 Please enter a value that fits the answers domain...
Select option [1-3]: >? 4
🛑 Please enter a value that fits the answers domain...
Select option [1-3]: >? 2
Result: (1, 'Dog person')
Regex
What is your favorite hex color? >? red
🛑 Please enter a value that fits this description: Hexadecimal Color. Something like #123 or #FF32CD
What is your favorite hex color? >? #F00
Result: #F00
Defaults
Just pressing enter
>>> print(f"Result: {input('Type your name:', Mode.ALPHA, default='Hannes')}")
Type your name: (Hannes) >?
Result: Hannes
Typing something else
>>> print(f"Result: {input('Type your name:', Mode.ALPHA, default='Hannes')}")
Type your name: (Hannes) >? Malte
Result: Malte
Confirm
>>> print(f"Result: {input('Type your name:', Mode.ALPHA, confrim=True)}")
Type your name: >? Malte
Do you want to select "Malte"?
1 -> yes
2 -> no
Select option [1-2]: (2) >? 1
Result: Malte
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
InputPowertools-0.2.tar.gz
(6.6 kB
view hashes)
Built Distribution
Close
Hashes for InputPowertools-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95291c61ddb5d15284fcc9e31f3f1a194fe7ede10b367ff419f4f97a98c8c34f |
|
MD5 | b71d0fbed1152758275d5e32462d4bd5 |
|
BLAKE2b-256 | 0f2f5ba81c9407235ff33cbd566e5c59155472544bf4a79abb5f9141016ffb83 |