Changed Paper link from local PDF download to arXiv external link:
- URL: _static/downloads/TinyTorch-Paper.pdf → arxiv.org/abs/2601.19107
- Icon: ↓ (download) → ↗ (external link)
- Added target=_blank to open in new tab
Improvements based on PR #1105 by @rnjema:
- Add get_platform() function for OS detection
- Use $PYTHON_CMD -m pip for more reliable pip invocation
- Show Windows-specific guidance during installation
- Add text=auto to .gitattributes for cross-platform line endings
Closes#1078
Co-authored-by: rnjema <rnjema@users.noreply.github.com>
- CI now runs both Linux and Windows by default (matrix)
- Updated install.sh to detect Windows venv path (Scripts/ vs bin/)
- Added Windows installation instructions to getting-started.md
- Updated troubleshooting guide with Git Bash guidance
- Windows uses Git Bash for cross-platform bash script compatibility
- Add PDF.js-based slide viewer with navigation controls
- Include progress bar and keyboard navigation (arrow keys, spacebar)
- Support fullscreen mode via browser API
- Add overview slides PDF to static downloads
- Link download button to GitHub releases for actual download
Adds the core TinyTorch philosophy statement to:
- intro.md: Under 'Why Build Instead of Use?' section
- preface.md: After the 'How to Learn' section guidelines
Updates milestone documentation across all site files to match the
actual MILESTONE_SCRIPTS configuration in tito/commands/milestone.py:
- Milestone 01 (Perceptron): requires modules 01-03 (not 01-04)
- Milestone 02 (XOR Crisis): requires modules 01-03 (not 01-02)
- Milestone 05 (Transformers): requires 01-08 + 11-13 (not 01-13)
- Milestone 06 (MLPerf): requires 01-08 + 14-19 (not 01-19)
Also fixes broken link to chapters/milestones.html (directory does not
exist) and corrects path to student notebooks.
- Add TINYTORCH_NON_INTERACTIVE env var to install.sh for CI/scripted usage
- Skip interactive prompts when no TTY available or non-interactive mode set
- Add Stage 7 (Fresh Install) to tinytorch-ci.yml
- Remove separate tinytorch-install-test.yml workflow
- Fresh install now gates PRs/merges like other tests
- install.sh now fetches version from GitHub tags API instead of hardcoding
- README.md badge uses dynamic shields.io GitHub tag filter
- Add release.sh script for version bumping and tagging workflow
Version is now managed solely in pyproject.toml. Other files read it at
runtime or via GitHub API, eliminating version drift across files.
The `tito src` command was never implemented. All documentation
references have been updated to use the correct commands:
- `tito src export` → `tito dev export`
- `tito src test` → `tito dev test`
Also removed 'src' from developer_commands list in main.py since
it doesn't exist as a registered command.
- Replace deprecated tito dev validate with tito dev test flags
- Add all test type commands to Developer Commands table
- Update Developer Workflow section with testing examples
- Add link to new Developer Testing Guide
New testing.md documentation covers:
- Test hierarchy diagram (inline → unit → integration → e2e → milestone → release)
- Quick reference table for all test flags
- Detailed explanations of each test type
- Module-specific testing with --module flag
- CI/CD integration examples
- Test directory structure reference
- Common workflows for daily/feature/release development
- Troubleshooting section
- Update remaining 1957→1958 references across all documentation
- Add tito dev commands (preflight, export, validate) to CLI reference
- Update CLI validation script to recognize new dev subcommands
- Fix milestone year references in tests and workflow code
- Update timeline visualization JavaScript
This completes the Perceptron year standardization to align with
the publication year and academic citation format (rosenblatt1958perceptron).
Cherry-picked from: ebf3fb17b (feature/tito-dev-validate)
- Rename milestone directory from 01_1957_perceptron to 01_1958_perceptron
- Update all references to use 1958 (publication year) for consistency
with academic citation format (rosenblatt1958perceptron)
- Changes affect: READMEs, docs, tests, milestone tracker
Rationale: Using 1958 aligns with the publication year and standard
academic citations, while 1957 was the development year.
Cherry-picked from: 28ca41582 (feature/tito-dev-validate)
Remove 19 unused scripts that were not referenced in any workflows or configuration files:
- 13 validation scripts in .github/tinytorch-scripts/ (never integrated into CI/CD)
- TINYTORCH_RELEASE_PROCESS.md documentation
- Duplicate gs_compress_pdf.py script
- Unused book scripts (footnotes, reorganize_scripts)
- Unused check_no_emojis.py script
- Move tito update → tito system update
- Move tito logo → tito system logo
- Remove tito grade (use tito nbgrader instead)
- Add first-run welcome message for new users
- Update demo scripts and docs for new command paths
- Add 'has-announcement' class to body when bar is visible
- CSS pushes TinyTorch bar and header down when announcement present
- Remove class when announcement is dismissed
Users now get stable, released code instead of potentially untested dev code.
Bug fixes and features still reach users quickly via the release workflow.
- announcement.json config for multiple announcement items
- announcement-bar.js with localStorage dismissal support
- CSS styling with dark mode support
- Workflow auto-updates announcement on release
- Use typing.Optional and typing.Tuple for 3.8 compatibility
- Update installer to check for 3.8+ instead of 3.10+
- Update docs to reflect 3.8+ requirement
- Matches pyproject.toml classifiers