Pedantic has a validate_arguments decorator that while in beta, I think does what you want: https://pydantic-docs.helpmanual.io/usage/validation_decorat...
I have used a combo of attrs and fastjsonschema to do dataclass validation on instance construction.
It works great for a python stack and you can generate some clean looking code if you have a reusable data class package
Design-by-contract, perhaps? There are a couple libraries like this currently, and you could pretty easily write your own framework for it.
Also, Attrs and Pydantic both support arbitrary additional validation on fields.
What I've really been looking for something that I can just use to check a data structure i'm passing in to a function call is valid. One use case is related to state machines, where I'm providing some data along with a transition name, and want to make sure the combination of transition + data is valid.