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
console
fromscripts.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.py
clean.py
render.py
serve.py
setup.py
visual.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