Console Import Investigation¶
Current Implementation¶
Key Observations¶
- Console is created locally in
scripts/core/cli.py - Imported globally in
scripts/core/__init__.py - Multiple files import
consolefromscripts.core.cli
Potential Issues¶
- Local console creation in
create_app() - Inconsistent import patterns
- Possible circular import risks
Recommended Refactoring¶
# scripts/core/console.py (New File)
from rich.console import Console
# Centralized console instance
console = Console(
color_system="auto",
force_terminal=False,
width=120
)
# scripts/core/__init__.py
from .console import console
from .cli import create_app, create_command_table
__all__ = ["create_app", "console", "create_command_table"]
# Other files can now import from scripts.core.console
Rationale¶
- Centralize console configuration
- Reduce import complexity
- Improve type consistency
- Prevent potential circular imports
Refactoring Implementation¶
Changes Made¶
- Created
scripts/core/console.py - Centralized console configuration
- Added utility print methods
-
Consistent console settings
-
Updated
scripts/core/__init__.py - Changed import to use new
console.py -
Maintained existing
__all__ -
Updated
scripts/core/cli.py - Removed local
Console()creation -
Updated import to use centralized console
-
Updated Console Imports in Documentation Scripts
build.pyclean.pyrender.pyserve.pysetup.pyvisual.py
Improvements¶
- Consistent console configuration
- Reduced import complexity
- Added utility print methods
- Improved type safety
- Removed duplicate imports
Remaining Tasks¶
- Update imports in other files
- Run type checking
- Verify no breaking changes
Potential Future Enhancements¶
- Add logging configuration
- Create more specialized print methods
- Add configuration options
Impact on Pyright Warnings¶
- Resolved "unknown import symbol" for console
- Improved import consistency
- Reduced potential circular import risks
- Simplified import structure
Next Steps¶
- Run comprehensive type checking
- Test application functionality
- Commit changes to version control