Skip to content

API Reference

Most interaction with Forgather happens through the CLI or configuration files, but the Python API is available for programmatic use — loading projects in notebooks, building custom training loops, or integrating with external tooling.

Modules

Module Key classes
Project System Project, MetaConfig, ConfigEnvironment
Trainers Trainer, DDPTrainer, FSDP2Trainer, PipelineTrainer
Callbacks TrainerCallback, JsonLogger, DivergenceDetector, TrainerControlCallback
Checkpoints CheckpointMeta, save_checkpoint, load_checkpoint
Optimizers AdamW, Adafactor, Apollo, schedulers
Datasets FastDatasetLoaderSimple, InterleavedDataset, dataset utilities
Analysis TrainingLog, plotting, summary statistics

Quick Example

from forgather.project import Project

# Load a configuration and materialize components
proj = Project("train_config.yaml", "/path/to/project_dir")
training_script = proj()               # Full training script
model_factory = proj("model")          # Just the model factory
model = model_factory()                # Instantiate the model