Full Glossary¶
Datafast uses these terms the same way in the documentation, in error messages, and in the API. This page is the official definition of each one. For how the pieces work and fit together, read Key Concepts.
Every entry ends with an Avoid line: words datafast does not use for that concept, usually because they are ambiguous or belong to a different idea. They are listed so that searching for the word you expected brings you to the word datafast uses.
Pipelines¶
Branch path — One named lane inside a Branch, run independently on every incoming record and tagged so JoinBranches can merge the lanes back into a single record. Avoid: arm, fork, leg, track
Checkpoint — The on-disk state of a run: each completed step's records plus a manifest, written so an interrupted run resumes instead of paying for the same LLM calls twice. Avoid: cache, snapshot, save file
Column — A named key on a record, and the unit steps declare that they read and write. Avoid: field, key, attribute
Compile — The static check Pipeline.compile() runs before execution: step order, branch structure, and whether every column a step reads will exist by the time it runs. Not code generation. Avoid: validate, lint, build
Dimension — One axis of variation in a seed: a column (or a parent–child column pair) and the values it takes. Avoid: axis, variable, factor, facet
Execution strategy — The order in which the runner issues LLM calls when a step has several served models: by_model, round_robin, or by_record. Avoid: scheduling, ordering mode
LLM step — A step whose work is LLM calls, which the runner batches, orders, and checkpoints per call rather than per step. LLMStep is the general one; Classify, Score, Compare, Rewrite, and Extract are the specialized ones. Avoid: generation step, model step
Manifest — The checkpoint's index: each step's name, position, status, and record counts, plus a fingerprint of the pipeline that invalidates the checkpoint once the pipeline changes. Avoid: metadata file, state file
Parse mode — The step-level choice of how one raw LLM response is split into named columns (text, json, xml). Distinct from structured output, which is the provider constraining the response in the first place. Avoid: output format, parser mode
Pipeline — An ordered chain of steps composed with >> and run as a unit by Pipeline.run(). Linear by construction: Branch fans out and JoinBranches merges back, but the chain itself never forks. Avoid: graph, DAG, flow, workflow
Prompt template — The prompt text an LLM step fills in per record, with {column} placeholders naming the columns to inject. Given inline or as a file path. Avoid: prompt string, template string
Record — One unit of the dataset in flight, as a plain Python dict. Every step takes records and yields records; nothing else moves through a pipeline. Avoid: row, sample, item, example, datapoint
Runner — The engine that executes a pipeline, materializing each step's output in full before starting the next so checkpointing, resume, and LLM batching all have a boundary to work on. Avoid: executor, scheduler, orchestrator
Sampling strategy — How a Sample step chooses what to keep: uniform, first, last, systematic, top, bottom, weighted, stratified, or gaussian. Unrelated to LLM sampling parameters such as temperature. Avoid: selection mode, sampling method
Seed — The declarative starting point of a pipeline: dimensions combined by Seed.product or Seed.zip into the initial records. Never a random seed — that is the seed parameter on Sample and Sink.hub. Avoid: fixture, matrix, config source
Sink — A terminal step that writes records out — JSONL, CSV, Parquet, a Hub dataset, or an in-memory list — and yields them through unchanged, so sinks can be chained. Avoid: writer, exporter, output step
Source — The step that starts a pipeline by bringing records in from outside it: a Python list, a local file, or a Hugging Face dataset. A seed is the other way to start, building records rather than loading them. Avoid: loader, reader, input step
Step — The unit a pipeline is built from: an object that takes an iterable of records and yields records. Sources, transforms, and sinks are all steps, and so is a pipeline itself. Avoid: node, stage, operator, block
Transform — A step between the source and the sink that reads records and yields reshaped ones. Avoid: operator, processor, mapper
Models and providers¶
Capabilities — What a served model can actually do: the intersection of the model's own traits and the provider's features, declared by Datafast up front rather than discovered at call time. For example, openai("gpt-6-luna") accepts text, images and files, and can switch reasoning on and off. openrouter("openai/gpt-6-luna") is the same model through a different provider, and accepts text and images only, with no reasoning control. Avoid: features, support matrix
Capability profile — A named, reusable Capabilities record shared by served models that behave alike. Avoid: preset, template
Model — The LLM itself, the weights being served. Not the object you call — that's a served model. Avoid: engine
Provider — The server that serves LLMs, whether cloud (OpenAI, Anthropic, Mistral, OpenRouter) or local (Ollama, vLLM, llama.cpp). It serves one or many models, and is not the same thing as the wire protocol used to reach it. Avoid: backend, vendor, host
Provider factory — The module-level function that builds a served model for one provider: openai, anthropic, gemini, mistral, openrouter, ollama, openai_compatible. These are the public way to construct one; ServedModel is exported for annotations. Avoid: constructor, helper, shortcut
Served model — A provider and a model together, with its configuration: the thing you construct and call. Avoid: target, configured target, deployment, model instance
Served-model catalog — The table mapping known provider-and-model pairs to their capabilities, with per-provider and per-model-family fallbacks for pairs it doesn't list. Avoid: registry, model list
Structured output — The provider constraining a whole response to a schema (json_schema, json_object, or prompted_json), which is a capability of the served model. Distinct from parse mode, which splits a response that has already come back. Avoid: json mode, schema mode
Target — Reserved for the pipeline sense: what a transformation aims at, such as a target audience, target length, or target column. Never the provider-plus-model pair, which is a served model. Avoid: served model, model target
Transport — The wire protocol and route used to reach a provider: chat completions versus the Responses API, plus the routing prefix handed to LiteLLM. Independent of the provider, so an OpenAI-shaped transport does not imply OpenAI is the provider. Avoid: provider, backend, endpoint