Repository navigation
v0.3.0
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 kazhala#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 kazhala#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 kazhala#32 (
473f22c) -
fuzzy: Multiselection cannot type space kazhala#20 (
f07f8e7) -
fuzzy: Toggle_all kazhala#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 kazhala#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 kazhala#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 kazhala#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 kazhala#10 (be3576d) -
Allow movement (
edc6f16) -
Allow single dictionary keybinding binds (
3cf99e6) -
Border for list, rawlist, expand and checkbox prompt (
7f97c62) -
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 kazhala#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 kazhala#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_instructionkazhala#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 kazhala#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)
Detailed Changes: v0.2.4...v0.3.0