Command Reference

A reference for the tito commands a student uses. The developer and instructor groups (dev, package, nbgrader, benchmark, olympics) are listed by tito --help. For a practical walkthrough of the daily student routine, see the Student Workflow.

Figure 1: The tito --help command catalog. Shows the top-level command groups, quick start commands, and global options.

Global Options

These options apply to every tito command:

Option Shorthand Description
--help -h Display help text and available options for the command.
--version Display the current installed version of TinyTorch.
--verbose -v Enable detailed diagnostic output and stack traces.
--no-color Disable ANSI terminal colors and rich markup formatting.

Essential Commands

tito setup

Initializes and verifies your local TinyTorch workspace.

tito setup [OPTIONS]
  • What it does: Checks that Python 3.10+ and the virtual environment are active, validates package dependencies, registers the tinytorch Jupyter kernel, and creates your user profile at ~/.tinytorch/profile.json.
  • Options:
    • --force: Prompt to recreate existing components (venv, profile).
    • --skip-venv: Skip virtual environment creation.
    • --skip-packages: Skip package installation.
    • --skip-profile: Skip user profile creation.
  • Idempotency: Safe to run at any time; will never overwrite notebooks in modules/.

tito update

Checks for updates and updates your TinyTorch workspace non-destructively.

tito update [OPTIONS]
# Alias: tito system update
  • What it does: Checks GitHub for the newest tinytorch-v* release tag (always over verified TLS), then replaces src/, tito/, tests/, milestones/, datasets/, bin/, and the project files (requirements.txt, pyproject.toml, settings.ini, README.md, LICENSE) with that release and reinstalls the package. If the update check cannot reach GitHub, it says so and changes nothing.
  • Data safety: First copies your progress files, modules/, and tinytorch/core/ into .tito/backups/pre_update_<timestamp>/. The update never overwrites modules/, .venv/, .tito/, or your exported code in tinytorch/core/.
  • Options:
    • --check: Only check if a new release or branch update is available without installing.
    • --yes, -y: Automatically confirm prompts (useful for unattended scripts).

Module Workflow (tito module)

Commands for managing your 20 progressive curriculum modules.

tito module SUBCOMMAND [MODULE_ID] [OPTIONS]

tito module start <N>

Creates your working notebook from the source curriculum and launches Jupyter Lab.

  • Example: tito module start 01 creates modules/01_tensor/tensor.ipynb.
  • Options:
    • --no-jupyter: Create the notebook but skip opening Jupyter (for CI or testing).
    • --exercise, --assignment: Create student exercise notebook with implementation stubs and solution holes for coursework or self-assessment.

tito module resume <N>

Reopens an already started notebook in Jupyter Lab where you left off.

  • Example: tito module resume 03

tito module test <N>

Runs unit and integration tests against your notebook and implementation directly from the terminal without exporting.

  • Example: tito module test 01
  • Options:
    • --verbose, -v: Show full per-assertion test details and pytest logs.
Figure 2: The three-phase module test. tito module test runs inline checks, module pytest suites with educational feedback, and progressive integration tests without modifying exported code.

tito module complete <N>

Finalizes a module. Re-runs unit tests, exports implementations into tinytorch/, runs integration tests, and marks the module as completed.

  • Example: tito module complete 01
  • Options:
    • --skip-tests: Skip integration test suite.
    • --skip-export: Skip automatic package export.
    • --all: Complete all modules in batch.

tito module status

Displays the learning journey dashboard, showing completed, ready, and locked modules along with your next action.

  • Example: tito module status

tito module view <N>

Opens the module notebook in read-only view mode without altering its status.

tito module reset <N>

Replaces your working notebook with a fresh copy from the curriculum source, clearing all solutions.

  • Example: tito module reset 01
  • Options:
    • --exercise, --assignment: Reset to student exercise notebook with implementation stubs.
    • --all: Reset all module notebooks to pristine state.
    • --force: Skip confirmation prompt.
  • Warning: Destructive to the specified module notebook. Save backup copies first if needed.

Milestones (tito milestone)

Commands for running landmark experiments in machine learning history using your code.

tito milestone SUBCOMMAND [MILESTONE_ID] [OPTIONS]

tito milestone list

Lists all 7 historical milestones, their historical context, and their required prerequisite modules.

Figure 3: The milestone catalog. tito milestone list details the historical era, breakthrough problem, prerequisite modules, and unlocked status for each milestone.

tito milestone info <name|N>

Shows detailed metadata, expected outputs, and historical context for a specific milestone.

  • Example: tito milestone info perceptron or tito milestone info 01

tito milestone run <name|N>

Executes a milestone recreation using your exported tinytorch implementations. A milestone is recorded as complete only when every one of its required parts has passed: Parts 1 and 2 for Milestones 03, 05, and 06, and Part 1 for the others. Milestone 04’s CIFAR-10 part and Milestone 05’s Parts 3 and 4 are optional extensions. Without --part, a multi-part milestone runs its required parts in order; in an interactive terminal Tito first shows a numbered menu where Enter runs the required parts, a number runs one part, and A runs all of them.

  • Example: tito milestone run perceptron
  • Example: tito milestone run mlp
  • Example: tito milestone run 05 --part 3
  • Options:
    • --part <N>: Run and record only this part (e.g. --part 3). The milestone completes once every required part has passed, and the output names any required part still missing.
    • --all: Run every part in order, including optional extensions.
    • --non-interactive, -y, --yes: Run without interactive prompts, using defaults.
    • --skip-checks: Skip prerequisite checks and run as a demo. Nothing is recorded.

tito milestone status

Displays your unlocked milestone capabilities and overall history achievements.


System Diagnostics (tito system)

Commands for inspecting and maintaining your environment.

tito system SUBCOMMAND [OPTIONS]

tito system health

Runs diagnostics on your Python environment, virtual environment activation, required packages, Jupyter kernel registration, and directory structure, then shows your module progress. It exits with status 0 when every check passes and 1 when it reports any issue, so scripts and CI can gate on it.

Figure 4: System health diagnostic. tito system health verifies environment readiness across eleven components, then checks notebook readiness.

tito system info

Displays detailed environment and hardware diagnostic metadata: OS version, Python path, NumPy version, CPU architecture, and available accelerators (MPS on Apple Silicon, CUDA on Linux).

Figure 5: Hardware and environment metadata. tito system info reports Python versions, virtual environment locations, disk space, and memory capacity.

tito system jupyter

Starts the Jupyter server:

  • --lab: Start JupyterLab.
  • --notebook: Start the classic notebook.
  • --port <PORT>: Port to run on (default 8888).

There are no start, stop or status subcommands. Stop the server with Ctrl-C in the terminal that started it.

tito system reset

Resets local student implementations or progress history. Prompts for explicit confirmation.

  • Options:
    • --keep-progress: Clears code but preserves .tito/progress.json.
    • --force: Skips confirmation prompt.

Community (tito community)

Optional commands for joining the global TinyTorch learning community.

tito community SUBCOMMAND [OPTIONS]
  • tito community login: Sign in through your browser. Login shows what a sync uploads and asks whether tito may sync automatically after you complete a module or milestone.
  • tito community sync: Upload your progress now: your account email (as user ID), completed modules and milestones with their dates, completion percentage, and streak. It never uploads code or notebooks.
    • --enable-auto: sync after every module or milestone completion without asking (saved on this machine).
    • --disable-auto: never sync automatically and stop asking; tito community sync still uploads on demand. Setting TITO_NO_SYNC=1 also turns automatic sync off.
  • tito community status: Show the signed-in account and sync state.
  • tito community profile: Show your community profile.
  • tito community map: Open the community map in your browser.
  • tito community logout: Sign out and remove the saved login from this machine.

Environment Variables

Two environment variables change how tito runs:

Variable Default Purpose
TITO_ALLOW_SYSTEM 0 Set to 1 to bypass the virtual environment check (useful for Docker containers or custom Conda environments).
TITO_NO_SYNC unset Set to 1 to never sync progress automatically; tito community sync still uploads on demand.

Three more names come up in practice but are not knobs you turn. TINYTORCH_DEV is read only by the installer, install.sh, where any value other than 0 targets the dev branch instead of main; tito itself never reads it. TINYTORCH_QUIET is set to 1 by tito on every run to suppress autograd startup messages, so exporting it yourself changes nothing. FORCE_COLOR is honored by the rich library that draws tito output rather than by tito; to control color, use the --no-color global option.


See Also

Back to top