syside.Pipeline

class Pipeline
schedule(documents: Sequence[syside.SharedMutex[syside.BasicDocument]], options: syside.ScheduleOptions = ..., invalidated: Sequence[syside.SharedMutex[syside.BasicDocument]] = []) syside.Schedule

Schedule documents for building with this Pipeline. documents with build_state equal or greater to the state at the end of particular pipeline stage will not be scheduled for that stage. For example, a document with build_state >= BuildState.Parsed will not be scheduled for parsing.

Pipeline also accepts additional invalidated documents that will have their semantic states reset. These documents will then pass through sema and validation stages as normal. This should typically be used for documents that have had their dependencies modified. Any documents for which build_state < BuildState.Built will not be invalidated as there should be nothing to invalidate.

The returned schedule should be executed on an Executor:

executor = syside.Executor(...)
schedule = pipeline.schedule(...)
...
result = executor.run(schedule)
__cpp_name__: str = 'syside::Pipeline'