This repo contains several tutorials/descriptions on how to build a Python package. Many of the descriptions that are given come from my own personal experience in building several Python packages. Therefore, they are in no way guaranteed to be the best way of doing certain things, but what I figured is the easiest way.
I also highly recommend using the Spyder editor when making packages, since it has many features that make it much easier to keep everything ordered and structured. For the same reason, using Anaconda and setting up different environments (like, a development and a testing environment) make it easier to keep package building separated from your usual work. This also means, that I refuse to use Jupyter notebooks in this repo, as they are by far the worst way of using Python ever.
Sometimes, I refer in the documentation, comments or TUTORIALs to specific PEPs (or Python Enhancement Proposals). These define the specific rules that are associated with certain Pythonic styles (like PEP 8 for code lay-outs or PEP 440 for version identifiers) or additions that have been made to the Python language. They can be checked here.