A package is made up of multiple Python files (or modules), and can even include libraries written in C or C++. Instead of being a single file, it is an entire folder structure which might look like this:
Folder package
__init__.pydog.pyhi.py__init__.py
from package.dog import woof
from package.hi import hi
dog.py
def woof():
print("WOOF!!!")
hi.py
def hi():
print("Hello world!")
All Python packages must contain an __init__.py file. When you import a package in your script (import package), the __init__.py script will be run, giving you access to the all of the functions in the package. In this case, it allows you to use the package.hi and package.woof functions.