pydantic enforces type hints at runtime, and provides user friendly errors when data is invalid.
Define how data should be in pure, canonical Python; validate it with pydantic."
I just learned of the Pydantic project. It uses Python's type hints to validate structured data at the point of use. It sounds interesting.