Understanding Python packages
Python core code is actually small by design to maintain simplicity. Most functionalities will be through adding third-party packages and modules.
Module is a Python file that contains functions, statements, and classes that will be used inside your code. The first thing to do is import
the module then start to use its functions.
On other hand, a package collects related modules connected to each other and puts them in a single hierarchy. Some large packages such as matplotlib
or django
have hundreds of modules inside them, and developers usually categorize the related modules into a sub-directories. For example, the netmiko
package contains multiple sub-directories and each one contains modules to connect to network devices from different vendors:

Doing that gives the package maintainer the flexibility to add or remove features from each module without breaking the global package operation.
Package search paths
Typically, Python searches for modules in some specific...