Understanding the modules and classes of Blender's API in Python can seem confusing, especially with the documentation being generated and functional with few examples and even fewer explanations.
This guide is a visual orientation that maps out the modules, shows you which you need to care about, how they relate, and how to use them in code.
Within the key modules, we look at the properties and methods that are key, how to use them, how to find values for the arguments and parameters, and what pitfalls to avoid.
This is not a learn-to-program manual, and it is not filled with examples, instead, it is the guide to show you how to navigate the documentation so that you can understand what the examples on the web are doing and how you can find what you need to modify those examples to do what you want.
Note that because the examples discuss the general python architecture, they should be used as guidelines to find the structure and methods that you need, and are not highly dependent on Blender version changes. When a breaking change occurs, I will flag it and produce an updated version, but this product should be future-proofed as it doesn't deal with specific calls or developing areas. The core of the Python API has remained unchanged, with only edge-cases being reworked since v3.5.