CHANGELOG¶
v0.3.4 (2026-03-14)¶
Bug Fixes¶
Correct GIF URL to raw format, add fork copyright to LICENSE, rename master to main in workflows (
5cde6ce)
v0.3.1 (2026-03-14)¶
Bug Fixes¶
Chores¶
Update poetry.lock after adding griffe[pypi] dev dependency (
3faf5c7)
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Continuous Integration¶
Add workflow_dispatch trigger to CI workflow (
826d2c4)
Allows manually triggering CI runs from GitHub UI or gh CLI, useful for verifying secret changes without code commits.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Documentation¶
Fix install instructions, add upstream compatibility report (
3477ae1)README.md: fix pip3 install InquirerPy -> InquirerPrompt - README.md: fix python >= 3.7 -> >= 3.9 (reflect actual CI matrix) - README.md: update PyPI badges with style params to bust CDN cache - README.md: add kazhala/InquirerPy as primary credit in Credits section - docs/index.md: fix python
= 3.7 -> >= 3.9 - docs/pages/faq.md: add FAQ entry about upstream compatibility - docs/pages/compatibility.md: new page explaining drop-in compatibility - docs/pages/compat_report.md: stub, populated by CI compat workflow - .github/workflows/compat.yml: griffe-based API diff workflow, auto-commits report - scripts/compat_check.py: generates markdown compat report using griffe[pypi] - pyproject.toml: add griffe[pypi] dev dependency - Taskfile.yml: add compat and compat:check tasks
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
v0.3.0 (2026-03-14)¶
Bug Fixes¶
Always run poetry install regardless of cache hit (
34937c1)
The conditional poetry install was causing CI failures: when the venv cache exists but is broken (wrong Python version, stale), poetry recreates an empty venv but the install step is skipped. poetry install is idempotent so running it unconditionally is safe and ensures the env is always complete.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Checkbox icon display error #22 (
44ba059)Correct PSR v9 config, readthedocs build, and CD install (
29cb9ed)
python-semantic-release v9 breaking changes: - commit_parser: ‘conventional_commits’ → ‘conventional’ - Restructure config: branch/upload_to_pypi/upload_to_release/changelog_sections removed; replaced with sub-sections branches/changelog/publish - major_on_zero = false added
readthedocs: switch from custom poetry commands to standard python.install using docs/requirements.txt (myst-parser lives there, not in pyproject extras)
cd.yml: remove conditional poetry install (same fix as CI)
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Default argument callable raise InvalidArgument (
11f1c51)Don’t adjust priority for processing
raise_keyboard_interruptin (eaba616)Force re-render on choices retrieval finish (
4bce4df)Green CI — update pre-commit hooks, fix tests in CI, drop EOL Py 3.9 (
d144cbb)Update .pre-commit-config.yaml: black 22→24.8, isort 5.10→5.13.2, pydocstyle 6.1→6.3 (fixes poetry-core validation failure in CI) - Add tests/conftest.py: use create_app_session(PipeInput, DummyOutput) as autouse fixture to avoid ‘Stdin is not a terminal’ in CI (all 209 tests now pass without a real TTY) - Apply black 24.8 reformatting to 19 source files - Drop Python 3.9 from CI matrix (EOL Oct 2025; Poetry 2.3.x fails to install on 3.9 runners) - Add pyyaml>=6.0.1 to dev deps; poetry.lock resolves to 6.0.3 (fixes PEP 517 build failure on Python 3.12)
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Inconsistant color background for long_instruction (
b947f78)Multiselect #25 (
a35ca26)No error thrown when invalid argument is provided (
8f52a16)Suppress pre-existing pyright override errors from upstream (
8147b28)
Suppress reportIncompatibleMethodOverride, reportIncompatibleVariableOverride, and reportGeneralTypeIssues in pyrightconfig.json. These 19 errors are pre-existing in the upstream codebase (method signature mismatches, return type inconsistencies). They are tracked for future cleanup but should not block CI green.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Typing (
6915996)Undefined movement (
6451af5)Update poetry.lock, use dev group syntax, add pyright dep (
21b20eb)Regenerate poetry.lock with updated dev dependencies - Migrate [tool.poetry.dev-dependencies] → [tool.poetry.group.dev.dependencies] (poetry 2.x syntax, silences deprecation warning) - Add pyright ^1.1 as dev dependency (was previously installed via npm in CI) - Add pytest, pytest-cov, python-semantic-release as dev dependencies - CI now installs everything via poetry install (no npm needed)
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Validation window not staying at the bottom (
01ee6aa)base: Filter combining raises error (
401b720)expand: Kb not applied (
6b5bbdc)filepath: Windows completion #32 (
473f22c)fuzzy: Multiselection cannot type space #20 (
f07f8e7)fuzzy: Toggle_all #18 (
f907c59)number: Empty input (
79990a1)number: Empty toggle error (
a628087)number: Ending zero and adjust cursor position (
a306f26)number: Exception if max/min is set for float (
3670630)number: Negative decimal (
33d622d)number: No zero input (
41b9b5e)number: Reset floating number starting at 0 (
79da5f8)rawlist: Index range issue (
2c68d25)resolver: Keybinding not registered (
d220ec5)utils: Style (
c8452e0)
Chores¶
Add doc dependencies (
5761613)Added requirements.txt for examples (
dab7055)Complete Phase 1 fork setup — rename to InquirerPrompt (
799b3f0)Rename PyPI package from InquirerPy to InquirerPrompt - Update repository/documentation URLs to fork URLs - Drop Python 3.7/3.8 (EOL), support 3.9–3.12 - Update dev dependencies: bump black, isort, pre-commit; add pytest, pytest-cov, python-semantic-release; remove coveralls - Enable upload_to_pypi in semantic_release config - Remove superseded lint.yml and test.yml (replaced by ci.yml) - Update .readthedocs.yaml with Poetry-based build commands - Update docs/conf.py: project name InquirerPrompt, add fork co-maintainer - Update docs/index.md: fork clone URL, pip install InquirerPrompt - Update README: correct PyPI package name and RTD docs URL - Fix Codecov action to v5
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Reformat (
9966597)Removing tooling config for fzy file (
ea734e2)Set up community fork infrastructure (
e07e2dd)Add modernized CI workflow (Python 3.9-3.12, Codecov, caching) - Add CD workflow with python-semantic-release and PyPI publish - Add Taskfile.yml with lint, format, test, coverage, release, docs tasks - Add fork preamble to README.md with upstream attribution - Add FORK_SETUP_NOTES.md to .gitignore (contains credentials/setup info) - Add python-semantic-release config to pyproject.toml
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Todo (
7003923)Typo (
a829a4c)Udpate dev dependencies (
616168d)Udpate dev dependencies (
801ba77)Update dependency (
99c436a)Update dependency (
e19e4cd)Update dev dependencies (
abf78ce)Update dev dependencies (
3664634)Update dev dependencies (
1738b58)Update dev dependency (
a36dccd)Update example (
40c3fd4)Update example (
fdad99a)Update example folder structure (
aa65412)Update exception message (
1adfb93)Update pre-commit hooks version (
987906a)Update secret example to have more hints (
fed0ffe)Update typing (
3f72079)Updated fuzzy examples for powershell (
b4de186)Use pfzy (
cbf6487)examples: Added number examples (
7f8c97d)examples: Update example wording (
4df3fbb)
Code Style¶
Change the wording from argument to parameter when it make sense (
65511f3)
Continuous Integration¶
Documentation¶
Added docs for choices in dynamic section (
b70198f)Added FAQ (
1722619)Added keybinding documentation to all list type prompts. Closes (
e748d21)Adjust toctree order and more details on keybindings (
be082ce)Api docs (
c0605ed)Async (
1f80cde)Autodoc level (
57aff27)Badge and changelog (
0c58527)Changelog (
e83ddc0)Changelog update (
68e9334)Classic syntax async (
a909161)Dedicated doc for height (
a556a3e)Docstring update for new _keybinding_factory (
5a3efe1)Document inquirer usage and added example (
8a67984)Examples on using keypress event within keybinding functions #27 (
7194939)Filepath doc migrated to sphinx and handle todo (
3fe8a29)Fix autodata (
ba93611)Fix build (
745fb15)Fix duplicate tags (
4e7cda3)Fix README quick start instruction (
048cb8a)Init (
fabb25b)Init number doc (
91ea3c6)Migrate expand prompt docs to sphinx (
b5f02a5)Migrate fuzzy doc to sphinx (
d9e662d)Migrate input prompt to sphinx (
cf98d5a)Migrate list docs to sphinx (
2874035)Migrate secret docs to sphinx (
01c1867)Migrated checkbox doc to sphinx (
ed78e8d)Migrated confirm doc to sphinx (
94c07a0)Migrated docs for rawlist to sphinx (
2f7a3e2)Migrated misc section (
7106be5)Migrated prompt doc (
c5d6d74)Missing doc for magic method (
855abb3)Multiselect (
363a6d7)Readthedocs build config (
7b07ce8)Remove s3 demo code (
61ccdf0)Toctree refactor (
ec44a4c)Typing (
f04c249)Typo (
a057572)Typo (
f576d20)Udpate doc link (
8649b6f)Update (
fb93e14)Update (
15ae44a)Update CHANGELOG (
093f54c)Update changelog (
801b3af)Update changelog (
13d689f)Update doc to use
Choiceover dictionary choices (a504ca0)Update docstring (
6cc6e70)Update docstring (
9257616)Update docstring base simple (
a8f00b1)Update example and readme (
2e4b181)Update examples using
ChoiceandExpandChoice(2bae8d3)Update kb doc (
c0b3d04)Update kbi doc and links (
1742295)Update keybinding documentation (
5b81703)Update links (
fe3e32f)Update readme (
ecb9a33)Update remaining readthedocs URLs to InquirerPrompt (
04381d7)
Replace leftover inquirerpy.readthedocs.io links with InquirerPrompt.readthedocs.io throughout README.md.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Update style doc (
d8ee146)Update titles and added dynamic page (
1aea5b4)Update titles and kb doc (
07633a6)Use literal import (
2b1b38d)Validator documentation (
4269000)base: Update complex prompt doc (
11dbdd2)changelog:
raise_keyboard_interrupt(135d0ae)changelog: Added reasons for checkbox prompt icon spacing changes (
e84f3b9)changelog: Choice and ExpandChoice (
289970c)exceptions: Docstring (
013251b)expand: Document the new parameter
expand_help(0c048f5)expand: New choice doc (
6ab1dbe)fuzzy: Exact match (
35c879e)fuzzy: Toggle-exact keybinding #34 (
1adb55b)number: Added examples and demo (
d8b34c0)number: Docstring (
e6dd3a4)number: Empty default value (
cf04f9a)number: Include dot kb (
d93accf)number: Internal docs (
6eab367)number: Note that its not yet released (
13f0a2e)number: Replace mode (
1d9d578)number: Replace_mode (
0382ac9)readme: Fix example (
27ba8e2)resolver: Docstring (
8a8fc0f)separator: Docstring style (
a3dcc1b)utils: Fix example (
5a71825)utils: Update docstring (
802d911)
Features¶
Add formatter config files (
9c70434)Added
long_instructionparameter for input prompts (28ef1fc)Added ability to set error for PromptSession based propts (
db7c5aa)Added async support for alternate syntax #30 (
75070c3)Added async support for classic syntax (
c4296ce)Added Choice and ExpandChoice class for more pythonic way of (
ceaa161)Added keybinding customisation option for all prompts now (
08eaec1)Added option
mandatoryto control if a prompt can be skipped #10 (be3576d)Allow movement (
edc6f16)Allow single dictionary keybinding binds (
3cf99e6)Border for list, rawlist, expand and checkbox prompt (
7f97c62)Dedicated instruction area (tips). #7 (
e59548c)Enable number prompt for the classic syntax (
52a51cf)Hide integral window if not float (
c12daed)Init number prompt (
a34b920)Option to configure event loop exception handler (
bc1a29e)Raise_keyboard_interrupt=false also checks mandatory (
c7ce641)Support dynamic invalid_message in list type prompts while using Validator (
03e176d)Support spinner in all list prompts (
b81ebe9)base: Add _choices_callback function (
e38fa39)base: Added option to skip question #10 (
2abeaad)base: Added optional spinner (
4f03870)base: Transform_async on the blocking choice_func (
07a40b9)base: Update control class to handle async (
6ac5e4e)expand: Added option
expand_helpto customise expand key and (74c6f13)fuzzy: Added kb to toggle exact match (
cd8450c)fuzzy: Support exact match (
a8cd060)fuzzy: Support optional spinner (
8736b7a)kb: Grant more access to
prompt_toolkitfeatures (984bfca)number: Added additional kb for dot (
67036f9)number: Added input buffers (
c918cb0)number: Additional customisation around replace mode (
1b81023)number: Allow customisation on decimal symbol (
b0bde41)number: Allow empty buffer default (
adf9f93)number: Allow zero decimal input (
9d09a0f)number: Auto adjust cursor position for negative toggle (
318b2bf)number: Enable full vi mode (
bce0f00)number: Fix sciencetific notation (
da6ade3)number: Force empty result when empty input (
8536691)number: Handle answer (
108b134)number: Handle increase and decrease (
32a77b2)number: Handle number input (
f4103b9)number: Handle sn on text change (
a2175f4)number: Replace mode by default if value is zero (
8145c80)number: Set default value (
ab5a2ae)number: Toggle negative (
c7216bc)style: Added long_instruction class (
011586b)utils: Added transform_async and ListChoices alias (
1a4cb46)
Refactoring¶
Added raise_keyboard_interrupt to prompt initialisation option (
1ac6314)Adjust default keybinding for toggle multiple choices (
0213079)Dedicated container module (
2234e8b)Have tips window stay at the bottom, don’t float #7 (
51d113b)Internal class args (
5aaa092)Keybinding typing alias (
4558f9b)Mirgrate to pfzy (
ba215d1)Move instruction window out of floating layout (
5a7500a)Move spinner to dedicated module (
356a2ab)Overload register_kb instead of creating new methods (
42aa7f4)Private attr (
e1513ee)Remove unused util function (
4db519b)Rename
tipsargument tolong_instruction#7 (df4119e)Rename InquirerPyUIControl to InquirerPyUIListControl (
f2d4262)Rename typing alias (
75266bf)Validation window (
848564b)Validation window (
caef887)base: Remove abstraction for _format_choices (
9c0ab42)base: Remove unused kb bind (
91661ae)checkbox: Use new unicode sequence and remove default spacing (
164ad5f)filepath: Typing alias and update test (
f604321)fuzzy: No border by default (
88501fe)fuzzy: Use _on_rendered instead of after_render (
5e9dd52)input: Better kb registration (
5b712a1)number: Disable replace_mode by default (
e493793)number: Move buffer detection logic (
d2df65c)number: On render (
0052fc9)number: Rename to replace mode (
3b9d27c)number: Use Decimal over float (
7546971)rawlist: Typings (
37ebdde)style: Color update (
e38579b)validator: Update validator attrs to private (
30cbe7e)
Testing¶
Added tests for new raise_keyboard_interrupt option (
e6d2b78)Async execution (
c944eaa)Callable default (
8c17cc0)Check pkg avaialble in both classic and alternaive (
56ddbc9)Height calculation adjustment (
29864c1)Kbi (
1421e94)Long_instruction (
3bf13fc)More coverage (
56b227a)Multiselect & kb (
fb46d86)Refactor (
4305f60)Refactor (
11b1107)Refactor (
fc08357)Remove test for transform_async (
e95dde5)Setup base class tests (
4ad8375)Style test update (
4723978)Tips (
56a3557)Update
long_instructiontests (2fc7ae3)Update due to refactor (
db66090)Update height calculation tests (
4a4b53b)Update kb and style test (
8437068)Update mocking target (
2fd5d41)Update test to handle new async cases (
be5b194)Update test to handle new skipped state (
391d89e)base: _keybinding_factory (
e011dbe)base: Exception handler (
1752036)base: Handle_skip (
903e737)base: Long_instruction height offset calculation (
7c0b86d)base: More coverage (
10c96f0)checkbox: Adjust test for last refactor commit (
c4faadc)filepath: Windows completion (
4828e90)fuzzy: Add test for #20 (
faec808)fuzzy: Exact match (
9faaed8)fuzzy: Height adjustment (
b7df510)fuzzy: Toggle exact (
36b7c57)fuzzy: Toggle_all and filter choice interaction (
7779fd8)input: _handle_completion (
90369a5)number: Additional customisation on replace mode (
cb9d792)number: Decimal (
9af2fef)number: Fix_sn (
a54384f)number: Handle input and answer (
79ef0dd)number: Handle sn (
93bae9f)number: Handle sn on text change (
b45ce2e)number: Handle text change (
8146c67)number: Handle_dot (
a27668f)number: Handle_left handle_down (
7e40e8b)number: Handle_number (
2444881)number: Handle_right (
19c7cb8)number: Init (
2bd573a)number: More coverage (
a5fda50)number: Negative toggle (
7fa9432)number: No default (
065ce68)number: Replace (
8a80ffd)resolver: Async (
d43fdcb)resolver: Keybinding registration (
3bc5e1b)resolver: Skip 3.7 for async for now (
1c030f1)spinner: Added new test (
9c97a97)
v0.2.4 (2021-08-12)¶
Bug Fixes¶
fuzzy: Choices are centered (
4bfb410)
Documentation¶
v0.2.3 (2021-08-04)¶
Bug Fixes¶
Chores¶
Continuous Integration¶
codebuild: Fix poetry (
464fa81)
Documentation¶
Features¶
Calculate wrap lines offset if wrap_lines is configured #11 (
0700711)Enable instruction for non-list type prompts #7 (
3edfd4b)Support wrap lines configuration via argument #11 (
916b607)Support wrap_lines arguments for list type prompts #11 (
8e4621a)confirm: Allow to customize confirm letter and reject letter #13 (
b3764af)
Refactoring¶
Testing¶
Execute (
64b7499)Test instruction for non list type prompt (
6ef321a)Update test spacing (
d62e201)Wrap lines configuration via arguments (
3c9f924)Wrap_lines_offset (
85b5aad)confirm: Custom confirm/reject letter (
578ef68)fuzzy: Fix inconsistent result due to height (
d4f485e)fuzzy: Wrap_lines_offset (
facdfe5)list: Wrap_lines_offset (
a073c1f)
v0.2.2 (2021-07-03)¶
Chores¶
Migrate to poetry (
315878d)
Continuous Integration¶
codebuild: Use poetry (
3d45493)
Documentation¶
changelog: Fix heading (
8904881)
v0.2.1 (2021-07-03)¶
Bug Fixes¶
example: Pizza example fix. Closes #5 (
5a369d6)
Chores¶
pre-commit: Update pre-commit hooks version (
8b2f0e2)
Documentation¶
Features¶
Added parameter to disable the cycle behavior (
00b2fa0)Allow disable cycle in list type prompts #9 (
5f1a610)Configure amark and style for answered questions (
f7fee40)checkbox: Customize amark (
d6136b1)confirm: Custom style for answered questions (
d02e413)expand: Customize style for answered question (
b2d7b52)filepath: Customize answered question style (
9b78eaa)fuzzy: Customize answered question style (
2058cfc)input: Customize answered question style (
25105b0)list: Customize answered question style (
50d38a4)rawlist: Customize answered questions style (
30ad09e)test: Customize answered question style (
40dbc2e)
Testing¶
confirm: Update test (
b452df6)expand: Disable cycle (
e8dc09a)expand: Update (
d6f2c4f)filepath: Update test (
9b2be59)fuzzy: Update test (
5e9a2e6)input: Update test (
c63ff17)list: Disable cycle (
1b1598f)list: Update test (
da0f05d)rawlist: Update test (
802bc69)resolver: Update (
984c549)secret: Update (
f8de346)utils: Update test (
be9b4f8)
v0.2.0 (2021-05-01)¶
Bug Fixes¶
base: Change the behaviour to handle empty qmark string (
10fe4b4)
Co-authored-by: Kevin Zhuang kevin7441@gmail.com
base: Remove question var (
bb94a1d)
Documentation¶
changelog: Update changelog for 0.2.0 (
8daddba)
Features¶
Performance Improvements¶
Add all to prompts (
2d5ce80)
Refactoring¶
base: Move empty qmark check to message line for test to pass (
6bb4687)
Testing¶
v0.1.1 (2021-04-03)¶
Bug Fixes¶
Chores¶
Tooling and dependency (
4475a99)
Continuous Integration¶
github: Coverage (
3683df6)
Documentation¶
Testing¶
fuzzy: Update height test (
df838e0)
v0.1.0 (2021-01-17)¶
Bug Fixes¶
Apply choices based kb in the after_render call (
d501b1f)Class abstraction missing base ABC (
8853380)Don’t merge style by default (
be351a5)Editing_mode should be param at prompt level not question level (
06a382f)Height calculation (
fca11e1)Height offset (
c12544a)Immutable param (
0bc4dc7)Multi default value resolution is messed up by Separator (
1ef3b37)Remove Literal typing to support 3.7 (
0a6b2f1)Sessionresult typing (
aed5604)Type hinting (
5f8dc25)Typing and unnamed question (
a7835f9)Typing for keybindings (
b762c3d)Typing of transformer and filter (
063b70c)Typo (
37f6b56)Update tests params (
452b42a)Update validate type hinting (
280c683)Validation toolbar position (
324d80e)base: Fix value cannot be other type other then str (
0a6baf3)base: List prompts validation toolbar position fix (
ddc8247)base: Transformer wrong param (
ebe0c52)checkbox: Handle enter was not overrided (
27ecf9d)confirm: Kbi raise (
5765286)expand: Clear keys on re-render (
c040fdd)expand: Default param should be key (
5a8da18)expand: Override toggle all to handle ExpandHelp (
3a58590)filepath: Incosistent completion when starts with “./” (
6c8214f)fuzzy: Cursor lost after transition of empty choice (
e43516a)fuzzy: Don’t force async in normal application (
0ea8be1)fuzzy: Frame color (
ed7527a)fuzzy: Inconsistent height (
197daed)fuzzy: Index error for UIControl (
1471c5e)fuzzy: Index issue when running fitering (
7b3588b)fuzzy: Marker style (
7e6d2ae)fuzzy: Prompt highlight (
eb77343)fuzzy: Pyright fail (
6a8b7f4)fuzzy: Style issues, conditional wrapper not expected and index (
a6c1b38)fuzzy: Typo (
00d69db)fuzzy: Validation exception when no filtered choices (
6be7caf)list: Default should not be required (
185e23c)list: Remove unnecessary calls (
41db089)rawlist: Limit choices to 9 (
ffe2fce)rawlist: Properly handle separator when applying keybindings (
4e6fd83)rawlist: Spacing (
bde8d40)resolver: Don’t alter original question dict (
7a2574b)resolver: Properly parse env variable (
6f9bbb7)resolver: When condition (
b575ec6)secret: Prompt token missing space (
5a0d5c7)secret: Transformer not transforming value (
ccd51ce)secret: Wrong default param value (
ef769a2)utils: Height calculation avoid extra small size (
5ac1863)validator: Unused typing (
ac9c598)
Chores¶
Added coverage config (
3f48617)Added isort spec (
8f602a9)Added pre-commit (
3111819)Ignore fzy in coverage (
1ef22bc)License (
e82bf6c)Update requirements-dev.txt (
7ba1bd6)Update requirements.txt (
ef30a84)Update requirements.txt (
d71a1ea)example: Added example for checkbox (
959ce84)example: Added example for expand (
55daa49)example: Added fuzzy example (
3c8355a)example: Added more example (
78d88d4)example: Added new example (
c7e519c)example: Added rawlist example (
ad0e614)example: Enhance the case (
89c61c8)example: Secret example update (
6bcfa79)example: Update checkbox example (
9109f96)example: Update classic demo (
75f3dd1)example: Update confirm example (
845bac7)example: Update examples (
97c2ebc)example: Update expand example (
402579f)example: Update filepath example (
5fd6286)example: Update fuzzy example (
ee9f40a)example: Update input example (
8827ac0)example: Update list example (
1cd4967)example: Update rawlist example (
4e0949b)example: Update sample code (
aabda58)example: Update sample file link (
fd3e84c)example: Update sample file url (
f57ae38)examples: Fix example param (
20e890a)examples: Update list and fuzzy example (
6bfa86a)
Code Style¶
Continuous Integration¶
Documentation¶
Added docstring to use files (
ef9dc8f)Fix demo code (
c207eea)Update (
280c59d)Update example (
83988b5)Update param default type hinting (
fbb61fb)Update some doc string for validator and resolver (
24c042a)base: Document inheritance (
0bad563)base: Update doc string (
14a596c)fuzzy: Override kb (
7817445)readme: Added links to wiki (
a7ef9aa)readme: Added requirements (
cdd43f2)readme: Badge (
d7aca63)readme: Fix example (
d23800c)readme: Init (
c5a8cad)readme: Update (
86c2b22)readme: Update example code snippet (
151dabe)secret: Document class (
d3cecba)
Features¶
Add customization option for validation toolbar (
86867eb)Added another entrypoint to create prompts (
0782124)Added base class for simple prompts (
0e07ff2)Added more style options (
7fcea53)Added multiline option for input prompt (
b564342)Added offset to height calculation (
4d5b67a)Added separator style class (
fd0bd7a)Added transformer (
2d718a7)Added validate for ComplexPrompt (
54b17c8)Adding height configuration for all complex prompts (
8af03c2)After_render retrieve callable choices (
b46057c)Allow both behavior of setting default value for rawlist and (
ef3c3b1)Allow choices to be callable (
8676c9c)Customize keybindings (
7767a05)Display validation toolbar in a float container (
128e043)Env configure raise kbi (
c9175dc)Message callable (
8df98cb)Multicolumn_complete (
a628bb2)Optional hide cursor (
72f5c88)Optional keyboard interrupt (
16521e4)Update default value behavior and lexers (
37189e5)base: Public kb register function (
49bf8f2)base: Show cursor (
2ee8c57)checkbox: Added more key_bindings (
5a63c7c)checkbox: Handle separator (
7aa6201)checkbox: Implemented basic functionality (
e25cbea)checkbox: Init (
566ab37)checkbox: Update default pointer behavior (
fcf4e98)choice: Update selected_choice_index when result count is less (
0ea3d71)confirm: Init confirm prompt (
515a2d2)confirm: Safer parameter passing (
bfde87d)expand: Allow instruction override (
6f45d88)expand: Deny key binding if not expanded (
15cacac)expand: Expand the prompt (
7966d80)expand: Fix separator handling (
6f4df9c)expand: Init (
7066bc4)expand: Replicate behaviro of expand help option in Inquirer.js (
8b0405f)expand: Setup keybinding_factory (
f95d7da)filepath: Allow custom validation (
e30fffa)filepath: Complete in thread (
d99b18d)filepath: Complete only files (
e500db0)filepath: Customise editing mode (
f0c6357)filepath: Filter directories (
41a8692)filepath: Implemented default functionality (
1d9e12f)fuzzy: Add validation toolbar to floating (
a478b57)fuzzy: Add validator (
870de43)fuzzy: Added fuzzy to resolver (
59087ff)fuzzy: Added more styling option and border (
5993921)fuzzy: Async filter (
22d66ad)fuzzy: Calcualte wait time (
c53397f)fuzzy: Customize height (
70605b9)fuzzy: Default lexer for the filter bar (
1259079)fuzzy: Display selected number as info (
68ebfe5)fuzzy: Filter choices (
a86c8bf)fuzzy: Filter in async (
c551f19)fuzzy: Handle optional multiselect (
e169d22)fuzzy: Highlight matched string (
5a40746)fuzzy: Improve render performance (
840834b)fuzzy: Load choices after render if callable (
bf7a17c)fuzzy: Set default value to buffer if passed in (
21ea20f)fuzzy: Setup fuzzy processing function (
8350119)input: Added input prompt (
aedc320)input: Prettier input for multiline (
80b187a)list: Allow more value type (
1c9a3c9)list: Allow separator (
b9327a5)list: Change default pointer behavior (
0fa902f)list: Init the list prompt (
4355b8f)rawlist: Display index as input in prompt message (
31aa1f8)rawlist: Handle separator (
073d218)rawlist: Implemented rawlist (
e55c4f1)rawlist: Set a different default pointer behavior (
12fefcb)resolver: Added filepath mapping (
2144a01)resolver: Added filter (
a9c578e)resolver: Conditional question (
961b464)resolver: Read environment variable for style and keybindings (
9591047)secret: Basic secret prompt (
75d8571)utils: Added color print func (
a6248ad)utils: If height is provided, set max_height to 100% (
92d72f4)utils: Patched_print (
69f17e4)utils: Resolve ENV even if style_override (
dd92452)utils: Set default max_height to 50% (
51146de)validator: Added a basic empty validator (
d709c26)validator: Added basic validator class (
057ddc6)validator: Added more condition for filepath validator (
c8fff6e)validator: Added NumberValidator (
369a96c)validator: Added password validator (
dc37fbe)validator: Export only required validators (
e1d3d3f)
Refactoring¶
Abstract _format_choices (
53d9edc)Abstract common function between fuzzy and BaseComplexPrompt (
63b2c75)Added base class for simple prompts (
f8391f8)Added multiselect to rawlist and expand (
b1e4cd8)Adjust default keybinding, alt-i has weird issues (
4557d9b)Adjustment around default exception, style (
353b8fc)Change default fuzzy_info color (
be7dbb5)Change movement function to private function (
66b2e22)Change param name to match Inquirer.js or PyInquirer (
17dc323)Change style qmark to questionmark (
6d03e84)Choices callable with result as param (
03ddfb6)Enable multiselect for all list type prompt (
ae78aa5)Format style (
0432d5c)Hide choice window when loading (
85f2087)Kb registration decorator (
f242051)List type prompt default callable (
371c928)Move _register_kb up to parent class (
1340a0d)Move common attribute def into base class (
4bddd97)Move common string to enum module (
a803270)Move filter in to baseclass (
8c71348)Move filter into baseclass (
e561433)Move handle_enter, instruction to base class and doesn’t (
319309f)Move height calculation to util (
01ef398)Move keybinding resolving logic to base class (
d6e4f34)Move validate to _handle_enter (
7114c74)New param session_result (
8ddced0)Optional style even at the base class (
7c41dac)Rename option to choice (
6a97979)Rename symbol to qmark (
cdf0e10)Rename util to utils (
fdedd02)Rename validator to validate (
f3397ff)Style qmark change to questionmark (
c1171f6)Update attribute name and refactor default style processing (
6a06d87)Update class name (
07e79fd)Update editing_mode param to vi_mode (
d113a23)Update exception name (
4d366e7)Update filepath and secret to use input as base class (
04e793d)Update how to apply keybinding, for customize kb by user (
e2f5aa1)Update import (
d710f37)Update style processing (
77a92b4)Update typing (
2b145e4)Use a style class instead of plain dict (
5b8d674)base: Added common string as param (
0a95a0d)base: Adjust type definition (
62fccc3)base: Base class set lexer class (
74d7bfc)base: Check index error before returning value (
3155979)base: Move old code to complex prompt (
4a0556c)base: Private function (
e280bed)checkbox: Refactor into function for key_bindings (
0f91288)checkbox: Set cursor position (
305b8a1)checkbox: Update selection logic (
6723656)confirm: Adjust structure, change to class for easier test (
629caa1)confirm: Stop raising keyboardinterupt, let prompt_toolkit do (
187b6f5)examples: Move examples (
84ac923)expand: Set cursor position (
1ab6c4e)filepath: Use InputPrompt as base class (
32c9157)fuzzy: Cleaup and performance (
505a747)fuzzy: Inherit from newly created class (
0ce123d)fuzzy: Leverage prompt toolkit eventloop (
1a9a057)fuzzy: Private attributes if not needed (
79b37a3)input: Clean up condition (
ab9c6f9)list: Abstrct the list class (
43c2a48)list: Remove unused attribute (
ec62b41)list: Set cursor position (
853b4da)resolver: Rename secret to password (
5f99b7b)separator: Pyinquirer compatible (
0e68354)
Testing¶
Choices callable with result as param (
6d6e468)Filter and transformer (
181b030)Fix call check (
736b3e8)Layout adjustment due to validation bar added to float (
86be91f)List type prompt default callable (
b393f5f)Multicolumn_complete (
9ee271a)Multiselect enter behavior of ListPrompt (
b0d2f3f)New param session_result (
0a1e70b)Unnamed question (
bc132a4)Update color (
029bee5)Update due to refactor (
e84851f)Update editing_mode param to vi_mode (
a39ca67)Update style test (
1f1d173)Update test due to style update (
d6cd3af)Update test for multiselect (
98b0a53)Update test to match the changing default behavior (
173a282)Update test variables (
92e766a)Update tests due to changes to prompt param (
99a0136)checkbox: After_render (
1bf3ba3)checkbox: Alt-a and alt-r process (
50a8001)checkbox: More coverage (
9ec1b8b)checkbox: Test checkbox (
046979e)checkbox: Test validator (
fe3c6e6)checkbox: Update (
67ab947)checkbox: Update kb check (
bc05e99)checkbox: Update kb test (
099452c)confirm: Init test for confirm prompt (
9918af0)confirm: Kbi raise (
53266c9)confirm: Update test due to adjustment of parameter name (
b5691d3)confirm: Update test to adjust change of class (
195a918)expand: Full coverage (
77d48bb)expand: Test content_control (
1ed13d4)expand: Test key against expand state (
bbdc853)filepath: Only_files (
035dd83)filepath: Test callable called (
64ab4ae)filepath: Test completer (
12f1b78)filepath: Test get prompt message (
c961a97)fuzzy: After_render (
6ddb9b2)fuzzy: Filter in async (
bd300ec)fuzzy: More coverage (
a55c4aa)fuzzy: Test fuzzy prompt init, height and filter (
4ddace0)fuzzy: Test fuzzy validator (
e777529)fuzzy: Test validation issue (
9defade)fuzzy: Tested choice content_control (
d4eff39)fuzzy: Toggle all (
8904000)fuzzy: Update (
37b4319)fuzzy: Wait_time (
9b748cf)input: Filter and transformer (
5556484)input: Fully test input prompt (
ec39860)list: After_render (
2250ef0)list: Cover minimum args (
0206051)list: Layout test update (
0bc8299)list: Show cursor (
4b5c5f6)list: Unittested list prompt (
df850b0)list: Update (
64029da)rawlist: Implemented (
09b882a)rawlist: Limit choices to 9 (
c11816a)rawlist: Update (
e17ee6b)rawlist: Update test to cover new default value behavior (
8eee103)resolver: Added covreage for filter, transformer and (
7b4a88d)resolver: Custom keybindings (
85646d8)resolver: Env raise kbi (
29bfaa7)resolver: Env resolve priority (
cde1d98)resolver: Fully cover resolver cases (
521cc25)resolver: Kbi (
31a4cbd)resolver: Rename secret to password (
fb53f53)resolver: Single question dict (
1a2be60)resolver: Test question mapping (
41c343b)resolver: Update keybinding test (
345962b)resolver: When condition fix (
1280029)secret: Complete unittest from secret prompt (
3defc16)secret: Init test (
fca9fb4)utils: Calculate height offset (
90549d8)utils: Color_print (
efc126b)utils: Format style (
e1f07c0)utils: Move test to utils (
2144dcc)utils: Update height test (
3a8bdd2)validator: Init test for validators (
ca730af)validator: Numbervalidator (
0270ab3)validator: Pathvalidator (
a1ea81c)