Files
TinyTorch/pyproject.toml
Vijay Janapa Reddi 3e36b520b3 Complete src-modules separation: Update all symlinks and infrastructure
## Symlink Updates (modules/ → src/)
- Update all 20 site/modules/*_ABOUT.md symlinks to point to src/
- Update all 20 src/*/ABOUT.md internal references

## Infrastructure Changes
- Remove bin/ directory scripts (moved to scripts/ in previous commit)
- Update .envrc: Reference new scripts/ directory structure
- Update pyproject.toml: Reflect src/ as primary source location
- Update docs/development/MODULE_ABOUT_TEMPLATE.md: src/ paths
- Update site/requirements.txt: Documentation dependencies

## Restructuring Complete

The repository now has clean separation:
- `src/`: Developer source code (graded notebooks with solutions)
- `modules/`: Student workspace (generated from src/)
- `scripts/`: Build and utility scripts
- `site/`: Documentation and Jupyter Book website

This enables the intended workflow:
1. Developers work in src/
2. Students receive generated notebooks in modules/
3. Both can coexist without conflicts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 11:30:06 -05:00

67 lines
1.8 KiB
TOML

[build-system]
requires = ["setuptools>=64.0"]
build-backend = "setuptools.build_meta"
[project]
name="tinytorch"
version = "0.1.0"
description = "Build ML Systems from Scratch - Educational Deep Learning Framework"
readme = "README.md"
requires-python=">=3.8"
authors = [
{name = "Vijay Janapa Reddi", email = "vj@eecs.harvard.edu"}
]
license = {text = "MIT"}
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Education",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Education",
]
dependencies = [
"numpy>=1.24.0,<3.0.0",
"rich>=13.0.0",
"PyYAML>=6.0",
]
[project.scripts]
tito = "tito.main:main"
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-cov>=4.0.0",
"jupytext>=1.16.0",
"nbformat>=5.10.0",
"jupyter>=1.1.0",
"jupyterlab>=4.2.0",
]
visualization = [
"matplotlib>=3.9.0", # For plotting in Modules 17, 19, 20
]
docs = [
"jupyter-book>=1.0.0,<2.0.0",
"sphinxcontrib-mermaid>=0.9.2",
"matplotlib>=3.5.0",
"ipykernel>=6.0.0",
"ipywidgets>=8.0.0",
]
[project.urls]
Homepage = "https://github.com/mlsysbook/TinyTorch"
Repository = "https://github.com/mlsysbook/TinyTorch"
Documentation = "https://mlsysbook.github.io/TinyTorch/"
Issues = "https://github.com/mlsysbook/TinyTorch/issues"
[tool.setuptools.packages.find]
where = ["."]
include = ["tinytorch*", "tito*"]
exclude = ["tests*", "modules*", "site*", "docs*", "milestones*", "assignments*"]