- Prefer using
Optional[int]rather thanint | None. - If there is an error the user will see (e.g.
ValueError), make sure there is enough context in the message for the user. For example, if it is during an expression parse, include theast.unparse(a)in the error message. - Before finishing, make sure
flake8runs without errors on source and test files. - Before finishing, also make sure
blackruns without modifying files.