Skip to main content

cli.discover()

Import the Python file at path without running its pipelines, and

Usage

Source

cli.discover(path)

prove every contracted transform it applies, as sverify check does.

A transform applied to sources or nodes is proved on their schemas; one that is not proved, or whose precondition does not follow from the transform feeding it, is recorded instead of raising. A refresh() that runs at import raises (put it under if __name__ == "__main__":).

Parameters

path: str | Path
The file.

Returns

Discovery

A Discovery: the applications (checked), with their reports and

the file’s variables that hold their nodes; the transforms it

never applies (unchecked); and what stopped the import, if

anything (error).

Raises

FileNotFoundError
There is no file at path.