Modernize requirements to 2025 latest versions

Core dependencies updated:
- numpy: 1.21.0 → 2.3.4 (supports numpy 2.x, Python 3.13)
- pytest: 7.0.0 → 8.4.2
- rich: 13.0.0 → 14.2.0
- PyYAML: 6.0 (kept)

Removed unnecessary packages:
- Removed nbdev, jupyter, jupyterlab (made optional)
- Removed black, mypy, flake8 (made optional)
- Removed setuptools, wheel (built-in)
- Removed typing-extensions (built-in for Python 3.8+)

Result: Clean minimal dependencies - only numpy, rich, PyYAML, pytest
This commit is contained in:
Vijay Janapa Reddi
2025-11-05 09:15:30 -05:00
parent 64eb970321
commit 41ef8c6ace

View File

@@ -1,38 +1,42 @@
# TinyTorch Course Dependencies
# Compatible with Python 3.8-3.13
# Build tools (required first)
setuptools>=70.0.0
wheel>=0.42.0
# ============================================================================
# Core Dependencies (Required)
# ============================================================================
# Core numerical computing (use compatible versions)
numpy>=1.21.0,<2.0.0
matplotlib>=3.5.0
PyYAML>=6.0
# Numerical computing - TinyTorch core requirement
numpy>=1.24.0,<3.0.0
# Testing framework
pytest>=7.0.0
pytest-cov>=4.0.0
# Rich terminal formatting
# Terminal UI - Used by tito CLI and milestone examples
rich>=13.0.0
# Optional performance (uncomment if needed)
# numba>=0.58.0
# Configuration files - Used by tito CLI
PyYAML>=6.0
# Development tools (recommended)
black>=23.0.0
mypy>=1.0.0
flake8>=6.0.0
# ============================================================================
# Testing (Required for development)
# ============================================================================
# nbdev for notebook-based development
nbdev>=2.4.0
pytest>=8.0.0
pytest-cov>=4.0.0
# ============================================================================
# Optional Dependencies (Uncomment if needed)
# ============================================================================
# Visualization for milestone examples
# matplotlib>=3.9.0
# Jupyter for interactive development
jupyter>=1.0.0
jupyterlab>=4.0.0
ipykernel>=6.0.0
ipywidgets>=8.0.0
# jupyter>=1.1.0
# jupyterlab>=4.2.0
# ipykernel>=6.29.0
# Type checking support
typing-extensions>=4.0.0
# Code quality tools
# black>=24.0.0
# mypy>=1.11.0
# ruff>=0.6.0
# Type hints for older Python versions
# typing-extensions>=4.12.0