fab.artefacts#
This module contains Artefacts Getter classes which return Artefact Collections from the Artefact Store.
These classes are used by the run method of Step
classes to retrieve the artefacts
which need to be processed. Most steps have sensible defaults and can be configured with user-defined getters.
Classes
This object stores artefacts (which can be of any type). |
|
Abstract base class for artefact getters. |
|
|
Returns a concatenated list from multiple Artefact Collections (each expected to be an iterable). |
|
A simple artefact getter which returns one Artefact Collection from the artefact_store. |
|
Filter build trees by suffix. |
|
Returns the file paths in a Artefact Collection (expected to be an iterable), filtered by suffix. |
- class fab.artefacts.ArtefactStore#
This object stores artefacts (which can be of any type). Each artefact is indexed by a string.
- reset()#
Clears the artefact store (but does not delete any files).
- class fab.artefacts.ArtefactsGetter#
Abstract base class for artefact getters.
- class fab.artefacts.CollectionGetter(collection_name)#
A simple artefact getter which returns one Artefact Collection from the artefact_store.
Example:
`CollectionGetter('preprocessed_fortran')`
- Parameters:
collection_name – The name of the artefact collection to retrieve.
- class fab.artefacts.CollectionConcat(collections)#
Returns a concatenated list from multiple Artefact Collections (each expected to be an iterable).
An
ArtefactsGetter
can be provided instead of a collection_name.Example:
# The default source code getter for the Analyse step might look like this. DEFAULT_SOURCE_GETTER = CollectionConcat([ 'preprocessed_c', 'preprocessed_fortran', SuffixFilter('all_source', '.f90'), ])
- Parameters:
collections (
Iterable
[Union
[str
,ArtefactsGetter
]]) – An iterable containing collection names (strings) or other ArtefactsGetters.
- class fab.artefacts.SuffixFilter(collection_name, suffix)#
Returns the file paths in a Artefact Collection (expected to be an iterable), filtered by suffix.
Example:
# The default source getter for the FortranPreProcessor step. DEFAULT_SOURCE = SuffixFilter('all_source', '.F90')
- class fab.artefacts.FilterBuildTrees(suffix, collection_name='build trees')#
Filter build trees by suffix.
Returns one list of files to compile per build tree, of the form Dict[name, List[AnalysedDependent]]
Example:
# The default source getter for the CompileFortran step. DEFAULT_SOURCE_GETTER = FilterBuildTrees(suffix='.f90')