Files
cs249r_book/tinytorch/pyproject.toml
2026-06-22 19:10:47 +00:00

96 lines
2.5 KiB
TOML

[build-system]
requires = ["setuptools>=82.0.1"]
build-backend = "setuptools.build_meta"
[project]
name="tinytorch"
version = "0.1.13"
description = "Build ML Systems from Scratch - Educational Deep Learning Framework"
readme = "README.md"
requires-python=">=3.10"
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.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>=2.2.6,<3.0.0",
"rich>=15.0.0",
"PyYAML>=6.0.3",
"certifi>=2026.4.22",
"pytest>=8.0.0",
]
[project.scripts]
tito = "tito.main:main"
[project.optional-dependencies]
dev = [
"pytest>=9.0.3",
"pytest-cov>=7.1.0",
"jupytext>=1.19.3",
"nbformat>=5.10.4",
"jupyter>=1.1.1",
"jupyterlab>=4.5.7",
"ipykernel>=7.2.0",
"nbdev>=3.0.15,<3.0.16",
]
visualization = [
"matplotlib>=3.10.9", # For plotting in Modules 17, 19, 20
]
docs = [
"jupyter-book>=2.1.5,<3.0.0",
"sphinxcontrib-mermaid>=2.0.2",
"matplotlib>=3.10.9",
"ipykernel>=6.0.0",
"ipywidgets>=8.1.8",
]
[tool.nbdev]
lib_name = "tinytorch"
lib_path = "tinytorch"
nbs_path = "modules"
doc_path = "_docs"
branch = "main"
recursive = true
tst_flags = "notest"
put_version_in_init = false
custom_sidebar = false
doc_host = "https://tinytorch.github.io"
doc_baseurl = "/TinyTorch/"
[project.urls]
Homepage = "https://mlsysbook.ai/tinytorch"
Repository = "https://github.com/harvard-edge/cs249r_book"
Documentation = "https://mlsysbook.ai/tinytorch"
Issues = "https://github.com/harvard-edge/cs249r_book/issues"
[tool.setuptools.packages.find]
where = ["."]
include = ["tinytorch*", "tito*"]
exclude = ["tests*", "modules*", "site*", "docs*", "milestones*", "assignments*"]
# TinyTorch-specific pytest configuration (overrides parent pyproject.toml)
[tool.pytest.ini_options]
minversion = "7.0"
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"quick: marks tests as quick",
]
# No coverage in TinyTorch tests - we don't need coverage for educational code
addopts = ["--strict-markers"]