Files
TinyTorch/pyproject.toml
Vijay Janapa Reddi eafbb4ac8d Fix comprehensive testing and module exports
🔧 TESTING INFRASTRUCTURE FIXES:
- Fixed pytest configuration (removed duplicate timeout)
- Exported all modules to tinytorch package using nbdev
- Converted .py files to .ipynb for proper NBDev processing
- Fixed import issues in test files with fallback strategies

📊 TESTING RESULTS:
- 145 tests passing, 15 failing, 16 skipped
- Major improvement from previous import errors
- All modules now properly exported and testable
- Analysis tool working correctly on all modules

🎯 MODULE QUALITY STATUS:
- Most modules: Grade C, Scaffolding 3/5
- 01_tensor: Grade C, Scaffolding 2/5 (needs improvement)
- 07_autograd: Grade D, Scaffolding 2/5 (needs improvement)
- Overall: Functional but needs educational enhancement

 RESOLVED ISSUES:
- All import errors resolved
- NBDev export process working
- Test infrastructure functional
- Analysis tools operational

🚀 READY FOR NEXT PHASE: Professional report cards and improvements
2025-07-13 09:20:32 -04:00

97 lines
2.4 KiB
TOML

[build-system]
requires = ["setuptools>=64.0"]
build-backend = "setuptools.build_meta"
[project]
name="tinytorch"
version = "0.1.0"
description = "TinyTorch: Build ML Systems from Scratch"
readme = "README.md"
requires-python=">=3.8"
authors = [
{name = "TinyTorch Team", email = "team@tinytorch.ai"}
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Education",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Education",
]
dependencies = [
"numpy>=1.21.0",
]
[project.optional-dependencies]
dev = [
"jupyter>=1.0.0",
"jupyterlab>=3.0.0",
"black>=22.0.0",
"isort>=5.0.0",
"flake8>=4.0.0",
"mypy>=0.950",
"rich>=12.0.0", # For CLI development tools
"pytest>=7.0.0",
"pytest-timeout>=2.1.0", # For test timeouts
]
# CLI development tools (separate from core framework)
[project.scripts]
tito = "tito.main:main"
[project.urls]
Homepage = "https://github.com/tinytorch/tinytorch"
Documentation = "https://tinytorch.readthedocs.io"
Repository = "https://github.com/tinytorch/tinytorch"
Issues = "https://github.com/tinytorch/tinytorch/issues"
[tool.setuptools.packages.find]
where = ["."]
include = ["tinytorch*", "tito*"]
[tool.uv]
cache-keys = [{ file = "pyproject.toml" }, { file = "settings.ini" }, { file = "setup.py" }]
[tool.black]
line-length = 88
target-version = ['py38']
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
python_version = "3.8"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
[tool.pytest.ini_options]
# Test timeouts and configuration
timeout = 300 # 5 minutes timeout for all tests
timeout_method = "thread" # Use thread-based timeout
addopts = [
"-v",
"--tb=short",
"--strict-markers",
"--strict-config",
"--disable-warnings",
]
testpaths = [
"tests",
"modules/*/tests",
]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"integration: marks tests as integration tests",
"unit: marks tests as unit tests",
]