Static analysis

Deal can do static checks for functions with contracts to catch trivial mistakes. Use flake8 or flakehell to run it.

Another option is to use built-in CLI from deal: python3 -m deal.linter. I has beautiful colored output by default. Use --json option to get compact JSON output. Pipe output into jq to beautify JSON.

Codes

Code Message
DEAL001 do not use from deal import ..., use import deal instead
DEAL011 post contract error
DEAL012 raises contract error
DEAL013 silent contract error