Files
wehub-resource-sync a8262fc01e
docs / build (push) Waiting to run
docs / deploy (push) Blocked by required conditions
chore: import upstream snapshot with attribution
2026-07-13 13:10:22 +08:00

43 lines
1.5 KiB
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "train-llm-from-scratch"
version = "0.1.0"
description = "Train an LLM from scratch in pure PyTorch — pretraining through SFT, Reward Modeling, PPO, DPO and GRPO/RLVR."
readme = "README.md"
requires-python = ">=3.9"
license = { text = "MIT" }
# Core deps for the model + data path. (The teaching pretraining path also has
# requirements.txt with cu118 wheels; this project install does not pin a CUDA build —
# install the right torch wheel for your machine first if needed.)
dependencies = [
"torch",
"numpy",
"h5py",
"tqdm",
"tiktoken",
"zstandard",
"requests",
]
[project.optional-dependencies]
# Post-training extras (datasets + optional experiment logging).
train = ["datasets", "wandb"]
# The Streamlit control-panel UI.
ui = ["streamlit", "pandas", "altair"]
# The MkDocs Material documentation site.
docs = ["mkdocs", "mkdocs-material", "pymdown-extensions"]
# Everything, for development.
all = ["datasets", "wandb", "streamlit", "pandas", "altair", "mkdocs", "mkdocs-material", "pymdown-extensions"]
# Make the existing import roots installable so `pip install -e .` removes the need for
# `PYTHONPATH=.`. These packages already exist in the repo (additive __init__.py only).
[tool.setuptools]
packages = ["config", "data_loader", "src", "src.models", "src.post_training", "src.post_training.rewards", "ui"]
[tool.setuptools.package-data]
# ship the JSON configs alongside the package
"*" = ["*.json"]