Trong Python, namespace package cho phép bạn phân tán code Python giữa nhiều project. Điều này hữu ích khi bạn muốn phát hành các thư viện liên quan như các bản tải xuống riêng biệt. Ví dụ, với thư mục Package-1 và Package-2 trong PYTHONPATH:
Package-1/namespace/__init__.py Package-1/namespace/module1/__init__.py Package-2/namespace/__init__.py Package-2/namespace/module2/__init__.py
Người dùng cuối có thể import namespace.module1 và namespace.module2.
Từ Python 3.3, bạn không cần làm gì thêm, chỉ cần không đặt file __init__.py trong thư mục namespace package và nó sẽ hoạt động. Điều này nhờ Python 3.3 giới thiệu implicit namespace packages (namespace package ngầm).
Các phiên bản Python cũ hơn
Trên các phiên bản cũ, có module chuẩn pkgutil để "mở rộng" module vào một namespace cho trước. Bạn nên đặt 2 dòng sau trong cả Package-1/namespace/__init__.py và Package-2/namespace/__init__.py:
from pkgutil import extend_path __path__ = extend_path(__path__, __name__)
Điều này sẽ thêm vào __path__ của package tất cả các thư mục con của các thư mục trên sys.path được đặt tên theo package. Sau đó bạn có thể phân phối 2 package riêng biệt và tận dụng Python namespaced packages.