mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-06-02 01:10:53 -05:00
- Fix syntax errors in setup_dev.py test cells (proper indentation) - Add comprehensive test suite for setup module (test_setup.py) - Test coverage: functions, SystemInfo class, integration tests - Custom test runner (no pytest dependency required) - All 9 tests pass successfully - Update .gitignore to allow modules/ directory for educational structure
Module 0: Setup
Learning Objectives
This module teaches you the TinyTorch development workflow. By the end, you'll be comfortable with:
- Writing code in Jupyter notebooks using nbdev conventions
- Exporting notebook code to Python modules
- Running tests and using the TinyTorch CLI
- Understanding the development rhythm you'll use for all modules
What You'll Build
A simple "Hello World" system that demonstrates the complete development cycle:
- Basic utility functions
- A simple
SystemInfoclass - Tests to verify everything works
- Experience with the full notebook → export → test workflow
Module Structure
modules/setup/
├── setup_dev.ipynb # 📓 Main development notebook
├── README.md # 📖 This guide
└── __init__.py # 📦 Module marker
Development Workflow
1. Work in the Notebook
cd modules/setup
jupyter lab setup_dev.ipynb
2. Export Your Code
python bin/tito.py sync
3. Test Your Implementation
python bin/tito.py test --module setup
4. Check Your Progress
python bin/tito.py info
Key Concepts
- nbdev workflow: Write in notebooks, export to Python
- Export directive: Use
#| exportto mark code for export - Module → Package mapping: This module exports to
tinytorch/core/utils.py - Teaching vs. Building: Learn by modules, build by function (see VISION.md)
- Test integration: Tests run automatically via CLI
- Module development: Each module is self-contained
Success Criteria
✅ All tests pass
✅ Code exports cleanly to tinytorch/core/utils.py
✅ You understand the development rhythm
✅ Ready to tackle the Tensor module
Next Module: Tensor - Core data structures and operations