In projects using PySpark, it's very common to have functions that take Spark DataFrames as input or produce them as
output. It's hard to figure out quickly what these DataFrames contain. This library offers simple decorators to annotate
your functions so that they document themselves and that documentation is kept up-to-date by validating the input and
output on runtime.