workflow

module of dascore source

Machinery for describing, identifying and composing DASCore operations.

An operation is a Task: a frozen object whose fields are its parameters, which knows its own fingerprint and can be written to a document and read back. Alongside them are the two ids a patch carries – which data it is, and what was done to it – which is how a result says where it came from without a record of the run beside it.

Functions

Name Description
advance Return the processing id an operation leads to.
canonical_json Return the canonical JSON text of an object.
combine_hashes Return one digest standing for an ordered series of digests.
decode Return the object a document-mode encoding stands for.
digest Return a stable 16 character digest of any encodable object.
encode Return a JSON-safe tree standing for an object.
fingerprint_call Return the digest which identifies one call to a patch function.
fold_patch_ids Return the patch id of a patch combined from several.
fold_processing_ids Return the processing id which several inputs agree on.
intern Return one shared instance for every task which equals the given one.
make_function_task_class Return a Task subclass whose fields are a function’s parameters.
new_patch_id Return an id for data which names no source.
register_implementation Say that a hand-written class is what a patch function’s name means.
register_kernel Say that a function is how an operation runs on one array backend.
resolve_patch_function Return the patch function a tag names, else say what is missing.
source_patch_id Return the id of data read from a file.
task Turn a function into a Task subclass.

Classes

Name Description
ArrayFunc A numpy array function applied to a patch.
Concatenate Putting patches end to end along a dimension.
PatchMeta Everything a patch carries except its data.
PatchOp Any patch function, as a task.
PatchProcessor A task which runs on a patch, written out by hand.
Stack Adding patches together.
Task Base class for a fingerprintable, serializable operation.
Ufunc A numpy ufunc applied to a patch.

Modules

Name Description
builtin The operations DASCore performs which are not patch functions.
checks What an operation requires of a patch before it runs.
identity What a patch is, and what was done to it.
meta What a patch is, apart from its values.
processor A patch operation, as a task.
serialize Canonical encoding, decoding and hashing for workflow objects, and the files
task The immutable, fingerprintable unit of work DASCore’s workflows are built of.