Spaces:
Sleeping
Sleeping
first-space
/
first-space-venv
/lib
/python3.12
/site-packages
/inquirerpy-0.3.4.dist-info
/METADATA
Metadata-Version: 2.1 | |
Name: inquirerpy | |
Version: 0.3.4 | |
Summary: Python port of Inquirer.js (A collection of common interactive command-line user interfaces) | |
Home-page: https://github.com/kazhala/InquirerPy | |
License: MIT | |
Keywords: cli,prompt-toolkit,commandline,inquirer,development | |
Author: Kevin Zhuang | |
Author-email: kevin7441@gmail.com | |
Maintainer: Kevin Zhuang | |
Maintainer-email: kevin7441@gmail.com | |
Requires-Python: >=3.7,<4.0 | |
Classifier: Development Status :: 2 - Pre-Alpha | |
Classifier: Environment :: Console | |
Classifier: Intended Audience :: Developers | |
Classifier: License :: OSI Approved :: MIT License | |
Classifier: Operating System :: Microsoft | |
Classifier: Operating System :: Unix | |
Classifier: Programming Language :: Python :: 3 | |
Classifier: Programming Language :: Python :: 3.10 | |
Classifier: Programming Language :: Python :: 3.7 | |
Classifier: Programming Language :: Python :: 3.8 | |
Classifier: Programming Language :: Python :: 3.9 | |
Classifier: Topic :: Software Development | |
Classifier: Topic :: Software Development :: Libraries | |
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks | |
Classifier: Topic :: Software Development :: User Interfaces | |
Provides-Extra: docs | |
Requires-Dist: Sphinx (>=4.1.2,<5.0.0); extra == "docs" | |
Requires-Dist: furo (>=2021.8.17-beta.43,<2022.0.0); extra == "docs" | |
Requires-Dist: myst-parser (>=0.15.1,<0.16.0); extra == "docs" | |
Requires-Dist: pfzy (>=0.3.1,<0.4.0) | |
Requires-Dist: prompt-toolkit (>=3.0.1,<4.0.0) | |
Requires-Dist: sphinx-autobuild (>=2021.3.14,<2022.0.0); extra == "docs" | |
Requires-Dist: sphinx-copybutton (>=0.4.0,<0.5.0); extra == "docs" | |
Project-URL: Documentation, https://inquirerpy.readthedocs.io | |
Project-URL: Repository, https://github.com/kazhala/InquirerPy | |
Description-Content-Type: text/markdown | |
# InquirerPy | |
[](https://github.com/kazhala/InquirerPy/actions?query=workflow%3ATest) | |
[](https://github.com/kazhala/InquirerPy/actions?query=workflow%3ALint) | |
[](https://ap-southeast-2.console.aws.amazon.com/codesuite/codebuild/378756445655/projects/InquirerPy/history?region=ap-southeast-2&builds-meta=eyJmIjp7InRleHQiOiIifSwicyI6e30sIm4iOjIwLCJpIjowfQ) | |
[](https://coveralls.io/github/kazhala/InquirerPy?branch=master) | |
[](https://pypi.org/project/InquirerPy/) | |
[](https://pypi.org/project/InquirerPy/) | |
Documentation: [inquirerpy.readthedocs.io](https://inquirerpy.readthedocs.io/) | |
<!-- start intro --> | |
## Introduction | |
`InquirerPy` is a Python port of the famous [Inquirer.js](https://github.com/SBoudrias/Inquirer.js/) (A collection of common interactive command line user interfaces). | |
This project is a re-implementation of the [PyInquirer](https://github.com/CITGuru/PyInquirer) project, with bug fixes of known issues, new prompts, backward compatible APIs | |
as well as more customisation options. | |
<!-- end intro --> | |
 | |
## Motivation | |
[PyInquirer](https://github.com/CITGuru/PyInquirer) is a great Python port of [Inquirer.js](https://github.com/SBoudrias/Inquirer.js/), however, the project is slowly reaching | |
to an unmaintained state with various issues left behind and no intention to implement more feature requests. I was heavily relying on this library for other projects but | |
could not proceed due to the limitations. | |
Some noticeable ones that bother me the most: | |
- hard limit on `prompt_toolkit` version 1.0.3 | |
- various color issues | |
- various cursor issues | |
- No options for VI/Emacs navigation key bindings | |
- Pagination option doesn't work | |
This project uses python3.7+ type hinting with focus on resolving above issues while providing greater customisation options. | |
## Requirements | |
### OS | |
Leveraging [prompt_toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit), `InquirerPy` works cross platform for all OS. Although Unix platform may have a better experience than Windows. | |
### Python | |
``` | |
python >= 3.7 | |
``` | |
## Getting Started | |
Checkout full documentation **[here](https://inquirerpy.readthedocs.io/)**. | |
### Install | |
```sh | |
pip3 install InquirerPy | |
``` | |
### Quick Start | |
#### Classic Syntax (PyInquirer) | |
```python | |
from InquirerPy import prompt | |
questions = [ | |
{"type": "input", "message": "What's your name:", "name": "name"}, | |
{"type": "confirm", "message": "Confirm?", "name": "confirm"}, | |
] | |
result = prompt(questions) | |
name = result["name"] | |
confirm = result["confirm"] | |
``` | |
#### Alternate Syntax | |
```python | |
from InquirerPy import inquirer | |
name = inquirer.text(message="What's your name:").execute() | |
confirm = inquirer.confirm(message="Confirm?").execute() | |
``` | |
<!-- start migration --> | |
## Migrating from PyInquirer | |
Most APIs from [PyInquirer](https://github.com/CITGuru/PyInquirer) should be compatible with `InquirerPy`. If you have discovered more incompatible APIs, please | |
create an issue or directly update README via a pull request. | |
### EditorPrompt | |
`InquirerPy` does not support [editor](https://github.com/CITGuru/PyInquirer#editor---type-editor) prompt as of now. | |
### CheckboxPrompt | |
The following table contains the mapping of incompatible parameters. | |
| PyInquirer | InquirerPy | | |
| --------------- | --------------- | | |
| pointer_sign | pointer | | |
| selected_sign | enabled_symbol | | |
| unselected_sign | disabled_symbol | | |
### Style | |
Every style keys from [PyInquirer](https://github.com/CITGuru/PyInquirer) is present in `InquirerPy` except the ones in the following table. | |
| PyInquirer | InquirerPy | | |
| ---------- | ---------- | | |
| selected | pointer | | |
Although `InquirerPy` support all the keys from [PyInquirer](https://github.com/CITGuru/PyInquirer), the styling works slightly different. | |
Please refer to the [Style](https://inquirerpy.readthedocs.io/en/latest/pages/style.html) documentation for detailed information. | |
<!-- end migration --> | |
## Similar projects | |
### questionary | |
[questionary](https://github.com/tmbo/questionary) is a fantastic fork which supports `prompt_toolkit` 3.0.0+ with performance improvement and more customisation options. | |
It's already a well established and stable library. | |
Comparing with [questionary](https://github.com/tmbo/questionary), `InquirerPy` offers even more customisation options in styles, UI as well as key bindings. `InquirerPy` also provides a new | |
and powerful [fuzzy](https://inquirerpy.readthedocs.io/en/latest/pages/prompts/fuzzy.html) prompt. | |
### python-inquirer | |
[python-inquirer](https://github.com/magmax/python-inquirer) is another great Python port of [Inquirer.js](https://github.com/SBoudrias/Inquirer.js/). Instead of using `prompt_toolkit`, it | |
leverages the library `blessed` to implement the UI. | |
Before implementing `InquirerPy`, this library came up as an alternative. It's a more stable library comparing to the original [PyInquirer](https://github.com/CITGuru/PyInquirer), however | |
it has a rather limited customisation options and an older UI which did not solve the issues I was facing described in the [Motivation](#Motivation) section. | |
Comparing with [python-inquirer](https://github.com/magmax/python-inquirer), `InquirerPy` offers a slightly better UI, | |
more customisation options in key bindings and styles, providing pagination as well as more prompts. | |
## Credit | |
This project is based on the great work done by the following projects & their authors. | |
- [PyInquirer](https://github.com/CITGuru/PyInquirer) | |
- [prompt_toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | |
## License | |
This project is licensed under [MIT](https://github.com/kazhala/InquirerPy/blob/master/LICENSE). | |