In Python, there are two types of packages named regular packages and namespace packages. The Regular packages exist in Python 3.2 and previous versions. These packages are used as a directory that contains the
__init__.py file, which is implicitly called or executed.
__init__.py file in Python lets the Interpreter knows that a directory contains a Python code in the module. This file can have the same code as any other Python module.
Files named as
__init__.py are used to flag directories as Python packages.
If this file is removed, Python can not search for submodules in the directory, leading to failure in importing the module.
Main Reasons to Use
__init__.py in Python
your_package/ __init__.py file1.py file2.py ... fileN.py
__init__.py will help in initializing some details like logging at the top.
import logging.config logging.config.dictConfig(Your_logging_config)
__init__.py helps in easing the import of files. A function
fn() can be imported from a file
filename.py when it is in a package.
from filename import fn()