Source: https://media.readthedocs.org/pdf/pep257/0.4.1/pep257.pdf