Interactive command line tool.
Project description
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.
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
interact-cli-0.5.0.tar.gz
(9.3 kB
view hashes)
Built Distribution
Close
Hashes for interact_cli-0.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21378ac64523fbaece222716ea450d1d9e1aeaadf7d60264c316f684affb9ab1 |
|
MD5 | b0e480c2f6cdcc8469cd20b8de22f221 |
|
BLAKE2-256 | 880324b9601f6844a9c3941e086605136c5b2907cbe5b9e99aa25e8df257b101 |