Interact cli
Interactive command line tool.
Github repo: https://github.com/caizhengxin/interact-cli
Documentation: https://interact-cli.readthedocs.io
Free software: BSD
Features
Interact input
Supports multiple data types
Support input check
Support regex, see network.json
Support type
boolean
string
int
float
list
choice
mac
ipv4
cidr, eg: 192.168.1.1/24
hex
Installation
To install interact-cli, run this command in your terminal:
$ pip3 install interact-cli
or:
$ git clone https://github.com/caizhengxin/interact-cli.git
$ cd interact-cli
$ pip3 install -e .
Usage
See interact.json
string:
from interact import interacts
config = {
"name": {
"type": "string",
"default": "jankinca",
"max_length": 10,
"min_length": 1,
"description": "Your name"
}
}
if __name__ == "__main__":
"""
Your name [jankinca]: sssssssssssss
Error: Invalided `sssssssssssss`
Your name [jankinca]: jankincai
"""
print(interacts(config).name)
regex:
from interact import interacts
config = {
"ipv4": {
"type": "string",
"regex": r"^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$",
"default": "192.168.166.12",
"description": "IPv4 address"
}
}
if __name__ == "__main__":
"""
IPv4 address [192.168.166.12]: 22
Error: Invalided `22`
IPv4 address [192.168.166.12]: 192.168.166.2
"""
print(interacts(config).ipv4)
when:
from interact import interacts
config = {
"use_code_hosting": {
"type": "boolean",
"default": True,
"description": "Use code hosting platform"
},
"code_hosting": {
"type": "choice",
"default": 1,
"choice": [
"github",
"gitee",
"gitlab"
],
"description": "Code hosting",
"when": "use_code_hosting == true"
},
"code_hosting_username": {
"type": "string",
"default": "jankincai",
"description": "Your code hosting username",
"when": "use_code_hosting == true"
}
}
if __name__ == "__main__":
"""
Use code hosting platform [y]: y
Select code hosting:
1 - github
2 - gitee
3 - gitlab
Choose from [1]:
Your code hosting username [jankincai]: jankincai
{'use_code_hosting': True, 'code_hosting': 'github', 'code_hosting_username': 'jankincai'}
"""
"""
Use code hosting platform [y]: n
{'use_code_hosting': False, 'code_hosting': None, 'code_hosting_username': None}
"""
print(interacts(config).get_interact_data())
See demo
Credits
This package was created with Cookiecutter and the caizhengxin/cookiecutter-package project template.
Metadata
Release files for interact-cli 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| interact-cli-0.5.0.tar.gz | 9.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| interact_cli-0.5.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 19.1 kB
Release files / interact-cli-0.5.0.tar.gz
| Download URL | interact-cli-0.5.0.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76a1cbe2193835761fd6f4133399411fad2ea796aeed6edc652a0a2623c40d9c
|
|
BLAKE2b-256 checksum How to use checksums |
d003aacfd3e05440c3ec3788694b3a2db233e6b30f44cf23941902552ae370de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9
|
Release files / interact_cli-0.5.0-py2.py3-none-any.whl
| Download URL | interact_cli-0.5.0-py2.py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
21378ac64523fbaece222716ea450d1d9e1aeaadf7d60264c316f684affb9ab1
|
|
BLAKE2b-256 checksum How to use checksums |
880324b9601f6844a9c3941e086605136c5b2907cbe5b9e99aa25e8df257b101
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9
|