Python packages
A Python package is a directory containing Python modules and a __init__.py file. When we import a package, the __init__.py code is executed. This file contains the imports and code that's required to run other modules in the package. These packages can be nested within subdirectories. For example, the __init__.py file can contain import statements that bring in each Python file in the directory and all of the available classes or functions when the folder is imported. The following is an example directory structure and below that is the __init__.py file, which shows us how the two interact when imported. The last line in the following code block imports all specified items in the subdirectory's __init__.py file.
The hypothetical folder structure is as follows:
| -- packageName/
| -- __init__.py
| -- script1.py
| -- script2.py
| -- subDirectory/
| -- __init__.py
| -- script3.py
| -- script4.py
The top-level __init__.py file's contents is as follows:
from script1 import *
from script2 import function_name
from subDirectory import *
The code mentioned below executes the __init__ script we mentioned previously, and it will import all functions from script1.py, only function_name from script2.py, and any additional specifications from subDirectory/__init__.py:
import packageName