Interactive installation wizard in TUI#70
Conversation
shreyasmene06
left a comment
There was a problem hiding this comment.
Excellent implementation of the installation wizard! This is a well-designed feature with a clean multi-step flow.
- Proper multi-step wizard (Version → Installer → Options → Confirm)
- Platform-aware options (Linux source build, Windows PATH)
- Clean integration with existing plugin system
- Good UX with Back/Next/Cancel navigation
- Properly passes **kwargs through the installer chain
- Deleted pycache directories (good hygiene)
Minor Issues (non-blocking)
1. Fix line endings in wizard.py
The file uses Windows CRLF (\r\n) line endings while the rest of the codebase uses Unix LF (\n). Please normalize:
sed -i 's/\r$//' src/pyvm_updater/wizard.py- Consider adding version validation
In next_step(), when collecting the version, you could validate the format:
if self.current_step_idx == 0:
ver = self.query_one("#version-input", Input).value.strip()
if not ver or not re.match(r"^\d+\.\d+\.\d+$", ver):
# Show error to user
return
self.options["version"] = ver
- Tests would be nice (optional, can be follow-up)
The wizard logic could be unit tested, especially:
- Step navigation
- Option collection
- Confirm details formatting
Summary
This is a solid feature that significantly improves the user experience for Python installation. The wizard makes advanced options accessible while keeping the default path simple.
LGTM! 🎉
shreyasmene06
left a comment
There was a problem hiding this comment.
Thanks for adding the version validation! The implementation now includes:
- Regex validation for version format (X.Y.Z)
- Visual feedback with red border on invalid input
- Border reset when valid
The wizard feature is complete and well-implemented.
One remaining minor issue (non-blocking)
CRLF line endings in wizard.py
The file still uses Windows CRLF (\r\n) line endings. This won't break functionality but is inconsistent with the codebase. You can fix with:
sed -i 's/\r$//' src/pyvm_updater/wizard.pyOr configure your editor to use LF line endings.
I'm approving since the CRLF issue is cosmetic and doesn't affect functionality. Great feature addition!
Fixes #58
Summary of Features