Windows Store Python support#65
Conversation
|
Please go through the changes and if there is any issue let me know otherwise please merge it whenever you can so that I can raise new pr for the final issue |
shreyasmene06
left a comment
There was a problem hiding this comment.
Good feature implementation for Microsoft Store Python support! The detection logic and TUI integration look solid. However, there's a critical issue that prevents the plugin from working.
Critical Bug: Plugin Not Registered
The MicrosoftStoreInstaller class is created in standard.py, but it's never registered in plugins/manager.py. The plugin will not be loaded or available.
You need to update plugins/manager.py:
1. Add the import:
from .standard import (
AptInstaller,
AsdfInstaller,
BrewInstaller,
CondaInstaller,
MicrosoftStoreInstaller, # <-- Add this
MiseInstaller,
PyenvInstaller,
SourceInstaller,
WindowsInstaller,
)- Register in _register_builtins():
def _register_builtins(self) -> None:
builtins = [
MiseInstaller(),
AsdfInstaller(),
PyenvInstaller(),
BrewInstaller(),
CondaInstaller(),
AptInstaller(),
MicrosoftStoreInstaller(), # <-- Add this
WindowsInstaller(),
SourceInstaller(),
]
Other Notes (non-blocking)
- Tests would be helpful - especially for the Store version detection logic in version.py
- Consider squashing commits - There are 18 commits with many "Add files via upload" and repeated pycache deletions. A cleaner history would be nice, but not required.
- Good priority choice - Priority 75 (between mise/pyenv at 90-100 and WindowsInstaller at 60) makes sense for Store installations.
What looks good
- Store version detection via py --list parsing
- Fallback scanning of %LOCALAPPDATA%\Microsoft\WindowsApps
- TUI properly shows "Store" label
- Uninstall support via winget
- Tries multiple package ID patterns (Python.Python.X.Y and PythonSoftwareFoundation.Python.X.Y)
Please add the plugin registration and this is good to merge!
|
can you check and merge @shreyasmene06 |
shreyasmene06
left a comment
There was a problem hiding this comment.
All previous feedback has been addressed:
- Plugin now properly imported and registered in manager.py
- Comprehensive tests added (test_store_detection.py)
The implementation is solid: - MicrosoftStoreInstaller properly integrated with plugin system
- Priority 75 makes sense (higher than direct installer, lower than version managers)
- Fallback to alternate package ID patterns (Python.Python.X.Y and PythonSoftwareFoundation.Python.X.Y)
- Store version detection via both
py --listand WindowsApps path scanning - Path info properly merged when detected from multiple sources
- TUI properly displays "Store" label
- Good test coverage for detection logic
LGTM!
Fixes #57
Key Changes