पायथन में, एक नेमस्पेस पैकेज आपको कई परियोजनाओं के बीच पायथन कोड फैलाने की अनुमति देता है। यह तब उपयोगी होता है जब आप संबंधित पुस्तकालयों को अलग-अलग डाउनलोड के रूप में जारी करना चाहते हैं। उदाहरण के लिए, 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 नेमस्पेस पैकेज पेश करता है।
On older versions, there's a standard module, called pkgutil, with which you can 'append' modules to a given namespace. You should put those two lines in both Package-1/namespace/__init__.py and Package-2/namespace/__init__.py: from pkgutil import extend_path __path__ = extend_path(__path__, __name__)
यह पैकेज के __path__ में sys.path पर निर्देशिकाओं की सभी उपनिर्देशिकाओं को पैकेज के नाम पर जोड़ देगा। इसके बाद आप 2 पैकेजों को अलग-अलग वितरित कर सकते हैं और पायथन नेमस्पेस्ड पैकेज का लाभ उठा सकते हैं।