पायथन में, एक नेमस्पेस पैकेज आपको कई परियोजनाओं के बीच पायथन कोड फैलाने की अनुमति देता है। यह तब उपयोगी होता है जब आप संबंधित पुस्तकालयों को अलग डाउनलोड के रूप में जारी करना चाहते हैं। उदाहरण के लिए, PYTHONPATH में पैकेज-1 और पैकेज-2 निर्देशिकाओं के साथ,
Package-1/namespace/__init__.py Package-1/namespace/module1/__init__.py Package-2/namespace/__init__.py Package-2/namespace/module2/__init__.py the end-user can import namespace.module1 and import namespace.module2.
पायथन 3.3 पर, आपको कुछ भी करने की ज़रूरत नहीं है, बस अपने नामस्थान पैकेज निर्देशिका में कोई __init__.py न डालें और यह बस काम करेगा। ऐसा इसलिए है क्योंकि पायथन 3.3 नेमस्पेस पैकेज पेश करता है।
पुराने संस्करणों पर, एक मानक मॉड्यूल है, जिसे pkgutil कहा जाता है, जिसके साथ आप किसी दिए गए नामस्थान में मॉड्यूल को 'संलग्न' कर सकते हैं। आपको उन दो पंक्तियों को दोनों पैकेजों में रखना चाहिए।
1/namespace/__init__.py and Package-2/namespace/__init__.py: from pkgutil import extend_path __path__ = extend_path(__path__, __name__)
यह पैकेज के __path__ में sys.path पर निर्देशिकाओं की सभी उपनिर्देशिकाओं को पैकेज के नाम पर जोड़ देगा। इसके बाद आप दोनों पैकेजों को अलग-अलग बांट सकते हैं।