This post is about Python distutils. You may wonder, “why distutils?” and not some other Python packaging framework such as setuptools. The reason is that distutils is distributed with Python and it is good enough for simple Python modules. Python offers a few options for packaging, and this can be confusing. That is the other factor in choosing the defacto library that is installed with Python 2 and Python 3.
When first starting with distutils, I landed on the Distributing Python Modules page on docs.python.org, which includes this introduction. This is a great resource, but a little daunting for a newcomer. I left still wondering how to use distutils.
I also found this tutorial for distutils, which included a good outline of the folder structure, but was still a little confusing.
I then found these instructions for packaging Python libraries, which was more complete and had good practical advice.