tinytorch/site/tito/overview.md
Purpose: Quick reference for all TITO commands. Find the right command for every task in your ML systems engineering journey.
TinyTorch serves three types of users. Choose your path:
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2rem 0;"> <div style="background: #e3f2fd; padding: 1.5rem; border-radius: 0.5rem; border-left: 4px solid #2196f3;"> <h3 style="margin: 0 0 1rem 0; color: #1976d2;"> Student / Learner</h3> <p style="margin: 0 0 1rem 0; font-size: 0.9rem; color: #37474f;">You're learning ML systems by building from scratch</p>Your Workflow:
# Start learning
tito module start 01
# Complete modules
tito module complete 01
# Validate with history
tito milestone run 03
# Track progress
tito module status
Key Commands:
tito module - Build componentstito milestone - Validatetito module status - Track progressYour Workflow:
# Initialize nbgrader environment
tito nbgrader init
# Generate assignments
tito nbgrader generate 01
# Distribute to students
tito nbgrader release 01
# Collect & grade
tito nbgrader collect 01
tito nbgrader autograde 01
# Provide feedback
tito nbgrader feedback 01
# View analytics & export grades
tito nbgrader status
tito nbgrader analytics 01
tito nbgrader report
Key Commands:
tito nbgrader - Assignment managementtito module - Test implementationstito milestone - Validate setupsYour Workflow:
# Edit source code
# src/01_tensor/01_tensor.py
# Export to notebooks & package
tito dev export 01
tito dev export --all
# Test implementations
tito dev test --unit
tito dev test --inline --module 01
# Before merging
tito dev test --all
Key Commands:
tito dev test - Run teststito dev export - Rebuild curriculumtito milestone - Validate with historyPurpose: First-time environment and profile setup
| Command | Description | Guide |
|---|---|---|
tito setup | Set up development environment (venv, packages, profile) | Module Workflow |
Purpose: Environment health, validation, and configuration
| Command | Description | Guide |
|---|---|---|
tito system health | Environment health check and validation | Module Workflow |
tito system info | System resources (paths, disk, memory) | Module Workflow |
tito system jupyter | Start Jupyter Lab server | Module Workflow |
tito system update | Check for and install updates | Module Workflow |
tito system reset | Reset TinyTorch to pristine state | Troubleshooting |
Purpose: Build-from-scratch workflow (your main development cycle)
| Command | Description | Guide |
|---|---|---|
tito module list | List all available modules | Module Workflow |
tito module start XX | Begin working on a module (first time) | Module Workflow |
tito module view XX | Open module notebook (no status update) | Module Workflow |
tito module resume XX | Continue working on a module | Module Workflow |
tito module complete XX | Test, export, and track module completion | Module Workflow |
tito module test XX | Run module tests independently | Module Workflow |
tito module status | View module completion progress | Module Workflow |
tito module reset XX | Reset module to clean state | Module Workflow |
See: Module Workflow Guide for complete details
Purpose: Run historical ML recreations with YOUR implementations
| Command | Description | Guide |
|---|---|---|
tito milestone list | Show all 6 historical milestones (1958-2018) | Milestone System |
tito milestone run XX | Run milestone with prerequisite checking | Milestone System |
tito milestone info XX | Get detailed milestone information | Milestone System |
tito milestone status | View milestone progress and achievements | Milestone System |
tito milestone timeline | Visual timeline of your journey | Milestone System |
tito milestone test XX | Test milestone achievement requirements | Milestone System |
tito milestone demo XX | Run milestone capability demonstration | Milestone System |
See: Milestone System Guide for complete details
Purpose: Track progress and manage user data
| Command | Description | Guide |
|---|---|---|
tito module status | View module completion progress | Progress & Data |
tito milestone status | View milestone achievements | Progress & Data |
tito module reset XX | Reset a specific module | Progress & Data |
See: Progress & Data Management for complete details
Purpose: Join the global TinyTorch community and track your progress
| Command | Description | Guide |
|---|---|---|
tito community login | Log in to the community via web browser | Community Guide |
tito community logout | Log out of the community | Community Guide |
tito community profile | View/edit your community profile | Community Guide |
tito community status | Show login status and user info | Community Guide |
tito community map | Open global community map | Community Guide |
See: Community Guide for complete details
Purpose: Validate setup and measure performance
| Command | Description | Guide |
|---|---|---|
tito benchmark baseline | Quick setup validation ("Hello World") | Troubleshooting |
tito benchmark capstone | Full Module 20 performance evaluation | Troubleshooting |
See: Troubleshooting for validation and benchmark help
Purpose: Source code development, testing, and contribution (for developers only)
| Command | Description | Use Case |
|---|---|---|
tito dev export <module> | Export src/ → modules/ → tinytorch/ | After editing source files |
tito dev export --all | Export all modules | After major refactoring |
tito dev test | Run unit tests (default) | Quick validation |
tito dev test --inline | Run inline tests from src/ | After editing modules |
tito dev test --unit | Run pytest unit tests | Component validation |
tito dev test --cli | Run CLI tests | After CLI changes |
tito dev test --integration | Run integration tests | Cross-module validation |
tito dev test --e2e | Run end-to-end tests | User journey validation |
tito dev test --milestone | Run milestone tests | Full package validation |
tito dev test --all | Run all test types | Before PRs |
tito dev test --release | Full release validation (destructive) | Before releases only |
Note: These commands work with src/XX_name/XX_name.py files and are for TinyTorch contributors/developers.
Students use tito module commands to work with generated notebooks.
See: Developer Testing Guide for complete testing documentation
Directory Structure:
src/ ← Developers edit here (Python source)
modules/ ← Students use these (generated notebooks)
tinytorch/ ← Package code (auto-generated)
# Install TinyTorch (downloads and sets up everything)
curl -sSL mlsysbook.ai/tinytorch/install.sh | bash
cd tinytorch
source .venv/bin/activate
# First-time profile setup
tito setup
# Verify environment
tito system health
# Start or continue a module
tito module start 01 # First time
tito module resume 01 # Continue later
# Export when complete
tito module complete 01
# Check progress
tito module status
# Edit source files in src/
vim src/01_tensor/01_tensor.py
# Export to notebooks + package
tito dev export 01
# Run tests
tito dev test --unit # Quick validation
tito dev test --inline --module 01 # Test specific module
# Test implementation
python -c "from tinytorch import Tensor; print(Tensor([1,2,3]))"
# Before PR: run all tests
tito dev test --all
# See available milestones
tito milestone list
# Get details
tito milestone info 03
# Run milestone
tito milestone run 03
# View achievements
tito milestone status
# View all progress
tito module status
tito milestone status
Here's what a typical TinyTorch session looks like:
<div style="background: #f8f9fa; padding: 1.5rem; border: 1px solid #dee2e6; border-radius: 0.5rem; margin: 1.5rem 0;">1. Start Session
cd tinytorch
source .venv/bin/activate
tito system health # Verify environment
2. Work on Module
tito module start 03 # Or: tito module resume 03
# Edit in Jupyter Lab...
3. Export & Test
tito module complete 03
4. Run Milestone (when prerequisites met)
tito milestone list # Check if ready
tito milestone run 03 # Run with YOUR code
5. Track Progress
tito module status # See module progress
tito milestone status # See milestone achievements
Every command has detailed help text:
# Top-level help
tito --help
# Command group help
tito module --help
tito milestone --help
# Specific command help
tito module complete --help
tito milestone run --help
Master these commands and you'll build ML systems with confidence. Every command is designed to accelerate your learning and keep you focused on what matters: building production-quality ML frameworks from scratch.