Re-exported all modules after restructuring:
- Updated _modidx.py with new module locations
- Removed outdated autogeneration headers
- Updated all core modules (tensor, autograd, layers, etc.)
- Updated optimization modules (quantization, compression, etc.)
- Updated TITO commands for new structure
Changes include:
- 24 tinytorch/ module files
- 24 tito/ command and core files
- Updated references from modules/source/ to modules/
All modules re-exported via nbdev from their new locations.
CLI improvements for better UX:
- Renamed 'tito community submit' to 'tito community share'
- Removed tito/commands/submit.py (moved to module workflow)
- Updated tito/main.py with cleaner command structure
- Removed module workflow commands (start/complete/resume)
- Updated __init__.py exports for CommunityCommand
- Updated _modidx.py with new module exports
Result: Cleaner CLI focused on essential daily workflows and
clear distinction between casual sharing vs formal competition.
- Removed numeric shortcuts (tito 01) in favor of clear hierarchical commands
- Fixed CLI config to point to modules/ directory instead of assignments/source
- Updated help text to show proper hierarchical structure:
- tito setup (first-time setup)
- tito module view 01_tensor (start building tensors)
- tito module view 02_activations (add activation functions)
- Hierarchical structure is clearer and more professional
- Successfully tested: tito module view 01_tensor opens Jupyter Lab correctly
- Added new help command with comprehensive documentation
- Enhanced leaderboard command with better formatting and functionality
- Improved module command with updated configuration handling
- Updated core config to support new module structure
- Removed obsolete tinytorch_placeholder package
- Improved CLI user experience and error handling
- Change 'tiny' letters to bold orange1 for flame effect
- Simplify flame display to two bookend flames framing TORCH
- Improve color harmony between tiny letters and ASCII art
- Create bold ASCII art logo with 'tiny' spelled vertically
- Add flame banner above TORCH for visual impact
- Update tagline to 'Don't import the future. Build it from tensors up.'
- Simplify logo command to show philosophy and meaning
- Remove unused preferences system
- Clean up display logic and improve color scheme
The new design features 'tiny' integrated vertically alongside TORCH,
creating a unique visual identity that reinforces the framework's philosophy
of building from small foundations up to powerful systems.
- Implement complete capability showcase system (11 demonstrations)
- Add auto-run showcases after successful module completion
- Create interactive launcher for easy showcase navigation
- Integrate with tito module complete workflow
- Add user preference system for logo themes
- Showcase student achievements without requiring additional work
- Demonstrate real ML capabilities from tensors to TinyGPT
- Use Rich terminal UI for beautiful visualizations
- Fixed logo.py to use Rich Text objects instead of markup strings
- Fixed console.py print_ascii_logo to properly handle Rich markup
- Rich formatting codes like [dim] and [orange1] now display as actual formatting
- All logo variants (simple, full, animated, bright theme) now work correctly
- Text objects constructed manually to properly apply styling
- Verified with testing: markup no longer shows as literal text
- Extract status analysis logic from standalone script into tito/core/status_analyzer.py
- Refactor tito/commands/status.py to support both basic and comprehensive modes
- Add --comprehensive flag for full system health dashboard
- Comprehensive analysis includes environment health, module compliance, and actionable insights
- Remove standalone tinytorch_status_checker.py script
Users can now run 'tito module status --comprehensive' for complete system analysis.
- Added modules_dir to CLIConfig (alias for assignments_dir)
- Made environment validation warning-only to allow development
- Command now works: generates notebooks and launches Jupyter Lab
- Tested successfully with 'tito module view 02_tensor'
The view command is fully functional for interactive development.
- Replace str | None with Optional[str] in export.py
- Replace list[str] with List[str] in config.py
- Add missing typing imports for compatibility
- Ensures CLI works on Python 3.8 systems
- Remove unnecessary module_paths.txt file for cleaner architecture
- Update export command to discover modules dynamically from modules/source/
- Simplify nbdev command to support --all and module-specific exports
- Use single source of truth: nbdev settings.ini for module paths
- Clean up import structure in setup module for proper nbdev export
- Maintain clean separation between module discovery and export logic
This implements a proper software engineering approach with:
- Single source of truth (settings.ini)
- Dynamic discovery (no hardcoded paths)
- Clean CLI interface (tito package nbdev --export [--all|module])
- Robust error handling with helpful feedback
- Migrated all Python source files to assignments/source/ structure
- Updated nbdev configuration to use assignments/source as nbs_path
- Updated all tito commands (nbgrader, export, test) to use new structure
- Fixed hardcoded paths in Python files and documentation
- Updated config.py to use assignments/source instead of modules
- Fixed test command to use correct file naming (short names vs full module names)
- Regenerated all notebook files with clean metadata
- Verified complete workflow: Python source → NBGrader → nbdev export → testing
All systems now working: NBGrader (14 source assignments, 1 released), nbdev export (7 generated files), and pytest integration.
The modules/ directory has been retired and replaced with standard NBGrader structure.