Glossary of Common Concepts#


An object that represents a single computation. Records can be simple (a singlepoint computation), or can contain a complex service, which may contain many child records. The record stores the input information and, if the record has been successfully computed, the results of the computation.


An object containing symbols and geometry of atoms. It may also contain information such as bonding and identifiers. Molecules in this way are defined to be a specific geometry.

See Molecules


A specification details how a computation should be run. For example, an OptimizationSpecification contains information about the program used to run the optimization, which method or basis, and other input information.

A specification applied to an input molecule results in a record.


A task is a self-contained object that represents a computation to be run. Tasks are mostly for internal use by the server and managers, although they can be retrieved for help in debugging problems.

Every task is associated with a record, although not every record has a task. Tasks that are completed are typically deleted from the server, with the data being copied to the record. See Tasks and Services.


A hard-coded workflow that run on the server. The workflow is responsible for creating new records, and then iterating when all those records have been successfully computed. See Tasks and Services.

internal job#

An internal job is a specific action or piece of work that is to be run on the server. This is in contrast to a task which are to be run on distributed managers.

See Internal Jobs

compute manager#

A compute manager (or just manager) is a process that requests tasks from the server and then sends them to be computed. Simple managers may just compute them by itself, although for production-level infrastructure these tasks are then queued to be run elsewhere (on an HPC cluster, for example). See Compute Managers in the user guide.

routing tag#

A routing tag (or just tag) is a user-specified string to assist in the routing of tasks. Managers can be set up to only requests tasks that are assigned a specific tag. This can assist with directing certain tasks to special hardware, for example. See Routing tags.


A dataset is a collection of similar records. A dataset contains entries which typically correspond to input molecules, and specifications that define how a computation is to be run.

See Using datasets

dataset entry#

An object that represents a molecule or similar input in a dataset. The specifications of the dataset are then applied to the entries.

See Using datasets

dataset specification#

An object that represents a specification in a dataset. Typically these are just specifications with an attached name, making it easier to organize a dataset.

Specifications are then applied to entries to form records that are associated with the dataset.

See Using datasets