## Finding


One problem [check](check.md#useful_views.check) found.


Usage

``` python
Finding(
    kind,
    path,
    message,
    rule=None,
    recipe=None,
    reason=None,
)
```


## Attributes


`kind: str`  
What kind of problem: one of "unreadable-recipe", "refused", "missing-input", "never-run", "out-of-date", "missing-recipe-folder", "missing-view", "stale-cookbook", "stale-catalog" or "stray-file". The check findings reference lists what each means.

`path: str`  
The file or folder concerned, relative to the project root.

`message: str`  
What is wrong and what to do about it.

`rule: int | None`  
For `refused`, the number of the broken rule; otherwise None.

`recipe: str | None`  
The recipe concerned, when there is one.

`reason: str | None`  
For `out-of-date`, why: "changed" (its recipe.toml or steps no longer match its record), "outputs-changed" (it no longer declares any view it made), "outputs-dropped" (it no longer declares some of them; sync removes them without running it) or "upstream" (a view it reads will be made again). For `missing-input`, "made-by-recipe" when the input is a view another recipe makes, which sync makes first. Otherwise None.
