Package

In Python, a package is a directory hierarchy that allows you to organize related modules and subpackages. Packages allow you to structure your Python code in a logical way, making it manageable for large codebases.

A package is essentially a directory that contains a special file named __init__.py, which can be empty or include some initialization code for the package. This file tells Python that the directory is a package. By using packages, you can avoid module name collisions and create a clear namespace for your modules.

You can also have subpackages within a package, allowing for even deeper levels of organization. This hierarchical structure is particularly useful for large applications and libraries.

Example

Here’s a simple example of a package structure:

package/
├── __init__.py
├── main.py
└── core.py

Now say that main.py contains a function called some_function() and core.py contains another_function(). You can use this package in your code as shown below:

Python
import package.main
import package.core

package.main.some_function()
package.core.another_function()

from package import main, core

main.some_function()
core.another_function()

The __init__.py file can also be used to import specific functions or classes from the modules, simplifying the import statements in your main code.

Tutorial

Python Modules and Packages – An Introduction

This article explores Python modules and Python packages, two mechanisms that facilitate modular programming.

basics python

For additional information on related topics, take a look at the following resources:


By Leodanis Pozo Ramos • Updated Jan. 2, 2025 • Reviewed by Dan Bader