It's tedious if you wanna validate a complex structure. Most of these libraries are meant to validate stuff that is user input. Imagine I load a complex input from a configuration file into a nested dict and checking it, that'd be really tedious to do manually. A couple checks here or there are ok, but they get confusing and difficult to maintain very quickly. Stuff like optional values, enumerated values etc are also not much fun.
Also error messages for the user. I've mostly used Voluptuous, but it provides much easier to understand error messages.
Also error messages for the user. I've mostly used Voluptuous, but it provides much easier to understand error messages.